﻿@import url('https://fonts.googleapis.com/css2?family=Lato:wght@400;700;900&family=Work+Sans:wght@400;500;700;900&display=swap');
/* ------------------------------------------------------------------------------------------------------------------------- */

* {
    font-family: 'Lato', sans-serif;
    /*font-family: 'Work Sans', sans-serif;*/
    color: #333333;
}

a { color: #333333; }

h1, h2, h3, h4, .facade p {
    font-family: 'Work Sans', sans-serif !important;
}

h1, h2, h3, h4 { font-weight: bold; }

body,
header, 
main,
footer{
    margin: 0;
    padding: 0;
}

main section.facade,
main section.info-content { border-bottom: 0.0625rem solid #333333; }

nav,
.cotizador,
.cotizador ol li .input-family,
.banda_aseguradoras,
section,
.card-wrapper{
    display: grid !important;
}

main section.info-content div strong{ font-weight: 900; }

.cotizador ol li .input-family { grid-column-gap: 1rem; }

nav{
    padding-top: 1.5rem;
    padding-bottom: 0.5rem;
}

nav a{
    text-decoration: none;
    font-size: 0.875rem;
    color: #333333;
}

.nav-icon{
    align-self:center;
    height: 1.25rem;
    position: relative;
    /*top: 0.25rem;*/
    margin-right: 0.5rem;
    width: auto;
}

.shaded-box {
    background: #FFFFFF;
    /* sombra contenedor */
    box-shadow: 0.125rem 0.25rem 1rem rgba(0, 58, 99, 0.2);
    border-radius: 0.5rem;
}

.facade h1, .facade p{ text-align: center; }

.cotizador{
    padding: 1rem 4rem;
    margin: 0 auto;
}

.cotizador ol{ 
    counter-reset: ss-counter;
    list-style: none;
    padding: 0;
}

.cotizador ol > li{
    color: #6C70EB;
    font-weight: 600;
    counter-increment: ss-counter;
    font-family: 'Work Sans', sans-serif !important;
    margin: 1rem 0;
}


.cotizador ol > li:before{
    content: counter(ss-counter);
    background-color: #D9DAFF;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 1rem;
    display: inline-block;
    text-align: center;
    line-height: 1.5rem;
    margin-right: 0.5rem;
}

.input-group label,
.input-group strong{
    line-height: 2rem;
}

.input-group input[type="text"],
.input-group input[type="tel"],
.input-group input[type="email"],
.input-group input[type="number"], 
.input-group select,
.input-group .multi-select {
    border: 0.0625rem solid #000000;
    border-radius: 0.5rem;
    box-sizing: border-box;
    font-size: 1rem;
    outline: none;
    padding: 0 0 0 1rem;
    width: 100%;
    min-height: 2.5rem;

    transition: all ease 300ms;
}

.input-group input[type="text"]:not(:valid),
.input-group input[type="tel"]:not(:valid),
.input-group input[type="email"]:not(:valid),
.input-group input[type="number"]:not(:valid), 
.input-group select:not(:valid),
.input-group .multi-select:not(:valid){
    color: #868A8B;
}

.input-group input[type="text"]:focus,
.input-group input[type="tel"]:focus,
.input-group input[type="email"]:focus,
.input-group input[type="number"]:focus, 
.input-group select:focus,
.input-group .multi-select:focus {
    border: 0.125rem solid #6473EB;
}

.input-group select,
.input-group .multi-select{
    background-color: transparent;
    background-image: url('../img/iconos/chevron-down-pale-purple.svg');
    background-size: 1rem;
    background-repeat: no-repeat;
    background-position: calc(100% - 16px) center;
    -moz-appearance: none;
    -webkit-appearance: none;
}


/* ------------------------------------------------------------------------------------------------------------------------- */
.custom input[type="checkbox"],
.custom input[type="radio"] {
    width: 0;
    height: 1rem;
    margin-right: 1.5rem;
}

/* CUSTOM CHECKBOX */
/* ------------------------------------------------------------------------------------------------------------------------- */
.custom input[type="checkbox"]:before{
    content: ' ';
    display: flex;
    width: 1.125rem;
    height: 1.125rem;
    /*background-color: rgba(102, 102, 102, 0.54);*/ 
    background-color: #6473EB; 
    border-radius: 0.25rem;
}

.custom input[type="checkbox"]:after{
    content: ' ';
    display: flex;
    width: 0.875rem;
    height: 0.875rem;
    background-color: #FFFFFF; 
    position: relative;
    top:-1rem;
    left: 0.125rem;
    transition: ease 150ms;
}

.custom input[type="checkbox"]:checked:after{
    transform: rotate(45deg);
    width: 0.3125rem;
    height: 0.625rem;
    background-color: transparent;
    border-width:0 0.125rem 0.125rem 0 ;
    border-style: solid;
    border-color:#FFFFFF ;
    top: -1.0625rem;
    left: 0.375rem;
}

/* CUSTOM RADIO-BUTTON */
/* ------------------------------------------------------------------------------------------------------------------------- */
.custom input[type="radio"]:before{
    content: ' ';
    display: flex;
    width: 1rem;
    height: 1rem;
    border-radius: 1rem;
    /*border: 0.125rem solid #003763;*/
    border: 0.125rem solid #6C70EB
;
}

.custom input[type="radio"]:after{
    content: ' ';
    display: flex;
    width: 0.75rem;
    height: 0.75rem;
    border-radius: 1rem;
    /*background-color: #096CB6;*/ 
    background-color: #6C70EB; 
    position: relative;
    top:-1rem;
    left: 0.25rem;
    transform: scale(0);
    transition: ease 150ms;
}

.custom input[type="radio"]:checked:after{
    transform: scale(1);
}
/* ------------------------------------------------------------------------------------------------------------------------- */

.multi-select{
    display: flex;
    align-items: center;
    position: relative !important;
}
.multi-select:before{
    content: attr(data-placeholder);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    display: inline-flex;
    line-height: 2.5rem;
    padding-left: 1rem;
}

.multi-select:focus:before,
.multi-select.dirty:before{ content: ""; }

.multi-select select{ display: none; }

.multi-select-tags {
    display: inline-block;
    width: 95%;
    height: 100%;
    box-sizing: border-box;
    background-color: #FFFFFF;
    border-radius:  0.5rem;
    align-items: center;
}

.multi-select-tags span{
    display: inline-block;
    padding: 0 0.5rem;
    font-family: 'Lato', sans-serif;
    font-weight: 400;
}

.multi-select-tags span a{
    background-image: url('../img/iconos/close-icon-circle-grey.svg');
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    border-radius: 0.5rem;
    color:  #FFFFFF;
    content: ' ';
    display: inline-block;
    width: 0.75rem;
    height: 0.75rem;
    position: relative;

}

.multi-select ul {
    background: #FFFFFF;
    border: 0.0625rem solid #463333;
    border-radius: 4px;
    box-sizing: border-box;
    box-shadow: 2px 4px 12px rgba(108, 112, 235, 0.5);
    left: 0;
    list-style: none;
    margin: 0;
    max-height: 20rem;
    /*top: 2.5rem;*/
    opacity: 0;
    overflow-y: scroll;
    padding: 0;
    position: absolute;
    top: 100%;
    width: 100%;
    z-index: 1;
    transition: all ease 250ms;
}

.multi-select ul.active{
    opacity: 1;
}

.multi-select ul li{
    color: #868A8B;
    cursor: pointer;
    font-weight: normal;
    font-size: 1rem;
    min-height: 2rem;
    line-height: 2rem;
    /*overflow-y: hidden;*/
    padding-left: 0.5rem;
    transition: all ease-in 100ms;
}
.multi-select ul li:not(:first-child){
    border-top: 0.0625rem solid rgba(159, 186, 205, 0.2);
}
.multi-select ul li:hover,
.multi-select ul li.active{
    color: #FFFFFF;
    background-color: #6C70EB;
}

.button-purple {
    background-color: #6C70EB;
    border-radius: 0.5rem;
    border: none;
    color: #FFFFFF;
    display: flex;
    font-size: 1.125rem;
    font-weight: 900;
    justify-content: center;
    outline: none;
    margin: 0 auto;
    padding: 1rem;
    transition: all ease-in 150ms;
}


.button-purple:active {
    transform: scale(0.99);
    filter: saturate(0.5);
}

strong.validation-error
label.validation-error{ color: red; }

label.validation-error::after,
strong.validation-error::after{
    content: '*' attr(data-errormsg);
    font-style: italic;
    font-size: small;
    padding-left: 0.25rem;
}

.banda_aseguradoras{ 
    grid-template-columns: repeat(auto-fit, minmax(1rem, 1fr));
    margin: 2.5rem auto;
}
.banda_aseguradoras .logo_banda img{ 
    display: flex;
    height: 2rem; 
    margin: 0 auto; 
    padding: 0; 
    box-sizing: border-box;
    filter: grayscale(1);
    width: auto;
}

.card{
    padding: 2rem;
    border: 0.0625rem solid #333333;
}

.card img{ height: 3rem; width: auto; }

.icon-footer{ height: 1.25rem; width: auto; }
.icon-footer:not(:first-of-type){ margin-left: 1.25rem; }

.info-footer p:nth-child(1) *{ display: block; }

/* ------------------------------------------------------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------------------------------- */
/* ESTILOS PAGINA RESULTADOS */
.item-highlight{ border: none !important; }
.cotizacion { padding: 1rem 0.25rem !important; }

/* ------------------------------------------------------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------------------------------- */
.wrapper-loader {
    background-color: rgba(102, 102, 102, 0.4);
    opacity: 0;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: fixed;
    transition: all ease 250ms;
}

.wrapper-loader.active { 
    opacity: 1; 
    z-index: 1;
}

.loader,
.loader:before,
.loader:after {
    border-radius: 50%;
    width: 2.5em;
    height: 2.5em;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation: loadAnimate 1.8s infinite ease-in-out;
    animation: loadAnimate 1.8s infinite ease-in-out;
}

.loader {
    /*color: #6950A1;*/
    color: #6C70EB;
    font-size: 10px;
    margin: auto;
    position: absolute;
    text-indent: -9999em;
    -webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-animation-delay: -0.16s;
    animation-delay: -0.16s;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.loader:before,
.loader:after {
    content: '';
    position: absolute;
    top: 0;
}

.loader:before {
    left: -3.5em;
    -webkit-animation-delay: -0.32s;
    animation-delay: -0.32s;
}

.loader:after { left: 3.5em; }

@-webkit-keyframes loadAnimate {
    0%, 80%, 100% { box-shadow: 0 2.5em 0 -1.3em; }
    40% { box-shadow: 0 2.5em 0 0; }
}

@keyframes loadAnimate {
    0%, 80%, 100% { box-shadow: 0 2.5em 0 -1.3em; }
    40% { box-shadow: 0 2.5em 0 0; }
}

/* ------------------------------------------------------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------------------------------- */
/*PAGINA DE RESULTADOS*/
#info-cliente{ margin-top: 3rem; }
#comand-buttons{ margin-bottom: 3rem; } 
/* ------------------------------------------------------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------------------------------- */
/* MEDIA QUERYS*/
/* mobile small */
/*@media screen and (max-width: 600px) {*/
@media screen and (max-width: 992px) {
    header nav,
    main section.facade,
    main section.info-content,
    footer section.info-footer {    
        padding: 1rem;
    }

    nav{ grid-template-columns: 2fr 1fr 1fr; }
    .nav-item a{ 
        display: block;
        font-size:0.75rem; 
        text-align:center;
    }

    .nav-logo{ display: flex; align-items: center; }

    .nav-logo img{ height: 1.25rem; width: auto; }

    .nav-item a img{ 
        display: block; 
        height: 1.5rem;
        margin: 0 auto 0.5rem auto;
        width: auto;
    }

    .facade{
        position: relative;
        overflow: hidden;
    }

    .facade:before{
        content: '';
        background-image: url('../img/landings/cotizarseguroparaautos/abstract-bg.png');
        background-repeat: no-repeat;
        background-position: top right;
        background-size: contain;
        position: absolute;
        top: 0;
        right: 0;
        width: 50%;
        height: 50%;
        opacity: 0.3;
    }

    .facade h1{ font-size: 1.625rem; }
    .facade p br{ display: none; }

    .cotizador{ padding: 1rem; z-index: 1; }

    .cotizador ol{ margin: 0; }

    .cotizador ol li:nth-child(2) .input-family{ display: grid; grid-template-columns: repeat(2, 1fr); }

    /*.cotizador ol li:nth-child(2) .input-family .input-group:nth-child(1){ order: 2; }
    .cotizador ol li:nth-child(2) .input-family .input-group:nth-child(2){ order: 1; }
    .cotizador ol li:nth-child(2) .input-family .input-group:nth-child(3){ order: 3; }*/

    .cotizador ol li:nth-child(2) .input-family .input-group:nth-child(3){ grid-column: 1/3; }
    .cotizador ol li:nth-child(2) .input-family .input-group:nth-child(3) label{ 
        display: inline-block;
        box-sizing: border-box;
        width: 49%;
    }

    .multi-select-tags {
        width: 85%;
        /*display: grid;
        grid-template-columns: repeat(auto-fit, minmax(5rem, 1fr));*/
    }

    .multi-select-tags span{
        display: inline-block;
        box-sizing: border-box;
        /*max-width: 10rem;
        overflow: hidden;*/
    }

    .cotizador .button-purple {
        width: 100%;
        margin: 2rem 0;
    }

    .secured-buy {
        display: flex;
        justify-content: flex-end;
        align-items: center;
        text-align: right;
        font-size: 0.75rem;
        color: #868A8B !important;
        line-height: 1.375rem;
        margin-top: 2rem;
    }

    .secured-buy img{ 
        height: 1.375rem;
        margin: 0 0.5rem;
        width: auto;
    }

    .banda_aseguradoras{ 
        width: 100%; 
        grid-template-columns: repeat(auto-fit, minmax(1rem, 1fr));
        margin: 2rem auto;
    }

    .logo_banda img{ height: 1rem !important; width: auto; }


    main section.info-content:nth-child(2) {
        background-image: url('../img/landings/cotizarseguroparaautos/client-desktop.svg');
        background-repeat: no-repeat;
        background-size: contain;
        background-position: center 95%;
        padding-bottom: 60%;
    }

    main section.info-content:nth-child(3) {
        position: relative;
        grid-template-columns: 1fr;
    }

    main section.info-content:nth-child(3):before {
        background-image: url('../img/landings/cotizarseguroparaautos/abstract-bg.png');
        background-repeat: no-repeat;
        background-size: 50%;
        background-position: top left;
        content: '';
        width: 100%;
        height: 100%;
        opacity: 0.3;
        position: absolute;
        z-index: -1;
    }

    
    main section.info-content:nth-child(3) div{ display:flex; }
    main section.info-content:nth-child(3) div:nth-child(1) { position: relative; }
    main section.info-content:nth-child(3) div:nth-child(1):after{
        background-color: #FFFFFF;
        background-image: url('../img/landings/cotizarseguroparaautos/arrow-purple-right.svg');
        background-position: center center;
        background-repeat: no-repeat;
        background-size: 50%;
        border: 0.0625rem solid #333333;
        border-radius: 100%;
        content: '';
        height: 4.5rem;
        position: absolute;
        right: 50%;
        bottom: 0;
        transform: translate(50%, 50%) rotate(90deg);
        width: 4.5rem;
    }

    main section.info-content:nth-child(3) div:nth-child(1){ padding: 35% 0 25% 0; }
    
    main section.info-content:nth-child(3) div:nth-child(2){
        flex-direction: column;
        margin: 0 -1rem;
        padding: 5rem 1rem 2rem 1rem;
        border-top: 0.0625rem solid #333333;
    }
    
    main section.info-content:nth-child(4) {}

    main section.info-content:nth-child(4) h2:nth-of-type(2){
        font-weight: 900;
        font-size: 1.5rem;
        text-align: center;
        padding: 4rem 1rem;
        position: relative;
    }

    main section.info-content:nth-child(4) h2:nth-of-type(2):before {
        background-image: url('../img/landings/cotizarseguroparaautos/abstract-bg.png');
        background-repeat: no-repeat;
        background-size: 50%;
        background-position: top left;
        content: '';
        left: 0;
        opacity: 0.3;
        top: 0;
        position: absolute;
        width: 100%;
        height: 100%;
        z-index: -1;
    }

    .card-wrapper { grid-gap: 4.8rem; }
    .card-wrapper .card{ min-height: 20rem }

    
    main section.info-content:nth-child(4) button.button-purple{
        width: 100%;
        margin-bottom: 3rem;
    }

    footer *{ font-size: 0.75rem; }

    .icon-footer{ height: 0.8rem; width: auto; }
    .icon-footer:not(:first-of-type){ margin-left: 0.75rem; }
    
    footer section.info-footer:first-child{ grid-template-columns: repeat(9, 1fr); }
    footer section.info-footer:first-child p:nth-child(1){ grid-column: 1/6; }
    footer section.info-footer:first-child p:nth-child(2){ grid-column: 6/11; }
    footer section.info-footer:first-child p:nth-child(3){ grid-column: 1/11; }
}
/* ------------------------------------------------------------------------------------------------------------------------- */
/* ------------------------------------------------------------------------------------------------------------------------- */

/* deskop large */
@media screen and (min-width: 993px){
    header nav, 
    main section.info-content, 
    footer section.info-footer {
        padding-left:8rem;
        padding-right:8rem;
    }

    nav{ grid-template-columns: repeat(6, 1fr); }

    nav div:first-child{ grid-column: 1 / span 4; }
    
    .nav-logo img{ height: 2rem; width: auto; }

    .facade{ position: relative; }

    .facade:before,
    .facade:after{
        background: url('../img/landings/cotizarseguroparaautos/abstract-bg.png');
        background-repeat: no-repeat;
        background-size: 90%;
        border: none;
        box-sizing: border-box;
        content: '';
        height: 100%;
        margin: 0;
        padding: 0;
        position: absolute;
        top: 0;
        width: 50%;
        z-index: -1;
    }

    .facade:before{ 
        left: 0;
        background-position: -100px center;
    }

    .facade:after{ 
        right: 0;
        background-position: 225% 125%;
    }

    .facade h1{ 
        font-size: 2.5rem;
        margin: 0 auto;
    }
    .facade p{ font-size: 1.125rem; }

    .cotizador{ width: 60rem; }

    .cotizador ol li:nth-child(2) .input-family,
    .cotizador ol li:nth-child(3) .input-family{ grid-template-columns: repeat(3, 1fr); }

    .button-purple{ 
        width: 50%; 
        margin: 2rem auto;
    }

    .secured-buy{ display: none; }

    .banda_aseguradoras{ width: 75%; }

    .info-content > div { padding: 3rem 0; }

    .info-content div:not(:first-of-type) { border-left: 0.0625rem solid #333333; }
    
    main section.info-content:nth-child(2){
        background-image: url('../img/landings/cotizarseguroparaautos/client-desktop.svg');
        background-repeat: no-repeat;
        background-size: 40%;
        background-position: calc(100% - 128px) center;
        padding-right: 50%;
    }

    main section.info-content:nth-child(3) {
        position: relative;
        grid-template-columns: repeat(2, 1fr);
    }

    main section.info-content:nth-child(3):before{
        background-image: url('../img/landings/cotizarseguroparaautos/abstract-bg.png');
        background-repeat: no-repeat;
        background-size: 50%;
        background-position: -5rem -2.5rem;
        content: '';
        height: 100%;
        left: 0;
        opacity: 0.3;
        position: absolute;
        top: 0;
        width: 50%;
        z-index: -1;
    }

    main section.info-content:nth-child(3) div{ display:flex; }
    main section.info-content:nth-child(3) div:nth-child(1) { position: relative; }
    main section.info-content:nth-child(3) div:nth-child(1):after{
        background-color: #FFFFFF;
        background-image: url('../img/landings/cotizarseguroparaautos/arrow-purple-right.svg');
        background-position: center center;
        background-repeat: no-repeat;
        background-size: 50%;
        border: 0.0625rem solid #333333;
        border-radius: 100%;
        content: '';
        height: 4.5rem;
        position: absolute;
        right: -36px;
        top: 50%;
        transform: translateY(-50%);
        width: 4.5rem;
    }

    main section.info-content:nth-child(3) div:nth-child(1) h2{
        font-size: 2.25rem;
        width: 75%;
        margin: auto;
    }

    main section.info-content:nth-child(3) div:nth-child(2) {
        flex-direction: column;
        padding-left: 8rem;
    }
    
     main section.info-content:nth-child(4){ position: relative; }

     main section.info-content:nth-child(4):before,
     main section.info-content:nth-child(4):after{
        background: url('../img/landings/cotizarseguroparaautos/abstract-bg.png');
        background-repeat: no-repeat;
        background-size: 50%;
        border: none;
        box-sizing: border-box;
        content: '';
        height: 100%;
        margin: 0;
        padding: 0;
        opacity: 0.3;
        position: absolute;
        top: 0;
        width: 50%;
        z-index: -1;
    }
     main section.info-content:nth-child(4):before{ 
        left: 0;
        background-position: left bottom;
    }
     main section.info-content:nth-child(4):after{ 
        right: 0;
        background-position: right bottom;
    }

    main section.info-content:nth-child(4) h2{ text-align: center; }

    main section.info-content:nth-child(4) h2:first-of-type{ margin-top: 3rem; }

    .card-wrapper{
        grid-template-columns: repeat(3, 1fr);
        grid-gap: 4.8rem;
    }
    
    main section.info-content:nth-child(4) h2:nth-child(3){
        width: 40%;
        font-size: 2.25rem;
        margin: 4rem auto 3rem;
    }
    
    main section.info-content:nth-child(4) button{ margin-bottom: 5rem; }

    footer section.info-footer:first-child{ grid-template-columns: 3fr 1fr; }
}