/* head */
.head { height: 85px; overflow: hidden; position: relative; }
.head a img { height: 96px; margin-top: 0px; width: auto; }
.head span.menu { height: 28px; left: 7%; top: 26px; width: 28px; }
.head span.menu i { border-bottom: 1px solid #fff; border-top: 1px solid #fff; height: 7px; margin-left: -6px; margin-top: -5px; width: 12px; }
.head span.menu i:before { height: 1px; top: 3px; }
.head span:hover.menu { top: 26px; left: 7%; }

.head.not-cover { height: 85px; }
.head.not-cover span.menu { top: 26px; }
.head.not-cover span:hover.menu { top: 26px; }
.head.not-cover a { margin-top: -20px; }

/* slide */
.slide { height: 435px; top: -85px; }
.slide svg { margin-top: 10px; margin-left: -10%; height: 120%; width: 120%; }
.slide .slide-inner { margin-left: -100px; margin-top: 0px; top: 35%; width: 200px; }
.slide .slide-inner h1 { font-size: 16.85px; letter-spacing: normal; }
.slide .slide-inner p { font-size: 7.07px; letter-spacing: normal; }
.slide .slide-line-small { border-left: 1px dotted #fff; height: 35px; top: 64%; }
.slide .slide-line { border-left: 1px dotted #fff; height: 60px; margin-top: 0px; top: 62%; }
.slide .slide-line:before { border-bottom: 1px solid #fff; height: 20px; left: 0px; position: absolute; top: -40px; width: 8px; }
.slide .slide-line:after { border-bottom: 1px solid #fff; height: 20px; left: -9px; position: absolute; width: 8px; top: -40px; }
.slide .slide-dots { right: 20px; top: 99px; }
.slide .slide-dots li { font-size: 9.24px; height: 18px; line-height: 18px; width: 18px; }


/* content */
.content.circle-bg { background: url(../img/circle-bg.png) repeat right 0px; border-bottom: 0px none; border-top: 0px none; }
.content.circle-bg .content-line { border-left: 1px dotted #000; height: 58px; left: auto; margin-bottom: 22px; margin-top: 10px; position: relative; width: 0px; }
.content.circle-bg .content-inner { max-width: 275px; padding-bottom: 63px; text-align: center; }
.content.circle-bg .content-inner p.title { font-size: 24.57px; margin-bottom: 18px; }
.content.circle-bg .content-inner img { display: inline-block; float: none; height: auto; left: 10px; max-width: 257px; right: 0px; width: 100%; }
.content.circle-bg .content-inner .content-hack { float: none; text-align: right; max-width: inherit; width: 92%; }
.content.circle-bg .content-inner .content-hack p { font-size: 15px; line-height: 1.6em; padding-left: 20px; padding-top: 22px; right: 0px; width: 250px; }
.content.circle-bg .content-inner .content-hack p a.link { background: url(../img/circle-link.png) no-repeat 0px 0px; background-size: 100% auto; font-size: 11.2px; height: 126px; left: 0px; line-height: 126px; margin-top: 20px; top: 0px; width: 126px; }
.content.circle-bg .content-inner .content-hack p a.link:before { background: url(../img/circle-link.png) no-repeat 0px 0px; background-size: 104px 104px; left: 11px; line-height: 104px; height: 104px; top: 11px; width: 106px; }


/* border-block */
.border-block { background-size: 92% 92%; }
.border-block .border-block-left { float: none; padding-bottom: 65px; padding-top: 88px; width: 100%; }
.border-block .border-block-left p { font-size: 15px; line-height: 1.6em; margin-left: 8%; margin-right: 0px; max-width:82%; }
.border-block .border-block-left p.title { font-size: 24.16px; padding-bottom: 15px; padding-right: 0px; max-width:92%; }
.border-block .border-block-left a.link { font-size: 10.44px; height: 140px; line-height: 140px; left: 0px; margin-top: 21px; width: 140px; }
.border-block .border-block-left a.link:before { left: 12px; line-height: 117px; height: 115px; position: absolute; text-align: center; text-transform: uppercase; top: 12px; width: 115px; }
.border-block .border-block-right { float: none; width: 100%; }
.border-block .border-block-right img { float: right; margin-bottom: 34px; margin-top: 52px; max-width: inherit; width: 92%; }


/* footer */
.footer { max-width: 100%; padding-bottom: 20px; padding-top: 0px; }
.footer p:first-of-type { float: none; padding-left: 4%; }
.footer p:first-of-type a { font-size: 12px; margin-right: 5px; }
.footer p:last-of-type { float: none; padding-left: 4%; padding-right: 0px; padding-top: 13px; }
.footer p:last-of-type a { font-size: 11px; }


/* hidden_menu */
#hidden_menu { height: calc(100% - 85px); position: absolute; top: 85px; width: 100%; }
#hidden_menu .hidden-menu { background-size: 86% 96%; }
#hidden_menu .hidden-menu ul.nav { padding-left: 12%; padding-top: 75px; }
#hidden_menu .hidden-menu ul.nav li a { font-size: 18px; }
#hidden_menu .hidden-menu .newsletter { padding-left: 12%; }
#hidden_menu .hidden-menu .newsletter input { max-width: 295px; padding-left: 0px; padding-right: 0px; width: 87%; }
#hidden_menu .hidden-menu .newsletter .link { left: 80px; margin-left: 0px; margin-right: 0px; margin-top: 15px; }


/* line */
#line.is_stuck { position: absolute !important; top: auto !important; }
.line { height: 53px; }
.line ul.sub-nav { display: none; }
.line .select { display: block; }
.select .sbSelector { padding-left: 7%; }


/* .banner */
.banner { }
.banner svg { height: 100%; }
.banner .banner-inner { height: 1221px; max-width: 90%; padding-top: 60px; width: 100%; }
.banner h1 { font-size: 20.01px; right: -110px; top: 82px; }
.banner h2 { font-size: 26.87px; }
.banner p { font-size: 15px; line-height: 1.6em; padding-bottom: 22px; width: 220px; }


/* about-content */
.about-content figure { display: block; height: 420px; max-width: 280px; margin: 0px auto; margin-top: -365px; position: relative; width: 100%; z-index: 2; } 
.about-content figure img { width: 100%; }
.about-content figure figcaption { bottom: 67px; font-size: 23.37px; left: 20px; }
.about-content figure figcaption span { font-size: 12.85px; }
.about-content figure small { bottom: 16px; font-size: 14px; left: 20px; line-height: 1.43em; position: absolute; right: auto; }
.about-content .about-inner { display: block; padding-top: 41px; width: 280px; }
.about-content .about-inner .about-left { display: block; width: 100%; }
.about-content .about-inner .about-right { display: block; width: 100%; }
.about-content .about-inner p { font-size: 15px; line-height: 1.6em; width: 280px; }
.about-content .about-inner .about-left p { text-align: left; padding-right: 0px; }
.about-content .about-inner .about-right p { padding-left: 0px; padding-top: 24px; }


/* about-grid */
.about-grid { margin-bottom: 18px; padding-bottom: 65px; }
.about-grid .about-inner { display: block; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 40px; max-width: 280px; }
.about-grid .about-inner img { display: block; height: auto; width: 100%; }
.about-grid .about-inner p { font-size: 15px; line-height: 1.6em; margin-left: 0px; padding-bottom: 24px; width: 100%; }
.about-grid .about-inner h2 { font-family: "Montserrat", sans; font-size: 26px; font-weight: 700; margin-bottom: 31px; margin-left: 0px; margin-top: 20px; text-transform: uppercase; }
.about-grid .about-inner .about-left { display: block; vertical-align: top; text-align: left; width: 100%; }
.about-grid .about-inner .about-right { display: block; vertical-align: top; width: 100%; }

.about-grid .about-inner .about-left h2 { text-align: left; margin-left: 0px; margin-bottom: 33px; margin-top: 46px; }
.about-grid .about-inner .about-left p { text-align: left; margin-left: 0px; padding-bottom: 24px; width: auto; }


/* contact-grid */
.contact-grid .contact-inner { display: block; padding-top: 69px; }
.contact-grid .contact-inner h2 { font-size: 22px; line-height: 1em; padding-bottom: 15px; }
.contact-grid .contact-inner p { font-size: 14px; line-height: 1.71em; }
.contact-grid .contact-inner br:last-of-type { display: block; }
.contact-grid .contact-inner p span { width: 30px; padding-bottom: 6px; position: relative; top: -1px; }
.contact-grid .contact-inner p:last-of-type span { padding-bottom: 40px; }
.contact-grid .contact-inner .contact-left { display: block; padding-bottom: 46px; padding-left: 20px; width: 100%; }
.contact-grid .contact-inner .contact-right { display: block; padding-bottom: 26px; padding-left: 20px; padding-right: 0px; width: 100%; }
.contact-grid .contact-inner .contact-right h2 { padding-bottom: 17px; }
.contact-grid .contact-inner form fieldset label { font-size: 15px; }
.contact-grid .contact-inner form fieldset input,
.contact-grid .contact-inner form fieldset textarea { font-size: 13px; width: 75%; }
.contact-grid .contact-inner form fieldset input { margin-bottom: 10px; padding-left: 0px; padding-right: 0px; }
.contact-grid .contact-inner form fieldset.last { padding-top: 0px; }

.contact-grid .contact-inner form .link { font-size: 21.7px; line-height: 120px; margin-bottom: 32px; margin-top: -32px; height: 126px; right: 10%; width: 126px; }
.contact-grid .contact-inner form .link:before { left: 12px; line-height: 100px; height: 102px; top: 12px; width: 102px; }
#map { display: block; height: 241px; margin-top: 36px; width: 241px; }


/* projects */
.projects ul.projects-nav { display: none; }
.projects .select { border-top: 6px solid #fff; display: block; }
.projects .projects-grid { margin-top: 21px; max-width: 290px; padding-bottom: 12px; width: 90%; }
.projects .projects-grid .projects-item { display: block; min-height: 224px; max-width: 290px; margin: 5px 0px; padding-bottom: 0px; width: 100%; }
.projects .projects-grid .projects-item img { height: 224px; width: auto; }
.projects .projects-grid .projects-item .projects-item-desc { min-height: 65px; padding: 13px 20px 0px 20px; }
.projects .projects-grid .projects-item .projects-item-desc p { letter-spacing: 0.1em; }
.projects .projects-grid .projects-item .projects-item-desc p:first-child { font-size: 13px; line-height: 1.72em; }
.projects .projects-grid .projects-item .projects-item-desc p:last-child { font-size: 11px; line-height: 1.3em; }


/* slider */
.slider { background-size: 94% 94%; padding-bottom: 63px; }
.slider .slideshow { padding-top: 54px; padding-bottom: 0px; width: 84%; }
.slider .slideshow .slick-arrow { display: none !important; }
.slider .slideshow .slick-dots { top: 43px; }
.slider .slideshow .slick-dots li { height: 18px; width: 18px; }
.slider .slideshow .slick-dots li button { border-bottom: 2px solid #fff; font-size: 9.29px; height: 18px; line-height: 18px; width: 18px; }
.slider h1 { font-size: 18.53px; max-width: 80%; }
.slider h2 { font-size: 14px; line-height: 1.43em; padding-bottom: 21px; padding-top: 13px; }
.slider p { font-size: 12px; padding-top: 24px; }
.slider p span { display: block; font-size: 0px; height: 4px; }


/* product-content */
.product-content { display: block; }
.product-content .product-left { display:block; width: 100%; }
.product-content .product-right { display: block; width: 100%; }

.product-content .product-left .product-inner { margin: 0px auto; max-width: inherit; padding-left: 0; padding-bottom: 20px; padding-top: 32px; width: 80%; }
.product-content .product-right .product-inner { margin: 0px auto; max-width: inherit; padding-left: 0; padding-bottom: 34px; padding-top: 13px; width: 80%; }

.product-content .product-left p { font-size: 18.1px; line-height:1.28em; }
.product-content .product-right p { font-size: 15px; line-height: 1.6em; padding-bottom: 25px; }
.product-content .product-right h1 { font-size: 22px; line-height:1.14em; padding-bottom: 14px; padding-top: 2px; }




.contact-grid .contact-inner .app-form { padding-top: 12px; }
.contact-grid .contact-inner .careers-content { padding-bottom: 0px; padding-top: 46px; }
.contact-grid .contact-inner .careers-content h2 { padding-bottom: 12px; }
.contact-grid .contact-inner .careers-content h3,
.contact-grid .contact-inner .app-form h3 { font-size: 18px; }


.contact-grid .contact-inner .app-form form fieldset input { width: 90%; }
.contact-grid .contact-inner .app-form form fieldset textarea { width: 70%; }
.contact-grid .contact-inner .app-form form fieldset label { width: 100%; }
.contact-grid .contact-inner .app-form form fieldset.file { margin-left: 0px; }
.contact-grid .contact-inner .app-form form fieldset.file label { font-size: 15px; }
.contact-grid .contact-inner .app-form form .link { margin-top: -15px; }

.contact-grid .contact-inner .contact-last form { max-width: inherit; width:100%; }
.contact-grid .contact-inner .contact-last form fieldset { display: block; width: 100%; }

.contact-grid .contact-inner .app-form form #uploadtextfield,
.contact-grid .contact-inner .app-form form #uploadtextfield1 { font-family: "Letter Gothic Bold", sans-serif; font-size: 11.5px; }

.contact-grid .contact-inner .app-form form fieldset.cover-content label { line-height: 2.4em; }

.contact-grid .contact-inner hr { margin: 0px 20px; }

.contact-grid .contact-inner .app-form .file label { font-size: 15px; }
.contact-grid .contact-inner .careers-content p a { color: #000; display: block; text-decoration: underline; margin-top: 0px; }


.contact-grid .contact-inner .contact-last { padding-left: 20px; padding-right: 20px; padding-bottom: 30px; padding-top: 46px; }
.contact-grid .contact-inner .contact-last form { max-width: inherit; width:100%; }
.contact-grid .contact-inner .contact-last form fieldset input { width: 100%; }

.contact-grid .contact-inner .contact-last form .link {
    margin-top: 0px;
    margin-right: 0px;
}
