.about-banner {
    position: relative;
    cursor: pointer;
    overflow: hidden;
}

.about-banner > img {
    width: 100%;
}

.about-banner .overlay {
    top: 0;
    width: 100vw;
    height: 100%;
}

.about-banner div {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);

    text-align: center;
    font-size: clamp(2rem, 4vw, 5.6rem);
    font-weight: bold;
    cursor: pointer;
}

.about-banner div > img {
    display: unset;
    width: clamp(2rem, 4vw, 5.6rem);
}

html {
    font-size: 62.5%;
}

body {
    position: relative;
}

main .about-nav, main nav {
    /*box-shadow: 0 2px 10px rgba(66, 101, 255, 0.5);*/
    /*max-width: 1300px;*/
    /*width: 95%;*/
    margin: 0 auto;
    background: white;
    box-shadow: 0 1px 2px lightgrey;
    position: sticky;
    top: 0;
    z-index: 1;
}

main .navbar-fixed-top {
    position: sticky;
}

main .about-nav ol, main nav ul.navbar-nav {
    height: 80px;
    max-width: 1300px;
    margin: 0 auto;
    align-items: center;
    display: flex;
    justify-content: space-between;
    float: initial;
}

main nav ul li,
main .about-nav ol li {
    margin: 2rem;
    font-size: 1.8rem;
    color: #666;
    cursor: pointer;
}

main .nav > li > a {
    padding: initial;
}

.navbar-default .navbar-nav > li > a:focus {
    color: #777
}

main .navbar-default .navbar-nav a {
    transition: .4s all;
    text-align: center;
}


main .about-nav ol li.active {
    border-bottom: 3px solid rgba(66, 101, 255, 0.8);
    padding: 1.5rem 0;
    color: #333;
    background-color: transparent !important;
}
.navbar-default .navbar-nav>.active>a{ background: none !important; }
main.about-us .focus-area,
main.about-us .partner,
main.about-us .introduction {
    max-width: 1300px;
    width: 90%;
    margin: 0 auto;
}

main.about-us section h1,
main.news section h2 {
    font-size: clamp(2.2rem, 4vw, 3.2rem);
    font-weight: bold;
    margin: 3rem auto 3rem;
    display: flex;
    scroll-margin: 10rem;
    justify-content: center;
}

main.about-us .intro-container,
main.about-us .focus-container {
    /*display: grid;*/
    /*grid-template-columns: 1fr 1.1fr;*/
    display: flex;
}

main.about-us .center {
    display: grid;
    place-items: center;
}

main.about-us .hide {
    display: none;
}

main.about-us .focus-container .center,
main.about-us .intro-container > .center {
    flex: 1;
}

main.about-us .intro-container img {
    max-width: 595px;
    width: 100%;
}

main.about-us .intro-container .intro-content {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
    font-size: 1.6rem;
    padding: 0;
    line-height: 2;
    max-width: 100%;
    margin: 0 auto;
    flex: 1;
}

main.about-us .intro-container {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

main.about-us .focus-container .focus-content {
    font-size: 1.6rem;
    line-height: 2;
    text-align: justify;
}

main.about-us .focus-container img {
    width: 100%;
    aspect-ratio: 12 / 7;
}

main.about-us section.map,
main.about-us section.history {
    background: #F6F8FB;
}


main.about-us section.map h1,
main.news section.report h2,
main.about-us section.history h1 {
    scroll-margin: 2rem;
    padding-top: 8rem;
    margin-bottom: 0;
}

main.about-us section.map .map-container {
    position: relative;
    max-width: 1350px;
    margin: 0 auto;
    display: flex;
    justify-content: flex-end;
}

main.about-us section.map img {
    max-width: 930px;
    margin-bottom: 5rem;
    width: 95%;
    aspect-ratio: 930 / 637;
}

main.about-us section.map p {
    position: absolute;
    bottom: 10rem;
    left: 4rem;
    font-size: 1.6rem;
    line-height: 2;
    max-width: 47rem;
}

main.about-us section.map {

}

main.about-us section.history {
    /*margin: 0 auto;*/
    padding-bottom: 1px;
}

main.about-us .timeline {
    max-width: 1500px;
    min-width: 1100px;
    width: 95%;
    height: 3px;
    /*background: rgb(115, 143, 252) 50%;*/
    background: linear-gradient(to right, rgb(115, 143, 252) 50%, rgb(246, 248, 251) 0%);
    background-size: 40px;
    margin: 250px auto;
    position: relative;
    transition: .5s all;
}

main.about-us .timeline > div {
    padding: 2rem;
    background: white;
    box-shadow: 1px 1px 10px lightgrey;
    width: 33.333%;
    position: absolute;
    font-size: 1.4rem;
    transition: .5s all;
}

main.about-us .timeline > div:nth-of-type(odd) {
    bottom: 45px;
}

main.about-us .timeline > div:nth-of-type(odd)::after {
    content: '';
    position: absolute;
    display: block;
    bottom: -27px;
    left: 45%;
    border-style: solid;
    border-width: 20px 10px 0 10px;
    filter: drop-shadow(1px 1px 10px lightgrey);
    border-color: white transparent transparent transparent;
}

main.about-us .timeline > div:nth-of-type(even)::before {
    content: '';
    position: absolute;
    display: block;
    top: -27px;
    left: 45%;
    border-style: solid;
    border-width: 0 10px 20px 10px;
    filter: drop-shadow(1px 1px 10px lightgrey);
    border-color: transparent transparent white transparent;
}

main.about-us .timeline > div:nth-of-type(even) {
    top: 45px;
}

main.about-us .timeline > div > h2 {
    font-weight: bold;
    font-size: 1.6rem;
    color: rgb(66, 101, 255);
    margin-top: 1rem;
}

main.about-us .culture {
    max-width: 1400px;
    width: 95%;
    margin: 0 auto 8rem;
}

main.about-us .culture .image-grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 2rem;
}

main.about-us .culture .image-grid > div {
    background: url('/wp-content/themes/zCloud/img/about2021/about/culture.png');
    background-size: cover;
    position: relative;
    display: grid;
    place-items: center;
    width: 100%;
    aspect-ratio: 199 / 133;
    font-size: 1.8rem;
    overflow: hidden;
    transition: .3s all ease-in-out;
    max-width: 600px;
    margin: 0 auto;
}

@supports not (aspect-ratio: 199 / 133) {
    main.about-us .culture .image-grid > div {
        min-height: 300px;
    }

    main.about-us section.location .image-container {
        min-height: 300px;
    }

    @media (min-width: 1300px) {
    main.about-us section.location .image-container {
           min-height: 500px;
        }
    }
}

main.about-us .culture .image-grid > div:nth-of-type(2) {
    background: url('/wp-content/themes/zCloud/img/about2021/about/wish.png') center / cover;

}

main.about-us .culture .image-grid > div:nth-of-type(3) {
    background: url('/wp-content/themes/zCloud/img/about2021/about/culture-bg.png') center / cover;

}


main.about-us .culture .image-grid > div > h2 {
    position: relative;
    background: #fffb;
    padding: 2rem;
    width: 100%;
    text-align: center;
    font-size: 1.8rem;
    transition: .3s all ease-in-out;
    letter-spacing: .5rem;
    margin: 0;
    overflow: hidden;
}

main.about-us .culture .image-grid > div.hover > h2,
main.about-us .culture .image-grid > div:hover > h2 {
    background: transparent;
    color: white;
    border-bottom: 3px solid white;
    font-weight: bold;
    width: 50%;
    padding: 1rem;

}

main.about-us .culture .image-grid > div.hover,
main.about-us .culture .image-grid > div:hover {
    box-shadow: inset 0 0 0 2000px #5E77D999;
}

/*main.about-us .culture .image-grid > div:not(:hover) > p {*/
/*    display: none;*/
/*}*/

main.about-us .culture .image-grid > div.hover > p,
main.about-us .culture .image-grid > div:hover > p {
    /*bottom: 30%;*/
    /*height: 100%;*/
    padding: 0 2rem;
    position: absolute;
    color: white;
    transition: .6s all;
    font-size: 1.6rem;
    text-shadow: 1px 1px 1px grey;
    /*background: #5E77D999;*/
    /*border-bottom: 2px solid white;*/
}

main.about-us .culture .image-grid img {
    width: 100%;
}

main.about-us section.location {
    max-width: 1400px;
    width: 95%;
    margin: 0 auto;
    overflow: hidden;
}

main.about-us section.location .image-container {
    background: url('/wp-content/themes/zCloud/img/about2021/about/location.png');
    background-size: cover;
    width: 100%;
    aspect-ratio: 1051 / 405;
    display: grid;
    place-items: center;
    margin-bottom: 10rem;
}

main.about-us section.location .image-container h2 {
    font-size: 6rem;
    color: #fffe;
    font-weight: bold;
    border-bottom: 4px solid white;
    text-align: center;
    padding-bottom: 1rem;
    position: relative;
    text-shadow: 1px 1px 1px #333;
}

main.about-us section.location .image-container h3 {
    font-size: 1.6rem;
    color: white;
    font-weight: bold;
    text-align: center;
    position: relative;
    text-shadow: 1px 1px 1px #333;
}

main.about-us .location-grid {
    display: grid;
    grid-template-columns: repeat(10, 1fr);
    grid-template-rows: 1fr 1fr;
    row-gap: 4rem;
    column-gap: min(2vw, 4rem);
    margin-bottom: 10rem;
}

/*noinspection CssInvalidAtRule*/
@property --color1 {
    syntax: '<color>';
    initial-value: #f9f9f9;
    inherits: false;
}

/*noinspection CssInvalidAtRule*/
@property --color2 {
    syntax: '<color>';
    initial-value: white;
    inherits: false;
}

main.about-us .location-grid > div {
    width: 72px;
    height: 72px;
    background: linear-gradient(to bottom, var(--color1), var(--color2));
    box-shadow: 0 2px 8px lightgrey;
    border-radius: 5px;
    display: grid;
    place-items: center;
    color: #666;
    font-size: 1.8rem;
    font-weight: bold;
    transition: .2s all ease-in-out, --color1 .2s, --color2 .2s;
}

main.about-us .location-grid > div:nth-child(11) {
    grid-column: 4;
}

main.about-us .location-grid > div.hover,
main.about-us .location-grid > div:hover {
    /*background: linear-gradient(to bottom, #0366F4, #079EFA);*/
    --color1: #0366F4;
    --color2: #079EFA;
    color: white;
}


main.news .banner {
    background: rgb(243, 243, 255);
}

main.news .banner img {
    width: 25vw;
    max-width: fit-content;
}

main.news .banner div {
    display: flex;
    padding: 150px 0 50px;
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    justify-content: space-between;
}

main.news .banner h1 {
    font-weight: bold;
    font-size: 5.6rem;
    display: grid;
    place-items: center;
    padding: 0 100px;
}

#about-video-modal {
    z-index: 10000;
}

#about-video-modal .modal-content {
    padding: 10px 10px 8px;
    margin-top: 100px;
}

#about-video-modal video {
    width: 100%;
}

@media (min-width: 768px) {
    #about-video-modal .modal-dialog {
        width: 80%;
        max-width: 1200px;
    }
}

main.news section.news {
    max-width: 1200px;
    width: 95%;
    margin: 0 auto;
    overflow: hidden;
}


.map .bottom-container {
    height: 298px;
    width: 1398px;
    margin: 0 auto;
    overflow: hidden;
    transition: 0.4s all;
}

.map .accolade-group {
    display: flex;
    /*grid-template-columns: repeat(11, 1fr);*/
    align-items: center;
    padding-top: 54px;
    /*animation: accolade 2s infinite alternate;*/
}

.map .accolade {
    /*padding-left: 62px;*/
    /*display: inline;*/
    color: #666;

}

.map .first-accolade {
    animation: move 30s ease-in-out infinite;
    /*background: green;*/
}

@keyframes move {
    0%, 9.5% {
        margin-left: 0;
    }
    14.3%, 23.8% {
        margin-left: -295px;
    }
    28.5%, 38.1% {
        margin-left: -590px;
    }
    42.8%, 52.4% {
        margin-left: -885px;
    }
    57.1%, 66.7% {
        margin-left: -1180px;
    }
    71.4%, 81% {
        margin-left: -1470px;
    }
    85.7%, 95.2% {
        margin-left: -1760px;
    }
    100% {
        margin-left: -2050px;
    }
}

.map .accolade:not(.accolade:first-child) {
    padding-left: 62px;
}

.map .accolade .accolade-text {
    padding-top: 24px;
    display: grid;
    place-items: center;
}

.map .accolade .accolade-text h2 {
    font-size: 14px;
    line-height: 1.42;
    margin: 0;
    text-align: center;
    font-weight: initial;
}

.map .accolade img {
    width: 231px;
}


@keyframes accolade {
    0%, 25% {
        transform: translateX(0);
    }
    35%, 60% {
        transform: translateX(-278px);
    }
    70%, 100% {
        transform: translateX(-586px);
    }
}


.carousel-indicators {
    position: static;
    left: 0;
    width: auto;
    padding-left: 0;
    margin-left: 0;
    z-index: 999;
    text-align: center;
    list-style: none
}

.carousel-indicators li {
    display: inline-block;
    width: 10px;
    height: 10px;
    cursor: pointer;
    background-color: #E8E8E8;
    border-radius: 50%;
    margin: 0 3px;
}

.carousel-indicators .active {
    background-color: #1375FF;
}

main.news .news-container {
    color: #666;
    display: flex;
}

main.news .carousel {
    flex: 1;
}

main.news .carousel img {
    height: 255px;
    object-fit: contain;
    aspect-ratio:  39 / 17;
    margin: 0 auto;
}

main.news .carousel > div {
    font-size: 1.4rem;
}

main.news .carousel .title {
    font-weight: bold;
    color: #333;
    margin-bottom: .6rem;
}

main.news .carousel .date {
    color: #999;
    margin-bottom: 1.5rem;
}

main.news .list {
    flex: 1;
    padding-left: 3rem;
}

main.news .list > a {
    color: #999;
    font-size: 1.6rem;
    padding-top: 1rem;
}

main.news .list li {
    padding: 1rem;
}

main.news .list li a {
    color: #666;
    font-size: 1.6rem;
}

main.news section.report,
main.news section.industry {
    background: rgb(247, 248, 252);
}

main.news section.report .report-container,
main.news section.industry .industry-container {
    max-width: 1200px;
    width: 95%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
    margin: 5rem auto 2rem;
}

main.news .report-container .card {
    background: white;
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
    max-width: 600px;
    width: 100%;
    min-height: 308px;
    padding: 4rem;
    position: relative;
}

main.news .card p {
    color: #666;
    margin-bottom: 4rem;
    line-height: 1.6;
}

main.news .card .title {
    font-size: 1.8rem;
    font-weight: bold;
    color: #333;
    /*text-overflow: ellipsis;*/
    /*overflow: hidden;*/
    /*white-space: nowrap;*/
}

main.news .card .date {
    font-size: 1.4rem;
    color: #999;
    margin: 1rem 0 2rem;
}

main.news .card a {
    color: white;
    background: #1375FF;
    padding: 1rem 4rem;
    position: absolute;
    bottom: 8%;
    transition: .2s all;
}

main.news .report .more {
    margin: 0 auto;
    max-width: 1200px;
    width: 95%;
    text-align: right;
    padding-bottom: 3rem;
}

main.news .report > div > a {
    color: #999;
    font-size: 1.6rem;
}

main.news .card a:hover {
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.3);
}

main .news .horizontal-card {
    max-width: 728px;
    height: 232px;
    width: 100%;
    background: aliceblue;
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.2);
}

main.news .report h2 {
    margin-top: 0;
}


@media (max-width: 1410px) {
    .map .bottom-container {
        width: 1098px;
    }
}

@media (max-width: 1279px) {
    main.about-us section.map .map-container {
        flex-direction: column;
        align-items: center;
    }

    main.about-us section.map p {
        position: static;
        max-width: 96rem;
        width: 90%;
        padding-bottom: 5rem;
    }
}

@media (max-width: 1200px) {
    #header-left {
        float: left;
    }

    #head {
        width: 100%;
    }

    nav {
        display: none;
    }
}

@media (max-width: 1100px) {
    main.about-us section.history {
        overflow-x: scroll;
        margin: 0 auto;
        padding: 0 2rem;
    }

    .map .bottom-container {
        width: 798px;
    }
}

@media (max-width: 1000px) {
    main.about-us .intro-container,
    main.about-us .focus-container {
        /*grid-template-columns: initial;*/
        /*grid-template-rows: 1fr 1fr;*/
        display: block;
    }

    main.about-us .focus-container .focus-content {
        padding: initial;
    }

    main.about-us .introduction .intro-container > .intro-content {
        margin-top: 3rem;
    }

    main.about-us .culture .image-grid {
        grid-template-rows: 1fr 1fr 1fr;
        grid-template-columns: initial;
    }

    main.about-us .location-grid {
        grid-template-columns: repeat(4, 1fr);
        grid-template-rows: repeat(4, 1fr);
        place-items: center;
    }

    main.about-us .location-grid > div:nth-child(11) {
        grid-column: initial;
    }

    main.news .news-container {
        flex-direction: column;
    }

    main.news section.report .report-container {
        grid-template-columns: 1fr;
        place-items: center;
    }
}

@media (max-width: 800px) {
    main.news .banner h1 {
        padding: 0 1rem;
        font-size: 3.2rem;
    }

    main.news .banner div {
        padding-top: 50px;
    }

    .map .bottom-container {
        width: 498px;
    }

}

@media (max-width: 500px) {
    .about-banner > img {
        width: 200%;
        transform: translateX(-30%);
    }

    main.about-us .intro-container .intro-content {

    }

    main.about-us section.location .image-container {
        width: 200%;
        transform: translate(-25%);
        margin-bottom: 3rem;
    }

    main.about-us section.location .image-container h3 {
        max-width: 80%;
        margin-left: auto;
        margin-right: auto;
    }

    .map .bottom-container {
        /*    transform: scale(0.7);*/
        width: 198px;
    }
}
