@media only screen and (max-width: 1440px) {
    #contactos,
    footer > .content > .content {
        width: 100%;
    }

    #contactos {
        margin-bottom: 20px;
    }
}

@media only screen and (max-width: 1180px) {
    header nav {
        position: relative;
        float: left;
        top: 0px;
        margin-bottom: 20px;
        clear: both;
    }

    header {
        height: auto;
    }

    header nav ul li a {
        font-size: 16px;
    }

    .logo {
        margin-top: 46px;
        top: 0px;
    }

    #slider {
        float: left;
        height: auto;
    }

    #slider.home {
        height: auto;
    }

    .slides li {
        overflow: hidden;
        position: relative;
        width: 100%;
    }

    #map,
    #video {
        width: 71%;
        float: right;
        right: 0px;
    }

    #newsletter input {
        width: 170px;
    }

    .final .fifty {
        width: 100%;
    }

    #homeSlider .caption {
        font-size: 40px;
        line-height: 50px;
    }

    .promo h3 {
        font-size: 40px;
        line-height: 50px;
    }

    .promo {
        font-size: 24px;
        line-height: 34px;
    }

    .promo a.button {
        font-size: 20px;
        line-height: 30px;
        padding: 5px 20px;
    }
}

@media all and (max-width: 1045px) {
    footer {
        height: auto;
    }

    footer > .content {
        width: calc(100% - 40px);
        -moz-width: calc(100% - 40px);
        -webkit-width: calc(100% - 40px);
        overflow: hidden;
    }

    #contactos {
        width: 100%;
    }

    .contactFooter {
        width: 50%;
    }

    footer > .content > .content {
        margin-top: 35px;
        float: left;
        width: 100%;
    }
}

@media only screen and (max-width: 1100px) {
    .ciudad {
        width: 33.33%;
    }
}

@media only screen and (max-width: 900px) {
    .promo {
        padding: 50px;
    }

    .blog-grid,
    .single-post-content,
    .sidebar-blog {
        width: 100%;
    }

    .sidebar-blog {
        padding-left: 0;
    }

    .blog-grid,
    .single-post-content {
        margin-bottom: 80px;
    }

    .sidebar-blog .single-sidebar {
        width: 28%;
        float: left;
        margin-right: 5%;
    }

    .single-content,
    .single-title,
    .thumb {
        padding-right: 0;
    }

    #pagination {
        width: 80%;
        margin: 0 auto;
    }
}

@media only screen and (max-width: 768px) {
    body {
        font-size: 14px;
        line-height: 20px;
        font-weight: normal;
    }

    #slider {
        float: left;
        height: auto;
    }

    .slides li {
        overflow: hidden;
        position: relative;
        width: 100%;
    }

    .slides li span,
    .page-template-map .slides li span {
        width: calc(100% - 4%);
        -webkit-width: calc(100% - 4%);
        -moz-width: calc(100% - 4%);
        padding: 2%;
        min-height: 0px;
        position: relative;
        float: right;
        right: 0px;
        height: auto;
    }

    #slider .background,
    #map,
    #video {
        width: 100%;
        height: 400px;
        position: relative;
        top: 0;
        left: 0;
        float: left;
    }

    .promoNav {
        top: 249px;
    }

    .promoNav li a {
        font-size: 16px;
        margin: 15px 0px 10px 0px;
    }

    .promoNav li ul a {
        font-size: 12px;
        line-height: 16px;
    }

    .promo li ul li {
        margin-bottom: 0px;
    }

    .promo h2 {
        font-size: 16px;
        margin-bottom: 10px;
    }

    .promo a.close {
        font-size: 14px;
        padding-left: 0px;
        line-height: 25px;
    }

    #newsletter span {
        font-size: 12px;
        line-height: 16px;
    }

    #newsletter input {
        width: 100px;
    }

    .promo a.button {
        width: 100%;
        font-size: 20px;
        margin: 0 0 20px 0;
        line-height: 30px;
        padding: 5px 20px;
        box-sizing: border-box;
    }

    .blog-entry {
        width: 50%;
    }

    .error-big {
        font-size: 55px;
        line-height: 60px;
    }

    .error-small {
        font-size: 16px;
        line-height: 26px;
    }

    #error-page a {
        font-size: 16px;
    }
}

@media all and (max-width: 740px) {
    .ciudad {
        width: 50%;
    }

    header {
        height: 80px;
    }

    #homeSlider {
        display: none;
    }

    .home #headerContainer {
        max-height: 80px;
        z-index: 222222;
        overflow-y: scroll;
    }

    .menu-opened.home #headerContainer {
        max-height: 100vh;
    }

    .logo a {
        background: url(../images/logo.png) no-repeat;
        background-size: 100%;
        max-width: 240px;
    }

    #headerContainer {
        position: fixed;
        width: 100%;
        height: 60px;
        z-index: 999;
    }

    #main {
        padding-top: 80px;
    }

    #hamburger {
        display: block;
        position: fixed;
        top: 15px;
        right: 20px;
        z-index: 90;
    }

    .toggleMenu {
        position: relative;
        display: inline-block;
        width: 30px;
        height: 30px;
    }
    .toggleMenu span {
        margin: 0 auto;
        position: relative;
        top: 14px;
    }
    .toggleMenu span:before,
    .toggleMenu span:after {
        position: absolute;
        content: "";
    }
    .toggleMenu span,
    .toggleMenu span:before,
    .toggleMenu span:after {
        width: 30px;
        height: 2px;
        background-color: #007398;
        display: block;
    }
    .toggleMenu span:before {
        margin-top: -10px;
    }
    .toggleMenu span:after {
        margin-top: 10px;
    }

    .toggleMenu span {
        -webkit-transition-duration: 0s;
        -webkit-transition-delay: 0.05s;
        -moz-transition-duration: 0s;
        -moz-transition-delay: 0.05s;
    }
    .menu-opened .toggleMenu span {
        background-color: rgba(0, 0, 0, 0) !important;
        -webkit-transition-delay: 0.1s;
        -moz-transition-delay: 0.1s;
    }
    .toggleMenu span:before {
        -webkit-transition-property: margin, -webkit-transform;
        -webkit-transition-duration: 0.1s;
        -webkit-transition-delay: 0.1s, 0;
        -moz-transition-property: margin, -webkit-transform;
        -moz-transition-duration: 0.1s;
        -moz-transition-delay: 0.1s, 0;
    }
    .menu-opened .toggleMenu span:before {
        background-color: white;
        margin-top: 0;
        -webkit-transform: rotate(45deg);
        -webkit-transition-delay: 0, 0.1s;
        -moz-transform: rotate(45deg);
        -moz-transition-delay: 0, 0.1s;
    }
    .toggleMenu span:after {
        -webkit-transition-property: margin, -webkit-transform;
        -webkit-transition-duration: 0.1s;
        -webkit-transition-delay: 0.1s, 0;
        -moz-transition-property: margin, -webkit-transform;
        -moz-transition-duration: 0.1s;
        -moz-transition-delay: 0.1s, 0;
    }
    .menu-opened .toggleMenu span:after {
        background-color: white;
        margin-top: 0;
        -webkit-transform: rotate(-45deg);
        -webkit-transition-delay: 0, 0.1s;
        -moz-transform: rotate(-45deg);
        -moz-transition-delay: 0, 0.1s;
    }

    .logo {
        margin-top: 1px;
        width: 60%;
    }

    .logo a {
        background-size: 100%;
        width: 100%;
    }

    header nav {
        padding: 90px 40px 40px;
        position: fixed;
        width: 100%;
        height: 100%;
        top: 0;
        left: 100%;
        opacity: 0;
        background: #007398;
        overflow-y: scroll;
        transition: all 0.4s ease;
        -webkit-transition: all 0.4s ease;
        -moz-transition: all 0.4s ease;
        -o-transition: all 0.4s ease;
    }

    header nav ul li {
        clear: both;
        padding: 5px 0;
    }

    header nav ul li a {
        font-weight: normal !important;
    }

    header nav a,
    header nav ul li ul.sub-menu li a,
    header nav ul li ul.sub-menu li.disabled a {
        color: white !important;
    }

    .menu-opened header nav {
        left: 0;
        opacity: 1;
    }

    #language {
        display: none;
    }

    #mobileLanguage {
        display: block !important;
        clear: both;
        margin-top: 40px;
    }

    #mobileLanguage li {
        float: left;
        margin-right: 20px;
        width: auto;
    }

    #mobileLanguage li a {
        font-size: 12px;
    }

    header nav ul li ul.sub-menu li a,
    header nav ul li ul.sub-menu li ul.sub-menu li a {
        font-size: 16px;
    }

    header nav ul li ul.sub-menu,
    header nav ul li ul.sub-menu li ul.sub-menu {
        background: transparent;
        position: fixed;
        left: 100%;
        width: 100%;
        height: 100%;
        top: 0;
        width: 100%;
        display: block;
        padding: 0;
        top: 0;
        padding: 90px 40px 40px;
        background: #a4d1b0;
        opacity: 0;
        z-index: 10;
        transition: all 0.4s ease;
        -webkit-transition: all 0.4s ease;
        -moz-transition: all 0.4s ease;
        -o-transition: all 0.4s ease;
    }

    header nav ul li ul.sub-menu.show,
    header nav ul li ul.sub-menu li ul.sub-menu.show {
        opacity: 1;
        left: 0;
    }

    #back {
        z-index: 99999;
        position: fixed;
        top: 20px;
        left: 20px;
        color: white;
        font-size: 30px;
    }

    #homeSlider .caption {
        font-size: 24px;
        line-height: 30px;
    }

    #cookie-law-info-again {
        display: none;
    }

    .promo h3 {
        font-size: 30px;
        line-height: 40px;
    }

    .promo {
        font-size: 20px;
        line-height: 28px;
        height: auto;
    }

    .promo .content {
        top: 0;
        transform: none;
        padding: 90px 0;
    }

    .promo a.button {
        font-size: 18px;
        line-height: 27px;
        margin-bottom: 32px;
    }

    .sidebar-blog .single-sidebar {
        width: 400px;
        max-width: 100%;
        margin: 0 auto;
        margin-bottom: 40px;
        float: none;
        display: block;
    }

    .single-post-content h1 {
        max-width: 100%;
        width: 100%;
    }

    .single #main,
    .page-template-blog #main,
    .category #main {
        padding: 100px 0;
    }

    .column.middle .locations {
        width: 100%;
    }

    .column.right .locations {
        width: 50%;
    }

    .projectTextBlock > *,
    .projectTextBlock.rentabilidad > *,
    .page-id-59 .projectTextBlock > ul,
    .page-id-2437 .projectTextBlock > ul,
    .page-id-3487 .projectTextBlock > ul {
        width: 100%;
    }

    .projectTextBlock.herramientas > p {
        margin-bottom: 20px;
    }

    #projectImage {
        margin-top: 0;
    }

    .twocolumns .left,
    .twocolumns .right {
        width: 100%;
        margin-right: 0;
        border-top: 0;
        max-width: 400px;
        margin: 0 auto;
        text-align: center;
        float: unset;
    }

    .simple.threecolumns .column {
        width: calc(100% - 40px);
        -webkit-width: calc(100% - 40px);
        -moz-width: calc(100% - 40px);
    }
}

@media only screen and (max-width: 550px) {
    footer {
        text-align: center;
    }

    .simple.map.threecolumns article h3 {
        font-size: 22px;
        line-height: 28px;
    }

    .promo {
        width: 100%;
        margin-right: 0%;
    }

    .video {
        width: 100%;
        margin-right: 0px;
        margin-bottom: 30px;
    }

    #newsletter button[type="submit"] {
        margin-top: 20px;
    }

    span.wpcf7-form-control-wrap {
        width: 100%;
    }

    .map .wpcf7 p {
        width: 100%;
    }

    .threecolumns .column {
        width: 100%;
        margin-right: 0px;
        border-top: 0px;
    }

    .push {
        height: 260px;
    }

    footer .fifty {
        width: 100%;
    }

    .push {
        height: 860px !important;
    }
    .ciudad {
        width: 100%;
    }
    .contactFooter {
        width: 100%;
    }
    #newsletter {
        width: 100%;
    }

    .blog-entry {
        width: 100%;
        margin-bottom: 60px;
    }

    .post-img,
    .post-img img {
        height: auto;
    }

    .error-big {
        font-size: 48px;
        line-height: 60px;
    }

    #pagination {
        width: 100%;
    }

    .slides li .caption,
    .content h2,
    body:not(.home) .slides li .caption {
        font-size: 28px;
        line-height: 36px;
    }

    .projectTextBlock > *,
    .clients,
    .simpleArticle {
        font-size: 17px;
        line-height: 24px;
    }

    #projectText table td li,
    #projectText table td li span {
        font-size: 13px;
        line-height: 16px;
    }

    #projectText .projectTextBlock h4,
    #preTwoColumns h3,
    .content .clients h3,
    .simple.threecolumns article h3,
    .simpleArticle h3,
    .twocolumns article h3 {
        font-size: 22px;
        line-height: 28px;
    }

    #projectText .projectTextBlock table h4 {
        font-size: 16px;
        line-height: 22px;
    }
}
