@charset "utf-8";

.background {
    z-index: -10;
    height: calc(100vh - 0px);
    width: 100%;
    overflow: hidden;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    background-color: #fff;
    background-image: url(../images/meall-comp-2.jpg);
    background-size: cover;
    background-position: center;
}

.background_zoom {
    z-index: -9;
    height: calc(100vh - 0px);
    width: 100%;
    overflow: hidden;
    position: fixed;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    display: flex;
    justify-content: center;
    background-color: #fff;
}

.background_zoom video {
    min-width: 100%;
    min-height: 100%;
    position: absolute;
    scale: 1.1;
    mask-image: url(/site-assets/images/logo_mask.png);
}

.header {
    width: 100%;
    height: 60px;
    margin: 0 auto 0 auto;
    border-bottom: 0px solid #fff;
    background-color: #fff;
}

.header_simple {
    height: 96px;
    margin: 0 auto 0 auto;
    border-bottom: 4px solid #687469;
    background-color: #687469;
}

.header_simple_logo {
    width: 80px;
    height: 80px;
    float: left;
    background-image: url(../images/dc_logo_purple.svg);
    background-repeat: no-repeat;
    background-size: 60%;
    background-position: center;
    margin: 10px 0 0 calc(50% - 40px);
    cursor: pointer;
    border-radius: 100px;
    background-color: #d6cde8;
    transition: background-color 0.8s, border-color 0.8s, color 0.8s;
}

.header_simple_logo:hover {
    background-color: #fff;
}

.header_id_wrap {
    width: auto;
    height: auto;
    float: left;
    margin: 10px 0 0 10px;
    min-height: 50px;
    cursor: pointer;
}

.header_logo {
    width: 40px;
    height: 40px;
    float: left;
    background-image: url(../images/dc_logo_purple.svg);
    background-repeat: no-repeat;
    background-size: contain;
}

.header_typography {
    width: auto;
    height: auto;
    float: left;
    font-family: 'DIN';
    font-weight: 600;
    font-size: 30px;
    color: hsl(260deg 15% 55%);
    margin: 1px 0 0 8px;
}

.logo {
    background-image: url(../images/dc_logo_purple.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    background-size: auto 40px;
}

.dcLoadLineWrap {
    width: 100vw;
    height: 4px;
    position: absolute;
    left: 0;
    bottom: 0;
    display: none;
    background-color: #687469;
}

.dcLoadLine {
    width: 100vw;
    height: 4px;
    position: absolute;
    right: 0;
    top: 0px;
    background: linear-gradient(90deg, #ffffff00 0%, #ffffff7a 79%, #ffffff 95%, #ffffff7a 100%);
}

@keyframes dcLoadLineGo {
    0% {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%);
    }

    100% {
        -webkit-transform: translateX(100%);
        transform: translateX(100%);
    }

}

.dcLoadLineGo {
    -webkit-animation: dcLoadLineGo 1s linear infinite;
    animation: dcLoadLineGo 1s linear infinite;
}

.nav_button_wrap {
    float: right;
    width: calc(100% - 360px);
    height: 60px;
    cursor: pointer;
    background-color: #fff;
}

.nav_button {
    width: 21px;
    height: 17px;
    float: right;
    margin-right: 20px;
    margin-top: 22px;
    overflow: hidden;
    cursor: pointer;
}

.nav_button_line {
    width: 100%;
    height: 2px;
    float: left;
    background-color: #000000;
    margin-bottom: 5px;
}

.banner {
    width: 100%;
    height: calc(100vh - 100px);
    position: relative;
    display: flex;
}

.v_center {
    align-items: center;
}

.banner_content {
    margin: 0 0 0 0;
}

.banner_logo_wrap {
    width: 230px;
    height: 230px;
    position: absolute;
    left: calc(50% - 115px);
    top: calc(50% - 175px);
    z-index: 10;
}

.logo_mask {
    width: 250px;
    height: 250px;
    position: absolute;
    left: calc(50% - 125px);
    top: calc(50% - 125px);
    -webkit-mask-image: url(../images/logo_mask.png);
    background-image: url(../images/logo_mask.png);
    margin: 0;
}
.banner_logo_text{
    width: 100%;
    height: auto;
    float: left;
    color: rgb(255, 255, 255);
    text-align: center;
    font-size: 5.5vw;
    font-family: 'Trajan';
    font-weight: 400;
    text-shadow: rgb(63 59 60) 1px 1px 2px;
    margin: 0px;
    letter-spacing: 7.3px;
}
.banner_logo {
    width: 350px;
    height: 170px;
    float: left;
    margin: 7vh 0 0 calc(50vw - 175px);
    background-image: url(../images/shieling-logo-white.svg);
    background-repeat: no-repeat;
    z-index: 9990;
    /* border-radius: 170px; */
    background-size: contain;
    background-position: center;
    /* background-color: #2e243d70; */
    position: relative;
}

.banner_logo_outer {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-image: url(../images/dc_logo_reversed_outer.svg);
    background-repeat: no-repeat;
    background-size: 131%;
    background-position: center;
    border-radius: 170px;
}

@keyframes bannerLogoGo {
    0% {

        transform: rotate(0deg);
    }

    17% {

        transform: rotate(60deg);
    }

    33% {

        transform: rotate(120deg);
    }

    50% {

        transform: rotate(180deg);
    }

    66% {

        transform: rotate(240deg);
    }

    83% {

        transform: rotate(300deg);
    }

    100% {

        transform: rotate(360deg);
    }

}

.bannerLogoGo {
    animation: bannerLogoGo 3s linear infinite;
}

.logo_vid_wrap {
    position: absolute;
    float: none;
    object-fit: cover;
    object-position: center;
}

.banner_strap {
    width: 350px;
    height: auto;
    float: left;
    clear: both;
    color: #d3e0c8;
    text-align: center;
    font-size: 54px;
    font-family: 'Agenda';
    font-weight: 400;
    text-shadow: 1px 1px 1px #687469;
    margin: 14px 0 0 calc(50vw - 175px);
    white-space: nowrap;
}

.banner_line {
    width: 10000px;
    height: 10px;
    position: absolute;
    bottom: 10px;
    left: -7px;
    z-index: 9990;
}

.banner_line_circle {
    width: 10px;
    height: 10px;
    float: left;
    background-color: #fff;
    margin: 0 10px 0 0;
    -webkit-border-radius: 100px;
    -moz-border-radius: 100px;
    border-radius: 100px;
    position: relative;
}

.footer {
    width: 100%;
    height: auto;
    margin: 0 auto 0 auto;
    /* background-color: #fff; */
    float: left;
}

.footer_back_colour {
    position: absolute;
    top: 0;
    right: 50%;
    bottom: 0;
    left: 0;
    background-color: #687469;
}

.gdpr_accept_wrap {
    width: 100%;
    height: 90px;
    position: fixed;
    bottom: 0;
    background-color: #8779afa1;
    z-index: 1010;
    font-family: 'proxima-nova';
    font-size: 16px;
}

.gdpr_accept {
    width: 298px;
    height: auto;
    float: right;
    color: #ffffff;
    position: relative;
    margin: 30px 10px 0 20px;
}

.gdpr_accept_message {
    width: auto;
    height: auto;
    float: left;
    margin: 10 0 0 0;
}

#gdpr_accept a {
    text-decoration: none;
}

.gdpr_accept_button_wrap, .gdpr_decline_button_wrap {
    float: left;
    margin: 0 0 0 10px;
}

.gdpr_accept_button_wrap {
    width: auto;
    height: auto;
    float: left;
}

.gdpr_decline_button_wrap {
    top: 12px;
    left: 800px;
}

.gdpr_accept_button_inner, .gdpr_decline_button_inner {
    color: #ffffff;
    background-color: #9488b6;
    padding: 8px 9px 10px 9px;
    font-size: 16px;
    font-weight: 500;
    border: 3px solid #ffffff;
    min-width: 0px;
}

.gdpr_accept_button_inner:hover, .gdpr_decline_button_inner:hover {
    color: #000;
    background-color: #ffffff;
    border: 3px solid #675c84;
}

.gdpr_loadline {
    width: 100vw;
    height: 4px;
    position: absolute;
    right: 0;
    top: 0px;
    background: linear-gradient(90deg, #ffffff00 0%, #ffffff7a 79%, #ffffff 100%);
    display: none;
}

/* @keyframes gdprLoadLineGo {
    0% {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%);
    }

    100% {
        -webkit-transform: translateX(100%);
        transform: translateX(100%);
    }
} */

.gdprLoadLineGo {
    -webkit-animation: loadLineGo 1s linear infinite;
    animation: loadLineGo 1s linear infinite;
}

._404 {
    background-image: url(../images/404.svg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    height: 80vh;
}


@media only screen and (min-width: 1800px) {

    .banner_logo {
        margin: 7vw 0 0 725px;
    }
    .banner_strap {
        margin: 14px 0 0 0;
        width: 100%;
        font-size: 58px!important;
    }

}