@font-face {
  font-family: 'Din Pro';
  src: url('/wp-content/fonts/dinpro_light.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
}

/* Regular 400 */
@font-face {
  font-family: 'Din Pro';
  src: url('/wp-content/fonts/dinpro.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
}

/* Medium 500 */
@font-face {
  font-family: 'Din Pro';
  src: url('/wp-content/fonts/dinpro_medium.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
}

/* Bold 700 */
@font-face {
  font-family: 'Din Pro';
  src: url('/wp-content/fonts/dinpro_bold.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
}

header#header {
    height: 15vh;
    position: fixed;
    z-index: 1;
    width: 100%;
    transition: all 0.3s ease-in-out;
}

header#header.headerStuck {
    height: 10vh;
}

header nav {
    padding: 0 100px;
    height: 100%;
    background-color: rgb(247, 240, 229);
}

.header.headerMobile {
    display: none;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 100%;
}

.header.headerDesktop {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    height: 100%;
}

.headerLogo svg {
    width: 100%;
    height: 100%;
    display: block;
}

.headerNav {
    display: flex;
    flex-direction: row;
    align-items: center;
}

a.buttonNav {
    position: relative;
}

a.buttonNav:hover::after {
    transform: scaleX(1);
}

a.buttonNav::after {
    content: '';
    width: 100%;
    height: 2px;
    position: absolute;
    background-color: rgb(58, 56, 56);
    top: 100%;
    left: 0;
    transform-origin: center;
    transform: scaleX(0);
    transition: all 0.25s ease-in-out;
}

.headerNav a {
    display: block;
    text-decoration: none;
    font-family: 'Din Pro';
    font-weight: 500;
    font-size: 1em;
    color: rgb(58, 56, 56);
    cursor: pointer;
    margin-right: 90px;
}

a.buttonHeader {
    margin-right: 0;
    background-color: rgb(115, 99, 119);
    color: rgb(244, 231, 216);
    padding: 10px 30px;
    transition: all 0.25s ease-in-out;
}

a.buttonHeader:hover {
    transform: scale(1.1);
}

@media only screen and (max-width: 1600px) {
    header nav {
        padding: 0 80px;
    }
    .headerNav a {
        margin-right: 45px;
    }
    .headerNav a:last-of-type {
        margin-right: 0;
    }
}

@media only screen and (max-width: 1200px) {
    header nav {
        padding: 0 60px;
    }
    .headerLogo {
        width: 200px;
    }
    .headerNav a {
        margin-right: 25px;
        font-size: 0.9em;
    }
    .headerNav a:last-of-type {
        margin-right: 0;
    }
}

@media only screen and (max-width: 1000px) {
    header nav {
        padding: 0 40px;
    }
    .headerNav a {
        margin-right: 15px;
        font-size: 0.8em;
    }
    .headerNav a:last-of-type {
        margin-right: 0;
    }
    a.buttonHeader {
        padding: 5px 20px;
    }
}

@media only screen and (max-width: 800px) {
    .header.headerDesktop {
        display: none;
    }
    .header.headerMobile {
        display: flex;
        position: relative;
    }
    div.menuIcon {
        background-color: transparent;
        border: none;
        height: 50px;
        width: 50px;
        transition: all 0.35s ease-in-out;
    }
    .menuIcon svg {
        width: 100%;
        height: 100%;
        display: block;
    }
    .line {
        fill: none;
        stroke: rgb(58, 56, 56);
        stroke-width: 6;
        transition: stroke-dasharray 600ms cubic-bezier(0.4, 0, 0.2, 1), stroke-dashoffset 600ms cubic-bezier(0.4, 0, 0.2, 1);
    }
    .line1 {
        stroke-dasharray: 60 207;
        stroke-width: 6;
    }
    .opened .line1 {
        stroke-dasharray: 90, 207;
        stroke-dashoffset: -134;
        stroke-width: 6;
    }
    .line2 {
        stroke-dasharray: 60, 60;
        stroke-width: 6;
    }
    .opened .line2 {
        stroke-dasharray: 1, 60;
        stroke-dashoffset: -30;
        stroke-width: 6;
    }
    .line3 {
        stroke-dasharray: 60, 207;
        stroke-width: 6;
    }
    .opened .line3 {
        stroke-dasharray: 90, 207;
        stroke-dashoffset: -134;
        stroke-width: 6;
    }
    .headerMenuMobile {
        position: absolute;
        top: 100%;
        left: 100%;
        width: auto;
        height: auto;
        transform: translateX(-100%) scaleY(0);
        z-index: 1;
        background-color: rgb(247, 240, 229);
        text-align: right;
        padding: 20px;
        overflow-y: hidden;
        box-sizing: border-box;
        transform-origin: top;
        transition: all 0.3s ease-in-out;
        border: 2px solid rgb(58, 56, 56);
        border-top: none;
    }
    .headerMenuMobile.opened {
        transform: translateX(-100%) scaleY(1);
    }
    .headerMenuContent a {
        text-decoration: none;
        font-family: 'Din Pro';
        font-weight: 500;
        font-size: 0.9em;
        color: rgb(58, 56, 56);
        cursor: pointer;
    }
    .headerMenuContent a.buttonHeader {
        background-color: rgb(115, 99, 119);
        color: rgb(244, 231, 216);
        padding: 5px 20px;
        display: block;
        margin-top: 20px;
    }
    .mobileMenuSeparator {
        width: 100%;
        height: 2px;
        background-color: rgb(58, 56, 56);
        margin: 5px 0;
    }
    .headerMenuContent {
        width: 100%;
        height: 100%;
    }
}

@media only screen and (max-width: 600px) {
    header nav {
        padding: 0 20px;
    }
}