/* -----  _descripcion.scss     -----*/
.descripcion{
    padding-bottom: 6.0em
}
.descripcion.inicio{
	padding-bottom: 0
}
.descripcion:before {
    content: "";
    display: block;
    position: absolute;
    width: 41.6666666667%;
    height: 100%;
    top: 60%;
    left: 65.3333333333%;
    background-image: url("../images/trama-azul.svg");
    background-repeat: no-repeat;
    background-size: 90%;
    pointer-events: none;
    opacity: 0.7
}
.descripcion.inicio:before{
	background-image: none !important
}
p.intro {
    font-size: 1.8em;
    line-height: 1.3em;
    font-weight: 300
}
p.intro em{
    display: block;
    font-style: normal;
    font-weight: 600;
    font-size: 0.7em
}
@media only screen and (max-width: 767px) {
    .descripcion:before {
        width: 41.6666666667%;
        height: 100%;
        top: 70%;
        left: 65.3333333333%;
        background-size: 180%;
        opacity: 1
    }
    p.intro {
        font-size: 1.6em;
    }
     p.intro em{
        font-size: 0.87em;
        line-height: 1.2em;
        margin-bottom: 10px
    }
}
/* -----  _certificacion.scss     -----*/
.certificacion p{
    font-size: 1.2em;
    line-height: 1.5em
}
.certificacion img {
    width: 70%
}
.certificacion:before {
    content: "";
    display: block;
    position: absolute;
    width: 41.6666666667%;
    height: 100%;
    top: 0;
    left: 65.3333333333%;
    background-image: url("../images/isomark.svg");
    background-repeat: no-repeat;
    background-size: 70%;
    pointer-events: none;
    opacity: 1
}
@media only screen and (max-width: 767px) {
    .certificacion p{
        font-size: 1.35em
    }
    .certificacion img {
        width: 40%;
        margin-left: 30%;
        margin-bottom: 30px
    }
     .certificacion h2{
        text-align: left
    }
}
/* -----  _servicios.scss     -----*/
.servicios {
    background: url(../images/bkg-servicios.webp) no-repeat left center;
    color: #fff
}
@media(min-width: 768px) {
    .servicios .titulo-section {
        color: #c5ccd4
    }
}
.servicios li{
    list-style-type: none;
    color: rgba(255,255,255,0.80);  
    border-bottom: solid 1px #597295
}
.servicios li em{
    color: #fff;
    font-style: normal;
    font-weight: bold;
    font-size: 1.25em;
    display: block;
    text-transform: uppercase;
    margin-bottom: 10px
}
.servicios li.ic-1{
    background: url(../images/icn-gestion-sostenible.png) no-repeat left center;
    background-size: 60px
}
.servicios li.ic-2{
    background: url(../images/icn-voluntariado.svg) no-repeat left center;
    background-size: 60px
}
.servicios li.ic-3{
    background: url(../images/icn-gestion-social.png) no-repeat left center;
    background-size: 60px
}
.servicios li.ic-4{
    background: url(../images/icn-gestion-ambiental.svg) no-repeat left center;
    background-size: 60px
}
.servicios li a{
    display: block;
    transition: all 0.5s ease-out;
    padding: 2em 0 2em 100px;
    background: url(../images/arrow.png) no-repeat right center;
}
.servicios li a:hover{
    text-decoration: none;
    margin-left: 10px;
    background: url(../images/arrow.png) no-repeat right center;
}
.servicios li:first-child a{
    padding-top: 0 !important
}
.servicios span.desc{
    display: block;
    width: 90%
}
@media only screen and (max-width: 767px) {
    .servicios{
        background: url(../images/bkg-servicios.webp) no-repeat center 20px;
        background-size: cover
    }
    .servicios .titulo-section {
        color: #c5ccd4
    }
    .servicios ul{
        padding-left: 0;
        margin-top: 30px
    }
    .servicios li a{
        padding-left: 80px;
    }
    .servicios h2{
        text-align: left
    }
    .servicios span.desc{
        font-size: 1.3em
    }
}
/* -----  _clientes.scss     -----*/
.clientes .cuadro, .socios .cuadro {
    padding: 1rem;
    border: solid 1px #E8E8E8;
    aspect-ratio: 1/1
}
.clientes .imagen, .socios .imagen {
    width: 100%;
    max-height: 6rem;
    object-fit: contain
}
.clientes .swiper-slide p, .socios .swiper-slide p{
    text-align: center;
    padding: 0 5%;
    margin-top: 30px;
    font-size: 0.9em;
    letter-spacing: 0.05em
}
.clientes .navegacion, .socios .navegacion {
    display: flex;
    justify-content: center
}
@media(min-width: 768px) {
    .clientes .navegacion, .socios .navegacion {
        justify-content:flex-end
    }
}
.clientes .arrows, .socios .arrows {
    position: static;
    margin: 0;
    width: 1em;
    height: 1em;
    color: #1b46f5;
    font-size: 2.5rem;
    border: solid 1px #dde4ea;
    border-radius: 50%;
    margin: 0 .5rem
}
.clientes .arrows:after, .socios .arrows:after {
    display: none
}
.clientes .arrows:active, .socios .arrows:active {
    border-color: #00a3e9
}
.clientes .swiper-pagination, .socios .swiper-pagination {
    position: static;
    display: flex;
    justify-content: center;
    padding-bottom: 1rem
}
.clientes .swiper-pagination-bullet, .socios .swiper-pagination-bullet {
    background: #dde4ea;
    opacity: 1;
    width: 10px;
    height: 10px;
    margin: 0 10px !important;
    border-radius: 50%;
    box-shadow: 0 0 0 0 #fff,0 0 0 1px #dde4ea;
    transition: box-shadow .3s
}
.clientes .swiper-pagination-bullet-active, .socios .swiper-pagination-bullet-active  {
    background: #00c2ff;
    box-shadow: 0 0 0 9px #fff,0 0 0 10px #00a3e9
}
.clientes .cuadro {
    display: flex;
    justify-content: center;
    align-items: center
}
.clientes .cuadro:hover img {
    opacity: 1;
    filter: saturate(1)
}
.clientes .cuadro img {
    max-width: 165px;
    max-height: 130px;
    object-fit: contain;
   /* opacity: .5;*/
   /* filter: saturate(0);*/
    transition: all .3s
}
/* -----  _socios.scss     -----*/
.socios p.intro {
    font-size: 1.2em;
    line-height: 1.3em;
    padding: 2em 0 3em 0
}
.socios p.intro em{
    display: block;
    font-style: normal;
    font-weight: 600;
    font-size: 1.3em;
    line-height: 1.3em;
    margin-bottom: 30px
}
.socios:before {
    content: "";
    display: block;
    position: absolute;
    width: 41.6666666667%;
    height: 100%;
    top: 18%;
    right: 58.3333333333%;
    background-image: url("../images/trama-roja.svg");
    background-repeat: no-repeat;
    background-size: 50%;
    pointer-events: none
}
@media(min-width: 768px) {
    .socios .titulo-section {
        bottom: 50px !important;
        top: initial
    }
}
.socios .swiper-slide p a{
    transition: all 0.2s ease-out
}
.socios .swiper-slide p a:hover{
    text-decoration: none;
    padding-right: 35px;
    background: url("../images/arrow.png") no-repeat right center;
}
@media only screen and (max-width: 767px) {
    .socios h2{
        text-align: left
    }
    .socios p.intro {
        font-size: 1.3em
    }
    .socios p.intro em{
        font-size: 1em;
        margin-bottom: 10px
    }
    .socios:before {
        background: none
    }
}
/* -----  _servicio.scss     -----*/
.servicio hr {
    margin: 1rem 0;
    height: 1px;
    opacity: 1;
    border: none
}
.servicio .numero {
    line-height: .8
}
.servicio .numero span {
    font-size: .7em
}
.servicio .item-2 .numero,.servicio .item-3 .numero {
    font-size: 4.4em;
    color: #fff
}
.servicio .item-2 hr {
    background-color: #f33
}
.servicio .item-3 hr {
    background-color: #9c3
}

.servicio1 .fondo{
    background: url("../images/servicio1.webp") no-repeat right center;   
}
.servicio2 .fondo{
    background: url("../images/servicio2.webp") no-repeat right center
}
.servicio3 .fondo{
    background: url("../images/servicio3.webp") no-repeat right center
}
.servicio4 .fondo{
    background: url("../images/servicio4.webp") no-repeat right center
}
.servicio .fondo{
	background-size: cover;
    padding: 5em;
    aspect-ratio: 1/1
}
.servicio .fondo p.altas{
    color: rgb(255 255 255 / 70%);
    font-size: 0.9em;
}
.servicio h3{
    font-size: 2.4em !important;
    letter-spacing: 0.05em;
    margin-bottom: 30px
}
.servicio h3 span{
    display: block;
}
.servicio li, .servicio p{
    font-size: 1.1em;
    line-height: 1.4em
}
/* -----  _contacto.scss     -----*/
.datos {
    background-color: #F0F5F9;
}
.datos h3{
    margin-top: 40px
}
.datos h3.small:after {
    content: "";
    display: block;
    background-color: #9c3;
    margin:  .25rem 0 .75rem;
    width: 1rem;
    height: 3px
}
.datos .icon {
    font-size: 1.3em;
    margin-right: 1em
}
@media(min-width: 992px) {
    #thankyou .menu {
        font-size:16px;
        padding: 1em 0;
        background: rgba(0,0,0,0.6)
    }
}
#thankyou .formulario{
    margin: 200px 0 100px 0
}
.formulario .form-control {
    background-color: transparent;
    border: none;
    border-bottom: 1px solid #000;
    border-radius: 0;
    color: #000;
    padding: .5em 0;
    width: 70%
}
.formulario .form-control::placeholder {
    color: #000 !important
}
.formulario .form-control:focus {
    border-width: 2px
}
button.btn-cta{
    border: none;
    background: #fff;
    color: #000
}
@media only screen and (max-width: 767px) {
    .descripcion h2{
        text-align: left
    }
    .datos {
        padding-left: 1em
    }
    .datos h3{
        font-size: 0.8em;
        margin-top: 20px
    }
    .datos .icon {
        font-size: 1.6em
    }
    .datos li{
        font-size: 1.4em
    }
    .formulario{
        padding: 0 1em
    }
    .formulario .form-control {
        font-size: 1.3em;
        padding: 1em 0;
        width: 100%
    }
}
/* -----  _galeria.scss     -----*/
.galeria .swiper-slide{
    background: #fff
}
/* -----  jimmy     -----*/
.portada .bg-video {
    opacity: 0.7 !important
}
.portada.bgDark{
    background-color: #565656 !important
}
@media only screen and (max-width: 767px) {
    .portada .row {
        min-height: 70vh !important
    }
}
.testimonios {
    background-color: #D4DFE8 !important
}

/* -----  _acordeon.scss     -----*/

.page-wrapper {
	box-sizing: content-box
}
.accordion-group {
	margin: 1rem 0
}
.ac-state {
	display: none
}
.ac-trigger {
	display: flex;
	justify-content: space-between;
	align-items: center;
	cursor: pointer;
	border-bottom: solid 1px #336699;
	padding: 0.5rem 0
}
.ac-trigger:hover,
.ac-trigger:focus {
	background-color: rgb(158 158 158 / 20%);
}
.ac-title {
	font-weight: 600;
	font-size: 0.9em
}
.ac-content {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 300ms ease
}
.ac-content-inner {
	overflow: hidden;
	margin-top: 5
}
.ac-state:not(:checked) ~ .ac-trigger .ac-icon-close {
	display: none
}
.ac-state:checked ~ .ac-trigger {
	background-color: rgb(158 158 158 / 0%);
	border-bottom: solid 1px #fff
}
.ac-state:checked ~ .ac-trigger .ac-icon-open {
	display: none
}
.ac-state:checked ~ .ac-content {
	grid-template-rows: 1fr
}
.ac-icon-close, .ac-icon-open{
	font-style: normal;
	color: #336699;
	margin-right: 7px
}
/* -----  _libro-de-reclamaciones.scss     -----*/
.libro-de-reclamaciones h2{
	font-size: 2.6em;
	color: #fff
}
.libro-de-reclamaciones .bgGray{
	background: #369
}
.libro-de-reclamaciones .form-control,.libro-de-reclamaciones .form-select {
    width: 100%;
    outline: none !important;
    border-radius: 0;
    border: 0;
    padding: .65rem .75rem;
    border: solid 1px #369;
    color: #000;
    text-transform: uppercase;
    font-size: 0.75em !important;
    letter-spacing: 0.1em
}
.libro-de-reclamaciones .form-row{
	text-align: left !important
}
.libro-de-reclamaciones label, .libro-de-reclamaciones p small{
	color: #808080;
	font-size: 0.9em;
	text-transform: uppercase
}
.libro-de-reclamaciones h3{
	color: #369;
	text-align: left;
	font-weight: 600 !important;
	font-size: 1.2em;
	line-height:2em;
	text-decoration: underline;
	text-underline-offset: 15px;
	text-decoration-skip-ink: none;
	text-decoration-color: #808080;
	text-decoration-thickness: 1px
}
.libro-de-reclamaciones i{
	color: #dc2b2b
}
.libro-de-reclamaciones .form-check-inline {
  display: inline-flex;
  align-items: center;
  padding-left: 0;
  margin-top: 0.5em;
  margin-right: 2rem
}
.libro-de-reclamaciones .form-check-inline .form-check-input {
  position: static;
  margin-top: 0;
  margin-right: 0.3125rem;
  margin-left: 0;
}
.libro-de-reclamaciones .form-check-label{
	margin-left: 0.5em
}
.libro-de-reclamaciones .btn, .compra-de-terrenos .btn{
	background: #172d4a;
	color: #fff;
	outline: none;
	border: none;
	padding: 1em 1.5em
}
.imagen-form{
	padding-right: 0;
	padding-left: 0;
	
}
/* -----  _footer.scss     -----*/
.footer  a.libro {
	background: url(../images/icn-libro-reclamaciones.svg) no-repeat left center;
	background-size: 35px;
	font-size: 0.9em !important;
	padding: 30px 0 30px 55px;
	font-weight: bold
}
.xsmall {
    font-size: .7em
}
/* -----  _reportes.scss     -----*/
.reportes .card{
	border-radius: 1em;
	transition: all 0.35s ease
}
.reportes .card:hover{
	transform:scale(1.05);
	box-shadow: 0px 0px 50px 0px #cccfd9
}
.reportes .card-body{
	padding: 0.75em
}
.reportes img.w-100{
	border-top-left-radius: 1em;
	border-top-right-radius: 1em;
}
.reportes .card-text{
	font-weight: bold
}