/*==========================================================================
    Reset
  ========================================================================== */

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
}

article, aside, details, figcaption, figure, footer, 
header, hgroup, main, menu, nav, section,
summary {
    display: block;
}

audio, canvas, progress, video {
    display: inline-block; /* 1 */
    vertical-align: baseline; /* 2 */
}

a {
    background-color: transparent;
    color: var(--orange);
}

a:active,
a:hover {
    outline: 0;
}

menu,
ol,
ul {
    padding-left: 0;
}

html {
    -webkit-text-size-adjust: none; /* for iOS Safari */
    text-size-adjust: none; /* for other mobile browsers */
}

* {
    box-sizing: border-box;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}


/*==========================================================================
    Columns
  ========================================================================== */

[class*="col-"] {
  float: left;
  padding: 15px;
}

.col-4 {width: 25%;}
.col-3 {width: 33.33%;}
.col-2 {width: 50%;}
.col-1 {width: 100%;}

section {
    width: 100%;
    display: block;
    float: left;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 50px;
    overflow: auto;
}


/*==========================================================================
    Global
  ========================================================================== */


:root {
    --black: #3b3b3b;
    --jetblack: #000000;
    --white: #ffffff;
    --grey: #a2a5ac;
    --orange: #f07e00;
}

* {
    transition: all .3s ease-out;
    -webkit-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -o-transition: all .3s ease-out;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 70px;
}

body {
    font-family: "Roboto", sans-serif;
    font-size: 16px;
    font-weight: 300;
    color: var(--white);
    background: var(--jetblack);
    background-image: url(../img/slope.svg);
    background-position: left bottom;
    background-repeat: no-repeat;
    background-size: 40%;
    margin-bottom: 10vh;
}

a, a:hover, a:visited {
    text-decoration: none;
}

ul {
    list-style: none;
}

.btn {
    color: var(--white);
    background-color: var(--orange);
    padding: 20px 30px;
    margin-top: 30px;
    display: inline-block;
}

.back {
    display: block;
    margin-top: 20px;
}


/*==========================================================================
    Typography
  ========================================================================== */

h1, h2, h3, h4{
    text-transform: uppercase;
    font-weight: 300;
}

h1 {
    font-size: 4vw;
    color: var(--grey);
    line-height: 8vw;
}

h2 {
    font-size: 64px;
    color: var(--grey);
    line-height: 60px;
    margin-bottom: 35px;
}

h3 {
    color: var(--orange);
    font-weight: 500;
    font-size: 20px;
    margin-bottom: 10px;
}

h4 {
    font-size: 24px;
    color: var(--grey);
    margin-bottom: 20px;
}

em {
    color: var(--orange);
    font-weight: 500;
    font-style: normal;
}

p {
    color: var(--grey);
}

.center {
    text-align: center;
}

/*==========================================================================
    Header
  ========================================================================== */

header {
    width: 100%;
    height: 110px;
    overflow: hidden;
    position: fixed;
    z-index: 998;
}

.dropdown {
    height: 100vh;
}

.hamburger {
    color: var(--white);
    font-size: 30px;
    float: right;
    margin: 35px 25px 0 0;
    display: none;
}

.insta {
    float: left;
    text-indent: -999999px;
    display: block;
    width: 50px;
    height: 50px;
    background-color: var(--orange);
    background-image: url(../img/insta.png);
    background-repeat: no-repeat;
    background-position: center;
    border-radius: 50px;
    margin: 32px 0px 0px 35px;
}

nav {
    float: right;
    overflow: hidden;
    display: block;
    padding-top: 24px;
}

nav ul {
    float: left;
    margin: 12px 20px 0 0;
}

nav ul li {
    float:left;
}

nav ul li a {
    display: block;
    padding: 10px;
    margin: 0 0 0 25px;
    color: var(--grey);
}

.active {
    border-bottom: 2px solid var(--orange);

}

.logo {
    display: none;
    margin: 30px auto;
    text-indent: -999999px;
    background-image: url(../img/logo.png);
    background-size: cover;
    width: 90px;
    height: 52px;
}

.goodrich {
    display: block;
    margin: 47px auto;
    width: 200px;
    height: 40px;
    text-indent: -99999px;
    background-image: url(../img/gk.png);
    background-size: 200px;
    background-repeat: no-repeat;
}

.header-active {
    background-image: url(../img/bg.png);
    filter: drop-shadow(0px 10px 7px rgba(0, 0, 0, 0.6));
}

.header-active .logo {
    display: block;
}

.header-active .goodrich {
    display: none;
}


/*==========================================================================
    Banner
  ========================================================================== */

#banner {
    height: 80vh;
    background-image: url(../img/window.png);
    background-repeat: no-repeat;
    background-position: right;
    background-size: auto 100%;
    text-align: center;
    padding-top: 90px;
}

.banner-copy {
    margin-top: 7vh;
}



/*==========================================================================
    Video
  ========================================================================== */

video {
    width: 100%;
}



/*==========================================================================
    Projects
  ========================================================================== */

.project img {
    width: 100%;
}

.project a {
    display: block;
    background-color: var(--white);
    padding: 30px;
    margin-top: -5px;
    height: 130px;
}

.project a span {
    color: var(--grey);
}

.project a em {
    display: block;
    margin-top: 10px;
}

.project-title {
    margin-top: 120px;
}

.project-title h1 {
    font-size: 72px;
    line-height: normal;
}

.project-title span {
    font-size: 24px;
    color: var(--grey);
}

.main-image {
    height: 550px;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

.main-image img {
    flex-shrink: 0;
    min-width: 100%;
    min-height: 100%
}

.text-image img {
    width: 100%;
}

.gallery-image {
    height: 320px;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

.gallery-image img {
    flex-shrink: 0;
    width: 100%;
}


/*==========================================================================
    Modals
  ========================================================================== */


.modalDialog {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0,0,0,0.8);
    z-index: 99999;
    opacity:0;
    -webkit-transition: opacity 300ms fade-in;
    -moz-transition: opacity 300ms fade-in;
    transition: opacity 300ms fade-in;
    pointer-events: none;
}

.modalDialog:target {
    opacity:1;
    pointer-events: auto;
}

.modal-container {
    max-width: 740px;
    position: relative;
    margin: 40px auto;
    padding: 70px;
    background: var(--white);
    display: block !important;
    max-height: 90vh;
    overflow: scroll;   
}

.modal-container img {
    width: 200px;
    margin-bottom: 40px;
    border-radius: 10px;
}

.modal-container span {
    display: block;
    margin: 10px 0px 20px 0px;
    color: var(--black);
}

.modal-container p {
    color: var(--grey) !important; 
    margin-bottom: 20px;
}

.modal-container ul {
    padding: 20px 0px;
}

.modal-container ul li {
    padding: 5px 0;
    font-weight: bold;
    color: var(--orange);
}

.close {
  padding: 0;
    color:black;
    line-height: 25px;
    position: absolute;
    right: 10px;
    text-align: center;
    top: 10px;
    width: 24px;
    text-decoration: none;
    background:none;
    font-weight: bold;
}

.close:hover { 
    color: var(--orange);
}


/*==========================================================================
    Instagram
  ========================================================================== */

#instagram {
    background-image: url(../img/bg.png);
}


/*==========================================================================
    About
  ========================================================================== */

.team {
    width: 100%;
}

.contact {
    border-bottom: 2px solid #2f2f2f;
}


/*==========================================================================
    Footer
  ========================================================================== */

footer {
    width: 100%;
    display: flex;

}

.footer-block {
    background-color: var(--black);
    background-image: url(../img/window.png);
    background-repeat: no-repeat;
    background-position: right;
    background-size: auto 100%;
    margin-bottom: 20px;
}

.footer-container {
    padding: 30px;
}

.footer-container  p {
    display: block;
    width: 70%;
    margin-bottom: 20px;
}

.contact-icon {
    color: var(--white);
    display: inline-block;
    padding: 30px 20px 30px 60px;
}

.contact-icon::before {
    content:"";
    display: block;
    position: absolute;
    margin-top: -15px;
    margin-left: -60px;
    width: 50px;
    height: 50px;
    background-color: var(--orange);
    border-radius: 50px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 50%;
}

.email::before {
    background-image: url(../img/mail.png);
}

.phone::before {
    background-image: url(../img/phone.png);
}

.large-logo {
    float: left;
}

.copywrite {
    float: right;
    text-align: right;
    margin-top: 30px;
}

.full-width {
    display: block;
}


/*==========================================================================
    Animations
  ========================================================================== */

.fade-in { animation: fadeIn 2s; }

@keyframes fadeIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
} 


/*==========================================================================
    Media Queries
  ========================================================================== */


@media (max-width: 1024px) {

    .col-1 {width: 100%;}
    .col-2 {width: 100%;}
    .col-3 {width: 100%;}
    .col-4 {width: 100%;}
}

@media (max-width: 1080px) {

    header {background-color: var(--jetblack);}
    .hamburger {display: block;}
    .insta {display: none;}
    nav {width: 100%; height: 100vh; padding: 30px 0 0 0;}
    nav ul {margin: 0; width: 100%; }
    nav ul li {width: 100%;}
    nav ul li a {margin: 0px 35px; padding: 20px 0px; font-size: 18px; text-align: center;}
}

@media (max-width: 720px) {

    #banner {background-image: url(../img/window2.png); height: auto;}
    h1 {font-size: 11vw; line-height: normal;}
    h2 {font-size: 40px; line-height: normal; margin-bottom: 15px;}
    .banner-copy {margin-top: 0px}
    .banner-copy img {width: 35%; margin-bottom: 30px;}
    .banner-copy p { width: 100%;}
    .container {padding: 20px 0px;}
    .footer-block {background-image: url(../img/window2.png);}
    .footer-container {padding: 15px;}
    .footer-container p {width: 100%;}
    .large-logo {float: none; display: block; margin: 0 auto; width: 30%}
    .copywrite {float: none; text-align: center;}
}













