/*
Theme Name: TwentyTwentyone Child
Theme URI: http://bradlee.es
Version: 1.0
Description: Tema hijo de TwentyTwentyone
Author: Quim Ubach
Author URI: http://bradlee.es
Template: twentytwentyone
*/
 
/*----------------- Cambios a partir de aquí -------------------------------*/

.site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) {
	background: transparent!important;
}
input[type=text]:focus, input[type=email]:focus, input[type=url]:focus, input[type=password]:focus, input[type=search]:focus, input[type=number]:focus, input[type=tel]:focus, input[type=date]:focus, input[type=month]:focus, input[type=week]:focus, input[type=time]:focus, input[type=datetime]:focus, input[type=datetime-local]:focus, input[type=color]:focus, .site textarea:focus,
.site a:focus:not(.wp-block-button__link):not(.wp-block-file__button), .site a:focus:not(.wp-block-button__link):not(.wp-block-file__button) img {
    outline: none!important;
}
select:focus {
    outline-offset: 0px!important;
    outline: 0px dotted var(--form--border-color)!important;
}
* {
    font-family: "Open Sans", sans-serif;
    color:#1F1F1F;
   /* color:rgb(51, 51, 51);*/
    font-size:18px;
}
a {
    text-decoration:none!important;
}
a:hover {
    color:#6B6868!important;
}
body {
    background-color: white!important;
    padding-top:83px!important;
    overflow-x:hidden;
}

.container_max {
    max-width:2000px;
    width:100%;
    margin-left:auto;
    margin-right:auto;
}

.container_cr {
    max-width:1200px;
    width:100%;
    margin-left:auto;
    margin-right:auto;
}
.container_producto_contacta {
    max-width:600px;
    width:100%;
    margin-left:auto;
    margin-right:auto;
}
.position_relative {
    position:relative;
}
.back_gray {
    background-color: #E3E3E3;
}
.back_red {
    background-color: #D80012;
}
.back_white {
    background-color: white;
}
.color_red {
    color:#D80012;
}
.color_gray {
    color:#6B6868;
}
.color_lightblue {
    color:#A9E6D4;
}
.color_green {
    color:green;
}
/* menu mvl */
.menu_parent, .menu_parent_2 {
    position:relative;
    display:inline-flex;
    align-items: center;
}
.menu_parent_2 {
    width:100%;
}
.menu_parent:hover .menu_child, .menu_parent_2:hover .menu_child_2 {
    /*transform: translateY(0%);
    opacity: 1;
    height:auto;*/
    /*display:block;*/
    opacity: 1;
    height:auto;
    overflow: visible;
}
.menu_child {
    /* display:none;*/
    transition: all 0.5s ease-out;
    opacity: 0;
    height:0px;
    overflow: hidden;
    /*transform: translateY(-100%);
    opacity: 0;
    height:0px;*/
    transition: all 0.3s ease-out;
    position:absolute;
    top: 45px;
    left:0px;
    -webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
    -moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
    box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
    background-color: white;
    z-index: 999999999;
}
.menu_child_2 {
    /*display:none;*/
    opacity:0;
    height:0px;
    overflow: hidden;
    /*transform: translateY(-100%);
    opacity: 0;
    height:0px;*/
    transition: all 0.3s ease-out;
    position:absolute;
    top: 0px;
    left: 0px;
    transform: translateX(100%);
    -webkit-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
    -moz-box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
    box-shadow: 0px 0px 5px 0px rgba(0,0,0,0.75);
    background-color: white;
    z-index: 999999999;
}

#menu_mvl {
    position:fixed;
    z-index: 99999;
    background-color: white;
    top:0px;
    left:0px;
    width:100%;
    height:100vh;
    overflow-y :auto;
    padding: 40px 0px;
    display:none;
}
.menu_container {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    min-height:100%;
}
.menumvl_link {
    color:#1f1f1f;
    font-size:30px;
}
#menu_closer {
    position:fixed;
    top:30px;
    right:30px;
    font-size:40px;
    z-index: 999999;
}
#menu_closer i{
    font-size:40px;
}
.menumvl_langswitcher {
    margin-top:20px;
}
.menumvl_parent {
    text-align:center;
}
.menmvl_child a {
    display:block;
}
.menmvl_child .menumvl_link {
    font-size:24px;
}
.menmvl_child_2 .menumvl_link {
    font-size:20px;
}
.menunmvl_child_opener {
    margin-left: 15px;
    color:#1f1f1f;
}
.menumvl_parent_2 > a {
    display:inline-block;
    margin-right:15px;
}
/* end menu mvl */

.logo {
    width:172px;
}

.menu_grid {
    display:grid;
    grid-template-columns: 200px 1fr 200px;
    padding:15px 20px;
    
    -webkit-box-shadow: 0px 0px 14px 0px rgba(0,0,0,0.75);
    -moz-box-shadow: 0px 0px 14px 0px rgba(0,0,0,0.75);
    box-shadow: 0px 0px 14px 0px rgba(0,0,0,0.75);
}
.top_menu {
    display:flex;
    align-items: center;
    justify-content: space-around;
}
.menu_link {
    color:#6B6868;
    font-size:16px;
}
.top_menu > .menu_link, .top_menu > .menu_parent > .menu_link {
    padding: 15px 0px;
}

.top_menu .menu_child .menu_link {
    display:block;
    padding: 7px 15px;
}

.header_top_language {
    display: inline-flex;
    align-items: center;
    height: 100%;
}
.langswitcher  {
    color:#A9E6D4;
    width:37px;
    height:37px;
    border:1px solid #A9E6D4;
    margin-left:7px;
    font-size:16px;
    display:inline-flex;
    align-items: center;
    justify-content: center;
}
a.langswitcher:hover {
    color:#A9E6D4!important;
}
.header_socials {
    display:inline-block;
    margin-left:20px;
}
.menu_grid_col_3 {
    text-align:right;
}
#menu_opener {
    display:none;
}
@media (max-width:1260px) {
    #menu_opener {
        display:block;
    }
    .menu_grid {
        grid-template-columns: 1fr 30px;
    }
    .menu_grid_col_3, .menu_link {
        display:none;
    }
}
.menumvl_language {
    margin-top:15px;
    margin-bottom:15px;
}

.menu_fixed {
    position:fixed;
    top:0px;
    left:0px;
    width:100%;
    z-index:9999;
}

.home_topimg {
    /*aspect-ratio: 1590/810;*/
    width:100%;
    height: calc(100vh - 83px);
    object-fit: cover;
}
@media (max-width:767px) {
    .home_topimg {
        aspect-ratio: unset;
        width: 100%;
        height: 335px;
        object-fit: cover;
    }
}

.reel_bottom .owl-dot {
    width:16px;
    height:16px;
    border:1px solid #1f1f1f;
    background-color:transparent!important;
    border-radius:100%;
    margin-right:7px;
    padding:0px!important;
}
.reel_bottom .owl-dot.active {
    background-color:#1f1f1f!important;
}

.reel_bottom {
    display:grid;
    grid-template-columns: 1fr 95px;
    position: absolute;
    bottom: 0px;
    z-index: 99;
    width: 1200px;
    left: 50%;
    transform: translateX(-50%);
    max-width:100%;
}
.reel_bottom_1 {
    background-color: #a9e6d4c3;
    padding:15px 20px;
}
.reel_bottom_2 {
    background-color: #D80012;
    display:flex;
    height:100%;
    align-items: center;
    justify-content: center;
}
.reel_bottom_2 i {
    font-size:35px;
    color:white;
}
.reel_bottom_text {
    font-size:24px;
    font-weight: bold;
}

.mt-6 { margin-top:60px }
.mt-7 { margin-top:70px }
.mt-8 { margin-top:80px }
.mt-9 { margin-top:90px }
.mt-10 { margin-top:100px }

.mb-6 { margin-bottom:60px }
.mb-7 { margin-bottom:70px }
.mb-8 { margin-bottom:80px }
.mb-9 { margin-bottom:90px }
.mb-10 { margin-bottom:100px }

.home_grid_1 {
    display: flex;
    flex-wrap: wrap;
}
.home_grid_1_col_1 {
    width: calc(((100% - 1200px) / 2) + 425px);
    width:50%;
    padding-left: calc(((100% - 1200px) / 2) + 12px);
    /*padding-top: 50px;*/
    padding-right: 110px;
    padding-bottom: 50px;
}
/*.home_grid_1_col_1_defaultpage {
    padding-top:35px;
}*/
@media (min-width:992px) {
    .home_grid_1_col_2_gallery {
        padding-right: calc((100% - 1200px) + 600px);
    }
}
.home_grid_1_col_2 {
    width:50%;
}
@media (max-width:1220px) {
    .home_grid_1_col_1 {
        padding-left:12px;
        padding-right: 12px;
    }
}
@media (max-width:991px) {
    .home_grid_1_col_1 {
        width:100%;
        padding-top: 0px;
    }
    .home_grid_1_col_2 {
        width:100%;
    }
}

.home_grid_2 {
    display: flex;
    flex-wrap: wrap;
}
.home_grid_2_col_1 {
    width:50%;
}
.home_grid_2_col_2 {
    width: calc(((100% - 1200px) / 2) + 425px);
    width:50%;
    padding-right: calc((100% - 1200px) / 2);
    padding-top: 50px;
    padding-left: 110px;
    padding-bottom: 50px;
}
@media (max-width:1220px) {
    .home_grid_2_col_2 {
        padding-left:20px;
        padding-right: 20px;
    }
}
@media (max-width:991px) {
    .home_grid_2_col_2 {
        width:100%;
        padding-top: 0px;
    }
    .home_grid_2_col_1 {
        width:100%;
    }
}

.title {
    font-size:46px;
    font-weight: bold;
    line-height: 58px;
}
@media (max-width:991px) {
    .title {
        font-size:30px;
        line-height: 42px;
    }
}
.subtitle {
    font-size:28px;
    font-weight: bold;
}
.home_img_bottom_lightblue {
    background-color: #A9E6D4;
    width: calc(100% - 90px);
    height:80px;
}

.home_img_bottom_lightblue_mini {
    background-color: #A9E6D4;
    width: calc(100% - 90px);
    height:30px;
}
.text-right {
    text-align:right;
}
.float-right {
    float:right;
}
.home_circle_text, .home_circle_text b {
    font-size:24px;
    margin-top:20px;
}
.home_circle_line {
    width:65px;
    height:4px;
    background-color: #D80012;
    margin: 0 auto;
    margin-top:20px;
    margin-bottom:80px;
}
.home_icos_table td {
    border:0px solid transparent;
    padding:0px;
    padding-bottom:22px;
}
.home_icos_table tr td:first-child {
    width:60px;
}
.home_icos_text {
    font-size:24px;
    color:#6B6868;
}
.home_grid_3_title {
    font-size:28px;
    font-weight: bold;
}
.home_btn {
    color:#6B6868;
    font-size:18px;
    width: 190px;
    padding:10px 20px;
    border:1px solid #6B6868;
    border-radius:3px;
    text-align:center;
}
.home_grid_3 {
    display:grid;
    grid-template-columns: 60% 40%;
}
@media (max-width:991px) {
    .home_grid_3 {
        grid-template-columns: 100%;
    }
}
.home_grid_3_col_2 {
    min-height: 270px;
    background-size: cover;
    background-position: center;
}
.home_grid_3_col_1 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-left: 10px solid #D80012;
    background-color: #EDEDED;
    padding:40px;
}
.home_clienrs_row {
    display:flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
}
.home_clienrs_row div{
    min-width:100px;
    margin-bottom:30px;
    max-width:113px;
    text-align: center;
}

.footer {
    border-top: 10px solid #A9E6D4;
    background-color: #EDEDED;
    padding-top:50px;
    padding-bottom:20px;
}
.logofooter {
    width:255px;
}
.footer_title {
    font-size:18px;
}
.footer_text {
    font-size:14px;
}
.footer_line {
    width:100%;
    height: 1px;
    background-color: #D80012;
    margin-top:20px;
    margin-bottom:20px;
}

.topimg {
    width:100%;
    height:400px;
    object-fit: cover;
}
.crbreadcrumb, .crbreadcrumb span, .crbreadcrumb a {
    font-size:16px;
}

.proyectos_gallery {
    column-count: 2;
    column-gap: 20px;
}
.proyectos_gallery img {
    margin-bottom:20px;
}

.select_languageswitcher {
    border: 1px solid #6B6868;
}

.img_circle {
    aspect-ratio:1/1;
    object-fit: cover;
    border-radius:50%;
    width:255px;
}

.text p {
    margin-bottom:15px;
}
.bold {
    font-weight: bold;
}

.galeria_proyecto_img {
    width:100%;
    aspect-ratio:750/370;
    object-fit: cover;
}

.galeria_proyecto  .owl-dots {
    display:none;
}
.proyectos_grid_img {
    width:100%;
    aspect-ratio:270/170;
    object-fit: cover;
}
.bold {
    font-weight: bold;
}
.italic {
    font-style: italic;
}

.sectores_grid_sector {
    display: grid;
    grid-template-columns: 50px 1fr;
    align-items: center;
    margin-bottom:20px;
}
.sectores_grid_text {
    text-transform: uppercase;
}


.cerramientos_img {
    width:100%;
    height:250px;
    object-fit: cover;
}

.cerramientos_contacta_img {
    width:100%;
    height:250px;
    object-fit: cover;
}
.cerramientos_contacta_box {
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    background-color: #a9e6d4c3;
    text-align:center;
    padding:20px;
}
.cerramientos_contacta_text_1 {
    font-size:20px;
    font-weight: bold;
}
.cerramientos_contacta_text_3 {
    font-size:24px;
    font-weight: bold;
}

.prod_cotnacta_inputtext {
    width:100%;
    padding:7px 10px!important;
    background-color: #E3E3E3;
    border:1px solid #E3E3E3!important;
}
.prod_cotnacta_inputtext::placeholder {
    font-size:15px;
}

.prod_cotnacta_captcha {
    width:60px;
    padding:7px 10px!important;
    background-color: #E3E3E3;
    border:1px solid #E3E3E3!important;
}

.prod_contacta_title {
    color:#1f1f1f;
    text-align:center;
    font-size:28px;
}

.form-check-label {
    font-weight: 400!important;
}

.prod_contacta_btn {
    padding:10px 10px!important;
    background-color: white!important;
    border:1px solid #0f639b!important;
    color:#0f639b!important;
    font-size:16px!important;
}

.prod_cotnacta_inputtext.err, .prod_cotnacta_captcha.err , .form-control.err {
    border:1px solid red!important;
}
.form-check.err label {
    color:red!important;
}


.textxs {
    font-size:14px;
}

.puertassalasblancas_grid_5 {
    display:grid;
    grid-template-columns:19% 19% 19% 19% 19%;
    gap: 1%;
}
@media (max-width:991px) {
    .puertassalasblancas_grid_5 {
        display:grid;
        grid-template-columns:100%;
    }
}

.galeria_proyecto_grid {
    column-count: 2;
    column-gap:20px;
}
.galeria_proyecto_grid_img {
    width:100%;
    margin-bottom:20px;
}

#sel_sector {
    border:1px solid #1f1f1f;
    
}

iframe.contacto_gmaps {
    width:100%;
}
.relative {
    position:relative;
}

.topimg_text_wrapper {
    position:absolute;
    bottom:20px;
    right:20px;
    background-color: #a9e6d49f;
    padding:20px;
    max-width: min(calc(100% - 40px) , 500px);
}
@media (min-width:1200px)  {
    .topimg_text_wrapper {
        margin-right: calc((100% - 1200px) / 2);
    }
}
input[type=checkbox]:after {
    display:none!important;
}

.faq-item {
    background-color: #6B6868;
    color:white;
    font-size:20px;
    font-weight: 600;
    padding:15px;
    padding-right:50px;
    position:relative;
    margin-bottom:20px;
}
.faq-item .fa-plus {
    position:absolute;
    color:white;
    right:20px;
    top:50%;
    transform:translateY(-50%);
}

.faqs_title_wrapper {
    display:grid;
    grid-template-columns: 1fr 200px;
}

#faqs_select {
    border:1px solid #1f1f1f!important;
    padding: 15px!important;
    height: 50px!important;
    line-height: 1.2!important;
}