.ou-top {
    position: relative;
    display: block;
    font-size: 0px;
    padding-top: 260px;
    width: calc(100% - 100px);
    max-width: 1096px;
    margin: 0px auto 150px;
    color: #131922;
}

.ou-top > * {
    font-size: 16px;
}

.ou-top-title {
    position: relative;
    display: inline-block;
    vertical-align: top;
    width: 50%;
    font-size: 57px;
    padding-bottom: 20px;
    letter-spacing: 2px;
    margin: 0px;
    line-height: 45px;
    text-transform: capitalize;
    color: #ed1c24;
    /* color: #131922; */
}

.ou-top-title-after {
    position: absolute;
    display: block;
    width: 100px;
    height: 2px;
    bottom: 0px;
    left: 0px;
    overflow: hidden;
}

.ou-top-title.ch .ou-top-title-after {
    width: 295px;
}

.ou-top-title-after:before {
    content: '';
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    background: #ed1c24;
    /* background: #131922; */
    bottom: 0px;
    left: -100%;
}

.shown .ou-top-title-after:before {
    animation: slideRight 3s infinite;
    animation-delay: 1s;
}

@keyframes slideRight {
    0%
    {
        left: -100%;
    }
    25%
    {
        left: 0%;
    }
    75%
    {
        left: 0%;
    }
    100%
    {
        left: 110%;
    }
}

.ou-top-content {
    position: relative;
    display: inline-block;
    vertical-align: top;
    width: 50%;
    line-height: 26px;
    letter-spacing: 1px;
}

.ou-top-img {
    position: relative;
    display: block;
    margin: 0px auto 55px;
    width: 437px;
    height: 400px;
    background: url('../../img/front/our_business/world_map.jpg') no-repeat;
    background-size: 437px 400px !important;
    background-position: 0px 0px !important;
}

.ou-top-img-before {
    position: absolute;
    display: block;
    left: 0px;
    top: 0px;
    width: 437px;
    height: 400px;
    background: url('../../img/front/our_business/world_text.png') no-repeat;
    background-size: 437px 400px !important;
    background-position: 0px 0px !important;
    opacity: 0;
}

.ou-red-dot {
    position: absolute;
    display: block;
    width: 9px;
    height: 9px;
    background: #ed1c24;
    border-radius: 50%;
    opacity: 1;
}

.ou-red-dot:before {
    content: '';
    position: absolute;
    display: block;
    width: 0px;
    height: 0px;
    border-radius: 50%;
    background: #ed1c24;
    opacity: 1;
}

.dot1 {
    /* left: 32px; */
    /* bottom: 255px; */
    left: 7.32%;
    bottom: 63.75%;
}

.shown .dot1 {
    animation: redDot 2s;
}

.shown .dot1:before {
    animation: redDotBefore 1.5s infinite;
    animation-delay: 2s;
}

.dot2 {
    /* left: 43px;
    bottom: 210px; */
    left: 9.83%;
    bottom: 52.5%;
}

.shown .dot2 {
    animation: redDot 2.6s;
}

.shown .dot2:before {
    animation: redDotBefore 1.5s infinite;
    animation-delay: 2.6s;
}

.dot3 {
    /* left: 67px;
    bottom: 171px; */
    left: 15.33%;
    bottom: 42.75%;
}

.shown .dot3 {
    animation: redDot 2.4s;
}

.shown .dot3:before {
    animation: redDotBefore 1.5s infinite;
    animation-delay: 2.4s;
}

.dot4 {
    /* left: 82px;
    bottom: 166px; */
    left: 18.76%;
    bottom: 41.5%;
}

.shown .dot4 {
    animation: redDot 2.2s;
}

.shown .dot4:before {
    animation: redDotBefore 1.5s infinite;
    animation-delay: 2.2s;
}

.dot5 {
    /* left: 212px;
    bottom: 265px; */
    left: 48.51%;
    bottom: 66.25%;
}

.shown .dot5 {
    animation: redDot 2.5s;
}

.shown .dot5:before {
    animation: redDotBefore 1.5s infinite;
    animation-delay: 2.5s;
}

.dot6 {
    /* left: 247px;
    bottom: 239px; */
    left: 56.52%;
    bottom: 59.75%;
}

.shown .dot6 {
    animation: redDot 2.1s;
}

.shown .dot6:before {
    animation: redDotBefore 1.5s infinite;
    animation-delay: 2.1s;
}

.dot7 {
    /* left: 287px;
    bottom: 191px; */
    left: 65.67%;
    bottom: 47.75%;
}

.shown .dot7 {
    animation: redDot 2.5s;
}

.shown .dot7:before {
    animation: redDotBefore 1.5s infinite;
    animation-delay: 2.5s;
}

.dot8 {
    /* left: 306px;
    bottom: 259px; */
    left: 70.02%;
    bottom: 64.75%;
}

.shown .dot8 {
    animation: redDot 2s;
}

.shown .dot8:before {
    animation: redDotBefore 1.5s infinite;
    animation-delay: 2s;
}

.dot9 {
    /* left: 322px;
    bottom: 170px; */
    left: 73.68%;
    bottom: 42.5%;
}

.shown .dot9 {
    animation: redDot 2.3s;
}

.shown .dot9:before {
    animation: redDotBefore 1.5s infinite;
    animation-delay: 2.3s;
}

.dot10 {
    /* left: 356px;
    bottom: 196px; */
    left: 81.46%;
    bottom: 49%;
}

.shown .dot10 {
    animation: redDot 2.1s;
}

.shown .dot10:before {
    animation: redDotBefore 1.5s infinite;
    animation-delay: 2.1s;
}

.dot11 {
    /* left: 390px;
    bottom: 173px; */
    left: 89.24%;
    bottom: 43.25%;
}

.shown .dot11 {
    animation: redDot 2.1s;
}

.shown .dot11:before {
    animation: redDotBefore 1.5s infinite;
    animation-delay: 2.6s;
}

.dot12 {
    /* left: 397px;
    bottom: 212px; */
    left: 90.84%;
    bottom: 53%;
}

.shown .dot12 {
    animation: redDot 2.2s;
}

.shown .dot12:before {
    animation: redDotBefore 1.5s infinite;
    animation-delay: 2.2s;
}

.dot13 {
    /* left: 403px;
    bottom: 82px; */
    left: 92.21%;
    bottom: 20.5%;
}

.shown .dot13 {
    animation: redDot 2.5s;
}

.shown .dot13:before {
    animation: redDotBefore 1.5s infinite;
    animation-delay: 2.5s;
}

.dot14 {
    /* left: 416px;
    bottom: 202px; */
    left: 95.19%;
    bottom: 50.5%;
}

.shown .dot14 {
    animation: redDot 2s;
}

.shown .dot14:before {
    animation: redDotBefore 1.5s infinite;
    animation-delay: 2s;
}

@keyframes redDot {
    0%
    {
        opacity: 0;
    }
    70%
    {
        opacity: 0;
    }
    100%
    {
        opacity: 1;
    }
}

@keyframes redDotBefore {
    0%
    {
        opacity: 1;
        width: 0px;
        height: 0px;
        left: 5px;
        top: 5px;
    }
    90%
    {
        width: 24px;
        height: 24px;
        left: calc(((24px - 8px) / 2) * -1);
        top: calc(((24px - 9px) / 2) * -1);
    }
    100%
    {
        opacity: 0;
        width: 24px;
        height: 24px;
        left: calc(((24px - 8px) / 2) * -1);
        top: calc(((24px - 9px) / 2) * -1);
    }
}

.ou-line {
    position: absolute;
    display: block;
    width: 1px;
    overflow: hidden;
}

.ou-line:before {
    content: '';
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    left: 0px;
    bottom: -100%;
    background: #131923;
}

.ouLine1 {
    /* height: 78px;
    left: 36px;
    bottom: 268px; */
    height: 19.5%;
    left: 8.23%;
    bottom: 67%;
}

.shown .ouLine1:before {
    animation: ouLine 4s infinite;
    animation-delay: 3s;
}

.ouLine2 {
    /* height: 11px;
    left: 47px;
    bottom: 222px; */
    height: 2.75%;
    left: 10.75%;
    bottom: 55.5%;
}

.shown .ouLine2:before {
    animation: ouLine 4s infinite;
    animation-delay: 3.6s;
}

.ouLine3 {
    /* height: 5px;
    left: 71px;
    bottom: 183px; */
    height: 1.25%;
    left: 16.24%;
    bottom: 45.75%;
}

.shown .ouLine3:before {
    animation: ouLine 4s infinite;
    animation-delay: 3.4s;
}

.ouLine4 {
    /* height: 205px;
    left: 86px;
    bottom: 179px; */
    height: 51.25%;
    left: 19.67%;
    bottom: 44.75%;
}

.shown .ouLine4:before {
    animation: ouLine 4s infinite;
    animation-delay: 3.2s;
}

.ouLine5 {
    /* height: 77px;
    left: 216px;
    bottom: 278px; */
    height: 19.25%;
    left: 49.42%;
    bottom: 69.5%;
}

.shown .ouLine5:before {
    animation: ouLine 4s infinite;
    animation-delay: 3.5s;
}

.ouLine6 {
    /* height: 133px;
    left: 251px;
    bottom: 251px; */
    height: 33.25%;
    left: 57.43%;
    bottom: 62.75%;
}

.shown .ouLine6:before {
    animation: ouLine 4s infinite;
    animation-delay: 3.1s;
}

.ouLine7 {
    /* height: 5px;
    left: 291px;
    bottom: 203px; */
    height: 1.25%;
    left: 66.59%;
    bottom: 50.75%;
}

.shown .ouLine7:before {
    animation: ouLine 4s infinite;
    animation-delay: 3.5s;
}

.ouLine8 {
    /* height: 84px;
    left: 310px;
    bottom: 271px; */
    height: 21%;
    left: 70.93%;
    bottom: 67.75%;
}

.shown .ouLine8:before {
    animation: ouLine 4s infinite;
    animation-delay: 3s;
}

.ouLine9 {
    /* height: 39px;
    left: 326px;
    bottom: 182px; */
    height: 9.75%;
    left: 74.59%;
    bottom: 45.5%;
}

.shown .ouLine9:before {
    animation: ouLine 4s infinite;
    animation-delay: 3.3s;
}

.ouLine10 {
    /* height: 64px;
    left: 360px;
    bottom: 208px; */
    height: 16%;
    left: 82.37%;
    bottom: 52%;
}

.shown .ouLine10:before {
    animation: ouLine 4s infinite;
    animation-delay: 3.1s;
}

.ouLine11 {
    /* height: 5px;
    left: 394px;
    bottom: 185px; */
    height: 1.25%;
    left: 90.16%;
    bottom: 46.25%;
}

.shown .ouLine11:before {
    animation: ouLine 4s infinite;
    animation-delay: 3.6s;
}

.ouLine12 {
    /* height: 109px;
    left: 401px;
    bottom: 224px; */
    height: 27.25%;
    left: 91.76%;
    bottom: 56%;
}

.shown .ouLine12:before {
    animation: ouLine 4s infinite;
    animation-delay: 3.2s;
}

.ouLine13 {
    /* height: 39px;
    left: 407px;
    bottom: 94px; */
    height: 9.75%;
    left: 93.13%;
    bottom: 23.5%;
}

.shown .ouLine13:before {
    animation: ouLine 4s infinite;
    animation-delay: 3.5s;
}

.ouLine14 {
    /* height: 73px;
    left: 420px;
    bottom: 214px; */
    height: 18.25%;
    left: 96.10%;
    bottom: 53.5%;
}

.shown .ouLine14:before {
    animation: ouLine 4s infinite;
    animation-delay: 3s;
}

@keyframes ouLine {
    0%
    {
        bottom: -100%;
    }
    20%
    {
        bottom: 0%;
    }
    80%
    {
        bottom: 0%;
    }
    100%
    {
        bottom: 100%;
    }
}






.ou-name {
    position: absolute;
    display: block;
    overflow: hidden;
    height: 30px;
    line-height: 15px;
    text-align: center;
    font-size: 12px;
}

.ou-name .before {
    content: '';
    position: absolute;
    display: table;
    background: #fff;
    bottom: -100%;
}

.ouName1 {
    /* width: 48px;
    left: 14px;
    bottom: calc(268px + 78px - 6px); */
    width: 10.98%;
    left: 3.20%;
    bottom: 85%;
}

.shown .ouName1 .before {
    animation: ouName 4s infinite;
    animation-delay: 3s;
}

.ouName2 {
    /* width: 52px;
    left: 24px;
    bottom: calc(222px + 11px - 6px); */
    width: 11.89%;
    left: 5.49%;
    bottom: 56.75%;
}

.shown .ouName2 .before {
    animation: ouName 4s infinite;
    animation-delay: 3.6s;
}

.ouName3 {
    /* width: 125px;
    left: 11px;
    bottom: calc(183px + 5px - 5px); */
    width: 28.60%;
    left: 2.51%;
    bottom: 45.75%;
}

.shown .ouName3 .before {
    animation: ouName 4s infinite;
    animation-delay: 3.4s;
}

.ouName4 {
    /* width: 74px;
    left: 51px;
    bottom: calc(179px + 205px - 3px); */
    width: 16.93%;
    left: 11.67%;
    bottom: 95.25%;
}

.shown .ouName4 .before {
    animation: ouName 4s infinite;
    animation-delay: 3.2s;
}

.ouName5 {
    /* width: 47px;
    left: 195px;
    bottom: calc(278px + 77px - 4px); */
    width: 10.75%;
    left: 44.62%;
    bottom: 87.75%;
}

.shown .ouName5 .before {
    animation: ouName 4s infinite;
    animation-delay: 3.5s;
}

.ouName6 {
    /* width: 49px;
    left: 228px;
    bottom: calc(251px + 133px - 3px); */
    width: 11.21%;
    left: 52.17%;
    bottom: 95.25%;
}

.shown .ouName6 .before {
    animation: ouName 4s infinite;
    animation-delay: 3.1s;
}

.ouName7 {
    /* width: 26px;
    left: 281px;
    bottom: calc(203px + 5px - 8px); */
    width: 5.94%;
    left: 64.30%;
    bottom: 50%;
}

.shown .ouName7 .before {
    animation: ouName 4s infinite;
    animation-delay: 3.5s;
}

.ouName8 {
    /* width: 40px;
    left: 290px;
    bottom: calc(271px + 84px - 4px); */
    width: 9.15%;
    left: 66.36%;
    bottom: 87.75%;
}

.shown .ouName8 .before {
    animation: ouName 4s infinite;
    animation-delay: 3s;
}

.ouName9 {
    /* width: 33px;
    left: 312px;
    bottom: calc(182px + 39px - 3px); */
    width: 7.55%;
    left: 71.39%;
    bottom: 54.5%;
}

.shown .ouName9 .before {
    animation: ouName 4s infinite;
    animation-delay: 3.3s;
}

.ouName10 {
    /* width: 37px;
    left: 342px;
    bottom: calc(208px + 64px - 3px); */
    width: 8.46%;
    left: 78.26%;
    bottom: 67.25%;
}

.shown .ouName10 .before {
    animation: ouName 4s infinite;
    animation-delay: 3.1s;
}

.ouName11 {
    /* width: 43px;
    left: 373px;
    bottom: calc(185px + 5px - 9px); */
    width: 9.83%;
    left: 85.35%;
    bottom: 45.25%;
}

.shown .ouName11 .before {
    animation: ouName 4s infinite;
    animation-delay: 3.6s;
}

.ouName12 {
    /* width: 37px;
    left: 385px;
    bottom: calc(224px + 109px - 4px); */
    width: 8.64%;
    left: 88.10%;
    bottom: 82.25%;
}

.shown .ouName12 .before {
    animation: ouName 4s infinite;
    animation-delay: 3.2s;
}

.ouName13 {
    /* width: 56px;
    left: 380px;
    bottom: calc(94px + 39px - 2px); */
    width: 12.81%;
    left: 86.95%;
    bottom: 32.75%;
}

.shown .ouName13 .before {
    animation: ouName 4s infinite;
    animation-delay: 3.5s;
}

.ouName14 {
    /* width: 37px;
    left: 404px;
    bottom: calc(214px + 73px - 1px); */
    width: 8.46%;
    left: 92.44%;
    bottom: 71.5%;
}

.shown .ouName14 .before {
    animation: ouName 4s infinite;
    animation-delay: 3s;
}

@keyframes ouName {
    0%
    {
        bottom: -100%;
        opacity: 0;
    }
    20%
    {
        bottom: 7px;
        opacity: 1;
    }
    80%
    {
        bottom: 7px;
        opacity: 1;
    }
    100%
    {
        opacity: 0;
        bottom: 100%;
    }
}

.ou-link-group {
    position: relative;
    display: block;
    width: 100%;
    font-size: 0px;
}

.ou-link-group > * {
    font-size: 38px;
}

.ou-link-item {
    position: relative;
    display: inline-block;
    vertical-align: top;
    width: 50%;
    /* height: 497px; */
    height: 300px;
    background-size: cover !important;
    background-position: 50% !important;
    color: #fff !important;
    text-align: center;
    line-height: 46px;
    letter-spacing: 1px;
}

.ou-link {
    position: relative;
    display: block;
    text-align: center;
}

.ou-link-item.how {
    background: url('../../img/front/our_business/how_we_work_image.jpg') no-repeat;
}

.ou-link-item.how .ou-link:before {
    content: '';
    position: relative;
    display: inline-block;
    vertical-align: top;
    width: 26px;
    height: 55px;
    margin-right: 10px;
    background: url('../../img/front/who_we_are/right_arrow.svg') no-repeat;
    background-size: contain !important;
    background-position: 50% !important;

    -webkit-transform: scaleX(-1);
    -moz-transform: scaleX(-1);
    -ms-transform: scaleX(-1);
    transform: scaleX(-1);

    -webkit-transition: margin 0.4s;
    -moz-transition: margin 0.4s;
    -ms-transition: margin 0.4s;
    transition: margin 0.4s;
}

.ou-link-item.how .ou-link:hover:before {
    margin-right: 20px;

    -webkit-transition: margin 0.4s;
    -moz-transition: margin 0.4s;
    -ms-transition: margin 0.4s;
    transition: margin 0.4s;
}

.ou-link-item.why {
    background: url('../../img/front/our_business/why_us_image.jpg') no-repeat;
}

.ou-link-item.why .ou-link:after {
    content: '';
    position: relative;
    display: inline-block;
    vertical-align: top;
    width: 26px;
    height: 55px;
    margin-left: 10px;
    background: url('../../img/front/who_we_are/right_arrow.svg') no-repeat;
    background-size: contain !important;
    background-position: 50% !important;

    -webkit-transition: margin 0.4s;
    -moz-transition: margin 0.4s;
    -ms-transition: margin 0.4s;
    transition: margin 0.4s;
}

.ou-link-item.why .ou-link:hover:after {
    margin-left: 25px;

    -webkit-transition: margin 0.4s;
    -moz-transition: margin 0.4s;
    -ms-transition: margin 0.4s;
    transition: margin 0.4s;
}


@media screen and (max-width: 1400px) {

}

@media screen and (max-width: 1200px) {

}

/* Tablet */
@media screen and (max-width: 1024px) {
    .ou-link-item {
        height: 390px;
    }

    .ou-top {
        padding-top: 200px;
    }

    .ou-top-title {
        /* display: block; */
        /* width: 100%; */
        font-size: 50px;
        /* margin: 0px auto 80px; */
    }

    .ou-top-title-after {
        width: 90px;
    }

    .ou-top-title.ch .ou-top-title-after {
        width: 255px;
    }

    .ou-top-content {
        /* width: 100%; */
    }
}

/* Mobile */
@media screen and (max-width: 768px) {
    .ou-top {
        width: calc(100% - 60px);
        margin-bottom: 100px;
    }

    .ou-top-title {
        display: block;
        width: 100%;
        /* font-size: 50px; */
        margin: 0px auto 80px;
    }

    .ou-top-content {
        width: 100%;
    }
}

@media screen and (max-width : 500px) {
    .ou-top {
        padding-top: 150px;
        margin: 0px auto 80px;
        width: calc(100% - 40px);
    }

    .ou-top-title {
        font-size: 40px;
        padding-bottom: 10px;
        margin-bottom: 50px;
    }

    .ou-top-title-after {
        width: 70px;
    }

    .ou-top-title.ch .ou-top-title-after {
        width: 210px;
    }

    .ou-top-img {
        width: 380px;
        height: 348px;
        background-size: 380px 348px !important;
    }

    .ou-name {
        font-size: 10px;
    }

    .ou-link-item {
        width: 100%;
        height: 200px;
        font-size: 27px;
        line-height: 48px;
    }

    .ou-link-item.how .ou-link:before {
        width: 20px;
    }

    .ou-link-item.why .ou-link:after {
        width: 20px;
    }
}
