/* Largest devices such as desktops (1280px and up) */
@media only screen and (max-width: 1280px) {
    .how-it-works {
        padding: 0 20px;
    }
    footer {
        padding: 50px 20px;
    }
    header nav a.nav-link button {
        padding: 16px 30px;
    }
    .form-footer h2 {
        font-size: 36px;
        line-height: 42px;
    }
    .form-footer h2 span {
        font-size: 28px;
    }
}

@media only screen and (max-width: 992px) {
    header {
        text-align: center;
        position: relative;
    }
    header .logo {
        max-width: 130px;
        height: auto;
        margin: 0;
    }
    header .nav {
        display: none;
    }
    header .mobile-nav {
        display: block;
    }
    header .mobile-nav #navbarToggleExternalContent {
        margin-top: 40px;
    }
    header .mobile-nav nav.navbar {
        position: absolute;
        top: 18px;
        right: 0px;
        padding: 0;
    }
    header .mobile-nav .collapse .btn {
        width: 100%;
        display: inline-block;
    }
    header nav.navbar .navbar-toggler {
        border: none;
        padding: 0;
    }
    header nav.navbar .navbar-toggler .navbar-toggler-icon {
        width: 20px;
    }
    header .mobile-nav .nav {
        display: block;
        margin-top: 20px;
    }
    header .mobile-nav .btn{
        font-size: 16px;
        font-weight: 800;
        line-height: 17px;
        text-shadow: none;
        padding: 16px 32px;
        border-radius: 1000px;
    }
    header nav a.nav-link {
        margin: 10px 0 0;
    }
    ul.service-icons {
        flex-wrap: nowrap;
    }
    ul.service-icons li {
        width: 85px;
    }
    ul.list-inline.list-primary li,
    ul.list-inline.list-secondary li {
        width: 48%;
    }
    .wrapper {
        margin-top: 0;
    }
    .banner {
        height: 500px;
    }
    .banner .container {
        padding-top: 100px;
    }
    .header-form h1 {
        font-size: 26px;
        line-height: 120%;
    }
    .header-form form {
        padding: 20px;
        display: inline-block !important;
        margin-top: 0;
        border-radius: 10px;
        border: 1px solid #DFDFDF;
    }
    .header-form form::before {
        display: none;
    }
    .header-form form .flex-fill {
        width: 100%;
        padding: 0;
        margin-bottom: 14px;
    }
    .header-form form .btn.btn-primary {
        width: 100%;
        padding: 10px 20px;
        border-radius: 6px;
        display: inline-block;
        position: relative;
        top: 0;
        right: 0;
    }
    .features ul {
        display: flex;
        justify-content: space-around;
    }
    .features ul li {
        width: auto;
    }
    .how-it-works ul li {
        height: auto;
    }
    .how-it-works ul li h4 {
        font-size: 16px;
        line-height: 20px;
    }
    .how-it-works ul li p {
        font-size: 14px;
    }

    .list-companies {
        text-align: center;
        padding: 30px 0;
        margin-bottom: 0;
    }
    .overflow-sm-auto {
        overflow-x: auto;
    }
    .header-company .list-companies {
        text-align: left;
    }
    .list-companies.top-company {
        background: #fafafa;
    }
    .list-companies .company_logo {
        display: inline-block;
        float: none;
    }
    .list-companies img {
        width: 120px;
    }
    .list-companies .company_name {
        margin-top: 10px;
    }
    .list-companies .company_name span {
        display: inline-block;
    }
    .list-companies h5 {
        font-size: 20px;
        line-height: 24px;
        font-weight: 600;
    }
    .list-companies ul.list-services li {
        width: 100%;
        margin: 0 0 20px;
    }
    .list-companies .btn.btn-outline-primary {
        margin-top: 20px;
    }

    ul.companies-list {
        margin: 0;
    }
    ul.list-top-companies {
        flex-wrap: nowrap;
        margin-left: 0;
        gap: 5px;
    }
    ul.list-top-companies > li {
        width: 80%;
        margin: 0 10px;
    }
    ul.companies-list > li.companies-list-header {
        display: none;
    }
    .list-companies .company_logo {
        width: 100%;
        height: auto;
        display: block;
        text-decoration: none;
    }
    .list-companies .company_logo .logo_initials {
        width: 100%;
        aspect-ratio: 1 / 1;
        height: auto;
        line-height: normal;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 26px;
    }
    .list-companies .company_name {
        display: none;
    }
    .list-companies .list-info {
        text-align: left;
    }
    .list-companies ul.list-info li {
        display: inline-block;
        font-size: 14px;
        font-weight: 400;
        line-height: normal;
        letter-spacing: 0.14px;
    }
    .list-companies ul.list-info li i {
        margin-right: 0px;
    }
    .list-companies .list-info .company_name {
        display: inline-block;    
        font-size: 17px;
        font-style: normal;
        font-weight: 600;
        line-height: normal;
        margin: 0;
    }
    
    .header-company {
        padding-top: 0;
    }
    .header-company .list-companies h1 a {
        margin-top: 0;
    }
    .sidebar-quote,
    .sidebar-other {
        max-width: 100%;
    }

    ul.list-inline li {
        width: 49%;
    }

    .block#no-reviews {
        padding: 0 40px;
        text-align: center;
    }
}

@media only screen and (max-width: 768px) {
    .features ul,
    ul.projects-box,
    .services ul,
    .how-it-works ul {
        display: inline-block;
    }
    section.subtitle-section {
        margin-top: -30px;
    }
    section.subtitle-section h2 {
        font-size: 24px;
        line-height: 30px;
    }
    section.subtitle-section p {
        font-size: 16px;
        line-height: 24px;
    }
    .features ul li {
        width: 100%;
        margin: 40px 0;
    }
    .breadcrumb ol {
        display: flex;
        flex-wrap: wrap;
        justify-content: start;
        list-style: none;
        gap: 5px;
        row-gap: 5px;
    }
    .breadcrumb .breadcrumb-item {
        display: inline-block;
        margin: 0;
        padding: 0;
    }
    .breadcrumb .breadcrumb-item, .breadcrumb .breadcrumb-item a {
        font-size: 15px;
        font-weight: 400;
    }
    .breadcrumb-item+.breadcrumb-item::before {
        font-size: 15px;
    }
    .banner::before {
        width: 100%;
        height: 60%;
        background: linear-gradient(0deg, rgba(251, 253, 255, 0.00) 10%, #FBFDFF 100%);
    }
    .banner .container {
        padding-top: 80px;
    }
    .banner .container h1 {
        width: 100%;
        font-size: 34px;
        line-height: 40px;
        text-align: center;
    }
    .banner form {
        width: 100%;
        box-sizing: border-box;
        border-radius: 10px;
        padding: 10px;
        margin: 30px 0 0;
    }
    .banner form::before {
        display: none;
    }
    .banner form .select2-container {
        margin-bottom: 10px;
    }
    .select2-container--open .select2-dropdown--below {
        margin-top: 0;
    }
    .banner form button {
        position: relative;
        top: inherit;
        right: inherit;
        padding: 10px;
        border-radius: 10px;
    }
    ul.projects-box li {
        margin-bottom: 20px;
    }
    .services {
        margin-bottom: 40px;
    }
    .services ul li {
        max-width: none;
        margin-bottom: 40px;
    }
    .how-it-works ul li {
        margin-bottom: 50px;
    }
    .how-it-works ul li.divider {
        display: none;
    }
    .hero {
        height: 500px;
        margin-top: 30px;
    }
    .hero .content {
        width: 75%;
    }
    .form-footer {
        padding: 40px 20px 50px;
        text-align: center;
    }
    .form-footer h2 {
        margin-bottom: 30px;
    }
    .form-footer form {
        width: 100%;
        display: inline-block;
        text-align: left;
    }
    .form-footer form .col-auto {
        width: 100%;
        display: inline-block;
    }
    .form-footer form .btn {
        width: 100%;
        border-radius: 10px;
    }
    footer {
        text-align: center;
    }
    footer .logo {
        display: inline-block;
        float: none;
        margin: 0 0 40px;
    }
    footer ul {
        margin: 0;
        width: 100%;
        display: inline-block;
        text-align: center;
    }
    footer ul li {
        margin: 0;
    }
    footer h3 {
        text-align: center;
        margin-top: 40px;
    }
    footer ul.list-social {
        justify-content: center;
        text-align: center;
        display: flex;
        float: none;
        width: 100%;
        margin: 0;
    }

    .content {
        padding: 30px 0;
    }
    .content h2 {
        font-size: 24px;
        line-height: 30px;
        margin-bottom: 10px !important;
    }
    ul.list-inline li {
        width: 100%;
    }
}

@media only screen and (max-width: 400px) {
    .logo {
        width: 220px;
    }
    header .mobile-nav nav.navbar {
        right: 0;
        top: 39px;
    }
}
