.for-desktop {
    display: block;
}

.for-mobile-tablet {
    display: none;
}

/* Horizontal Cards Section */
#horizontalCardsSection {
    height: 100vh;
    position: relative;
    overflow: hidden;
    /*background: #111;*/
}

.cards-wrapper {
    display: flex;
    height: 100%;
    align-items: center;
    will-change: transform;
    grid-gap: 1vw;
}

.card_wrap {
    flex: 0 0 26%;
    height: 100%;
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

    .card_wrap:last-child {
        margin-right: 20px;
    }

    .card_wrap:first-child {
        margin-left: 20px;
    }

.card-box {
    overflow: hidden;
    transition: all .7s ease;
    position: relative;
    background: transparent;
    padding: 0;
    justify-content: flex-start;
    gap: 1.5vw 0;
}

    .card-box .head-text {
        opacity: 1;
        transition: all .7s ease;
    }

        .card-box .head-text h2 {
            font-size: 1.2vw;
            color: rgba(7, 37, 64, .5);
            margin-bottom: 1vw;
            font-family: "arial";
        }

        .card-box .head-text p {
            font-size: 1.8vw;
            color: rgba(7, 37, 64, 1);
            line-height: 1.2;
            overflow: hidden;
            text-overflow: ellipsis;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            font-family: "arial";
        }

    .card-box .img {
        width: 100%;
        height: 70%;
        transition: all .7s ease;
    }

        .card-box .img img {
            width: 100%;
            height: 100%;
        }

    .card-box:hover {
        background: #eee;
    }

        .card-box:hover .img {
            padding: 1vw;
        }

        .card-box:hover .head-text {
            opacity: 0;
        }

    .card-box .img img {
        width: 100%;
        display: block;
    }

    .card-box .hover-text {
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        background: #eee;
        color: #fff;
        padding: 1.5vw;
        opacity: 0;
        transform: translateY(100%);
        transition: all .7s ease;
        height: 50%;
    }

    .card-box:hover .hover-text {
        opacity: 1;
        transform: translateY(0);
    }

    .card-box .hover-text h3 {
        font-size: 2.2vw;
        color: rgba(7, 37, 64, 1);
        margin-bottom: 1.2vw;
        font-family: "arial";
    }

    .card-box .hover-text p {
        color: rgba(7, 37, 64, .5);
        font-size: 1.1vw;
        line-height: 1.1;
        display: -webkit-box;
        -webkit-line-clamp: 9;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
    }

.goto_top {
    border: rgba(39, 167, 154, 0.3) solid 1px;
}

    .goto_top svg {
        fill: #27A79A;
        transition: all .6s ease-in-out;
    }

    .goto_top:hover svg {
        fill: rgba(255, 255, 255, 1);
    }

.newsItem {
    display: none;
}

    .newsItem.show {
        display: inline-block !important;
    }

/** Custom Select **/
.selector .custom-select-wrapper {
    position: relative;
    display: block;
    user-select: none;
    z-index: 1;
}

    .selector .custom-select-wrapper select {
        display: none;
    }

.custom-select {
    position: relative;
    display: inline-block;
    width: 100%;
}

.selector .custom-select-trigger {
    border: none;
    border-bottom: 1px solid rgba(177, 145, 58, 1);
    padding: 0 0 1.2vw;
    font-size: 1.2vw;
    line-height: 1;
    outline: none;
    color: rgba(74, 74, 73, .40);
    background: transparent;
    width: 100%;
    display: block;
}

    .selector .custom-select-trigger:after {
        position: absolute;
        /* display: block; */
        content: '';
        width: 17px;
        height: 10px;
        top: 6px;
        right: 0;
        margin-top: 0;
        background-image: url('../images/select-arrow.png');
        background-repeat: no-repeat;
        background-position: right center;
        background-size: 17px 10px;
        transition: all .4s ease-in-out;
        /* transform-origin: 50% 0; */
    }

.selector .custom-select.opened .custom-select-trigger:after {
    margin-top: 0;
    transform: rotate(-180deg) translateY(-50%);
}

.selector .custom-options {
    position: absolute;
    display: block;
    top: 100%;
    left: 0;
    right: 0;
    min-width: 100%;
    margin: 10px 0;
    border: 1px solid rgba(74, 74, 73, .40);
    border-radius: 0px;
    box-sizing: border-box;
    background: #fff;
    transition: all .4s ease-in-out;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-15px);
}

.selector .custom-select.opened .custom-options {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
    transform: translateY(0);
}

.selector .custom-options:before {
    position: absolute;
    display: block;
    content: '';
    bottom: 100%;
    right: 10px;
    width: 10px;
    height: 10px;
    margin-bottom: -4px;
    border-top: 1px solid #b5b5b5;
    border-left: 1px solid #b5b5b5;
    background: #fff;
    transform: rotate(45deg);
    transition: all .4s ease-in-out;
}

.selector .option-hover:before {
    background: #f9f9f9;
}

.selector .custom-option {
    position: relative;
    display: block;
    padding: .8vw 1vw;
    border-bottom: 1px solid #dbdbdb;
    font-size: 1.1vw;
    font-weight: 400;
    color: #656565;
    line-height: 1;
    cursor: pointer;
    transition: all .4s ease-in-out;
}

    .selector .custom-option:first-of-type {
        border-radius: 4px 4px 0 0;
    }

    .selector .custom-option:last-of-type {
        border-bottom: 0;
        border-radius: 0 0 4px 4px;
    }

    .selector .custom-option:hover,
    .selector .custom-option.selection {
        background: #f9f9f9;
        color: #00A69A;
    }


.dropdown .custom-select-trigger {
    border: none;
    border-bottom: 1px solid rgba(255,255,255, .2);
    padding: 0 0 .8vw;
    font-size: 1.2vw;
    line-height: 1;
    outline: none;
    color: #fff;
    background: transparent;
    width: 100%;
    display: block;
    margin-bottom: 1vw;
}

    .dropdown .custom-select-trigger:after {
        background-image: url(../images/select-arrow.png);
    }


.mapScrollSection {
    height: 100vh;
    width: 100%;
    background: url('../images/map_frames/map_0.webp');
    position: relative;
    z-index: 1;
    background-size: cover;
    overflow: hidden;
}

    .mapScrollSection canvas {
        position: sticky;
        top: 0;
        width: 100%;
        height: 100vh;
        display: block;
        z-index: 1;
        filter: brightness(.8);
    }

    .mapScrollSection .infos {
        position: absolute;
        left: 5%;
        top: 0;
        color: #fff;
        z-index: 2;
        width: 23%;
        padding: 0;
        height: 100%;
        padding-top: 7%;
        display: flex;
        flex-direction: column;
        gap: 20%;
    }

        .mapScrollSection .infos h2 {
            font-size: 3.5vw;
        }

        .mapScrollSection .infos h3 {
            font-size: 2vw;
            margin-bottom: 3vw;
        }

        .mapScrollSection .infos label {
            color: rgba(255,255,255,.6);
        }

        .mapScrollSection .infos p {
            color: rgba(255,255,255,.6);
            width: 80%;
        }

        .mapScrollSection .infos .region-selector {
            margin-bottom: 3vw;
            width: 80%;
            position: relative;
            z-index: 1;
        }

.dotsArea_main {
    position: absolute;
    top: 51%;
    left: 54%;
    width: 50%;
    height: 94%;
    transform: translate(-50%, -50%) !important;
    /* background: rgba(0,0,0,.3); */
    z-index: 1;
}

.dot {
    width: 14px;
    height: 14px;
    background: rgba(255,255,255,.5);
    border-radius: 50%;
    position: absolute;
    top: 50%;
    right: 50%;
    transition: all .7s ease;
    outline: none;
}

    .dot::after {
        content: '';
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: 12px;
        height: 12px;
        background: rgba(255, 255, 255, .5);
        border-radius: 50%;
        transition: all .7s ease;
    }

    .dot:hover,
    .dot.active {
        background: #fff;
        /* transform: scale(1.6) !important; */
    }

        .dot:hover::after,
        .dot.active::after {
            background: rgba(0, 166, 154, 0.5);
            transform: translate(-50%, -50%) scale(2.5);
            z-index: -1;
        }

button.dot.location1 {
    right: 46%;
    top: 32%;
    bottom: auto;
}

button.dot.location2 {
    top: 28.5%;
    bottom: auto;
    right: 38%;
}

button.dot.location3 {
    top: 38%;
    right: 41%;
    bottom: auto;
}

button.dot.location4 {
    top: 43%;
    right: 31%;
}

button.dot.location5 {
    top: 49%;
    right: 28%;
}

button.dot {
    opacity: 0;
    visibility: hidden;
}

    button.dot.show {
        opacity: 1;
        visibility: visible;
    }

    button.dot.location6 {
        top: 57%;
        right: 25%;
    }

    button.dot.location7 {
        top: auto;
        right: 20%;
        bottom: 35%;
    }

    button.dot.location8 {
        top: auto;
        right: 13%;
        bottom: 31%;
    }

    button.dot.location9 {
        top: auto;
        bottom: 29%;
        right: 5%;
    }

    button.dot.location10 {
        top: auto;
        right: 16%;
        bottom: 18%;
    }

    button.dot.location11 {
        top: auto;
        right: 29%;
        left: auto;
        bottom: 20%;
    }

    button.dot.location12 {
        top: auto;
        right: 32%;
        left: auto;
        bottom: 31%;
    }

    button.dot.location13 {
        top: 48%;
        right: auto;
        left: 25%;
    }

    button.dot.location14 {
        top: auto;
        right: auto;
        left: 32%;
        bottom: 28%;
    }

    button.dot.location15 {
        top: auto;
        right: auto;
        left: 39%;
        bottom: 10%;
    }

    button.dot.location16 {
        top: auto;
        right: auto;
        left: 59%;
        bottom: 2%;
    }

.dot {
    transition: all .3s ease;
}

    .dot.active {
        z-index: 3;
    }

.cardBox {
    position: absolute;
    width: 220px;
    z-index: 2;
    opacity: 0;
    visibility: hidden;
    transition: all .7s ease;
}

    .cardBox.active {
        opacity: 1;
        visibility: visible;
    }

    .cardBox .img img {
        width: 100%;
        margin: 0 0 -3px;
    }

    .cardBox .tags {
        margin-bottom: 10px;
        display: flex;
        gap: 10px;
    }

        .cardBox .tags span {
            background: #fff;
            border-radius: 4px;
            font-size: 12px;
            color: #072540;
            padding: 8px;
            line-height: 1;
            font-family: arial;
        }

    .cardBox .img {
        margin-bottom: 10px;
    }

    .cardBox h4 {
        font-size: 16px;
        font-family: arial;
        color: #fff;
    }

button.dot span {
    width: 12px;
    height: 12px;
    background: #fff;
    display: flex;
    border-radius: 50%;
    opacity: 0;
    transition: all .3s ease;
    visibility: hidden;
}

button.dot.active span {
    opacity: 1;
    visibility: visible;
}

.text_reveal {
}

.line-wrapper {
    display: block;
    overflow: hidden;
}

.reveal-line {
    display: inline-block;
    transform: translateY(100%);
    opacity: 0;
}

.mgc_number_values .mgcNumber_pin_wrapper > div {
    display: flex;
    align-items: center;
    justify-content: center;
    grid-gap: 1vw;
}

.pillarSwiperNew {
    position: relative
}

    .growthSwiper .infos,
    .pillarSwiperNew .infos {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 1;
    }

.framework_sec {
    margin-top: 10vw;
    margin-bottom: 0;
}

.growth_swiper .inner {
    height: 100vh;
}

    .growth_swiper .inner .growthSwiper {
        height: 100%;
    }

.growthSwiper .infos {
    display: flex;
    align-items: center;
}

/* .timeline_sec .img{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}
.timeline_sec .main_time {
    position: relative;
    height: 100vh;
} */
/* .timeline_sec .main_time {
    height: 100vh;
}
.timeline_pin_wrapper .time_swiper {
    height: 100%;
} */
/* .timeline_sec h2 {
    padding: 5vw 0 0;
} */

.page-sustainability .sustain_swiper .sustainSwiper .swiper_tabs {
    top: 6vw;
}

.cursor-pointer {
    cursor: pointer;
}

.mgc_number .bottom_sec .grid p {
    width: 100%;
}

.lead_sec .img img {
    width: 28%;
}

.overview_sec .overviewSwiper .text,
.governance_sec .governanceSwiper .swiper-wrapper .ch_sec .left {
    opacity: 0;
}

.overview_sec .overviewSwiper .swiper-slide-active .text,
.governance_sec .governanceSwiper .swiper-slide-active .ch_sec .left {
    opacity: 1;
}

.lead_sec .img img {
    width: 100% !important;
}

.dotsArea_main {
    position: absolute;
    top: 51%;
    left: 53.6%;
    width: 50%;
    height: 700px;
    transform: translate(-50%, -50%) !important;
    display: flex;
    align-items: center;
}

button.dot.location1 {
    right: 29%;
    top: 42%;
    bottom: auto;
}

button.dot.location2 {
    top: 38%;
    bottom: auto;
    right: 29%;
}

button.dot.location3 {
    top: 35%;
    right: 32%;
    bottom: auto;
}


button.dot.location4 {
    top: 39%;
    right: 59%;
}

button.dot.location5 {
    top: 46%;
    right: 52%;
}

button.dot.location6 {
    top: 50%;
    right: 53%;
}

button.dot.location7 {
    top: auto;
    right: 49%;
    bottom: 49%;
}

button.dot.location8 {
    top: auto;
    right: 47%;
    bottom: 43%;
}

button.dot.location9 {
    top: 52%;
    bottom: auto;
    right: auto;
    left: 17%;
}

button.dot.location10 {
    top: auto;
    right: auto;
    bottom: 36.5%;
    left: 21%;
}

button.dot.location11 {
    top: auto;
    right: auto;
    left: 18.5%;
    bottom: 33%;
}

button.dot.location12 {
    top: auto;
    right: auto;
    left: 22%;
    bottom: 33%;
}

button.dot.location13 {
    top: auto;
    right: auto;
    left: 29%;
    bottom: 37%;
}

button.dot.location14 {
    top: 3%;
    right: auto;
    left: 22%;
    bottom: auto;
}

button.dot.location15 {
    top: 20%;
    right: auto;
    left: 4%;
    bottom: auto;
}

button.dot.location16 {
    top: 25%;
    right: auto;
    left: 6%;
    bottom: auto;
}

button.dot.location17 {
    top: auto;
    right: auto;
    left: 33%;
    bottom: 13%;
}
