/* http://meyerweb.com/eric/tools/css/reset/
   v2.0-modified | 20110126
   License: none (public domain)
*/

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

/* make sure to set some focus styles for accessibility */
:focus {
    outline: 0;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

body {
    line-height: 1;
    font-family: 'Gotham', sans-serif;
}

ol,
ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

    blockquote:before,
    blockquote:after,
    q:before,
    q:after {
        content: '';
        content: none;
    }

table {
    border-collapse: collapse;
    border-spacing: 0;
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration,
input[type=search]::-webkit-search-results-button,
input[type=search]::-webkit-search-results-decoration {
    -webkit-appearance: none;
    -moz-appearance: none;
}

input[type=search] {
    -webkit-appearance: none;
    -moz-appearance: none;
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
    box-sizing: content-box;
}

textarea {
    overflow: auto;
    vertical-align: top;
    resize: vertical;
}

/**
 * Correct `inline-block` display not defined in IE 6/7/8/9 and Firefox 3.
 */

audio,
canvas,
video {
    display: inline-block;
    *display: inline;
    *zoom: 1;
    max-width: 100%;
}

    /**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */

    audio:not([controls]) {
        display: none;
        height: 0;
    }

/**
 * Address styling not present in IE 7/8/9, Firefox 3, and Safari 4.
 * Known issue: no IE 6 support.
 */

[hidden] {
    display: none;
}

/**
 * 1. Correct text resizing oddly in IE 6/7 when body `font-size` is set using
 *    `em` units.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */

html {
    font-size: 100%;
    /* 1 */
    -webkit-text-size-adjust: 100%;
    /* 2 */
    -ms-text-size-adjust: 100%;
    /* 2 */
}

/**
 * Address `outline` inconsistency between Chrome and other browsers.
 */

a:focus {
    outline: 0;
}

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */

a:active,
a:hover {
    outline: 0;
}

/**
 * 1. Remove border when inside `a` element in IE 6/7/8/9 and Firefox 3.
 * 2. Improve image quality when scaled in IE 7.
 */

img {
    border: 0;
    /* 1 */
    -ms-interpolation-mode: bicubic;
    /* 2 */
}

/**
 * Address margin not present in IE 6/7/8/9, Safari 5, and Opera 11.
 */

figure {
    margin: 0;
}

/**
 * Correct margin displayed oddly in IE 6/7.
 */

form {
    margin: 0;
}

/**
 * Define consistent border, margin, and padding.
 */

fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct color not being inherited in IE 6/7/8/9.
 * 2. Correct text not wrapping in Firefox 3.
 * 3. Correct alignment displayed oddly in IE 6/7.
 */

legend {
    border: 0;
    /* 1 */
    padding: 0;
    white-space: normal;
    /* 2 */
    *margin-left: -7px;
    /* 3 */
}

/**
 * 1. Correct font size not being inherited in all browsers.
 * 2. Address margins set differently in IE 6/7, Firefox 3+, Safari 5,
 *    and Chrome.
 * 3. Improve appearance and consistency in all browsers.
 */

button,
input,
select,
textarea {
    font-size: 100%;
    /* 1 */
    margin: 0;
    /* 2 */
    vertical-align: baseline;
    /* 3 */
    *vertical-align: middle;
    /* 3 */
}

/**
 * Address Firefox 3+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */

button,
input {
    line-height: normal;
}

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Chrome, Safari 5+, and IE 6+.
 * Correct `select` style inheritance in Firefox 4+ and Opera.
 */

button,
select {
    text-transform: none;
}

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 * 4. Remove inner spacing in IE 7 without affecting normal text inputs.
 *    Known issue: inner spacing remains in IE 6.
 */

button,
html input[type="button"],
/* 1 */
input[type="reset"],
input[type="submit"] {
    -webkit-appearance: button;
    /* 2 */
    cursor: pointer;
    /* 3 */
    *overflow: visible;
    /* 4 */
}

    /**
 * Re-set default cursor for disabled elements.
 */

    button[disabled],
    html input[disabled] {
        cursor: default;
    }

/**
 * 1. Address box sizing set to content-box in IE 8/9.
 * 2. Remove excess padding in IE 8/9.
 * 3. Remove excess padding in IE 7.
 *    Known issue: excess padding remains in IE 6.
 */

input[type="checkbox"],
input[type="radio"] {
    box-sizing: border-box;
    /* 1 */
    padding: 0;
    /* 2 */
    *height: 13px;
    /* 3 */
    *width: 13px;
    /* 3 */
}

/**
 * 1. Address `appearance` set to `searchfield` in Safari 5 and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari 5 and Chrome
 *    (include `-moz` to future-proof).
 */

input[type="search"] {
    -webkit-appearance: textfield;
    /* 1 */
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box;
    /* 2 */
    box-sizing: content-box;
}

    /**
 * Remove inner padding and search cancel button in Safari 5 and Chrome
 * on OS X.
 */

    input[type="search"]::-webkit-search-cancel-button,
    input[type="search"]::-webkit-search-decoration {
        -webkit-appearance: none;
    }

/**
 * Remove inner padding and border in Firefox 3+.
 */

button::-moz-focus-inner,
input::-moz-focus-inner {
    border: 0;
    padding: 0;
}

/**
 * 1. Remove default vertical scrollbar in IE 6/7/8/9.
 * 2. Improve readability and alignment in all browsers.
 */

textarea {
    overflow: auto;
    /* 1 */
    vertical-align: top;
    /* 2 */
}

/**
 * Remove most spacing between table cells.
 */

table {
    border-collapse: collapse;
    border-spacing: 0;
}

html,
button,
input,
select,
textarea {
    color: #222;
}


::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

img {
    vertical-align: middle;
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

textarea {
    resize: vertical;
}

.chromeframe {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
    margin: 0ş
}

/* Fancy box */
.fancybox__container {
    z-index: 10000;
}

/**
 * Pages
 */

#page {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    display: block;
    height: 100vh;
}

    #page.sub-page {
        background-image: url(img/Symbole-10.svg) !important;
        background-position: center center !important;
        background-repeat: no-repeat !important;
        background-size: contain !important;
    }

    #page.home-page {
        background-image: linear-gradient(300deg, hsl(259deg 60% 57%) 0%, hsl(275deg 54% 57%) 8%, hsl(290deg 47% 58%) 15%, hsl(305deg 44% 61%) 23%, hsl(339deg 99% 72%) 31%, hsl(13deg 100% 71%) 38%, hsl(41deg 100% 62%) 46%, hsl(49deg 86% 57%) 54%, hsl(40deg 85% 56%) 62%, hsl(31deg 79% 56%) 69%, hsl(20deg 72% 56%) 77%, hsl(358deg 68% 58%) 85%, hsl(334deg 72% 46%) 92%, hsl(312deg 84% 35%) 100%);
    }



h1.big-title {
    font-size: 7vw;
    font-style: normal;
    font-weight: 700;
    line-height: 7vw;
    margin-left: -7px;
    margin-top: 20px;
    margin-bottom: 69px;
    padding-right: 10px;
}


h1 {
    font-size: 48px;
    line-height: 65px;
    font-weight: 700;
}

h2 {
    font-size: 36px;
    line-height: 50px;
    font-weight: 700;
}

h3 {
    font-size: 30px;
    line-height: 40px;
    margin-left: -1px;
    font-weight: 700;
}

h4 {
    font-size: 24px;
    line-height: 35px;
    margin-left: -1px;
    font-weight: 500;
}

h5 {
    font-size: 18px;
    line-height: 25px;
    margin-left: -1px;
    font-weight: 500;
    margin-bottom: 1em;
}

h6 {
    font-size: 12px;
    line-height: 18px;
    margin: 0;
}

p {
    line-height: 28px;
    margin-bottom: 15px
}

b {
    font-weight: 600
}

/*------------------------------------------------------------------
# Site Header
-------------------------------------------------------------------**/


.site-header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 150px;
    z-index: 9999;
}

.site-branding {
    position: absolute;
    left: 5%;
    top: 70px;
    width: 250px;
    height: auto;
    top: 50px
}

.site-logo {
    display: block;
    width: 100%;
}

    .site-logo img {
        width: 100%;
        display: block;
        object-fit: cover;
    }

.site-header.light .light-logo {
    display: none
}

.site-header.light .dark-logo {
    display: block
}

.site-logo img.dark-logo {
    display: none
}

.client-branding {
    position: absolute;
    right: 5%;
    width: 250px;
    height: auto;
    top: 50px;
    text-align: right;
}

    .client-branding .client-logo {
        height: 54px;
        filter: brightness(0) invert(1);
    }

.site-header.light .client-branding .client-logo {
    filter: none;
}


.back-button {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, 0%);
    opacity: 0;
}

    .back-button a {
        color: #fff;
        font-weight: 600;
        text-decoration: none
    }

        .back-button a::before {
            content: "\f0de";
            font-family: "Font Awesome 5 Free";
            display: block;
            text-align: center;
            margin-bottom: 10px;
        }

/*------------------------------------------------------------------
# Site Footer
-------------------------------------------------------------------**/

#footer {
    position: absolute;
    z-index: 99;
    bottom: 0;
    left: 0;
    width: 100%;
}

.footer-left-widget {
    position: absolute;
    left: 5%;
    z-index: 999;
    bottom: 30px;
}

.footer-right-widget {
    position: absolute;
    right: 5%;
    bottom: 30px;
}

ul.social-links {
    margin: 0;
    padding: 0;
    list-style: none;
}

    ul.social-links li {
        text-transform: uppercase;
        transform: translateY(30px);
        opacity: 0;
        display: inline-block;
        margin-right: 5px;
    }

        ul.social-links li a {
            text-decoration: none;
            color: #fff;
            font-weight: 600;
        }

a.footer-button {
    text-decoration: none;
    color: #fff;
    font-weight: 600;
    transform: translateY(30px);
    opacity: 0
}

#footer.light ul.social-links li a,
#footer.light a.footer-button {
    color: #ff2c34;
}

/*------------------------------------------------------------------
# Site Navigation
-------------------------------------------------------------------**/
.site-nav {
    position: absolute;
    top: 50px;
    left: 50%;
    transform: translateX(-50%);
    top: 50px
}

    .site-nav ul li {
        display: block;
        width: 50px;
        height: 35px;
        display: inline-block;
        margin: 0 10px;
        position: relative;
        cursor: pointer
    }

        .site-nav ul li a {
            overflow: hidden;
            display: block;
            width: 100%;
            height: 100%;
        }


        .site-nav ul li span:first-child {
            width: 3px;
            height: 65%;
            display: block;
            position: absolute;
            right: 8px;
            transform: rotate(-45deg);
            transform-origin: left;
            top: 0;
        }

        .site-nav ul li span:nth-child(2) {
            width: 3px;
            height: 65%;
            background: black;
            display: block;
            position: absolute;
            right: 8px;
            transform: rotate(45deg);
            transform-origin: left;
            bottom: 0;
        }

        .site-nav ul li:first-child span,
        .site-nav ul li:last-child span {
            transform: rotate(0);
        }


        .site-nav ul li span {
            background: #fff !important;
        }

        .site-nav ul li::after {
            content: "";
            display: block;
            position: absolute;
            right: 0;
            width: 0%;
            height: 100%;
            background: #fff;
            transition: width .3s ease;
            top: 0
        }

.site-header.light .site-nav ul li span,
.site-header.light .site-nav ul li::after {
    background: #ff2c34 !important
}



.site-nav ul li.active::after {
    width: 100%;
}


/*------------------------------------------------------------------
# Page Elements
-------------------------------------------------------------------**/
/*------------------------------------------------------------------
## Site Navigation Carousel
-------------------------------------------------------------------**/

.site-nav-carousel {
    position: absolute;
    background-image: url(img/Symbole-100.svg) !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    background-size: contain !important;
    background-color: #efefef;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 1;
    overflow: hidden;
    width: calc(100% - 30px);
    height: calc(100% - 30px);
}

.pages-wrap {
    position: absolute;
    top: 50%;
    left: 50%;
    height: 50%;
    width: auto;
    display: flex;
    align-items: center;
    z-index: 1
}

.snc-page {
    display: block;
    float: left;
    width: 8vw;
    height: 90%;
    margin: 0 10px;
    transform: translateX(100px);
    position: relative;
    transition: width .3s ease, height .3s ease;
    */ overflow: hidden;
    flex-shrink: 0;
    opacity: 0
}

    .snc-page.hovered {
        width: 9vw;
        height: 100%
    }

    .snc-page.np_hovered {
        width: 145px;
        height: 95%
    }


    .snc-page .snc-image {
        width: 100%;
        height: 100%;
        overflow: hidden;
    }

        .snc-page .snc-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            filter: grayscale(1);
            transition: filter .3s ease
        }

    .snc-page.hovered .snc-image img {
        filter: grayscale(0)
    }

    .snc-page.hovered .snc-image:after {
        background: linear-gradient(331deg, #3310a8 60%, rgb(237 28 36) 100%);
        content: " ";
        display: block;
        left: 0;
        position: absolute;
        right: 0;
        top: 0;
        width: 100%;
        height: 100%;
        opacity: 0.8;
    }

.snc-text {
    position: absolute;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    z-index: 2;
    color: #fff;
    font-weight: 700;
    font-size: 60px;
    width: 100%;
    white-space: nowrap;
    text-align: center;
}

.snc_line {
    clear: both;
    transform: translateY(50px);
    opacity: 0;
    transition: all .4s ease
}

    .snc_line img {
        max-width: 100%;
        padding: 0 5px;
    }


.snc-page.hovered .snc_line {
    opacity: 1;
}

.snc_line:nth-child(odd) {
    /*float: right*/
}

.snc_line:nth-child(even) {
    /*float: left*/
}

.snc-page.hovered .snc_line {
    transform: translateY(0);
    opacity: 1;
}

/*------------------------------------------------------------------
## Page Section
-------------------------------------------------------------------**/


.page-section {
    position: absolute;
    width: 50%;
    height: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

    .page-section.sub-page {
        height: 50vh;
    }


        .page-section.sub-page.subpage-full {
            width: 100%;
            height: calc(100% - 120px);
            top: 120px;
            left: 0;
            transform: none;
        }

.hs-image {
    width: 100%;
    height: 100%;
}

    .hs-image img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }

.hs-meta {
    position: absolute;
    color: #fff;
    width: 100%;
    height: 100%;
    overflow: visible;
    z-index: 1;
    pointer-events: none
}


.hs-heading {
    display: block;
    position: absolute;
    top: 0;
    width: 100%;
    white-space: nowrap;
    z-index: 1
}

    .hs-heading .title-slide {
        font-size: 40px;
        line-height: 1.2;
        color: transparent;
        -webkit-text-stroke: 1px #fff;
        letter-spacing: 1px;
        text-transform: uppercase;
        padding: 0 20px;
    }

        .hs-heading .title-slide .t-fill {
            color: #ffffff;
            -webkit-text-stroke: 0;
        }

    .hs-heading h1.big-title {
        color: transparent;
        -webkit-text-stroke: 2px #fff;
        margin: 0
    }

    .hs-heading.top {
        transform: translateY(-50%)
    }

    .hs-heading.center {
        top: 50%;
        transform: translateY(-50%)
    }

    .hs-heading.bottom {
        top: unset;
        bottom: 0;
        transform: translateY(50%)
    }

.hs-subtext {
    position: absolute;
    left: 0;
    top: 0;
    text-shadow: 0px 0px 4px #000000;
    padding: 23px;
    transform: translateY(20%);
}


.hsh_line:first-child {
    transform: translateX(-30%);
}

.hsh_line:nth-child(2) {
    transform: translateX(60%);
    -webkit-text-stroke: 0;
    color: #fff;
}

.hs-heading h1.big-title.stroke {
    transform: translateX(-30%);
    margin-bottom: 15px;
}

.hs-heading h1.big-title.fill {
    text-align: right;
    transform: translateX(30%);
    margin: 0;
    -webkit-text-stroke: 0;
    color: #fff;
}

.hs-heading h1.big-title.stroke {
    transform: translateX(-50%);
}

.hs-heading.aligned h1.big-title.fill {
    text-align: left;
    transform: translateX(0%);
}

.hs-heading.aligned h1.big-title {
    display: inline-block;
}

.hs-heading.aligned {
    transform: translateY(-40%);
}

.hs-subheading {
    position: absolute;
    bottom: 0;
    left: 0;
    transform: translateY(80%);
    width: 100%;
}

    .hs-subheading h1 {
        display: block;
        width: 100%;
        color: #fff;
        font-weight: normal;
        white-space: nowrap
    }

        .hs-subheading h1.center {
            text-align: center;
            color: transparent;
            -webkit-text-stroke: 1px #fff;
        }

        .hs-subheading h1.bottom-right {
            text-align: right;
        }

.she-line {
    overflow: hidden
}

.she-char {
    transform: translateY(100%)
}

.hs-subheading h1 {
    line-height: 1.5em;
}

/*------------------------------------------------------------------
## Next & Prev Page Wrap
-------------------------------------------------------------------**/

.next-page-wrap,
.prev-page-wrap {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%) translateX(75%);
    width: 50%;
    height: 50%;
    z-index: -1
}

.prev-page-wrap {
    right: unset;
    left: 0;
    transform: translateY(-50%) translateX(-75%)
}

    .prev-page-wrap a,
    .next-page-wrap a {
        overflow: hidden;
    }

    .prev-page-wrap .npw-image,
    .next-page-wrap .npw-image {
        display: block;
        width: 100%;
        height: 100%;
    }

        .prev-page-wrap .npw-image img,
        .next-page-wrap .npw-image img {
            width: 100%;
            height: 100%;
            object-fit: cover;
            filter: grayscale(1);
            object-position: left;
        }


/*------------------------------------------------------------------
## Embed Video
-------------------------------------------------------------------**/


.embeded-video {
    position: relative;
    width: 100%;
    height: 100%;
}

    .embeded-video .plyr--video {
        width: 100%;
        height: 100%;
    }

.plyr__video-embed,
.plyr__video-wrapper--fixed-ratio {
    height: 100%;
}

.plyr__poster {
    background-size: cover;
}

.plyr__poster:after {
    background: linear-gradient(331deg, #3310a8 60%, rgb(237 28 36) 100%);
    content: " ";
    display: block;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 0.5;
}

.embeded-video .plyr--full-ui input[type="range"] {
    color: #000
}

.embeded-video .plyr--video .plyr__control.plyr__tab-focus,
.embeded-video .plyr--video .plyr__control:hover,
..embeded-video plyr--video .plyr__control[aria-expanded="true"] {
    background: #000
}

.embeded-video .plyr__control--overlaid {
    background: #000;
}

.embeded-video .plyr__video-embed iframe {
    top: -50%;
    height: 200%;
}

.embeded-video .plyr--full-ui.plyr--video .plyr__control--overlaid {
    display: none;
}

.embeded-video .video-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0px;
    height: 0px;
    z-index: 1;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    border-radius: 50%;
    cursor: pointer;
    border: 3px solid #fff;
}

    .embeded-video .video-overlay:hover {
        width: 130px;
        height: 130px;
    }


.embeded-video .play-button {
    position: absolute;
    top: 50%;
    left: 40%;
    opacity: 0;
    z-index: 2;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    color: #fff;
    font-size: 40px;
    width: 0;
    height: 0;
    border-top: 20px solid transparent;
    border-bottom: 20px solid transparent;
    border-left: 30px solid #fff;
}

.sub-page .embeded-video .play-button {
    left: 50%;
    opacity: 1
}

.embeded-video .plyr__controls {
    opacity: 0;
}

.embeded-video.video-play .plyr__controls {
    opacity: 1;
}


.embeded-video.video-play .video-overlay {
    opacity: 0;
    pointer-events: none;
}

.embeded-video.no-interaction .video-overlay {
    display: none
}

/*------------------------------------------------------------------
## Map
-------------------------------------------------------------------**/

.hs-map {
    width: 100%;
    height: 100%;
}

    .hs-map img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        background: #494242;
    }

.hs-marker {
    position: fixed;
    top: 6%;
    left: 50%;
    z-index: 1
}

.hsm-icon {
    position: absolute;
    left: -30px;
    bottom: 0;
    opacity: 0;
    transform: translateY(-50px)
}

.hsm-content {
    position: relative;
    padding: 20px;
    overflow: hidden;
    display: block
}

    .hsm-content::after {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 0%;
        height: 100%;
        background: #6360a7;
        z-index: -1;
        border-top-left-radius: 30px;
        border-bottom-right-radius: 30px;
        transition: width 1s cubic-bezier(0.22, 0.61, 0.36, 1);
    }

.active .hsm-content::after {
    width: 100%;
}

.hsm-content p {
    margin: 0;
    color: #fff;
    display: block;
    transform: translateY(50px);
    opacity: 0
}

.hsm-icon i {
    color: #6360a7;
    font-size: 30px;
}


/*------------------------------------------------------------------
## Number Counter   
-------------------------------------------------------------------**/

.number-counter-wrap {
    position: absolute;
    bottom: 10%;
    left: 50%;
    transform: translateX(-50%);
    width: auto;
    white-space: nowrap;
}

    .number-counter-wrap ul li {
        display: inline-block;
        text-align: center;
        opacity: 0;
        transform: translateY(100%)
    }

.nc-number {
    font-size: 40px;
    font-weight: 600;
    line-height: 40px;
    padding: 0 50px;
    display: block;
    border-right: 2px solid #fff;
    margin-bottom: 10px;
}

.nc-text {
    font-size: 15px;
    font-weight: 600;
    color: #fff;
}

.number-counter-wrap ul li:first-child .nc-number {
    border-left: 2px solid #fff;
}


/*------------------------------------------------------------------
## Sub Page Button
-------------------------------------------------------------------**/


.sub-page-button {
    position: absolute;
    bottom: 13%;
    left: 50%;
    transform: translateX(-50%);
}

    .sub-page-button a {
        display: block;
        color: #fff;
        font-size: 19px;
        font-weight: 600;
        letter-spacing: 1px;
        text-decoration: none;
        text-transform: uppercase;
        position: relative;
    }


        .sub-page-button a::after {
            content: "";
            background-image: url(img/down.gif);
            background-size: cover;
            width: 30px;
            height: 30px;
            display: block;
            margin: 2px auto 0;
            vertical-align: middle;
        }

/*------------------------------------------------------------------
## Video Grid
-------------------------------------------------------------------**/

.hs-video-grid {
    display: block;
    width: 100%;
    height: 100%;
    transform: translateY(150%);
    opacity: 0
}

.hsvg-video {
    display: block;
    float: left;
    width: 50%;
    padding: 10px;
    box-sizing: border-box;
    position: relative;
    height: 50%
}


.vg-text {
    position: absolute;
    left: 0;
    bottom: 21%;
    color: #fff;
    font-weight: 600;
    transform: translateX(-110%);
    line-height: 1.5em
}

.hsvg-video:nth-child(odd) .vg-text {
    text-align: right
}

.hsvg-video:nth-child(even) .vg-text {
    left: unset;
    right: 0;
    transform: translateX(110%);
}

.vg-video {
    transform: translateY(100px);
    display: block;
    width: 100%;
    height: 100%;
}

.vg-char {
    transform: translateY(100%);
    opacity: 0
}

.hs-video-grid .embeded-video .video-overlay {
    width: 65px;
    height: 65px;
    border-width: 2px;
}

.hs-video-grid .embeded-video .play-button {
    border-top-width: 10px;
    border-bottom-width: 10px;
    border-left-width: 15px;
}

.hs-video {
    width: 100%;
    height: 100%;
    overflow: hidden
}

    .hs-video .embeded-video .plyr--video {
        overflow: hidden
    }



/*------------------------------------------------------------------
## Info Grid
-------------------------------------------------------------------**/

.hs-info-content {
    opacity: 0;
    visibility: hidden;
    pointer-events: none
}

.hs-info-grid {
    position: relative;
    width: 100%;
    height: 100%;
}

.hsg-back {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: #000;
    z-index: 1;
    transform: translate(-25%, -25%);
    opacity: 0;
    visibility: hidden;
    pointer-events: auto;
    transition: all .4s ease
}

    .hsg-back.active {
        opacity: .7;
        visibility: visible
    }

.hs-info-box {
    position: absolute;
    width: 275px;
}

    .hs-info-box.active {
        z-index: 1
    }

    .hs-info-box.left-top {
        left: 0;
        top: 0;
        transform: translate(-30%, 50%);
    }

    .hs-info-box.top-left {
        left: 0;
        top: 0;
        transform: translate(30%, -20%);
    }

    .hs-info-box.top-right {
        right: 0;
        top: 0;
        transform: translateX(-10%);
    }

    .hs-info-box.bottom-left {
        bottom: 0;
        left: 0;
        transform: translateX(40%);
    }

    .hs-info-box.bottom-right {
        right: 0;
        bottom: 0;
        transform: translateX(15%);
    }

.hs-info-thmbnl {
    width: 100%;
}

    .hs-info-thmbnl img {
        width: 100%;
    }

.hs-info-box i {
    position: absolute;
    bottom: 5%;
    right: 5%;
    color: #fff;
    border: 2px solid #fff;
    padding: 10px;
    border-radius: 50%;
}

.hs-info-content {
    position: fixed;
    top: 50%;
    left: 40%;
    width: 60%;
    z-index: 999999;
    background: transparent;
    padding: 30px;
    /*height: 80%;*/
}

    .hs-info-content::after {
        content: "";
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 0%;
        height: 100%;
        background: #cf530e;
        z-index: -1;
        transition: width .4s ease;
    }

.active .hs-info-content::after {
    width: 100%;
}

.active .hs-info-content {
    pointer-events: all
}

.hs-info-text {
    width: 80%;
    color: #fff;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.3em;
    display: inline-block;
    margin-bottom: 40px;
    height: 70%;
    overflow-y: scroll;
    overflow-x: hidden;
    padding-right: 20px;
    transform: translateY(10%);
    opacity: 0;
    transition: all .6s ease .2s;
    float: left;
}

.hs-vertical-text {
    writing-mode: tb;
    display: inline-block;
    margin-bottom: 40px;
    width: 10%;
    color: #fff;
    font-weight: normal;
    font-size: 20px;
    transform: translateY(10%);
    opacity: 0;
    transition: all .6s ease .4s
}

.info-close {
    position: absolute;
    left: 10%;
    bottom: 5%;
    opacity: 0;
    visibility: hidden;
    cursor: pointer
}

.hs-info-box.active .info-close {
    opacity: 1;
    visibility: visible;
}

.hs-info-box.active .fa-plus {
    opacity: 0;
    visibility: hidden;
}

.hs-info-text::-webkit-scrollbar {
    background: rgba(0, 0, 0, .2);
    width: 5px;
    border-radius: 10px;
}

.hs-info-text::-webkit-scrollbar-thumb {
    background: #fff;
    border-radius: 10px;
}

.hs-info-button {
    text-transform: uppercase;
    background: #790617;
    display: inline-block;
    color: #fff;
    text-decoration: none;
    padding: 10px 20px;
    font-weight: 600;
    border-radius: 10px;
    font-size: 14px;
    transform: translateY(10%);
    opacity: 0;
    transition: all .6s ease .6s;
}

.active .hs-info-button,
.active .hs-vertical-text,
.active .hs-info-text {
    opacity: 1;
    transform: translateY(0)
}

.hs-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: #000;
    opacity: .5;
    z-index: 9;
}

/*------------------------------------------------------------------
## Contact Grid
-------------------------------------------------------------------**/

.hs-contact-grid {
    position: relative;
    width: 100%;
    height: 100%;
}

.hs-contact-image {
    position: absolute;
    width: 225px;
}

    .hs-contact-image img {
        width: 100%;
    }

    .hs-contact-image i {
        position: absolute;
        right: 5%;
        bottom: 10%;
        color: #fff;
        font-size: 15px;
        border: 2px solid #fff;
        padding: 10px;
        border-radius: 50%;
    }

    .hs-contact-image:first-child {
        top: 50%;
        transform: translate(-25%, -50%);
    }

    .hs-contact-image:nth-child(2) {
        top: 0;
        left: 15%;
    }

    .hs-contact-image:nth-child(3) {
        bottom: 0;
        left: 22%;
    }

    .hs-contact-image:nth-child(4) {
        right: 25%;
        top: 15%;
    }

    .hs-contact-image:nth-child(5) {
        bottom: 0;
        right: 0;
    }

    .hs-contact-image:nth-child(6) {
        top: 0;
        right: 0;
        transform: translateX(20%);
    }

/*------------------------------------------------------------------
## Button
-------------------------------------------------------------------**/

.hs-button {
    position: absolute;
    bottom: 10%;
    left: 50%;
    transform: translateX(-50%);
}

    .hs-button a {
        text-decoration: none;
        color: #fff;
        font-weight: 600;
        font-size: 20px;
        padding: 10px 20px;
        background: #4e3da5;
        border-radius: 6px;
    }

/*------------------------------------------------------------------
## Login Section
-------------------------------------------------------------------**/
.login-sec-left {
    background-image: url(img/log-bg.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover
}

.login-sec {
    position: fixed;
    width: 96%;
    height: 93vh;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.login-sec-right {
    background: #682767;
}

.login-sec-right,
.login-sec-left {
    display: block;
    float: left;
    width: 50%;
    height: 100%;
    position: relative
}


.welcome-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 60%;
}

    .welcome-text h1.fill {
        color: transparent;
        -webkit-text-stroke: 2px #fff
    }

    .welcome-text h1,
    .welcome-text p {
        color: #fff
    }

.wt-title {
    display: block;
    margin-bottom: 35px;
}

.wt-sub-text {
    float: right;
    display: block;
    opacity: .8;
}

.wc-head {
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%) rotate(-90deg);
    font-size: 15vh;
    color: transparent;
    font-weight: 600;
    -webkit-text-stroke: 2px #fff;
    z-index: 2
}

.lsr-wrap {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 40%;
}

input[type="text"],
input[type="password"] {
    display: block;
    width: 100%;
    padding: 15px 30px;
    margin-bottom: 15px;
    border-radius: 30px;
    box-sizing: border-box;
    border: none;
    font-size: 14px;
    font-weight: 600;
}

::placeholder {
    opacity: .5;
    font-size: 14px;
    font-weight: 600;
}

button.button {
    display: block;
    width: 100%;
    padding: 15px 25px;
    border-radius: 30px;
    background: #c32e7f;
    color: #fff;
    text-transform: uppercase;
    font-weight: 600;
    border: 0;
}

form {
    display: block;
    width: 100%;
}

.form-heading h5 {
    text-transform: uppercase;
    color: #fff;
    text-align: center;
    font-weight: 600;
}

.form-heading {
    display: block;
    margin-bottom: 50px;
}

    .form-heading::after {
        content: "";
        display: block;
        width: 40px;
        height: 2px;
        background: #c32e7f;
        margin: 0 auto;
    }

/*------------------------------------------------------------------
## Text Animations
-------------------------------------------------------------------**/

.line-holder {
    overflow: hidden;
    display: block
}

.word-holder,
.char-holder {
    overflow: hidden;
    display: inline-block;
    vertical-align: middle
}

.has-anim {
    display: block;
    /*    width: 100%*/
}

.img-anim-wrapper {
    display: block;
    position: relative;
    width: 100%;
    overflow: hidden;
}

.img-anim-ov {
    position: absolute;
    display: block;
    pointer-events: none;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    z-index: 1
}

.img-anim-wrapper img {
    -webkit-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.2)
}

.single-image span {
    display: block;
    position: absolute;
}

.anim_line {
    display: block;
    /*    overflow: hidden*/
}

/*------------------------------------------------------------------
## Site Slider
-------------------------------------------------------------------**/


.swiper-container.site-slider {
    background: url(img/Symbole-10.svg) #efefef center center no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100vh;
    transform: translate(-50%, -50%);
}

.site-slider .swiper-wrapper {
    transition-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1)
}

.swiper-slide.swiper-slide-active {
    z-index: 1
}

.swiper-slide {
    width: 50%
}

    .swiper-slide .page-section {
        width: 100%;
    }


.st_char {
    overflow: hidden
}

    .st_char span {
        transform: translateX(150px);
        display: block;
        transition: transform 1s cubic-bezier(0, 0, 0, 0.93);
    }

.hs-heading.loading .st_char span {
    transition: none
}

.sub-page .st_char span,
.swiper-slide.swiper-slide-active .st_char span {
    transform: translateX(0)
}

.swiper-slide.swiper-slide-active .hs-meta {
    opacity: 1;
    visibility: visible
}


.site-slider-nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: 11111;
    background-image: url(img/log-bg.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover
}

.site-header.login .site-nav {
    opacity: 0;
    visibility: hidden
}



/*
.site-nav-carousel.active .snc-page {
    width: 768px;
    height: 428px;
    margin-right: 200px;
    margin-left: 0;
}
*/


.swiper-container .hs-image.we-are-intelcia:after {
    background: linear-gradient(45deg,#3310a8 0%,rgba(0,0,0,0.6) 100%);
    content: " ";
    display: block;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 0.5;
}


.swiper-container .hs-image,
.swiper-container .hs-map img,
.swiper-container .plyr__poster {
    filter: grayscale(1);
    transition: all 1s ease
}

.swiper-slide-active .hs-image,
.swiper-slide-active .hs-map img,
.swiper-slide-active .plyr__poster {
    filter: grayscale(0)
}

.swiper-pagination-lock {
    display: block
}

.trans-overlay {
    display: block;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0%;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgba(198, 45, 120, 1) 21%);
    z-index: 3;
    pointer-events: none;
}

.trans-ov {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgb(198, 45, 120);
    display: none
}

.mob-close {
    display: none
}

/*------------------------------------------------------------------
## Revolution Slider
-------------------------------------------------------------------**/
.tp-largeshadow {
    -webkit-box-shadow: 0px 30px 50px 0px rgba(50,50,50,0.25);
    -moz-box-shadow: 0px 30px 50px 0px rgba(50,50,50,0.25);
    box-shadow: 0px 30px 50px 0px rgba(50,50,50,0.25)
}

#rev_slider_45_1 .metis.tparrows {
    background: rgba(255,255,255,1);
    padding: 10px;
    transition: all 0.3s;
    -webkit-transition: all 0.3s;
    width: 60px;
    height: 60px;
    box-sizing: border-box
}

    #rev_slider_45_1 .metis.tparrows:hover {
        background: rgba(255,255,255,0.75)
    }

    #rev_slider_45_1 .metis.tparrows:before {
        color: rgb(0,0,0);
        transition: all 0.3s;
        -webkit-transition: all 0.3s
    }

    #rev_slider_45_1 .metis.tparrows:hover:before {
        transform: scale(1.5)
    }

/*------------------------------------------------------------------
# Responsive Designs
-------------------------------------------------------------------**/
/*------------------------------------------------------------------
## Tablet
-------------------------------------------------------------------**/
@media only screen and (max-width: 1180px) {

    .site-nav {
        left: unset;
        right: 20px;
        transform: none;
    }

    .site-branding {
        width: 200px
    }

    .site-nav ul li {
        width: 30px
    }

    .snc-page {
        width: 9vw
    }

    h1.big-title {
        font-size: 60px;
        line-height: 80px
    }

    .swiper-slide {
        /* width: 70% */
        width: 58%
    }

    .hs-heading h1.big-title.stroke {
        transform: translateX(-10%);
    }

    .hs-heading h1.big-title.fill {
        transform: translateX(15%);
    }

    ul.social-links li {
        display: inline-block;
        margin-right: 10px;
    }

    .footer-left-widget,
    .footer-right-widget {
        bottom: 25px
    }

    .hs-subtext {
        /*width: 100%;
        transform: translateX(-5%) translateY(50%);*/
    }

        .hs-subtext h5 {
            font-size: 16px;
            line-height: 22px;
        }

    .page-section.sub-page {
        width: 70%
    }

    .hs-subheading h1 {
        font-size: 30px;
    }

    .hsg-back {
        width: 120vw;
    }
}


/*------------------------------------------------------------------
## Phone
-------------------------------------------------------------------**/

@media only screen and (max-width: 800px) {

    .hs-heading.top {
        bottom: 10%;
        top: unset;
    }

    .login-sec {
        width: 100%;
        height: 100vh;
    }

    .login-sec-right,
    .login-sec-left {
        width: 100%;
        height: 50vh;
    }

    .login-sec-left {
        display: none;
    }

    .login-sec-right {
        height: 100%;
        background-image: url(img/log-bg.jpg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
    }

    .wc-head {
        transform: translate(-50%, -50%) rotate(0deg);
        font-size: 7vh;
    }

    .lsr-wrap {
        width: 70%;
        float: left;
    }

    .pages-wrap {
        height: 70%;
        left: 5%;
    }

    .snc-page {
        width: 300px;
    }

        .snc-page.hovered {
            width: 300px
        }

    .site-nav {
        display: none;
    }

    .site-branding {
        left: 50%;
        width: 180px;
        top: 60px;
        transform: translateX(-50%);
    }

    .site-nav {
        display: none;
    }

    .site-branding {
        left: 50%;
        width: 180px;
        top: 20px;
        transform: translateX(-50%);
    }

    .client-branding {
        display: none;
    }

    .footer-left-widget,
    .footer-right-widget {
        position: static;
        display: block;
        width: 100%;
        text-align: center;
    }

    ul.social-links li {
        display: inline-block;
        margin: 0 6px;
    }

    div#footer {
        bottom: 2%;
    }

    .footer-left-widget {
        margin-bottom: 15px;
    }

    .site-nav-carousel {
        height: 98vh;
    }

    .swiper-slide {
        width: 90%;
    }

    .page-section {
        height: 65%;
        transform: translate(-50%, -56%);
    }

    .hs-heading {
        transform: none !important;
        top: 5%;
        display: inline-block;
        width: 100%;
        text-align: center;
        white-space: normal;
    }

        .hs-heading h1.big-title {
            width: 100%;
            font-size: 40px;
            transform: none !important;
            line-height: 50px;
            text-align: center !important;
        }


    .hs-marker {
        width: 80%;
        top: 13%
    }

    .hsm-content {
        transform: translateX(-50%) translateY(-20%)
    }

    .hs-info-grid {
        display: flex;
        flex-wrap: nowrap;
        white-space: nowrap;
        width: auto;
        flex-direction: column;
        height: auto
    }

    .hs-info-text {
        width: 100%;
        white-space: normal;
        margin-bottom: 15px;
        height: 80%;
    }

    .hs-vertical-text {
        display: none;
    }

    .hs-info-button {
        display: block;
        float: left;
    }

    .hs-info-box {
        position: relative;
        display: block;
        width: 100%;
        height: 50%;
        float: left;
        transform: none !important;
        flex-shrink: 0;
    }

    .hs-info-content {
        left: 0;
        width: 84%;
        height: 70vh;
        top: 0;
    }

    .hsg-back {
        width: 140vw;
        height: 150vh;
    }

    .hs-info-thmbnl {
        height: 100%;
    }

        .hs-info-thmbnl img {
            height: 100%;
            object-fit: cover;
        }

    .number-counter-wrap ul li {
        display: block;
        width: 50%;
        float: left;
        text-align: center;
        margin-bottom: 10px;
    }

    .nc-number {
        border: none !important;
        padding: 0;
        font-size: 25px;
        line-height: 25px;
        margin: 0 auto;
        margin-bottom: 10px;
    }

    .number-counter-wrap {
        width: 100%;
        bottom: 4px;
    }

    .sub-page-button {
        bottom: 10%
    }

    .hs-subtext {
        display: none
    }


    .hsvg-video {
        width: 90%;
        height: 100%;
    }

    .page-section.sub-page {
        width: 100%;
    }

    .back-button {
        top: 100%;
        display: none
    }

    .sub-page .hs-meta {
        transform: translateY(-50%);
        top: 0;
        bottom: unset;
    }

    .hs-video-grid {
        display: flex;
        width: auto;
    }

    .hs-subheading h1 {
        font-size: 20px;
        text-align: center !important;
        transform: none !important;
        white-space: normal;
    }

    .vg-text {
        display: block;
        transform: translateY(50px) !important;
        bottom: 0;
        text-align: left !important;
        left: 13px !important;
        right: unset !important;
    }

    .hs-subheading {
        position: fixed;
        bottom: 0;
        left: 0;
        transform: translateY(23vh);
        width: 100%;
    }

    .hs-contact-image:first-child {
        left: 0;
        transform: none;
        z-index: 1;
        left: 10%;
    }

    .hs-contact-image:nth-child(2) {
        left: 10%;
        z-index: 0;
    }

    .hs-contact-image:nth-child(3) {
        left: 0;
    }

    .hs-contact-image:nth-child(4) {
        left: 0;
        right: unset;
        top: 25%;
    }

    .hs-contact-image:nth-child(6) {
        transform: none;
        top: 10%;
    }

    .hs-info-content.active .info-close {
        opacity: 1;
        visibility: visible;
        color: #fff;
        font-weight: 600;
        text-decoration: underline;
    }

    .mob-close {
        display: block;
        position: absolute;
        bottom: 0;
        left: 8%;
        color: #fff;
        z-index: 9999999;
        padding: 15px 25px;
        border: 2px solid #fff;
        border-radius: 35px;
        font-weight: 700;
        cursor: pointer;
        pointer-events: all;
        opacity: 0;
        visibility: hidden;
        transform: translateY(89%);
    }

    .info-close {
        display: none
    }

    .hs-meta {
        width: 100%;
        bottom: 0;
        height: auto;
        z-index: 5
    }

        .hs-meta .hs-heading {
            position: static !important;
        }

            .hs-meta .hs-heading h1 {
                white-space: normal !important;
                margin-bottom: 0 !important;
                font-size: 25px;
            }
}
