/* head */
.head { height: 97px; position: relative; overflow: hidden; }
.head a img { height: 112px; margin-top: 0px; width: auto; }
.head span.menu { top: 27px; }
.head span.menu i { margin-top: -7px; }
.head.not-cover a { margin-top: 0px; }

.head.not-cover { height: 97px; }
.head.not-cover span.menu { top: 27px; }
.head.not-cover a { margin-top: -20px; }

.head span:hover.menu { top: 27px; }

/* slide */
.slide { height: 600px; top: -97px; }
.slide svg { margin-top: 55px; }
.slide .slide-inner { margin-left: -150px; margin-top: 0px; top: 31%; width: 300px; }
.slide .slide-inner h1 { font-size: 24.2px; letter-spacing: normal; }
.slide .slide-inner p { font-size: 10.15px; letter-spacing: normal; }
.slide .slide-line-small { border-left: 1px dashed #fff; height: 52px; top: 61%; }
.slide .slide-line { border-left: 1px dashed #fff; height: 150px; margin-top: 0px; top: 52%; }
.slide .slide-line:before { border-bottom: 1px dotted #fff; height: 20px; left: -2px; position: absolute; top: -30px; width: 10px; }
.slide .slide-line:after { border-bottom: 1px dotted #fff; height: 20px; left: -10px; position: absolute; width: 10px; top: -29px; }
.slide .slide-dots { right: 20px; top: 139px; }


/* 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: 2px dotted #000; height: 110px; left: 1px; margin-bottom: 20px; margin-top: 13px; position: relative; width: 0px; }
.content.circle-bg .content-inner { padding-bottom: 63px; }
.content.circle-bg .content-inner p.title { font-size: 36.04px; margin-bottom: 28px; }
.content.circle-bg .content-inner img { height: auto; left: -20px; max-width: 507px; width: 45%; }
.content.circle-bg .content-inner .content-hack { float: right; text-align: right; max-width: 507px; width: 43%; }
.content.circle-bg .content-inner .content-hack p { font-size: 15px; padding-top: 21px; right: 40px; 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: 94% 94%; }
.border-block .border-block-left { padding-bottom: 85px; padding-top: 88px; }
.border-block .border-block-left p { font-size: 15px; line-height: 1.6em; margin-left: 40px; }
.border-block .border-block-left p.title { font-size: 24.16px; padding-bottom: 16px; padding-right: 20px; max-width: 260px; }
.border-block .border-block-left a.link { font-size: 10.44px; height: 140px; line-height: 140px; left: 40px; 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 img { margin-bottom: 62px; margin-top: 62px; max-width: 268px; }


/* footer */
.footer { max-width: 90%; padding-bottom: 50px; padding-top: 19px; }
.footer p:first-of-type { padding-left: 18px; }
.footer p:first-of-type a { margin-right: 5px; }
.footer p:last-of-type { padding-right: 18px; }
.footer p a { font-size: 12px; }
.footer p a:hover { border-bottom: 1px solid #000; }


/* hidden_menu */
#hidden_menu { height: calc(100% - 97px); position: absolute; top: 97px; width: 100%; }
#hidden_menu .hidden-menu ul.nav { padding-left: 100px; }
#hidden_menu .hidden-menu .newsletter { padding-left: 100px; }


/* line */
#line.is_stuck { position: absolute !important; top: auto !important; }
.line ul.sub-nav li { line-height: 48px; }
.line ul.sub-nav li a { font-size: 14.6px }
.line ul.sub-nav li a:before { font-size: 8.15px; }


/* .banner */
.banner { }
.banner svg { height: 100%; }
.banner .banner-inner { height: 1028px; max-width: 90%; padding-top: 90px; width: 100%; }
.banner h1 { font-size: 26.38px; right: -80px; top: 163px; }
.banner h2 { font-size: 34.68px; }
.banner p { font-size: 15px; line-height: 1.6em; padding-bottom: 24px; width: 260px; }


/* about-content */
.about-content figure { display: block; height: 673px; max-width: 565px; margin: 0px auto; margin-top: -365px; position: relative; width: 100%; z-index: 2; } 
.about-content figure img { float: right; margin-right: 10px; width: 449px; }
.about-content figure figcaption { bottom: 278px; font-size: 34.4px; left: 30px; }
.about-content figure figcaption span { font-size: 18.92px; }
.about-content figure small { bottom: 30px; position: absolute; right: 60px; }
.about-content .about-inner { padding-top: 70px; width: 566px; }
.about-content .about-inner .about-left { vertical-align: top; }
.about-content .about-inner .about-right { vertical-align: top; }
.about-content .about-inner p { font-size: 15px; line-height: 1.6em; width: 265px; }
.about-content .about-inner .about-left p { text-align: right; padding-right: 20px; }
.about-content .about-inner .about-right p { padding-left: 20px; }


/* about-grid */
.about-grid { margin-bottom: 18px; }
.about-grid .about-inner { padding-bottom: 15px; padding-top: 88px; padding-left: 0px; padding-right: 0px; max-width: 540px; }
.about-grid .about-inner img { display: inline-block; height: auto; max-height: 282px; max-width: 327px; width: 100%; }
.about-grid .about-inner p { font-size: 15px; line-height: 1.6em; margin-left: 30px; padding-bottom: 24px; width: 200px; }
.about-grid .about-inner h2 { font-family: "Montserrat", sans; font-size: 26px; font-weight: 700; margin-bottom: 31px; margin-left: 30px; margin-top: 46px; text-transform: uppercase; }
.about-grid .about-inner .about-left { display: table-cell; vertical-align: top; text-align: right; width: 60%; }
.about-grid .about-inner .about-right { display: table-cell; vertical-align: top; width: 40%; }
.about-grid .about-inner .about-left h2 { text-align: left; margin-left: 0px; margin-bottom: 33px; margin-top: 63px; }
.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: 77px; }
.contact-grid .contact-inner p { font-size: 15px; line-height: 2em;}
.contact-grid .contact-inner .contact-left { display: block; padding-bottom: 55px; padding-left: 30px; width: 100%; }
.contact-grid .contact-inner .contact-right { display: block; padding-bottom: 55px; padding-left: 30px; padding-right: 0px; width: 100%; }
.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: 70%; }
.contact-grid .contact-inner form .link { font-size: 21.7px; line-height: 120px; 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: 383px; margin-top: 35px; width: 383px; }



/* projects */
.projects ul.projects-nav { padding-top: 29px; text-align: center; }
.projects ul.projects-nav li { padding-left: 2px; padding-right: 2px; }
.projects ul.projects-nav li a { font-size: 17.78px; padding-bottom: 4px; position: relative; }
.projects ul.projects-nav li a:before { font-size: 9.92px; }
.projects ul.projects-nav li a:after { border-bottom: 1px solid transparent; content: ""; top: -20px; }
.projects ul.projects-nav li a:hover:after { border-bottom: 1px solid #2DBDB3; }
.projects ul.projects-nav li.current a:after { border-bottom: 1px solid #2DBDB3; }
.projects .projects-grid { margin-top: 7px; max-width: 560px; padding-bottom: 5px; }
.projects .projects-grid .projects-item { display: block; max-width: 560px; margin: 10px 0px; padding-bottom: 75px; width: 100%; }
.projects .projects-grid .projects-item .projects-item-desc { min-height: 75px; 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: 15px; line-height: 1.72em; }
.projects .projects-grid .projects-item .projects-item-desc p:last-child { font-size: 12px; line-height: 1.3em; }


/* slider */
.slider { background-size: 96% 96%; padding-bottom: 100px; }
.slider .slideshow { padding-top: 76px; padding-bottom: 28px; width: 87%; }
.slider .slideshow .slick-arrow { display: none !important; }
.slider .slideshow .slick-dots { top: 51px; }
.slider .slideshow .slick-dots li { height: 22px; width: 22px; }
.slider .slideshow .slick-dots li button { font-size: 11.14px; height: 22px; line-height: 22px; width: 22px; }
.slider h1 { font-size: 26px; max-width: 390px; }
.slider h2 { font-size: 16px; line-height: 1.43em; padding-bottom: 18px; padding-top: 19px; }
.slider p { font-size: 13px; padding-top: 25px; }


/* 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: 505px; padding-left: 0; padding-top: 58px; width: 100%; }
.product-content .product-right .product-inner { margin: 0px auto; max-width: 505px; padding-left: 0; padding-bottom: 35px; padding-top: 38px; width: 100%; }

.product-content .product-left p { font-size: 23.36px; 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; padding-bottom: 28px; padding-top: 4px; }


.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 .app-form form fieldset input,
.contact-grid .contact-inner .app-form form fieldset textarea { width: 65%; }
.contact-grid .contact-inner .app-form form fieldset label { width: 130px; }
.contact-grid .contact-inner .app-form form fieldset.file { margin-left: 130px; }
.contact-grid .contact-inner .app-form form .link { margin-top: -15px; }

.contact-grid .contact-inner .contact-last form { max-width: 570px; width:80%; }
.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: 1.19em; }

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


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