/* GENERAL */

body {
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    max-width: 100%;
}

html,
body {
    overflow-x: hidden;
    max-width: 100vw;
}


/* HEADERS */

.site-header,
.site-header>.inner-wrapper,
.site-header .menu ul {
    display: flex;
    justify-content: space-between;
}

.site-header .menu ul {
    list-style: none;
    padding: 0;
    margin: 0;
}


/* ---- LOGOS & MENUS */

.logo img,
.logo {
    display: block;
}

.logo img {
    width: auto;
    height: 100%;
}

.logo {
    height: 36px;
}


/* .site .menu{
        list-style: none;
        padding: 0;
        margin: 0;
        display: flex;
        justify-content: space-between;
    }    
    */

.site .menu li a {
    text-decoration: unset;
}

.menu-container>*,
.branding,
.menu-container {
    display: flex;
}

.site-header>.inner-wrapper,
.branding .logo,
.menu-container .menu {
    align-self: center;
}


/* BACKGROUNDS */

.bg-set {
    background-position: center;
    background-size: cover;
}

.wpstack-bg {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    z-index: -1;
}

.part.pallete-light h1,
.part.pallete-light h2,
.part.pallete-light h3,
.part.pallete-light h4,
.part.pallete-light h5,
.part.pallete-light h6,
.part.pallete-light p,
.part.pallete-light li,
.pallete-light {
    color: #000;
}

.part.pallete-dark h1,
.part.pallete-dark h2,
.part.pallete-dark h3,
.part.pallete-dark h4,
.part.pallete-dark h5,
.part.pallete-dark h6,
.part.pallete-dark p,
.part.pallete-dark li,
.pallete-dark {
    color: white;
}

.wp-admin .pallete-light .content>* {
    color: #000;
}

.wp-admin .pallete-dark .content>* {
    color: white;
}

.part.pallete-light .logo-light {
    display: none;
}

.part.pallete-dark .logo-dark {
    display: none;
}


/* SPACINGS */

.spacing-padding-top,
.spacing_top-padded {
    padding-top: 70px;
}

.spacing-padding-bottom,
.spacing_bottom-padded {
    padding-bottom: 70px;
}

.spacing-margin-top-small,
.spacing_top-margin-small {
    margin-top: 20px;
}

.spacing-margin-bottom-small,
.spacing_bottom-margin-small {
    margin-bottom: 20px;
}

.spacing-margin-top-medium,
.spacing_top-margin-medium {
    margin-top: 50px;
}

.spacing-margin-bottom-medium,
.spacing_bottom-margin-medium {
    margin-bottom: 50px;
}

.spacing-margin-top-large,
.spacing_top-margin-large {
    margin-top: 100px;
}

.spacing-margin-bottom-large,
.spacing_bottom-margin-large {
    margin-bottom: 100px;
}


/* GRID */

.row {
    margin-left: -25px;
    margin-right: -25px;
}

.row .col,
.row .col-1,
.row .col-10,
.row .col-11,
.row .col-12,
.row .col-2,
.row .col-3,
.row .col-4,
.row .col-5,
.row .col-6,
.row .col-7,
.row .col-8,
.row .col-9,
.row .col-auto,
.row .col-lg,
.row .col-lg-1,
.row .col-lg-10,
.row .col-lg-11,
.row .col-lg-12,
.row .col-lg-2,
.row .col-lg-3,
.row .col-lg-4,
.row .col-lg-5,
.row .col-lg-6,
.row .col-lg-7,
.row .col-lg-8,
.row .col-lg-9,
.row .col-lg-auto,
.row .col-md,
.row .col-md-1,
.row .col-md-10,
.row .col-md-11,
.row .col-md-12,
.row .col-md-2,
.row .col-md-3,
.row .col-md-4,
.row .col-md-5,
.row .col-md-6,
.row .col-md-7,
.row .col-md-8,
.row .col-md-9,
.row .col-md-auto,
.row .col-sm,
.row .col-sm-1,
.row .col-sm-10,
.row .col-sm-11,
.row .col-sm-12,
.row .col-sm-2,
.row .col-sm-3,
.row .col-sm-4,
.row .col-sm-5,
.row .col-sm-6,
.row .col-sm-7,
.row .col-sm-8,
.row .col-sm-9,
.row .col-sm-auto,
.row .col-xl,
.row .col-xl-1,
.row .col-xl-10,
.row .col-xl-11,
.row .col-xl-12,
.row .col-xl-2,
.row .col-xl-3,
.row .col-xl-4,
.row .col-xl-5,
.row .col-xl-6,
.row .col-xl-7,
.row .col-xl-8,
.row .col-xl-9,
.row .col-xl-auto {
    padding-left: 25px;
    padding-right: 25px;
}

.container {
    max-width: calc( 1560px - 40px * 2);
    padding-left: 40px;
    padding-right: 40px;
    margin: 0 auto;
}

.row {
    display: flex;
    flex-wrap: wrap;
}

.col-1 {
    flex-basis: calc( ( 100% / 12) * 1 - 25px * 2);
}

.col-2 {
    flex-basis: calc( ( 100% / 12) * 2 - 25px * 2);
}

.col-3 {
    flex-basis: calc( ( 100% / 12) * 3 - 25px * 2);
}

.col-4 {
    flex-basis: calc( ( 100% / 12) * 4 - 25px * 2);
}

.col-5 {
    flex-basis: calc( ( 100% / 12) * 5 - 25px * 2);
}

.col-6 {
    flex-basis: calc( ( 100% / 12) * 6 - 25px * 2);
}

.col-7 {
    flex-basis: calc( ( 100% / 12) * 7 - 25px * 2);
}

.col-8 {
    flex-basis: calc( ( 100% / 12) * 8 - 25px * 2);
}

.col-9 {
    flex-basis: calc( ( 100% / 12) * 9 - 25px * 2);
}

.col-10 {
    flex-basis: calc( ( 100% / 12) * 10 - 25px * 2);
}

.col-11 {
    flex-basis: calc( ( 100% / 12) * 11 - 25px * 2);
}

.col-12 {
    flex-basis: calc( ( 100% / 12) * 12 - 25px * 2);
}

@media only screen and (max-width: 768px) {
    .col-1,
    .col-2,
    .col-3,
    .col-10,
    .col-11,
    .col-12 {}
    .col-4,
    .col-5,
    .col-6,
    .col-7,
    .col-8,
    .col-9 {
        flex-basis: 100%;
    }
}

.site-grid {
    width: 100%;
    max-width: 1400px;
    padding-left: 50px;
    padding-right: 50px;
    margin-left: auto;
    margin-right: auto;
}


/* WPSTACK BUTTON */

.wpstack-button {
    display: flex;
    align-items: stretch;
}

.wpstack-button>* {
    flex-basis: 100%;
    text-decoration: unset;
    display: flex;
    align-items: center;
    justify-content: center;
}


/* WPSTACK IMAGE */

.wpstack-image img {
    display: block;
    max-width: 100%;
}


/* BG IMAGE */

.bg_set,
.part>.wpstack-bg-image {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}

.part>.inner-wrapper {
    z-index: 1;
}


/* PARTS */

.part {
    display: flex;
    position: relative;
}

.container.container-narrow {
    max-width: 820px;
}

.container,
.wpstack-container {
    width: 100%;
}

.wpstack-container {
    flex-wrap: wrap;
    display: flex;
}

.align_h-center {
    justify-content: center;
    text-align: center;
}

.align_h-center .wpstack-button {
    margin-left: auto;
    margin-right: auto;
}

.align_h-left {
    justify-content: flex-start;
    text-align: left;
}

.align_h-left .wpstack-button {
    margin-left: 0;
    margin-right: auto;
}

.align_h-right {
    justify-content: flex-end;
    text-align: right;
}

.align_h-right .wpstack-button {
    margin-left: auto;
    margin-right: 0;
}

.align_v-top {
    align-self: flex-start;
}

.align_v-bottom {
    align-self: flex-end;
}

.align_v-middle {
    align-self: center;
}

.align_v-middle,
.align_v-middle .content,
.align_v-middle .row {
    align-items: center;
}

.align_v-top,
.align_v-top .content,
.align_v-top .row {
    align-items: flex-start;
}

.align_v-bottom,
.align_v-bottom .content,
.align_v-bottom .row {
    align-items: flex-end;
}

.t-center,
.t-centered {
    text-align: center;
}

.layout-fullheight {
    min-height: 100vh;
}

.layout-normal {
    padding-top: 100px;
    padding-bottom: 100px;
}

.layout-short {
    padding-top: 50px;
    padding-bottom: 50px;
}

.post-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.link-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    flex-direction: column;
    justify-content: center;
    flex-wrap: wrap;
}

.has-link-icon {
    position: relative;
}

@media only screen and (max-width: 768px) {
    .desktop-only,
    .only-desktop {
        display: none !important;
    }
}

@media only screen and (min-width: 769px) {
    .mobile-only,
    .only-mobile {
        display: none !important;
    }
}

.wpstack-video video {
    max-width: 100%;
}


/* SPACINGS */

.spacing_bottom-small {
    padding-bottom: 35px;
}

.spacing_bottom-medium {
    padding-bottom: 50px;
}

.spacing_bottom-large {
    padding-bottom: 75px;
}

.spacing_top-small {
    padding-top: 35px;
}

.spacing_top-medium {
    padding-top: 50px;
}

.spacing_top-large {
    padding-top: 75px;
}

.bg_color_inner .pseudo-container {
    padding: 35px;
}