.iml-bg {
    position: relative;
    overflow: hidden;
    width: 100%;
    margin: auto
}

.iml-bg * {
    font-size: 16px;
    line-height: 1.55;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box
}

.iml-bg h3 {
    font-size: 24px;
    line-height: 1.4;
    font-weight: 400;
    margin: 0
}

.iml-flex {
    display: flex;
    display: -webkit-flex;
    flex-flow: row wrap;
    -webkit-flex-wrap: wrap
}

.iml_step-complete .iml-flex, .iml_step-one .iml-flex {
    margin: 0 -.5rem;
    width: calc(100% + 1rem)
}

.iml-headline, .iml-headline span, p.iml-headline, p.iml-headline span {
    line-height: 2rem;
    font-size: 23px;
    margin: 0 0 .7rem
}

.iml-flexitem {
    padding: 1.5rem 1rem;
    text-align: center;
    transition: all .6s;
    cursor: pointer;
    margin: .4rem .5rem;
    color: #02365b;
    width: calc(33.33% - 1rem);
    border: none;
    background: #eee
}

.iml-flexitem:focus, .iml-flexitem:hover {
    background: #02365b;
    color: #fff
}

.iml-flexitem-33 {
    text-align: center;
    display: block;
    text-decoration: none;
    transition: background .5s;
    cursor: pointer;
    margin: 1rem;
    overflow: hidden;
    width: calc(33.33% - 2rem);
    position: relative;
    background: #fff;
    color: #02365b
}

.iml_step-complete .iml-flex {
    margin: 0 -1rem;
    width: calc(100% + 2rem)
}

.iml-flexitem-33 img {
    transition: all .3s;
    position: relative;
    top: -25px
}

.iml-flexitem-33:hover img {
    transform: scale(1.1)
}

.iml-flexitem-33 p {
    margin: 0;
    color: #fff;
    background: #02365b;
    position: absolute;
    font-size: 19px;
    padding: 15px;
    left: 0;
    right: 0;
    bottom: 0
}

.iml-flexitem .cls-f {
    transition: all .6s
}

.iml-flexitem:hover .cls-f {
    fill: #fff
}

.iml-flexitem svg {
    max-height: 50px;
    height: 50vw;
    display: block;
    margin: 0 auto .5rem
}

.iml-flexitem p {
    margin: 0;
    hyphens: auto;
    -webkit-hyphens: auto;
    -moz-hyphens: auto;
    -ms-hyphens: auto
}

.iml-progress {
    width: 100%;
    height: 6px;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: #d3d3d3
}

.iml-progress-bar {
    background: #cbd061;
    height: 100%;
    transition: all 1s
}

.iml_step {
    display: none;
    position: relative;
    z-index: 1
}

.iml-fill {
    position: absolute;
    height: auto;
    width: 100%;
    max-width: 220px;
    z-index: -1;
    left: -7rem;
    bottom: -3.5rem;
    display: none
}

.iml-fill.show {
    display: block
}

.iml_step-three .iml-fill {
    display: block
}

.iml-label {
    display: block;
    font-size: .93rem;
    line-height: 1.4rem
}

.iml-label span {
    font-size: .93rem;
    line-height: 1.4rem
}

.iml-input {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    min-height: 40px;
    margin: .4rem 0 1.5rem;
    background: #eee;
    border-radius: 0;
    border: none;
    width: 100%;
    transition: all .2s;
    padding: .5rem;
    color: #02365b;
    outline: 0;
    position: relative;
    font-family: inherit;
    font-size: inherit
}

input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0
}

input::-ms-clear {
    display: none
}

form.iml-flex {
    margin: 0;
    width: 100%
}

input[type=number] {
    -moz-appearance: textfield
}

.iml-half {
    width: 50%;
    margin: 1rem 0 0
}

.iml-half:nth-child(1) {
    padding-right: 1rem
}

.iml-half:nth-child(2) {
    padding-left: 1em
}

.iml-label sup {
    margin: 0 .1rem;
    font-size: .75rem;
    margin-top: -5px;
    display: inline-block
}

.euro, .meters, .optional {
    position: relative
}

.meters {
    display: flex;
    flex-flow: column;
    width: 100%
}

.meters:after {
    content: 'm²';
    position: absolute;
    color: #02365b;
    right: .6rem;
    top: 1rem;
}

.euro:after {
    content: '€';
    position: absolute;
    color: #02365b;
    right: .6rem;
    bottom: -.2rem
}

.optional:after {
    content: 'optional';
    position: absolute;
    color: #bcbcbc;
    font-size: .8rem;
    right: .6rem;
    bottom: -.2rem
}

.iml-link {
    color: #cbd061;
    text-decoration: none
}

.iml-link:hover {
    text-decoration: underline
}

span .iml-input {
    padding-right: 2.5rem
}

p.iml-subinfo {
    color: #666;
    font-size: .8rem;
    line-height: 1.15rem;
    padding: .5rem;
    background: #f2f2f2;
    margin: 0 0 1rem;
    width: 38%
}

p.iml-intro {
    width: 62%;
    margin: .5rem 0 1rem;
    padding: 0 1rem 0 .5rem
}

.iml-radio {
    cursor: pointer;
    display: inline-flex;
    flex-flow: column;
    position: relative;
    margin: .3rem 0 1.2rem
}

.iml-radio label.error {
    width: 100%;
    order: 2
}

.iml-radio.iml-left {
    margin-right: 1.5rem
}

.iml-radio input[type=radio] {
    position: absolute;
    opacity: 0
}

.iml-radio input[type=radio] + .iml-radio-label:before {
    content: '';
    background: 0 0;
    border-radius: 0;
    background: #eee;
    display: inline-block;
    width: 22px;
    height: 22px;
    position: relative;
    top: -.1rem;
    margin-right: .7rem;
    vertical-align: middle;
    cursor: pointer;
    text-align: center;
    transition: all .3s
}

.iml-radio input[type=radio]:checked + .iml-radio-label:before {
    background-color: #cbd061;
    box-shadow: inset 0 0 0 5px #eee
}

label.error {
    color: red;
    width: 100%;
    font-size: .85rem;
    line-height: 1.1rem;
    display: block;
    margin: -.3rem 0 .6rem
}

input.error {
    margin-bottom: .5rem;
    border: 1px red solid
}

.iml-checkbox input[type=checkbox] {
    -webkit-appearance: none;
    -moz-appearance: none;
    margin: 0;
    appearance: none;
    cursor: pointer;
    position: absolute;
    left: 0;
    transition: all .3s;
    top: 1.2rem;
    width: 22px;
    height: 22px;
    outline: 0;
    background: #eee
}

.iml-checkbox {
    margin: 0;
    display: flex;
    flex-flow: column;
    position: relative;
    cursor: pointer;
    width: 100%;
    font-size: .88rem;
    border-top: 1px solid #eee;
    padding: 1rem 0 1rem 2rem;
    line-height: 1.3rem
}

.iml-checkbox label.error {
    order: 2;
    margin: .2rem 0
}

.finance .iml-checkbox {
    padding: 0 0 0 2rem;
    border: none
}

.finance .iml-checkbox input[type=checkbox] {
    top: .2rem
}

.iml-checkbox input[type=checkbox]:checked {
    background-color: #cbd061;
    box-shadow: inset 0 0 0 5px #eee
}

.iml-checkbox a, .iml-checkbox span {
    font-size: .88rem;
    line-height: 1.3rem
}

.iml-request .iml-radio {
    display: block;
    width: 100%
}

.iml-shadow {
    background: #fff;
    margin-left: 2rem;
    padding: .5rem;
    display: flex;
    flex-flow: row wrap;
    cursor: pointer;
    align-items: center;
    transition: all .4s;
    box-shadow: 0 2px 7px rgba(0, 0, 0, .2)
}

.iml-shadow:hover {
    background: #eee
}

.first-request svg {
    padding-left: .5rem
}

.iml-shadow svg {
    max-width: 40px;
    max-height: 45px;
    text-align: center;
    width: 100%
}

.iml-shadow span {
    padding-left: .7rem;
    width: calc(100% - 40px)
}

.iml-request .iml-radio input[type=radio] + .iml-radio-label:before {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto
}

.iml-price .iml-radio input[type=radio] + .iml-radio-label:before {
    background: #fff;
    box-shadow: 0 2px 7px rgba(0, 0, 0, .2)
}

.iml-price .iml-radio input[type=radio]:checked + .iml-radio-label:before {
    background-color: #cbd061;
    box-shadow: inset 0 0 0 5px #fff
}

.iml-price {
    background: #eee;
    padding: 1rem;
    min-height: calc(100% - 1rem)
}

.iml-price .iml-radio {
    margin-bottom: 2rem
}

.iml-price .iml-input {
    margin-bottom: 0;
    background: #fff;
    box-shadow: 0 2px 7px rgba(0, 0, 0, .2)
}

.iml-price.inactive {
    pointer-events: none;
    opacity: .7
}

.iml-price.inactive *, .iml-price.inactive .iml-radio input[type=radio] + .iml-radio-label:before {
    box-shadow: none
}

.iml-price.inactive .iml-radio input[type=radio]:checked + .iml-radio-label:before {
    background-color: #cbd061;
    box-shadow: inset 0 0 0 5px #fff
}

.active {
    display: block
}

.iml-button {
    background: #cbd061;
    padding: .5rem 2rem;
    text-decoration: none;
    border: none;
    outline: 0;
    display: inline-block;
    color: #fff;
    cursor: pointer;
    transition: background-color .3s
}

.iml-button:hover {
    background: #acbc51
}

.iml-button.back {
    background-color: #02365b;
    color: #fff
}

.iml-button.back:hover {
    background: #aaa
}

.iml-button-box {
    display: flex;
    flex-flow: row wrap;
    margin-top: .8rem;
    width: 100%;
    justify-content: space-between
}

.iml_step-four.active {
    display: flex;
    justify-content: center;
    color: #fff;
    align-items: center;
    margin: -1.8rem;
    background: #02365b;
    padding: 4rem 1rem
}

.iml-done svg {
    width: 100%;
    max-width: 80px;
    display: block;
    margin: 0 auto 1rem
}

.iml-done .iml-headline {
    text-align: center;
    color: #fff;
    font-weight: 500;
    font-size: 1.8rem
}

.iml-center {
    margin: 2rem auto;
    text-align: center;
    max-width: 430px
}

.iml-bg .iml-center span {
    /*font-weight: 700;*/
    line-height: 160%;
    font-size: 1.3rem;
}

.iml-bg .iml-center .bold {
    font-weight: 700;
}

.no-person {
    display: none
}

.no-person.show {
    display: block
}

.iml-button.next.default {
    opacity: .5;
    pointer-events: none
}

::-webkit-scrollbar {
    width: 6px
}

::-webkit-scrollbar-track {
    box-shadow: none;
    background: #ddd;
    border-radius: 0
}

::-webkit-scrollbar-thumb {
    background: #02365b;
    border-radius: 0
}

.icon_select_mate {
    position: absolute;
    top: .7rem;
    right: .5rem;
    font-size: 16px;
    height: 22px;
    transition: all 275ms
}

.select_mate {
    position: relative;
    width: 100%;
    min-height: 40px;
    color: #000;
    margin: .4rem 0 1.5rem;
    background-color: #eee;
    border-radius: 0;
    font-size: .93rem;
    line-height: 1.4rem;
    transition: all 375ms ease-in-out
}

.select_mate select {
    position: absolute;
    overflow: hidden;
    height: 0;
    opacity: 0;
    z-index: -1
}

.cont_list_select_mate {
    position: relative;
    float: left;
    width: 100%
}

.cont_select_int {
    position: absolute;
    left: 0;
    top: 0;
    z-index: 4;
    overflow: hidden;
    height: 0;
    width: 100%;
    background-color: #eee;
    padding: 0;
    margin-bottom: 0;
    margin-top: 0;
    border-radius: 0 0 3px 3px;
    box-shadow: 1px 4px 10px -2px rgba(0, 0, 0, .2);
    transition: all 375ms ease-in-out
}

.cont_select_int li {
    position: relative;
    background-color: #eee;
    list-style-type: none;
    font-size: .93rem;
    line-height: 1.4rem;
    padding: 10px 2%;
    margin: 0;
    transition: all 275ms ease-in-out;
    display: block;
    cursor: pointer
}

.cont_select_int li:last-child {
    border-radius: 3px;
    border-bottom: 0
}

.cont_select_int li:hover {
    background-color: #ddd
}

.cont_select_int .active {
    color: #cbd061;
    background-color: #e4e4e4
}

.selecionado_opcion {
    padding: .7rem .5rem;
    display: block;
    margin: 0;
    min-height: 40px;
    cursor: pointer
}

.disabled {
    pointer-events: none;
    opacity: .45
}

.iml-price.disabled {
    box-shadow: none
}

.iml-loader {
    display: none;
    margin: 0 0 0 auto;
    min-width: 147px;
    text-align: center
}

.iml-loader img {
    max-height: 22px;
    width: auto
}

.iml-loader.show {
    display: block
}

.iml-submit.hide {
    display: none
}

.failed svg.hide {
    display: none
}

.failed .iml-headline {
    margin-top: 2rem
}

@media (max-width: 890px) {
    .iml_step-four.active {
        margin: -2rem -1.5rem
    }

    .iml-headline {
        font-size: 1.3rem;
        line-height: 1.9rem
    }

    p.iml-subinfo {
        margin: 0 .5rem 1rem;
        width: auto
    }

    p.iml-intro {
        width: 100%;
        padding: 0 .5rem
    }
}

@media (max-width: 730px) {
    .iml-half {
        width: 100%;
        margin: 0
    }

    .iml-half:first-child, .iml-half:last-child, .iml-half:nth-child(2) {
        padding: 0
    }

    .iml-checkbox {
        font-size: .92rem;
        line-height: 1.3rem
    }

    .iml-flexitem-33 {
        margin: .5rem;
        width: calc(50% - 1rem)
    }

    .iml_step-complete .iml-flex {
        margin: 0 -.5rem;
        width: calc(100% + 1rem)
    }

    .iml-fill {
        display: none !important
    }
}

@media (max-width: 580px) {
    .iml-flex {
        justify-content: flex-start
    }

    .iml-flexitem {
        width: calc(50% - 1rem);
        padding: 1.2rem .7rem
    }

    .iml-slogans-item {
        width: 100%
    }

    .iml-flexitem-33 {
        padding: 2rem .7rem 1rem
    }

    .iml-flexitem-33 p {
        font-size: 1rem
    }

    .iml_step-four.active {
        margin: -2rem -1rem
    }

    .iml-flexitem-33 {
        width: calc(100% - 1rem);
        padding: 0
    }

    .iml-flexitem-33 p {
        max-width: none
    }

    .iml-flexitem-33 img {
        height: auto;
        width: 100%
    }
}

@media (max-width: 500px) {
    .iml-button {
        width: 100%;
        margin: .5rem 0 0
    }

    .iml-button.back {
        order: 2;
        background: 0 0;
        color: #02365b;
        text-decoration: underline
    }

    .iml-button.back:hover {
        background: 0 0;
        color: #cbd061
    }

    .iml-headline {
        hyphens: auto;
        -webkit-hyphens: auto;
        -moz-hyphens: auto;
        -ms-hyphens: auto
    }

    .iml-flexitem p {
        font-size: .95rem;
        line-height: 1.4rem
    }

    .iml-flexitem {
        margin: .3rem;
        width: calc(50% - .6rem)
    }
}

@media (max-width: 350px) {
    .iml-flexitem {
        width: 100%
    }
}