/* Optimized Responsive CSS */
/* Base Styles */
.navbar-toggler:focus {
    box-shadow: none;
}

/* Shared Mobile/Tablet Styles (max-width: 991px) */
@media (max-width: 991px) {
    /* Header & Navigation */
    header {
        padding-bottom: 0;
        background: #fff;
    }
    .mobile-header {
        width: 100%;
        display: flex;
        justify-content: space-between;
        padding-bottom: 30px;
    }
    .mobile-header .navbar-brand svg{
        width: 130px;
    }
    .mobile-nav {
        border-top: 1px solid #000;
        position: absolute;
        left: 0;
        top: 100%;
        background-color: #fff;
        width: 100%;
        height: calc(100vh - 118px);
        z-index: 999;
        transition: unset;
    }

    .navbar-nav .nav-item {
        padding: 6px 0 10px 6px;
        border-bottom: 1px solid #000;
    }

    .navbar-nav .nav-link {
        font-size: 16px;
    }
    .navbar-nav .nav-link.active{
        border:none;
    }
    .mobile-menu-footer {
        padding-bottom: 50px;
        height: calc(100vh - 418px);
    }

    .mobile-menu-footer .contact-bottom-title {
        margin-bottom: 20px;
    }

    .mobile-menu-footer .footer-social {
        padding: 30px 0 20px;
    }

    .mobile-menu-footer .footer-social a i:before {
        color: #000;
    }

    /* Common Page Elements */
    .button-placeholder {
        font-size: 12px;
    }
    .button-placeholder{
        margin-bottom: 5px;
    }
    .home-intro .button > span {
        padding: 8px 15px;
    }
    .home-intro .button::after{
        width: 40px;
        height: 40px;
    }
    .home-about h3 {
        font-size: 14px;
        padding: 0 30px;
    }

    .home-about-mid {
        padding: 40px 0;
    }
    .statistic-main p{
        font-size: 80px;
        line-height: 1;
        margin: 20px 0 10px 0;
    }
    .statistic-main span{
        font-size: 14px;
    }

    .top-slider {
        margin-left: 0;
    }

    .portfolio-box-text p,
    .portfolio-box-text p:last-child {
        font-size: 16px;
    }

    /* About Section */
    .about-description-main h3 {
        font-size: 16px;
        margin-bottom:15px;
    }

    .about-description {
        font-size: 12px;
    }

    .about-intro {
        padding: 0 0 50px;
    }

    /* Leadership */
    .leadership-main {
        padding: 30px 0;
    }

    .leadership-main > h1 {
        font-size: 40px;
    }

    .leader-box-main h5 {
        font-size: 16px;
    }

    .leader-box-main p {
        font-size: 12px;
    }

    /* Services */
    .services-list a {
        font-size: 35px;
    }

    .services-list a:after {
        height: 2px;
    }

    .services-list {
        background: url(../img/service-t-r.png) no-repeat top right 20px,
        url(../img/service-b-r.png) no-repeat bottom right 20px,
        url(../img/service-b-l.png) no-repeat left 20px bottom 20px;
        background-size: 57px 57px, 50px 62px, 58px 72px;
    }

    .services-main {
        padding: 30px 0;
    }

    /* Clients */
    .clients-main {
        padding: 30px 0;
    }

    .clients-main h1 {
        font-size: 50px;
        margin-bottom: 30px;
    }

    /* Footer */
    footer {
        padding: 30px 0;
        margin-top: -1px;
    }

    /* Work/Portfolio */
    .work-intro {
        padding: 0 0 40px;
    }

    .portfolios-main form {
        padding: 0 10px;
    }

    .portfolios-main {
        padding: 40px 0;
    }

    .portfolio-list {
        padding: 20px 0 0;
    }

    /* Culture */
    .culture-intro {
        padding: 0;
    }

    .culture-intro h1 {
        font-size: 40px;
        margin-bottom: 30px;
    }

    .culture-intro p {
        font-size: 18px;
        width: 80%;
    }

    .culture-thumbnail {
        width: 100%;
        margin-bottom: 30px;
    }

    .culture-text {
        width: 100%;
        padding-left: 0;
    }

    .culture-text .culture-title {
        font-size: 18px;
        padding: 5px 15px;
    }

    .culture-text .culture-description {
        font-size: 14px;
    }

    .cultures-main {
        padding-bottom: 60px;
    }

    /* Award Competitions */
    .award-competitions-intro{
        padding: 40px 0;
    }
    .award-competitions-intro-text h1 {
        font-size: 40px;
        width: 80%;
        margin-bottom: 10px;
    }

    .award-competitions-intro-text h1 span {
        padding-top: 10px;
        line-height: 27px;
    }

    .award-competitions-intro-text p {
        font-size: 14px;
    }

    .award-competition-intro-bottom {
        border: none;
        margin-top: 30px;
        margin-bottom: 30px;
        padding-bottom: 0;
    }
    .competitions-bg {
        display: none;
    }
    .competitions-list {
        padding-top: 50px;
    }

    .competitions-list .button > span {
        font-size: 16px;
        padding: 7px;
    }

    .competitions-list .button > span span {
        margin-left: 10px;
    }

    /* Awards */
    .award-intro {
        padding: 0 0 20px;
    }

    .awards-main {
        padding: 20px 0;
    }

    .award-filter-form {
        border: none;
    }

    .awards-list {
        padding-top: 20px;
    }

    .award-box-text .award-title p,
    .award-box-text .award-competition span {
        font-size: 14px;
    }

    .award-box-text {
        height: auto;
    }

    /* Careers */
    .careers-content {
        padding: 0 var(--bs-gutter-x, .75rem);
    }

    .careers-img {
        height: auto;
        padding-bottom: 20px;
    }

    .career-item {
        margin-bottom: 25px;
    }

    .career-item p {
        font-size: 14px;
        padding-bottom: 20px;
    }

    .career-item .button,
    .career-item .button span {
        width: 100%;
        text-align: center;
    }
    .career-item .button span{
        padding: 7px 20px;
        font-size:14px;
    }
    .career-item .button::after {
        width: 50px;
        height: 33px;
    }

    /* Vacancy */
    .vacancy-main {
        padding: 50px 0;
    }

    .vacancy-description-main .mobile-cover {
        margin-bottom: 30px;
    }

    .vacancy-description-main > p {
        font-size: 16px;
    }

    .vacancy-description {
        font-size: 14px;
        padding-bottom: 20px;
    }

    .vacancy-description-main .button span {
        width: 100px;
        padding: 12px 0;
        text-align: center;
        font-size:14px;
    }

    .vacancy-description-main .button::after {
        width: 45px;
        height: 45px;
    }

    /* Apply Vacancy */
    .vacancy-application-main {
        width: 100%;
        padding: 0 var(--bs-gutter-x, .75rem);
    }

    .vacancy-application-main > h2 {
        font-size: 20px;
    }

    .application-form label {
        font-size: 16px;
    }

    .application-form input {
        height: 50px;
    }

    /* Contact */
    .contact-top {
        padding: 20px 0 40px;
    }

    .contact-top iframe {
        width: 100%;
        padding: 0 10px;
    }

    .address-title {
        font-size: 20px;
    }

    .address-description {
        font-size: 14px;
    }

    #new-business {
        margin-top: -1px;
        padding-bottom: 30px;
    }

    #new-business h3,
    #new-business p {
        font-size: 16px;
    }
    #new-business h3{
        padding-top: 30px;
    }
    #new-business p {
        padding-bottom: 10px;
    }

    .new-business-contact {
        padding-bottom: 20px;
    }

    .new-business-contact a {
        font-size: 16px;
        padding: 10px 0;
    }

    .new-business-contact a i {
        font-size: 25px;
        margin-right: 5px;
    }
}

/* Mobile Specific (max-width: 768px) */
@media (max-width: 768px) {
    .home-intro {
        background-size: 50%;
        background-position: center;
    }

    .home-intro h1 {
        font-size: 40px;
        padding-top: 0;
    }
    .home-portfolio{
        padding:60px 0;
    }
    .home-portfolio h1 {
        font-size: 50px;
        margin-bottom: 40px;
    }
    .home-works{
        margin-top: 40px;
    }
    .footer-menu div > a, .footer-social a{
        font-size: 14px;
    }
    .reserved{
        font-size:14px;
    }
    .footer-social{
        padding-bottom: 30px;
    }
    .about-intro h1,
    .services-main h1,
    .work-intro h1,
    .award-intro h1,
    .contact-top h1,
    .careers-title h1 {
        font-size: 50px;
    }

    .dropdown-selected span {
        padding: 5px 9px 5px 0;
        font-size: 14px;
    }
    .portfolios-main .button-light > span{
        font-size: 20px;
    }
    .portfolios-main .button-light::after{
        margin-top: 0;
    }
    .leader-main {
        margin-bottom: 50px;
    }

    .leader-img {
        width: 167px;
        height: 167px;
        margin-bottom: 20px;
    }

    .leader-title {
        margin-left: 20px;
    }

    .leader-title p {
        font-size: 18px;
        margin-bottom: 8px;
    }

    .leader-title span {
        font-size: 16px;
    }

    .leader-description {
        font-size: 14px;
    }

    .careers-title p {
        font-size: 16px;
    }

    .vacancy-description-main .mobile-cover > h3 {
        font-size: 20px;
        padding-bottom: 0;
        margin-left: 20px;
    }

    .vacancy-description-main .mobile-cover div {
        width: 200px;
        height: 200px;
    }
    .portfolio-header .work-page-title{
        padding-bottom: 10px;
        font-size:20px;
    }
    .portfolio-brand{
        font-size:40px;
    }
    .portfolio-title{
        font-size:20px;
    }
    .work-content-line p{
        font-size:14px;
        width:50%;
    }
    .work-content-line {
        padding: 15px 0 25px 0;
        margin-top: 15px;
        border-top: 2px solid #fff;
    }
    .work-description-main{
        padding:30px 0;
    }
    .work-description-main h3{
        font-size: 18px
    }
    .work-description-text{
        font-size:14px;
    }
    .play-button{
        width:60px;
        height:60px;
    }
    .play-button svg {
        width: 32px;
        height: 32px;
        margin-left: 2px;
    }
    .leader-description{
        font-size:17px;
    }
}

/* Tablet Specific (768px - 991px) */
@media (min-width: 768px) and (max-width: 991px) {
    .home-intro {
        height: 440px;
    }

    .home-intro h1 {
        font-size: 60px;
        padding-top: 0;
    }

    .home-portfolio h1 {
        font-size: 58px;
    }

    .about-intro h1,
    .services-main h1,
    .work-intro h1,
    .award-intro h1,
    .contact-top h1,
    .careers-title h1 {
        font-size: 70px;
    }

    .dropdown-selected span {
        padding: 5px 9px 5px 0;
        font-size: 12px;
    }

    .leader-main {
        margin-bottom: 0;
    }

    .leader-img {
        width: 100%;
    }

    .leader-title {
        margin-bottom: 20px;
    }

    .leader-title p {
        font-size: 32px;
        margin-bottom: 8px;
        line-height: 1;
    }

    .leader-title span {
        font-size: 20px;
    }

    .leader-description {
        font-size: 14px;
    }

    .careers-title p {
        font-size: 186px;
    }

    .career-item p {
        font-size: 14px;
    }

    .vacancy-description-main .mobile-cover > h3 {
        font-size: 50px;
        padding-bottom: 0;
    }

    .vacancy-description-main > p {
        font-size: 20px;
    }

    .vacancy-description {
        font-size: 16px;
        padding-bottom: 20px;
    }
    .leader-description{
        font-size:17px;
    }
    .award-statistic p, .award-statistic-right p{
        padding-left: 0;
        font-size:70px;
    }
    .award-statistic span, .award-statistic-right span
    {
        font-size: 14px;
    }
}

/* Desktop Small (992px+) */
@media (min-width: 992px) {
    .padding-l40 {
        padding-left: 50px;
    }

    .padding-r40 {
        padding-right: 50px;
    }
}

/* Desktop Medium (992px - 1200px) */
@media (min-width: 992px) and (max-width: 1200px) {
    .home-intro h1 {
        font-size: 80px;
        padding-top: 40px;
    }

    .statistic-main p {
        font-size: 70px;
    }

    .home-portfolio h1 {
        font-size: 100px;
    }

    .about-intro h1,
    .services-main h1,
    .leadership-main > h1 {
        font-size: 120px;
    }

    .about-description {
        font-size: 18px;
    }

    .services-list a {
        font-size: 70px;
    }

    .award-competitions-intro-text h1 {
        font-size: 80px;
    }

    .award-statistic span,
    .award-statistic-right span {
        font-size: 16px;
    }

    .award-box-text .award-title p,
    .award-box-text .award-competition span {
        font-size: 16px;
    }

    .career-item p {
        font-size: 18px;
    }

    .careers-title p {
        font-size: 30px;
    }

    .vacancy-description-main .mobile-cover > h3 {
        font-size: 50px;
    }

    .vacancy-description-main > p {
        font-size: 28px;
    }

    .vacancy-description {
        font-size: 16px;
        padding-bottom: 20px;
    }

    .vacancy-main {
        padding: 100px 0;
    }
    .leader-description{
        font-size:17px;
    }
}
