/*
Theme Name:   New Vision
Theme URI:    https://www.newvision.nl
Description:  Custom theme for newvision.nl
Author:       5701.nl
Template:     platform
Version:      1.0.0
Text Domain:  platform-child
*/

/* Base */
:root {
    color-scheme: dark;
}

.noselect {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

@media (min-width: 576px) {
    .position-sm-static {
        position: static !important;
    }

    .position-sm-relative {
        position: relative !important;
    }

    .position-sm-absolute {
        position: absolute !important;
    }

    .position-sm-fixed {
        position: fixed !important;
    }

    .position-sm-sticky {
        position: -webkit-sticky !important;
        position: sticky !important;
    }
}

@media (min-width: 768px) {
    .position-md-static {
        position: static !important;
    }

    .position-md-relative {
        position: relative !important;
    }

    .position-md-absolute {
        position: absolute !important;
    }

    .position-md-fixed {
        position: fixed !important;
    }

    .position-md-sticky {
        position: -webkit-sticky !important;
        position: sticky !important;
    }
}

@media (min-width: 992px) {
    .position-lg-static {
        position: static !important;
    }

    .position-lg-relative {
        position: relative !important;
    }

    .position-lg-absolute {
        position: absolute !important;
    }

    .position-lg-fixed {
        position: fixed !important;
    }

    .position-lg-sticky {
        position: -webkit-sticky !important;
        position: sticky !important;
    }
}

@media (min-width: 1200px) {
    .position-xl-static {
        position: static !important;
    }

    .position-xl-relative {
        position: relative !important;
    }

    .position-xl-absolute {
        position: absolute !important;
    }

    .position-xl-fixed {
        position: fixed !important;
    }

    .position-xl-sticky {
        position: -webkit-sticky !important;
        position: sticky !important;
    }
}

@font-face {
    font-family: 'indus';
    src: url('fonts/indus.woff2') format('woff2'),
         url('fonts/indus.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

html {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

* {
    outline: 0 !important;
}

img {
    image-rendering: optimizeQuality;
}

html {
    font-size: 16px;
    line-height: 1;
    height: 100%;
    max-width: 100%;
    background-color: #010205;
    overflow-x: hidden;
}

body {
    position: relative;
    color: #FFF;
    font-family: 'stratos-lights', sans-serif;
    font-weight: 300;
    height: 100%;
    font-size: max(1.125rem, 1vw);
    background-color: #010205;
}

.bg-none {
    background: none;
}

.line-height-0 {
    line-height: 1;
}

.line-height-1 {
    line-height: 1.2;
}

@media (min-width: 375px) {
    .line-height-1 {
        line-height: 1.3;
    }
}

.line-height-1-alt {
    line-height: 1;
}

@media (min-width: 375px) {
    .line-height-1-alt {
        line-height: 1.1;
    }
}

@media (min-width: 578px) {
    .line-height-1-alt {
        line-height: 1.3;
    }
}

.img-contain {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
}

h1, h2, h3 {
    font-family: 'indus', sans-serif;
}

a:not(.btn),
.text-primary {
    color: #009FDE !important;
}

.btn-outline-primary {
    color: #009FDE;
    border-color: #009FDE;
}

.btn-outline-primary:hover {
    background-color: #009FDE;
}

.ff-alt {
    font-size: clamp(1.5rem, 2vw, 1.75rem);
    font-family: 'indus', sans-serif;
}

h1.display-1 {
    font-size: 5rem;
}

@media (max-width: 991.98px) {
    h1.display-1 {
        line-height: 1;
    }
}

@media (min-width: 1400px) {
    h1.display-1 {
        font-size: 6.2rem;
    }
}

h1,
.h1 {
    font-size: 3rem;
}

h2,
.h2 {
    font-size: 2.5rem;
}

h3,
.h3 {
    font-size: 2rem;
}

.site-footer {
    z-index: 1;
    position: relative;
}

.z-fix {
    z-index: 10;
}

body.page-id-2 {
    background-position: top left -155px;
    background-repeat: no-repeat;
    background-attachment: scroll;
    background-size: auto clamp(434px, 100%, 434px) !important;
    background-blend-mode: lighten;
    background-image: url('images/nv-back_op.png');
}

body.page-id-43 {
    background: linear-gradient(#261a3e 5%, #010205) !important;
}

@media (min-width: 600px) {

    body.page-id-2 {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        width: 100%;
        height: 100%;
        background-position: top left -278px;
        background-repeat: no-repeat;
        background-attachment: scroll;
        background-size: auto clamp(768px, 100%, 768px) !important;
        background-blend-mode: lighten;
        background-image: url('images/nv-back_op.png');
    }


}

@media (min-width: 992px) {

    body {
        font-size: max(1rem, 1vw);
        overflow-x: hidden;
    }

    body.page-id-2 {
        background-image: none !important;
    }

    body.page-id-43 {
        background: linear-gradient(#261a3e 5%, #010205) !important;
    }

    div.custom-background-bg::before {
        content: '';
        position: absolute;
        top: -305px;
        left: calc(-370px);
        width: calc(100vw + 270px);
        height: 100vh;
        background-position: top left;
        background-repeat: no-repeat;
        background-attachment: scroll;
        background-size: auto clamp(992px, 100%, 992px) !important;
        min-height: 992px;
        mix-blend-mode: lighten;
        background-image: url('images/nv-back_op.png');
    }

}

@media (min-width: 1200px) {

    body {
        font-size: max(1.125rem, 1vw);
    }

    div.custom-background-bg::before {
        content: '';
        position: absolute;
        top: -305px;
        left: calc(-100% - 82px);
        width: calc(100% * 6);
        height: 100vh;
        min-height: 992px;
        background-position: top left;
        background-repeat: no-repeat;
        background-attachment: scroll;
        background-size: auto clamp(992px, 100%, 992px) !important;
        background-image: url('images/nv-back_op.png');
        mix-blend-mode: lighten;
    }

}

@media (min-width: 1400px) {

    div.custom-background-bg::before {
        content: '';
        position: absolute;
        top: -370px;
        left: calc(-100% - 125px);
        width: calc(100% * 6);
        height: 100vh;
        min-height: 1200px;
        background-position: top left;
        background-repeat: no-repeat;
        background-attachment: scroll;
        background-size: auto clamp(1200px, 100%, 1200px) !important;
        background-image: url('images/nv-back_op.png');
        mix-blend-mode: lighten;
    }

}

/* Other */

.navbar-top {
    position: absolute;
    top: 6vh;
}

.offset-top {
    position: relative;
    top: calc(35.65vw + 72px);
}

@media (min-width: 414px) {
    .offset-top {
        position: relative;
        top: calc(35.65vw + 100px);
    }
}

@media (min-width: 535px) {
    .offset-top {
        position: relative;
        top: 245px
    }
}

@media (min-width: 576px) {
    .offset-top {
        position: relative;
        top: 350px
    }
    .offset-fix {
        top: 365px;
    }
}

@media (min-width: 768px) {
    .offset-top {
        position: relative;
        top: 365px;
    }
    .offset-fix {
        top: 365px;
    }
}

@media (min-width: 992px) {
    .offset-top {
        position: relative;
        top: 305px;
    }
    .offset-fix {
        top: 475px;
    }
}

@media (min-width: 1200px) {
    .offset-top {
        position: relative;
        top: 305px;
    }
    .offset-fix {
        top: 475px;
    }
}

@media (min-width: 1400px) {
    .offset-top {
        position: relative;
        top: 370px;
    }
    .offset-fix {
        top: 560px;
    }
}

@media (min-width: 1200px) {
    .text-lg-nowrap {
        white-space: nowrap;
    }
}

/* Swiper */

.swiper {
    width: 100%;
    height: 100%;
}

.swiper-slide {
    height: 100%;
}

.swiper-slide a {
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    height: 100%;
}

.swiper-slide img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 5vh;
    max-height: 240px;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: 50% 100%;
    object-position: 50% 100%;
}
.zoom {
    cursor: zoom-in;
}

.img-hover {
	background: #251d4c;
}

.img-hover img {
	opacity: 1;
	transition: .3s ease-in-out;
}

.img-hover:hover img {
	opacity: .5;
}

.img-hover-alt {

}

.img-hover-alt img {
	opacity: 1;
	transition: .3s ease-in-out;
}

.img-hover-alt:hover img {
	opacity: .7;
}

.max-height {
    max-height: 435px;
}

.swiper-pagination-bullet {
    background: #FFF;
}

@media (max-width:577.98px) {
    .footer-nav .ff-alt {
        font-size: 1.5rem;
        margin-bottom: 0px !important;
    }
}
