/* head */
.head { height: 107px; position: relative; overflow: hidden; }
.head a img { margin-top: 0px; }

.head.not-cover a { margin-top: -20px; }


/* slide */
.slide { height: 803px; top: -107px; }
.slide svg { margin-top: 35px; }
.slide .slide-inner { margin-left: -150px; margin-top: 0px; top: 32%; width: 300px; }
.slide .slide-inner h1 { font-size: 31.71px; letter-spacing: normal; }
.slide .slide-inner p { font-size: 13.3px; }
.slide .slide-line-small { border-left: 2px dotted #fff; height: 65px; top: 55%; }
.slide .slide-line { border-left: 2px dotted #fff; height: 245px; margin-top: 0px; top: 52%; }
.slide .slide-line:before { border-bottom: 2px dotted #fff; height: 20px; left: -6px; position: absolute; top: -40px; width: 15px; }
.slide .slide-line:after { border-bottom: 2px dotted #fff; height: 20px; left: -11px; position: absolute; width: 15px; top: -40px; }
.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: 45.87px; margin-bottom: 28px; }
.content.circle-bg .content-inner img { height: auto; left: -40px; max-width: 507px; width: 50%; }
.content.circle-bg .content-inner .content-hack { float: right; text-align: right; max-width: 507px; width: 45%; }
.content.circle-bg .content-inner .content-hack p { padding-top: 21px; right: 70px; width: 250px; }


/* border-block */
.border-block { background-size: 96% 96%; }
.border-block .border-block-left { padding-top: 182px; }
.border-block .border-block-left p { font-size: 16px; line-height: 1.63em; margin-left: 50px; max-width: 380px; }
.border-block .border-block-left p.title { font-size: 27.06px; padding-bottom: 20px; max-width: 420px; }
.border-block .border-block-left a.link { left: 40px; margin-top: 21px; }
.border-block .border-block-right img { margin-bottom: 102px; margin-top: 102px; max-width: 442px; }


/* footer */
.footer { max-width: 90%; padding-bottom: 60px; padding-top: 32px; }
.footer p:first-of-type { padding-left: 18px; }
.footer p:first-of-type a { margin-right: 10px; }
.footer p:last-of-type { padding-right: 18px; }
.footer p a { font-size: 13px; }


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


/* .banner */
.banner { }
.banner svg { width: 100%; }
.banner .banner-inner { height: 1003px; max-width: 84%; padding-top: 105px; width: 84%; }
.banner h1 { right: -80px; top: 233px; }


/* about-content */
.about-content figure { display: block; height: 673px; margin: 0px auto; margin-top: -365px; position: relative; width: 449px; z-index: 2; } 
.about-content figure figcaption { bottom: 278px; font-size: 34.4px; left: -125px; }
.about-content figure figcaption span { font-size: 18.92px; }
.about-content figure small { bottom: 30px; position: absolute; right: 40px; }


/* about-grid */
.about-grid { margin-bottom: 13px; }
.about-grid .about-inner { padding-bottom: 14px; padding-top: 91px; padding-left: 18px; padding-right: 18px; max-width: 960px; }
.about-grid .about-inner img { display: inline-block; height: auto; width: 100%; }
.about-grid .about-inner p { font-size: 16px; line-height: 1.62em; margin-left: 50px; padding-bottom: 27px; width: 220px; }
.about-grid .about-inner h2 { font-family: "Montserrat", sans; font-size: 32px; font-weight: 700; margin-bottom: 26px; margin-left: 50px; margin-top: 75px; 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: 30px; margin-top: 72px; }
.about-grid .about-inner .about-left p { text-align: left; margin-left: 0px; padding-bottom: 26px; width: auto; }


/* contact-grid */
.contact-grid .contact-inner { padding-top: 86px; }
.contact-grid .contact-inner .contact-left { padding-bottom: 65px; padding-left: 30px; }
.contact-grid .contact-inner .contact-right { padding-bottom: 65px; padding-right: 20px; }
.contact-grid .contact-inner form fieldset input,
.contact-grid .contact-inner form fieldset textarea { width: 65%; }
.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; }


/* projects */
.projects ul.projects-nav { padding-top: 44px; text-align: center; }
.projects ul.projects-nav li a { font-size: 22px; padding-bottom: 4px; position: relative; }
.projects .projects-grid { margin-top: 36px; max-width: 940px; padding-bottom: 50px; }
.projects .projects-grid .projects-item { display: inline-block; max-width: 450px; margin: 10px; padding-bottom: 76px; width: 50%; }
.projects .projects-grid .projects-item .projects-item-desc { min-height: 76px; padding: 12px 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.73em; }
.projects .projects-grid .projects-item .projects-item-desc p:last-child { font-size: 12px; line-height: 1.3em; }


/* slider */
.slider { background-size: 97% 97%; padding-bottom: 116px; }
.slider .slideshow { padding-top: 87px; padding-bottom: 37px; width: 93%; }
.slider .slideshow .slick-dots { top: 59px; }
.slider h1 { font-size: 30px; }
.slider h2 { font-size: 18px; line-height: 1.43em; padding-bottom: 31px; padding-top: 24px; }
.slider p { padding-top: 37px; }


/* product-content */
.product-content .product-left .product-inner { max-width: 365px; padding-left: 10%; padding-top: 62px; width: 80%; }
.product-content .product-right .product-inner { max-width: 385px; padding-left: 5%; padding-bottom: 72px; padding-top: 70px; width: 85%; }

.product-content .product-left p { font-size: 28.23px; line-height:1.28em; }

.product-content .product-right h1 { font-size: 23px; padding-bottom: 20px; padding-top: 18px; }

.contact-grid .contact-inner .app-form form fieldset input { width: 65%; }
.contact-grid .contact-inner .app-form form fieldset label { width: 25%; }
.contact-grid .contact-inner .app-form form fieldset.file { margin-left: 25%; }
.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; }