/**********
SITEWIDE STYLES
**********/

body,
html,
a,
p,
div,
h1,
h2,
h3,
h4,
h5 {
    font-family: 'Roboto', sans-serif;
    line-height: 120%;
    font-size: 16px;
}

img {
    max-width: 100%;
    height: auto
}

a {
    text-decoration: none;
}

a:hover {
    opacity: 0.8
}

.flex {
    display: flex
}

.container {
    max-width: 1140px;
    box-sizing: border-box;
    padding-left: 15px;
    padding-right: 15px;
    margin: 0 auto
}

.cover {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}

.contain {
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
}

.bottom30 {
    margin-bottom: 30px;
}

.bottom60 {
    margin-bottom: 60px;
}

.bottom90 {
    margin-bottom: 90px;
}

.menu-item-has-children::after {
    content: "\f078";
    font-family: "Font Awesome 6 Free";
    font-weight: 900;
    font-size: 11px;
    display: inline-block;
    top: -1px;
    transition: all 300ms;
    transform: scaleY(1);
}

.menu-item-has-children.sub-menu-active::after {
    transform: scaleY(-1);
}

header {
    padding-top: 15px;
    padding-bottom: 15px
}


/**********
COOKIE    
**********/

#siteCookie {
    background-color: rgba(0, 0, 0, 0.7);
    position: fixed;
    z-index: 30;
    bottom: 0;
    padding: 10px 0;
    width: 100%;
}

#siteCookie,
#siteCookie p,
#siteCookie a,
#siteCookie .fa {
    color: #fff;
    font-weight: 600;
	margin-bottom: 0;
}

#siteCookie .inner {
    display: flex;
    align-items: center;
}

#siteCookie p {
    margin-right: 20px
}

#siteCookie .fa {
    font-size: 28px;
    margin-left: auto
}

#siteCookie i {
    cursor: pointer
}

@media only screen and (min-width: 1140px) {
    /**********
    COLUMNS
    **********/
    .twoCol {
        width: calc(100% + 30px);
        position: relative;
        left: -15px;
    }
    .twoCol .col {
        width: 50%;
        padding: 15px;
    }
    .threeCol .col {
        width: 33.33%;
        padding: 15px;
    }
    .fourCol .col {
        width: 25%;
        padding: 15px;
    }
    .fiveCol .col {
        width: 20%;
        padding: 15px;
    }
    /**********
    HEADER NAV
    **********/
    header .flex {
        align-items: center;
    }
    header .logo img {
        max-height: 80px;
    }
    nav.nav {
        margin-left: auto
    }
    nav.nav ul {
        display: flex;
        list-style: none;
        margin: 0;
        padding: 0;
    }
    nav.nav ul li {
        position: relative;
        margin-left: 10px;
    }
    nav.nav ul li:first-child {
        margin-left: 0;
    }
    /**********
    submenu popup
    **********/
    nav.nav .sub-menu {
        max-height: 0;
        overflow: hidden;
        position: absolute;
        flex-wrap: wrap;
        transition: all 200ms;
    }
    .menu-item-has-children::after {}
    nav.nav .menu-item-has-children.sub-menu-active>.sub-menu {
        max-height: 900px;
    }
    nav.nav .sub-menu li {
        width: 100%;
        margin-left: 0;
        display: inline-block;
        white-space: nowrap;
    }
}

@media only screen and (max-width: 1140px) {
    .flex {
        flex-wrap: wrap;
    }
    header .logo img {
        max-height: 50px;
    }
    header .logo {
        position: relative;
        z-index: 20;
    }
    /**********
    HEADER NAV
    **********/
    body.fix {
        overflow: hidden;
    }
    header .nav {
        position: fixed;
        left: 100%;
        z-index: 10;
        height: 100vh;
        width: 100%;
        top: 0;
        background-color: #ccc;
        transition: all 300ms
    }
    header .nav.navActive {
        left: 0%;
        transition: all 300ms
    }
    header .nav ul {
        margin: 0;
        padding: 0;
        list-style: none;
    }
    header .nav>ul {
        margin-top: 80px;
        box-sizing: border-box;
        padding-left: 15px;
        padding-right: 15px;
    }
    header .nav>ul li {
        position: relative;
    }
    header .nav>ul li a {
        display: block;
        border-bottom: 1px solid #000;
        width: 100%;
    }
    .menu-item-has-children::after {
        position: absolute;
        right: 0;
    }
    #burgerNav {
        position: absolute;
        top: 15px;
        right: 15px;
        width: 35px;
        height: 40px;
        cursor: pointer;
        z-index: 90
    }
    #burgerNav .innerBurger {
        position: relative;
        height: 100%;
    }
    #burgerNav .innerBurger span {
        width: 100%;
        height: 2px;
        top: 0;
        background-color: #000;
        position: absolute;
        opacity: 1;
        transition: all 300ms;
        transform: rotate(0deg);
    }
    #burgerNav.navActive .innerBurger span {
        transition: all 300ms;
    }
    #burgerNav .innerBurger span:nth-child(1) {
        top: 25%;
    }
    #burgerNav .innerBurger span:nth-child(2) {
        top: 50%;
    }
    #burgerNav .innerBurger span:nth-child(3) {
        top: 75%;
    }
    #burgerNav.navActive .innerBurger span:nth-child(1) {
        top: 50%;
        transform: rotate(-45deg);
    }
    #burgerNav.navActive .innerBurger span:nth-child(2) {
        top: 50%;
        opacity: 0;
    }
    #burgerNav.navActive .innerBurger span:nth-child(3) {
        top: 50%;
        transform: rotate(45deg);
    }
    nav.nav .sub-menu {
        max-height: 0;
        overflow: hidden;
        flex-wrap: wrap;
        transition: all 200ms;
    }
    .menu-item-has-children::after {}
    nav.nav .menu-item-has-children.sub-menu-active>.sub-menu {
        max-height: 900px;
    }
}