.site-main {
    overflow: hidden;
}

/*** 1. Banner Section ***/
.banner-content {
    max-width: 710px;
}

.banner-content h1 {
    margin-bottom: 34px;
}

.banner-text {
    max-width: 575px;
    margin-bottom: 34px;
}

.banner-buttons .button + .button {
    margin-left: 18px;
}

.banner-section {
    position: relative;
}

.banner-image {
    bottom: 0;
    max-width: 680px;
    position: absolute;
    right: 50%;
    transform: translateX(680px);
}
/*** 1. Banner Section END ***/


/*** 2. Logo Section ***/
.logo-section {
    padding: 40px 0 50px;
}

.logo-inner .logos {
    column-gap: 64px;
}
/*** 2. Logo Section END ***/


/*** 3. Introduction Section ***/
.intro-header {
    max-width: 830px;
    margin-left: auto;
    margin-right: auto;
}



.intro-inner {
    padding: 0 40px;
}

.intro-boxes {
    margin: 0 -8px;
    row-gap: 16px;
}

.intro-box {
    width: 25%;
    padding: 0 8px;
}

.intro-icon {
    height: 105px;
    margin-bottom: 22px;
}

.intro-icon img {
    max-height: 100%;
}

.intro-box-inner {
    border: 4px solid var(--primary_color);
    border-radius: 16px;
    height: 100%;
    padding: 40px 40px 24px;
}

.intro-box-inner .h6 {
    margin: 0;
    font-size: var(--font_20);
    line-height: 22px;
}
/*** 3. Introduction Section END ***/


/*** 4. Steps Section ***/
.steps-inner-main {
    padding-left: 40px;
    padding-right: 40px;
}

.steps-inner {
    padding-left: 20px;
    padding-right: 20px;
}

.step-item:not(:last-child) {
    margin-bottom: 68px;
}

.steps-listing, .steps-section .section-header {
    max-width: 850px;
    margin-left: auto;
    margin-right: auto;
}

.steps-section .section-header {
    margin-bottom: 56px;
    padding: 0 20px;
}

.step-counter {
    width: 90px;
    height: 90px;
    border-radius: 50%;
}

.step-counter .h3 { 
    margin-bottom: 0;
    font-size: 51px;
    font-weight: 900;
}

.step-details {
    width: calc(100% - 90px);
    padding-left: 40px;
}

.step-details .h5 {
    margin-bottom: 11px; 
}

.step-details p {
    margin: 0;
}
/*** 4. Steps Section END ***/


/*** 5. Card Section ***/
.card-section .sec-header-content {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
}

.card-section .section-header h2 {
    margin-bottom: 22px;
    padding-left: 40px;
    padding-right: 40px;
}

.card-items-main {
    padding-left: 40px;
    padding-right: 40px;
}

.card-section .card-items {
    row-gap: 16px;
    margin-left: -8px;
    margin-right: -8px;
}

.card-items .card-item {
    width: 33.33%;
    padding: 0 8px;
}

.card-item .card-item-inner {
    padding: 38px;
    border: 4px solid var(--primary_color);
    border-radius: 16px;
    height: 100%;
}

.card-item .card-image {
    border-radius: 16px;
    overflow: hidden;
    margin-bottom: 30px;
    height: 200px;
}

.card-item .card-image img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.card-item .card-content .h5 {
    font-size: 20px;
    line-height: 24px;  
}

.card-item .card-text p:last-child {
    margin: 0;
}  

.card-item .card-content,
.card-title { 
    flex: 1 0 auto; 
}
/*** 5. Card Section END ***/


/*** 6. Video Section ***/
.video-section .section-header {
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 42px;
}

.video-inner {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
}

.video-inner iframe { 
    height: 613px;
    width: 100%;
    border-radius: 16px; 
    box-shadow: 0px 3px 6px #00000029;
}
/*** 6. Video Section END ***/


/*** 7. Feature Section ***/
.feature-section {
    padding: 70px 0 164px;
}

.feature-items {
    margin: 0 -8px;
    row-gap: 16px;
}

.feature-items .feature-item {
    width: 50%;
    padding: 0 8px; 
}

.feature-item .feature-icon {
    height: 60px;
    margin-bottom: 28px;
}

.feature-inner .subtitle {
    margin-bottom: 30px;
}

.feature-item-inner {
    padding: 66px 40px 57px;
    border-radius: 16px;
    height: 100%;
    min-height: 289px;
}

.feature-item-inner .h4 {
    margin: 0;
}
/*** 7. Feature Section END ***/



/*** 8. Work Section ***/
.work-inner .work-left {
    width: calc(100% - 500px);
}

.work-inner .work-left p {
    max-width: 600px;
}

.work-inner .work-right {
    width: 500px;
}

.work-right .work-image {
    margin-top: -40px;
    margin-bottom: -85px;
    width: 655px;
    position: relative;
    min-width: 655px;
}

.work-right .work-image img {
    position: relative;
    right: -25px; 
}

.work-mobile-image {
    display: none;
}
/*** 8. Work Section END ***/


/*** 9. Scope Section ***/
.scope-section {
    position: relative;
    z-index: 1;
}

.scope-section .section-header {
    max-width: 700px; 
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 60px;
}

.scope-items {
    row-gap: 32px;
}

.scope-items .scope-item {
    width: 50%;
}

.scope-items .scope-item:nth-child(2n) { 
    border-left: 2px solid rgba(255, 255, 255, 0.5);
}

.scope-item-inner {
    padding: 0 100px 38px;
}

.scope-item-inner .subtitle {
    font-size: var(--font_20);
    line-height: 26px;
    margin-bottom: 24px; 
    color: var(--cyan_color2);
}

.scope-item-inner .subtitle.yellow {
    color: var(--yellow_color);
}

.scope-item-inner .h5 { 
    margin-bottom: 26px;
}

.scope-item-inner p { 
    margin-bottom: 30px;
}
/*** 9. Scope Section END ***/


/*** 10. Form Section ***/
.form-inner .form-left {
    width: calc(100% - 375px);
    padding-right: 40px;
}

.form-inner .form-left p {
    margin: 0;
    max-width: 600px;
}

.form-inner .form-right {
    width: 375px;
}

.form-block {
    border: 4px solid var(--primary_color);
    border-radius: 16px;
    padding: 32px;
}

.form-block .h5 {
    margin: 0;
}

.form-block p:last-child {
    margin-bottom: 0;
}

.form-inner .form-left h2 br {
    display: none;
}

/*** 10. Form Section END ***/


/*** 404 Page ***/

.error-404 .page-content {
    min-height: 700px;
}

.not-found-image {
    margin-bottom: 32px;
}

.not-found-content .h3 {
    font-weight: 900;
}

.not-found-content {
    margin-bottom: 42px;
}

.search-form {
    display: flex;
}

.search-form input {
    padding: 10px 16px;
}


.search-form label {
    width: calc(100% - 150px);
    padding-right: 12px;
}

.search-form .search-submit {
    width: 150px;
    background-color: var(--cyan_color);
    border-color: var(--cyan_color);
    color: var(--primary_color);
    cursor: pointer;
    transition: all ease-in 0.25s;
    font-weight: 700;
}

.search-form .search-submit:hover {
    background-color: var(--yellow_color);
    border-color: var(--yellow_color);
}

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

    .work-right .work-image img {
        right: 0;
    }

}

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


    .banner-content {
        max-width: 520px;
    }

    .banner-image {
        transform: translateX(520px);
    }

    .banner-content h1 {
        margin-bottom: 26px;
    }

    .intro-inner,
    .steps-inner-main {
        padding: 0;
    }

    .intro-icon {
        height: 90px;
        margin-bottom: 20px;
    }

    .intro-box-inner {
        padding: 24px 24px 20px;
    }

    .intro-box-inner .h6 {
        font-size: 18px;
    }

    .card-items-main {
        padding-left: 0;
        padding-right: 0;
    }

    .step-item:not(:last-child) {
        margin-bottom: 40px;
    }

    .steps-section .section-header {
        margin-bottom: 42px; 
    }

    .step-details { 
        padding-left: 28px;
    }

    .step-counter {
        width: 80px;
        height: 80px; 
    }

    .step-counter .h3 {
        font-size: 40px;
    }

    .card-item .card-item-inner {
        padding: 24px; 
    }

    .card-section .section-header h2 {
        margin-bottom: 16px; 
        padding: 0;
    }

    .card-section .section-header {
        margin-bottom: 38px;
    }

    .card-item .card-content .h5 {
        font-size: 18px;
        line-height: 22px;
    }


    .video-inner iframe {
        height: 540px; 
    }


    .feature-item-inner {
        padding: 48px 40px; 
        min-height: 250px;
    }

    .work-right .work-image {
        min-width: 550px;
        width: 550px;
    }

    .feature-section {
        padding: 50px 0 100px;
    }

    .work-right .work-image img {
        right: -30px;
    }

    .scope-item-inner {
        padding: 0 60px 26px;
    }

    .logo-inner .logos {
        column-gap: 35px;
    }


}


@media screen and (max-width: 1023px) {
    
    .intro-box {
        width: 33.33%; 
    }

    .card-items {
        justify-content: center;
    }

    .card-items .card-item {
        width: 50%; 
    }

    .card-item .card-item-inner {
        padding: 18px 16px;
    }

    .video-inner iframe {
        height: 400px;
    }

    .step-details {
        padding-left: 20px;
    }

    .step-item:not(:last-child) {
        margin-bottom: 32px;
    }

    .work-inner .work-left {
        width: calc(100% - 350px);
    }

    .work-inner .work-right {
        width: 350px;
    }

    .work-right .work-image {
        min-width: 350px;
        width: 350px;
        margin: 0;
    }

    .work-inner {
        padding: 40px 0;
    }

    .feature-section {
        padding: 50px 0 70px;
    }
     
    .scope-item-inner {
        padding: 0 20px 26px;
    }

    .form-inner .form-left {
        width: 100%;
        padding-right: 0;
        margin-bottom: 32px;
    }

    .form-inner .form-right {
        width: 100%;
    }

    .form-inner .form-left p { 
        max-width: 100%;
    }

    .form-block {
        padding: 24px;
    }

    .scope-item-inner .h5,
    .scope-item-inner .subtitle {
        margin-bottom: 18px;
    }


    .banner-inner {
        padding-top: 60px;
        padding-bottom: 50px;
    }

    .banner-text {
        max-width: 365px;
        margin-bottom: 24px;
    }

    .banner-content {
        max-width: 500px;
    }

    .banner-image {
        transform: translateX(100%);
        max-width: 460px;
    }


}


@media screen and (max-width: 767px) {
    
    .banner-inner {
        padding-top: 52px;
        padding-bottom: 51px;
    }

    .banner-image {
        transform: none;
        max-width: 460px;
        position: static;
    }

    .banner-text {
        margin: 0;
    }

    .banner-buttons .button {
        font-size: 20px;
        line-height: 26px;
        padding: 16px 15px;
        justify-content: center;
    }

    .banner-buttons .button .arrow {
        margin-left: 11px;
        height: 35px;
        width: 35px;
    }

    .banner-buttons .button .arrow svg {
        height: 20px;
        width: 20px;
    }

    .banner-text p:last-child {
        margin: 0;
    }

    .banner-buttons { 
        flex-direction: column;
        row-gap: 26px;
        align-items: center;
    }
    

    .banner-buttons .button + .button {
        margin: 0;
    }

    .logo-section {
        padding: 48px 0 55px;
    }

    .logo-inner .logos {
        flex-wrap: wrap;
        row-gap: 20px;
        column-gap: 0;
    }

    .logos .logo-item {
        width: 50%;
        text-align: center;
        padding: 0 32px;
    }

    .logo-inner .subtitle {
        padding: 0 20px;
        margin-bottom: 55px;
    }

    .banner-content {
        text-align: center;
    }

    .banner-content h1 {
        font-size: 50px;
        line-height: 54px;
    }

    .intro-box {
        width: 100%;
    }

    .intro-boxes {
        row-gap: 20px;
    }

    .intro-box-inner {
        max-width: 250px;
        margin-left: auto;
        margin-right: auto;
        min-height: 208px;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .intro-box-inner .h6 {
        font-size: 16px;
        line-height: 20px;
    }

    .step-item {
        align-items: flex-start;
    }

    .step-counter .h3 {
        font-size: 16px;
    }

    .steps-section .section-header {
        margin-bottom: 54px;
        padding: 0;
    }

    .step-counter {
        width: 43px;
        height: 43px;
    } 

    .step-details .h5,
    .feature-item-inner .h4 { 
        font-size: 16px;
        line-height: 20px;
    }

    .step-details {
        width: calc(100% - 43px); 
    }

    .card-items .card-item,
    .feature-items .feature-item,
    .scope-items .scope-item {
        width: 100%;
    }

    .card-section .card-items {
        row-gap: 20px; 
    }
 
    .video-inner iframe {
        height: 50.667vw;
    }

    .card-section .subtitle {
        margin-bottom: 13px;
    }

    .card-section .section-header h2 {
        margin-bottom: 34px; 
    }

    .card-section .section-header {
        margin-bottom: 60px;
    }

    .card-item .card-image {
        margin-bottom: 47px;
    }

    .card-item .card-content .h5 {
        font-size: 16px;
        line-height: 20px;
        padding: 0 12px;
    }

    .card-item:nth-child(3) .card-content .h5 {
        padding: 0 10px;
    }

    .card-item .card-content .h5 br,
    .yellow-cards .card-item:first-child .card-content .h5 br {
        display: none;
    }

    .yellow-cards .card-item .card-content .h5 br {
        display: block;
    }


 
    .card-item .card-item-inner {
        padding: 18px 15px 60px;
    }


    .video-section {
        padding-top: 100px;
        padding-bottom: 160px;
    }

    .video-section .section-header,
    .feature-inner .subtitle {
        margin-bottom: 47px;
    }

    .feature-items { 
        row-gap: 22px;
    }

    .feature-section {
        padding-top: 90px;
    }

    .feature-item-inner {
        padding: 28px 30px;
        min-height: 200px;
        justify-content: center;
    }

    .feature-item .feature-icon {
        height: auto;
        margin-bottom: 26px;
    }

    .scope-items .scope-item:nth-child(2n) {
        border-top: 2px solid rgba(255, 255, 255, 0.5);
        border-left: 0;
    }

    .scope-section {
        padding-top: 76px;
        padding-bottom: 112px;
    }

    .scope-section .section-header {
        margin-bottom: 56px;
    }

    .scope-item-inner .h5 {
        margin-bottom: 26px;
    }

    .scope-item-inner p {
        margin-bottom: 24px;
    }

    .scope-item-inner {
        padding: 0;
    }

    .scope-items .scope-item:nth-child(2n) {
        border-top: 0;
    }

    .scope-items .scope-item:not(:first-child) {
        padding-top: 56px;
        border-top: 2px solid rgba(255, 255, 255, 0.5);
    }

    .scope-items {
        row-gap: 72px;
    }


    .form-section {
        padding-top: 69px;
    }

    .form-inner {
        text-align: center;
    }

    .form-inner .form-left h2 {
        margin-bottom: 35px;
    }

    .form-inner .form-left { 
        margin-bottom: 43px;
    }

    .work-inner {
        padding-bottom: 0;
        padding-top: 35px;
    }

    .work-inner .work-left h2 {
        margin-bottom: 34px;
    }

    .work-inner .work-left p {
        margin-bottom: 40px;
    }

    .work-inner .work-right {
        display: none;
    }

    .work-inner .work-left {
        width: 100%;
        text-align: center;
    }

    .work-mobile-image {
        display: block; 
    }

    .work-mobile-image.top-img {
        margin: 0 -20px 40px;
    }

    .work-mobile-image.bottom-img {
        margin-left: -20px;
        margin-right: -20px;
        margin-top: 50px;
    }

    .work-mobile-image.bottom-img img {
        max-width: 298px;
    }


    .introduction-section {
        padding: 60px 0;
    }

    .introduction-section .intro-header {
        margin-bottom: 42px;
    }

    .introduction-section .intro-header h2 {
        margin-bottom: 35px;
    }

    .intro-inner .subtitle {
        margin-bottom: 26px;
        padding: 0 30px;
    }

    .intro-icon {
        height: 100px;
    }

    .form-inner .form-left h2 br {
        display: block;
    }

    .error-404 .page-content {
        min-height: 630px;
    }

    .search-form label {
        width: 100%;
        padding: 0;
    }

    .search-form input {
        padding: 10px 16px;
        font-size: 16px;
        line-height: 22px;
    } 
    
    .search-form {
        flex-direction: column;
        align-items: center;
        row-gap: 16px;
    }

}

.page-id-55 .hero h1 {
	color: #21BECE !important;
}

/*** Stadium Page ***/

.stadium-banner {
    overflow: hidden;
}

.stadium-banner .banner-inner {
    padding: 100px 0;
}

.stadium-banner .banner-image {
    bottom: -16px; 
    transform: translateX(630px);
}

.stadium-banner .banner-image:before {
    content: '';
    background: url('../images/banner-circle-image.webp') no-repeat center;
    position: absolute;
    top: -126px;
    bottom: -126px;
    left: -126px;
    right: -126px;
}

.stadium-banner .banner-text { 
    max-width: 550px;
}

.stadium-banner .banner-text p { 
    font-size: 24px;
    line-height: 30px;
}

.introduction-section.intro_section2 {
    padding-top: 78px;
    padding-bottom: 92px;
}

.introduction-section.intro_section2 h2 br {
    display: none;
}

.intro_section2 .intro-header-text {
    padding: 0 15px;
}

.intro-header ul {
    max-width: 565px;
    margin-left: auto;
    margin-right: auto;
    list-style: none;
    margin-bottom: 0;
}

.intro-header ul li {
    position: relative;
    text-align: left;
    margin-bottom: 24px;
}

.intro-header ul li:last-child {
    margin-bottom: 0;
}

.intro-header ul li:before {
    content: '';
    position: absolute;
    height: 13px;
    width: 13px;
    background: var(--cyan_color2);
    border-radius: 50%;
    left: -33px;
    top: 6px;
}


.video-section.video_light_sec {
    background: #F6F6F7;
    padding-top: 65px;
    padding-bottom: 110px;
}

.video-section.video_light_sec .section-header {
    margin-bottom: 65px;
}

.video-section.video_light_sec h2 {
    color: var(--primary_color);
}



.full-width-cta-section h2 br {
    display: none;
}

.full-width-cta .button {
    min-width: 230px;
    justify-content: space-between;
    padding-left: 36px;
}

.full-width-content {
    max-width: 780px;
    margin: 0 auto 36px;
}


.page-id-333 .footer-inner {
    border-top: 1px solid rgba(8, 9, 10, 0.56);
}

.review-section {
    padding: 90px 0 16px;
}

.review-inner {
    padding: 71px 60px 81px;
    border: 4px solid var(--primary_color);
    border-radius: 16px;
    max-width: 1200px;
    margin: 0 auto 24px;
}

.review-inner:last-child {
    margin-bottom: 0;
}

.review-content p {
    font-size: 32px;
    line-height: 38px;
    font-weight: 700;
    margin-bottom: 25px;
}


.author-image {
    border-radius: 50%;
    overflow: hidden;
    width: 72px;
    height: 72px;
}

.author-image img {
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.author-image .no_image {
    background: #EEEEEE;
    width: 100%;
    height: 100%;
    display: block;
    border-radius: 50%;
}

.author-name {
    font-size: 24px;
    line-height: 28px;
    padding-left: 30px;
    width: calc(100% - 72px);
    font-weight: 500;
    text-transform: uppercase;
}


.buttons-section {
    margin-bottom: 90px;
}

.buttons-section .button-inner {
    background: var(--yellow_color2);
    padding: 72px 60px 78px;
    max-width: 1200px;
    margin: 0 auto;
    border-radius: 16px;
}

.buttons-section .button-inner > .h5 {
    text-transform: uppercase; 
    margin-bottom: 24px;
    font-weight: 500;
}


.buttons-section .button {
    border-radius: 16px;
    border: 4px solid var(--primary_color);
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 23px 46px;
    font-size: 24px;
    line-height: 1;
    height: 100%;
}

.buttons-section .button-wrapper-main {
    margin: 0 -17px;
    row-gap: 34px;
}

.buttons-section .button-wrapper {
    width: 50%;
    padding: 0 17px;
}

.buttons-section .button-text {
    max-width: 325px;
}

.intro_section2 .intro-header-text p:last-child {
    margin: 0;
}

.intro_section2 .intro-header {
    margin-bottom: 0;
}

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

    .stadium-banner .banner-image {
        margin-right: -90px;
        transform: translateX(100%);
    }

    .review-content p {
        font-size: 24px;
        line-height: 32px; 
    }

    .author-name {
        font-size: 20px;
        line-height: 26px; 
    }

    .review-inner {
        padding: 60px 50px; 
    }

}

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

    .review-inner {
        padding: 60px 30px; 
    }

    .review-content p {
        font-size: 24px;
        line-height: 30px;
    }

    .author-name {
        font-size: 20px;
        line-height: 26px;
        padding-left: 20px; 
    }

    .buttons-section .button-inner {
        padding: 58px 40px 68px;
    }

    .full-width-cta-section {
        padding: 76px 0 86px;
    }

    .stadium-banner .banner-image { 
        max-width: 410px; 
    }

    .stadium-banner .banner-content {
        max-width: 400px;
    }

    .stadium-banner .banner-image:before {
        top: -60px;
        bottom: -60px;
        left: -60px;
        right: -60px;
        background-size: 610px;
    }

    .stadium-banner .banner-inner {
        padding: 70px 0;
    } 

    .buttons-section .button {
        padding: 16px 24px;
    }

}

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

    .stadium_logo_section .logo-inner .subtitle {
        margin-bottom: 35px;
    }

    .logo-section.stadium_logo_section {
        padding-bottom: 46px;
    }

    .introduction-section.intro_section2 {
        padding-top: 60px;
        padding-bottom: 58px;
    }

    .intro_section2 .intro-header-text p {
        margin-bottom: 24px;
    }

    .stadium-banner .banner-content h1 {
        font-size: 40px;
        line-height: 40px;
    }

    .stadium-banner .banner-text p {
        font-size: 16px;
        line-height: 20px;
    }
    
    .stadium-banner .banner-image {
        max-width: 261px;
        margin: 0 auto;
        position: relative;
        right: auto;
        bottom: 0;
        padding: 90px 0;
        transform: translateX(0);
    }
    
    .stadium-banner .banner-image:before { 
        top: -40px;
        bottom: -40px;
        left: -40px;
        right: -40px; 
        background: url('../images/mobile-banner-circle.svg') no-repeat center;
        background-size: 400px;
    }

    .full-width-cta-section h2 br,
    .introduction-section.intro_section2 h2 br {
        display: block;
    }

    .intro-header ul li {
        padding-left: 28px;
        margin-bottom: 18px;
    }

    .intro_section2 .intro-header-text {
        padding: 0;
    }

    .intro-header ul li:before {
        left: 0px;
        top: 4px;
    }   

    .review-content {
        margin-bottom: 22px;
    }
    
    .review-content p {
        font-size: 20px;
        line-height: 26px;
        text-align: center;
        margin-bottom: 22px;
    }

    .author-name {
        font-size: 16px;
        line-height: 22px; 
    }

    .buttons-section .button-inner {
        padding: 58px 20px 68px;
    }

    .buttons-section .button-inner > .h5 {
        text-align: center;
        font-size: 24px;
        line-height: 28px;
        margin-bottom: 29px;
    }
    
    .buttons-section .button-wrapper-main {
        flex-direction: column;
        row-gap: 17px;
    }

    .buttons-section .button-text {
        max-width: 187px;
    }

    .buttons-section .button {
        padding: 37px 26px;
        font-size: 20px;
        line-height: 24px;
    }

    .buttons-section .button-wrapper {
        width: 100%; 
    }

    .introduction-section.intro_section2 .intro-header {
        margin-bottom: 0;
    }

    .introduction-section.intro_section2 .intro-header h2 {
        font-size: 32px;
        line-height: 37px;
    }



}