/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v8.4.14,
* Autoprefixer: v10.4.7
* Browsers: last 4 version
*/

*,
*::after,
*::before {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
:root {
    --height: 38vh;
    --height-two: 30vh;
    --height-btn: calc(var(--height) - var(--height-two) - .65rem);
    --space: 2vw;
    --margin: 5rem;
    --n-marging: -5rem;
    --br: 10px
}
html {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-transition: background-color .3s cubic-bezier(0.215, 0.61, 0.355, 1);
    -o-transition: background-color .3s cubic-bezier(0.215, 0.61, 0.355, 1);
    transition: background-color .3s cubic-bezier(0.215, 0.61, 0.355, 1);
    -webkit-font-smoothing: antialiased;
    -moz-font-smoothing: antialiased;
    -o-font-smoothing: antialiased;
    overflow-x: hidden;

}
html,body,h1,h2,h3,h4,h5,h6,a,p,span,ul li,ol li,input,textarea{
    font-family: "Excon", sans-serif;
}
canvas#snow {
    position: fixed;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
    z-index: 102;
    pointer-events: none;
}

#loading {
    /* position: fixed; */
    /* width: 100%; */
    /* height: 100vh; */
    /* top: 0; */
    /* left: 0; */
    /* z-index: 100; */
    /* pointer-events: none; */
}
#logo_item {
    position: fixed;
    left: 50%;
    top: 35%;
    -webkit-transform: translate(-50%, -65%) translateZ(0);
    transform: translate(-50%, -65%) translateZ(0);
    will-change: transform;
    width: 8rem;
    -webkit-transition: all ease-in-out 1s;
    -o-transition: all ease-in-out 1s;
    transition: all ease-in-out 1s;
    z-index: 100;
}
#site_item {
    position: fixed;
    left: 50%;
    top: 35%;
    -webkit-transform: translate(-50%, calc(-65% + 11rem));
    -ms-transform: translate(-50%, calc(-65% + 11rem));
    transform: translate(-50%, calc(-65% + 11rem));
    height: 8rem;
    -webkit-transition: all ease-in-out 1s;
    -o-transition: all ease-in-out 1s;
    transition: all ease-in-out 1s;
    z-index: 100;
    width: auto;
}
#site_item h1 {margin: 0;font-weight: 500;color: #005ad2;font-size: 2.5rem;width: 100%;}

#site_item h2 {
    color: #03035b;
    font-weight: 500;
    font-size: 1.875rem;
    margin-block: 6px;
    width: 100%;
}

#site_item p {
    color: #03035b;
    font-weight: 500;
    font-size: 1.2rem;
    margin-top: 7px;
    width: 100%;
}
body.load #logo_item {
    left: calc(99vw - 8rem);
    top: 1rem;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    /* right: 2vw; */
}

body.load #site_item {
    left: 1vw;
    top: 1rem;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
}
main.wrapper {
    padding-top: 9rem;
    padding-inline: 1vw;
    opacity: 0;
    -webkit-transition: opacity 0.2s linear;
    -o-transition: opacity 0.2s linear;
    transition: opacity 0.2s linear;
    z-index: 1;
    position: relative;
}
body.load main.wrapper {
    opacity: 1;
    -webkit-transition-delay: .5s;
    -o-transition-delay: .5s;
    transition-delay: .5s;
}
section.galleryWrapper {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 2vw 1fr 2vw 1fr 2vw 1fr;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-gap: .65rem;
}

.media > * {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}
.media {
    position: relative;
    width: 100%;
    height: 100%;
    border-radius: var(--br);
}

.media img {
    position: relative;
    z-index: 1;
    border-radius: var(--br);
    pointer-events: none;
    -webkit-transition: opacity 0.1s linear;
    -o-transition: opacity 0.1s linear;
    transition: opacity 0.1s linear;
}

.media video {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    border-radius: var(--br);
    -o-object-fit: cover;
    object-fit: cover;
}

.galleryWrap:nth-of-type(1) {
    -ms-grid-column-span: 2;
    grid-column: span 2;
    -ms-grid-row-span: 1;
    grid-row: span 1;
}
.galleryWrap:nth-of-type(2) {
    -ms-grid-column-span: 1;
    grid-column: span 1;
    -ms-grid-row-span: 1;
    grid-row: span 1;
    height: calc(var(--height) - var(--margin));
}
.galleryWrap:nth-of-type(3) {}
.galleryWrap:nth-of-type(4) {}
.galleryWrap:nth-of-type(6) {
    margin-top: var(--n-marging);
    height: calc(var(--height) + var(--margin));
}
.galleryWrap:nth-of-type(7) {}
.galleryWrap:nth-of-type(7) .media img {
}
.galleryWrap {
    height: var(--height);
    position: relative;
    border-radius: var(--br);
    -webkit-perspective: 1000px;
    perspective: 1000px;
    cursor: pointer;
}
body.load #loading {
    /* pointer-events: auto; */
}

.info {
    position: absolute;
    bottom: 1rem;
    left: 1rem;
    z-index: 2;
}
.info p {
    color: #fff;
    text-transform: capitalize;
    font-size: 3rem;
    text-shadow: 0 0 2rem rgba(0, 0, 0, 0.5);
}
.galleryMediaInfoWrap {
    position: relative;
    width: 100%;
    height: 100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
    -webkit-transition: ease-in-out 1s 0.75s;
    -o-transition: ease-in-out 1s 0.75s;
    transition: ease-in-out 1s 0.75s;
    -webkit-transform: rotateY(180deg) translateZ(0);
    transform: rotateY(180deg) translateZ(0);
    will-change: transform;
    -webkit-transform-origin: center center;
    -ms-transform-origin: center center;
    transform-origin: center center;
}
body.load .galleryWrap .galleryMediaInfoWrap {
    -webkit-transform: rotateY(0) translateZ(0);
    transform: rotateY(0) translateZ(0);
}
.back {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border-radius: var(--br);
    background-position: center;
    background-size: cover;
    text-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: absolute;
    height: 100%;
    width: 100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform-style: preserve-3d;
    transform-style: preserve-3d;
    -webkit-transition: ease-in-out 1s 0.75s;
    -o-transition: ease-in-out 1s 0.75s;
    transition: ease-in-out 1s 0.75s;
    top: 0;
    left: 0;
    -webkit-transform: rotateY(0);
    transform: rotateY(0);
    will-change: transform;
    background-color: #fff;
    -webkit-box-shadow: 1px 1px 8px rgba(218,218,218,0.25);
    box-shadow: 1px 1px 8px rgba(218,218,218,0.25);
}
body.load .galleryWrap .back {
    -webkit-transform: rotateY(-180deg) translateZ(0);
    transform: rotateY(-180deg) translateZ(0);
}

body.load .galleryWrap:nth-of-type(1) .galleryMediaInfoWrap,
body.load .galleryWrap:nth-of-type(1) .back {
    -webkit-transition-delay: 1s;
    -o-transition-delay: 1s;
    transition-delay: 1s;
}

body.load .galleryWrap:nth-of-type(2) .galleryMediaInfoWrap,
body.load .galleryWrap:nth-of-type(2) .back {
    -webkit-transition-delay: 1.25s;
    -o-transition-delay: 1.25s;
    transition-delay: 1.25s;
}

body.load .galleryWrap:nth-of-type(3) .galleryMediaInfoWrap,
body.load .galleryWrap:nth-of-type(3) .back {
    -webkit-transition-delay: 1.5s;
    -o-transition-delay: 1.5s;
    transition-delay: 1.5s;
}

body.load .galleryWrap:nth-of-type(4) .galleryMediaInfoWrap,
body.load .galleryWrap:nth-of-type(4) .back {
    -webkit-transition-delay: 1.75s;
    -o-transition-delay: 1.75s;
    transition-delay: 1.75s;
}

body.load .galleryWrap:nth-of-type(5) .galleryMediaInfoWrap,
body.load .galleryWrap:nth-of-type(5) .back {
    -webkit-transition-delay: 2s;
    -o-transition-delay: 2s;
    transition-delay: 2s;
}

body.load .galleryWrap:nth-of-type(6) .galleryMediaInfoWrap,
body.load .galleryWrap:nth-of-type(6) .back {
    -webkit-transition-delay: 2.25s;
    -o-transition-delay: 2.25s;
    transition-delay: 2.25s;
}

body.load .galleryWrap:nth-of-type(7) .galleryMediaInfoWrap,
body.load .galleryWrap:nth-of-type(7) .back {
    -webkit-transition-delay: 2.5s;
    -o-transition-delay: 2.5s;
    transition-delay: 2.5s;
}
.galleryWrap.buttons .galleryMediaInfo {
    height: var(--height-two);
    position: relative;
}
.buttonsWrap {
    position: relative;
    display: -ms-grid;
    display: grid;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    height: var(--height-btn);
    -ms-grid-columns: 1fr 1rem 1fr;
    grid-template-columns: 1fr 1fr;
    text-align: center;
    grid-gap: 1rem;
    margin-top: .65rem;
}
.buttonsWrap .btn {
    background-color: #03035b;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    color: #fff;
    text-decoration: none;
    text-transform: capitalize;
    font-size: 1.5rem;
    border-radius: var(--br);
    -webkit-transition: background-color 0.2s ease-in-out;
    -o-transition: background-color 0.2s ease-in-out;
    transition: background-color 0.2s ease-in-out;
}
.media:hover img {
    opacity: 0;
}
.buttonsWrap .btn:hover {
    background-color: #005ad2;
}
#videoOverlay {
    position: fixed;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
    z-index: 110;
    background-color: rgb(75 75 75 / 30%);
    -webkit-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
    transition: all 0.4s ease-in-out;
    pointer-events: none;
    cursor: pointer;
    opacity: 0;
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
}
#modalVideoContainer {
    position: fixed;
    margin: auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    height: 58vh;
    background-color: #fff;
    border-radius: var(--br);
    cursor: auto;
    min-width: 33vw;
    z-index: 112;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%,-50%);
    -ms-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
    pointer-events: none;
    -webkit-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
    transition: all 0.4s ease-in-out;
    opacity: 0;
    max-width: 60vw;
}

.video_wrap {
    width: 100%;
    height: 100%;
    padding: 1rem;
    position: relative;
    z-index: 1;
    border-radius: var(--br);
}

.video_wrap video {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    border-radius: var(--br);
}
#closeModalVideo {
    position: absolute;
    bottom: calc(100% - 2px);
    width: 3.1875rem;
    height: 3.1875rem;
    background-color: #fff;
    right: 4rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    cursor: pointer;
    border-radius: .5rem .5rem 0 0;
    z-index: 0;
}
#closeModalVideo:before {
    content: '';
    position: absolute;
    bottom: 2px;
    left: -1.5rem;
    -webkit-box-shadow: 1rem 1rem #fff;
    box-shadow: 1rem 1rem #fff;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 0.5rem;
}

#closeModalVideo:after {
    content: '';
    position: absolute;
    bottom: 2px;
    right: -1.5rem;
    -webkit-box-shadow: 1rem 1rem #fff;
    box-shadow: 1rem 1rem #fff;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: .5rem;
    -webkit-transform: scaleX(-1);
    -ms-transform: scaleX(-1);
    transform: scaleX(-1)
}

#closeModalVideo img {
    width: 2.75rem;
    height: 2.75rem;
    z-index: 1
}

body.showModal #videoOverlay {
    opacity: 1;
    pointer-events: auto;
}

body.showModal #modalVideoContainer {
    opacity: 1;
    pointer-events: auto;
}
@media only screen and (max-width: 768px) {
    :root {
        --height: 37vh;
    }
    #site_item {
        width: 70%;
    }
    #site_item h1 {
        font-size: 1.875rem;
    }
    #site_item h2 {
        font-size: 1.25rem;
        -webkit-transition: width 0.2s linear;
        -o-transition: width 0.2s linear;
        transition: width 0.2s linear;
    }
    body.load #site_item h2 {
    }
    #site_item p {
        font-size: 1rem;
        margin-top: 11px;
    }
    #logo_item {
        width: 5.5rem;
    }
    main.wrapper {
        padding-top: 10rem;
        -webkit-margin-after: 4rem;
        margin-block-end: 4rem;
    }
    section.galleryWrapper {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        grid-gap: 1rem;
    }
    body.load #logo_item {
        left: calc(98vw - 5.5rem);
    }
    header {
        position: fixed;
        width: 100%;
        height: 10rem;
        top: 0;
        left: 0;
        z-index: 99;
        background-color: #fff;
    }
    .info p {
        font-size: 1.75rem;
    }
    .galleryWrap:nth-of-type(2) {
        height: var(--height);
    }
    .galleryWrap {
        width: 100%;
    }
    .galleryWrap:nth-of-type(6) {
        margin-top: 0;
        height: var(--height);
    }
    #modalVideoContainer {
        width: 92vw;
        max-width: unset;
        height: auto;
    }
    .video_wrap {
        padding: .5rem;
    }
    #closeModalVideo {
        width: 2.5rem;
        height: 2.5rem;
        right: 3rem;
    }
    #closeModalVideo img {
        width: 2.25rem;
        height: 2.25rem;
    }
}
@media only screen and (min-width: 640px) and (max-width: 768px) {
    :root{
        --height-two: 28vh;
    }
    #site_item {
        width: auto;
    }
    section.galleryWrapper {
        display: -ms-grid;
        display: grid;
        -ms-grid-columns: 1fr 1rem 1fr;
        grid-template-columns: 1fr 1fr;
    }
    .galleryWrap:nth-of-type(2) {
        -ms-grid-column-span: 1;
        grid-column: span 1;
    }
    #logo_item {
        width: 7rem;
    }
    body.load #logo_item {
        left: calc(98vw - 7rem);
    }
    #site_item h1 {
        font-size: 2.25rem;
    }
    #site_item h2 {
        font-size: 1.5rem;
    }
    #site_item p {
        font-size: 1.25rem;
    }
}
@media only screen and (min-width: 769px) and (max-width: 1199px) {
    section.galleryWrapper {
        -ms-grid-columns: 1fr 1rem 1fr;
        grid-template-columns: 1fr 1fr;
    }
    .galleryWrap:nth-of-type(2) {
        height: var(--height);
    }
    .galleryWrap:nth-of-type(6) {
        margin: 0;
        height: var(--height);
    }
    .info p {
        font-size: 2.5rem;
    }
    main.wrapper {
        -webkit-margin-after: 5rem;
        margin-block-end: 5rem;
    }
    header {
        position: fixed;
        z-index: 99;
        width: 100%;
        height: 11rem;
        left: 0;
        top: 0;
        background-color: #fff;
    }
    #site_item > * {
        white-space: nowrap;
    }
}
@media only screen and (min-width: 1200px) and (max-width: 1400px) {
    :root {
        --margin: 3rem;
        --n-marging: -3rem;
        --height: 38vh;
        --height-two: 28vh;
        --height-btn: calc(var(--height) - var(--height-two) - .5rem);
    }
    .buttonsWrap {
        margin-top: .5rem;
    }
    #site_item h1 {
        font-size: 1.75rem;
    }

    #site_item h2 {
        font-size: 1.25rem;
    }

    #site_item p {
        font-size: 1rem;
    }

    body.load #logo_item {
        left: calc(98vw - 6rem);
    }

    #logo_item {
        width: 6rem;
    }

    main.wrapper {
        padding-top: 7rem;
    }

    .info p {
        font-size: 2rem;
    }

    .buttonsWrap .btn {
        font-size: 1.125rem;
    }

    section.galleryWrapper {
        grid-gap: .5vw;
    }
}
@media only screen and (min-width: 1401px) and (max-width: 1700px) {
    #site_item h1 {
        font-size: 2rem;
    }

    #site_item h2 {
        font-size: 1.5rem;
    }

    #site_item p {
        font-size: 1.125rem;
    }

    body.load #logo_item {
        left: calc(98vw - 7rem);
    }

    #logo_item {
        width: 7rem;
    }

    main.wrapper {
        padding-top: 8rem;
    }

    .info p {
        font-size: 2rem;
    }

    .buttonsWrap .btn {
        font-size: 1.125rem;
    }

    section.galleryWrapper {
        grid-gap: .5rem;
    }
}