/* -- Responsive styling
------------------------------------------- -- */
@keyframes fadeInRight {
    0% {
        display: none;
        opacity: 0;
        transform: translate(100px);
    }

    100% {
        display: block;
        opacity: 1;
        transform: translate(0);
    }
}

@media (max-width: 1199px) {

    /* -- services css -- */
    .service-block {
        margin-bottom: 3rem;
    }

    .grid-wrapper [class*="col-"]:last-child .service-block {
        margin-bottom: 0;
    }

    .navbar-nav li {
        margin-left: 1.5rem;
    }

    .modal-body iframe {
        height: 41vw;
    }
    .banner h1 br {
        display: none;
    }
    .thank-you-banner h1
    .error-404-banner h1 {
        font-size: 6rem;
    }
}

@media (max-width: 991px) {

    /* -- common css -- */
    html {
        overflow-x: hidden;
    }

    .section-gap {
        padding-top: 4.5rem !important;
        padding-bottom: 4.5rem !important;
    }

    .vc_section {
        margin: 0;
        padding: 0;
    }


    br {
        display: none;
    }

    /* -- header css -- */
    .navbar-nav li {
        width: 100%;
        margin: 0;
    }

    .navbar-nav li a:not(.custom-btn) {
        padding: 1rem 0;
        border-radius: 4px;
    }

    .navbar-nav li a:not(.custom-btn):hover,
    .navbar-nav li a:not(.custom-btn).active {
        background: #fff;
    }

    header .navbar-nav {
        background-color: #eee;
        padding: 2.1rem 1.5rem;
        text-align: center;
    }

    .navbar-nav li .custom-btn {
        width: 100%;
        margin: 1.8rem auto;
    }

    /* -- banner css -- */
    .banner {
        height: auto;
        padding-top: 13.3rem !important;
        padding-bottom: 3rem;
    }

    .banner .img-container {
        padding: 3rem;
    }

    .banner img {
        padding: 0;
    }

    /* -- achievements css -- */
    .counter-wrapper .number {
        font-size: 3rem;
        line-height: 1;
    }

    .counter-wrapper {
        font-size: 1.6rem;
        margin-top: 5px;
    }

    .counter-block .icon-container {
        margin-right: 1rem;
    }

    .onepage-services .floating-service-wrapper {
        transform: translateY(-60px);
    }

    .achievements {
        padding-bottom: 10.5rem !important;
    }

    .features-grid {
        padding-bottom: 5.2rem;
    }

    .features-grid img {
        max-width: 40rem;
        margin-bottom: 2.1rem;
    }

    .section-title {
        margin: .8rem 0 1rem;
    }

    .grid-wrapper {
        padding-top: 2.1rem;
    }

    .navbar-brand img {
        max-width: 180px;
    }
}

@media (max-width: 767px) {
    body {
        font-size: 1.4rem;
        line-height: 2.6rem;
    }

    h1 {
        font-size: 3rem;
        line-height: 3.6rem;
        margin: .3rem 0 .7rem;
    }

    h2 {
        font-size: 2.4rem;
        line-height: 3.4rem;
    }

    h3 {
        font-size: 2rem;
        line-height: 3rem;
    }

    h4 {
        font-size: 1.8rem;
        line-height: 2.8rem;
    }

    p.larger-txt {
        font-size: 1.6rem;
        line-height: 2.6rem;
    }

    .scrolled .navbar {
        margin-top: 1.5rem;
    }

    .banner p {
        margin-bottom: 2.2rem;
    }

    .custom-btn {
        padding: 1rem 2rem;
    }

    .counter-block {
        display: block !important;
        text-align: center;
    }

    .counter-block .icon-container {
        margin-right: 0;
        margin-bottom: 2rem;
    }

    .counter-block .icon-container img {
        max-height: 4rem;
    }

    .counter-wrapper {
        font-size: 1.4rem;
        line-height: 2rem;
    }

    .counter-wrapper .number {
        font-size: 2rem;
    }

    .navbar-collapse {
        padding-bottom: 3rem;
    }

    .scrolled .navbar-nav {
        width: 100%;
        margin-bottom: 0;
    }

    .service-block img {
        max-height: 5rem;
        margin-bottom: 2rem;
    }

    .service-block h4 {
        margin-bottom: 1.2rem;
    }

    .features-grid img {
        max-width: 100%;
    }

    .hyperlink {
        font-size: 1.2rem;
    }

    .hyperlink::after {
        left: 0;
    }

    .features-content .hyperlink {
        margin-top: 1.1rem;
    }

    .counter-wrapper br {
        display: block;
    }

    .clients {
        padding: 4rem 0;
    }

    .img-card h4 span {
        font-size: 1.8rem;
        line-height: 2.8rem;
    }

    .img-card h4 {
        font-size: 1.4rem;
    }

    .img-card>img {
        width: 100%;
    }

    .pricing-block {
        border-right: none;
        border-bottom: 2px solid #e6f2ff;
    }

    .newsletter form {
        text-align: center;
    }

    .newsletter form input {
        margin-bottom: 1rem;
    }

    .newsletter form .custom-btn {
        display: block;
    }

    .pricing-grid-wrapper {
        padding-left: 0;
        padding-right: 0;
    }

    .contact-info a:not(.custom-btn) {
        font-size: 1.4rem;
        line-height: 2.6rem;
    }

    .contact-info .custom-btn {
        margin-top: .6rem;
    }

    .page-footer {
        padding: 3.6rem 0 3.2rem;
    }

    .nav-tabs .nav-link {
        padding: 1rem .5rem 1.1rem;
    }

    .modal .modal-content {
        padding: 3rem 1.5rem 1.5rem;
    }

    .modal .modal-content .close {
        top: 1rem;
        right: 1rem;
    }

    .blog-info li:not(:last-child) {
        margin-right: 1rem;
    }

    .blog-info li,
    .blog-info a {
        font-size: 1.3rem;
    }

    .blog-info li img,
    .blog-info a img {
        max-height: 1.1rem;
    }

    .common-list li::after {
        top: .8rem;
    }

    .clients-carousel-wrapper .owl-stage .item img {
        width: 100%;
        max-width: 10rem;
        height: auto;
    }

    .owl-carousel .owl-item .item {
        padding: 0 1.5rem;
    }

    .service-block .service-overlay {
        padding: 1rem 0;
    }

    .facilities>div {
        margin-bottom: 0;
    }

    .feature-video-popup {
        width: 6rem;
        height: 6rem;
    }

    .feature-video-popup::after {
        border-top-width: 5px;
        border-left-width: 10px;
        border-bottom-width: 5px;
        margin-left: 2px;
    }

    .full-width-modal.quote-modal .modal-content {
        padding: 39.5px 0 19.5px;
    }

    .quote-form-wrapper [class^="col-"] {
        padding: 0;
    }

    .pricing-grid-wrapper [class*="col-"]:first-child .pricing-group {
        margin-right: 0;
    }

    .quote-modal .social-icons-wrapper {
        display: block !important;
    }

    .quote-modal .social-icons-wrapper p {
        margin-bottom: 1rem;
    }

    .quote-modal .social-icons-wrapper .social-icons {
        margin-top: .5rem;
    }

    .page-footer p .cynic-pages-modal {
        margin-left: 0;
    }

    .news-card h4,
    .news-card p {
        height: auto !important;
    }

    .section-title,
    .section-title+p {
        padding-left: 15px;
        padding-right: 15px;
    }

    .modal-body iframe {
        height: 41vw;
    }

    .error-404-banner,
    .full-height-banner {
        height: auto;
        display: block;
        align-items: center;
        padding-top: 130px;
        padding-bottom: 50px;
    }

    .error-404-banner h1,
    .full-height-banner h1 {
        font-size: 5rem;
        line-height: 1.2;
    }

    .error-404-banner .custom-btn {
        margin-top: 2rem;
    }

    .thank-you-banner h1 {
        font-size: 4rem;
        line-height: 1.2;
    }
}

@media (max-width: 575px) {
    .onepage-services {
        padding: 0 15px;
    }
}


/* -- Browser Hacks
---------------------------------- -- */
/* -- Chrome hacks -- */
@media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution: .001dpcm) {}

/* -- Firefox hacks -- */
@media all and (min--moz-device-pixel-ratio:0) and (min-resolution: 3e1dpcm) {
    .quote-form button {
        margin-top: .5rem;
    }
}

/* -- IE hacks -- */
@media screen and (min-width:0\0) {
    .quote-form button {
        margin-top: 1rem;
    }

    #product-modal .modal-dialog-centered {
        height: auto;
        margin-bottom: 40px;
    }
}