.hide,
.hidden {
    display: none;
}

.show,
.visible {
    display: block;
}

textarea,
input,
select,
button,
body {
    font-size: 16px;
    font-family: 'Mulish', sans-serif;
}

img {
    max-width: 100%;
}

.h1 {
    font-family: 'Baloo 2', cursive;
    font-size: 55px;
    line-height: 65px;
    font-weight: 700;
}

.h2 {
    font-family: 'Baloo 2', cursive;
    font-size: 45px;
    line-height: 55px;
    font-weight: 500;
}

    .h2.h2-smaller {
        font-size: 35px;
    }

.h3 {
    font-family: 'Baloo 2', cursive;
    font-size: 35px;
    line-height: 45px;
    font-weight: 700;
}

.h4 {
    font-family: 'Baloo 2', cursive;
    font-size: 30px;
    line-height: 40px;
    font-weight: 800;
}

    .h4.medium {
        font-weight: 500;
    }

.h5 {
    font-family: 'Baloo 2', cursive;
    font-size: 24px;
    line-height: 34px;
    font-weight: 400;
}

    .h5.medium {
        font-weight: 500;
    }

    .h5.s-bold {
        font-weight: 500;
    }

.h6 {
    font-size: 20px;
    line-height: 30px;
    font-weight: 600;
}

.body {
    font-family: 'Mulish', sans-serif;
    font-size: 16px;
    line-height: 26px;
    font-weight: 400;
}

    .body.bold {
        font-weight: 700;
    }

.body-s {
    font-size: 12px;
    line-height: 20px;
    font-weight: 400;
}

.blue {
    color: #5F7BAA;
}

.green {
    color: #39D8C9;
}

.button {
    font-family: 'Mulish', sans-serif;
    font-size: 14px;
    font-weight: 700;
    line-height: normal;
    display: block;
    text-align: center;
    cursor: pointer;
    transition: all .4s cubic-bezier(.42, 0, .58, 1);
    padding: 5px;
    border-radius: 15px;
    background-color: #39D8C9;
    color: #fff;
    box-sizing: border-box;
}

    .button.label-icon {
        font-family: 'Baloo 2', cursive;
        font-size: 17px;
        font-weight: 900;
        text-transform: uppercase;
        padding: 9px 20px;
        border-radius: 100px;
        color: #FFFFFF;
        background-color: #476FF5;
        display: inline-block;
    }

    .button.full-width {
        width: 100%;
    }

    .button:hover {
        background-color: #476FF5;
    }

    .button.label-icon i {
        display: inline-block;
        font-size: 10px;
        margin-left: 18px;
        vertical-align: middle;
    }

    .button.label-icon:hover {
        background-color: #39D8C9;
        color: #fff;
    }

    .button.disabled {
        opacity: .2;
        pointer-events: none;
    }

.component {
    position: relative;
    box-sizing: border-box;
    width: 100%;
}

.group-component,
.component {
    margin-bottom: 30px;
}

.step-components .components-bloc > .row:last-child > div > .component:last-child,
.step-components .components-bloc > .row:last-child > div > .group-component:last-child {
    margin-bottom: 0;
}

.step-components .components-bloc > .row .group-component .component:last-child {
    margin-bottom: 0;
}

.data-component .group-component .component:last-child {
    margin-bottom: 0;
}

.component.disabled {
    pointer-events: none;
}

.group-component .row {
    margin-top: -15px;
    margin-bottom: -15px;
}

    .group-component .row .component {
        padding: 15px 0;
    }

.warning {
    font-family: 'Mulish', sans-serif;
    font-size: 15px;
    line-height: 20px;
    font-weight: 400;
    color: #5F7BAA;
    display: block;
    margin-top: 10px;
}

    .warning span {
        vertical-align: middle;
    }

    .warning i {
        margin-right: 6px;
        vertical-align: middle;
        color: #E33F45;
        font-size: 12px;
    }

.input label {
    color: #5F6062;
    width: 100%;
    box-sizing: border-box;
    display: block;
    position: relative;
    font-weight: 400;
}

.input.file .input-container {
    padding: 6px 7px 6px 20px;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    align-items: center;
    position: relative;
    border: 1px solid transparent;
    width: 100%;
    cursor: pointer;
    background-color: #fff;
    border-radius: 10px;
    box-sizing: border-box;
    transition: all .4s cubic-bezier(.42, 0, .58, 1);
}

    .input.file .input-container:hover .button {
        background-color: #39D8C9;
        color: #fff;
    }

.input.file.error .input-container {
    border-color: #E33F45;
}

.textarea textarea {
    font-family: 'Mulish', sans-serif;
    font-size: 14px;
    line-height: normal;
    font-weight: 700;
    padding: 15px 20px 47px 20px;
    border: 1px solid transparent;
    background-color: #F8FAFB;
    color: #5F7BAA;
    width: 100%;
    box-sizing: border-box;
    display: block;
    border-radius: 10px;
    transition: all .4s cubic-bezier(.42, 0, .58, 1);
    height: 225px;
}

    .textarea textarea::placeholder {
        font-family: 'Mulish', sans-serif;
        font-size: 16px;
        line-height: normal;
        font-weight: 400;
        color: rgba(95, 123, 170, .5);
    }

    .textarea textarea:hover,
    .textarea textarea:focus {
        background-color: #F7FDFF;
        border-color: #4A73F1;
    }

.input.text label,
.input.email label,
.input.tel label,
.input.number label {
    font-size: 16px;
    line-height: 24px;
    margin-bottom: 8px;
    padding-left: 16px;
}

.input.text input,
.input.email input,
.input.tel input,
.input.number input {
    font-family: 'Mulish', sans-serif;
    font-size: 14px;
    line-height: normal;
    font-weight: 700;
    padding: 15px 20px;
    background-color: #FFFFFF;
    color: #5F7BAA;
    border: 1px solid transparent;
    width: 100%;
    box-sizing: border-box;
    display: block;
    border-radius: 10px;
    transition: all .4s cubic-bezier(.42, 0, .58, 1);
}

.input.secondary.text input,
.input.secondary.email input,
.input.secondary.tel input,
.input.secondary.number input {
    background-color: #F8FAFB;
}

.input.text.error input,
.input.email.error input,
.input.tel.error input,
.input.number.error input {
    border-color: #E33F45;
}

.input.text input::placeholder,
.input.email input::placeholder,
.input.tel input::placeholder,
.input.number input::placeholder {
    font-family: 'Mulish', sans-serif;
    font-size: 14px;
    line-height: normal;
    font-weight: 700;
    color: rgba(95, 123, 170, .6);
}

.input.secondary.text input::placeholder,
.input.secondary.email input::placeholder,
.input.secondary.tel input::placeholder,
.input.secondary.number input::placeholder {
    font-family: 'Mulish', sans-serif;
    font-size: 16px;
    line-height: normal;
    font-weight: 400;
    color: rgba(95, 123, 170, .5);
}

.input.text input:hover,
.input.email input:hover,
.input.tel input:hover,
.input.number input:hover,
.input.text input:focus,
.input.email input:focus,
.input.tel input:focus,
.input.number input:focus {
    background-color: #F7FDFF;
    border-color: #4A73F1;
}

.input.inline-button .input-container:hover input {
    border-color: #E9EDEF;
}

.input.checkbox label {
    font-family: 'Mulish', sans-serif;
    font-size: 14px;
    line-height: normal;
    font-weight: 700;
    padding-left: 28px;
    cursor: pointer;
    color: #5F7BAA;
    transition: all .4s cubic-bezier(.42, 0, .58, 1);
}

    .input.checkbox label a {
        color: #5F7BAA;
        text-decoration: underline;
        transition: all .4s cubic-bezier(.42, 0, .58, 1);
    }

        .input.checkbox label a:hover {
            opacity: .5;
        }

    .input.checkbox label:before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        width: 15px;
        height: 15px;
        border-radius: 50%;
        background-color: #fff;
        border: 1px solid #4A73F1;
        box-sizing: border-box;
        transition: all .4s cubic-bezier(.42, 0, .58, 1);
    }

    .input.checkbox label:after {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        width: 15px;
        height: 15px;
        border-radius: 50%;
        border: 2px solid #fff;
        background-color: #4A73F1;
        box-sizing: border-box;
        opacity: 0;
        transition: all .4s cubic-bezier(.42, 0, .58, 1);
    }

.input.checkbox input:checked + label:after {
    opacity: 1;
}

.input.checkbox input:checked + label:before {
    border-color: #fff;
}

.input.radio label {
    font-family: 'Mulish', sans-serif;
    font-size: 14px;
    line-height: normal;
    font-weight: 700;
    padding: 15px 15px 15px 37px;
    border-radius: 10px;
    cursor: pointer;
    border: 1px solid transparent;
    background-color: #FFF;
    color: #5F7BAA;
    transition: all .4s cubic-bezier(.42, 0, .58, 1);
}

.input.radio.secondary label {
    background-color: #F8FAFB;
}

.input.radio label span {
    display: block;
    font-family: 'Mulish', sans-serif;
    font-weight: 400;
    font-size: 11px;
    line-height: 20px;
}

    .input.radio label span.inline {
        display: inline-block;
        padding-left: 5px;
    }

.input.radio.special label {
    border: 1px solid rgba(96, 124, 168, .3);
    background-color: transparent;
}

.input.radio label:before {
    content: "";
    position: absolute;
    left: 16px;
    top: 16px;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background-color: #fff;
    border: 1px solid #4A73F1;
    box-sizing: border-box;
    transition: all .4s cubic-bezier(.42, 0, .58, 1);
}

.input.radio.special label:before {
    background-color: #F8FAFB;
}

.input.radio label:after {
    content: "";
    position: absolute;
    left: 16px;
    top: 16px;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    border: 2px solid #fff;
    background-color: #4A73F1;
    box-sizing: border-box;
    opacity: 0;
    transition: all .4s cubic-bezier(.42, 0, .58, 1);
}

.input.radio input:checked + label {
    color: #fff;
    background-color: #39D8C9;
    border-color: transparent;
}

.input.radio input.discreet:checked + label {
    color: #5F7BAA;
    background-color: #F8FAFB;
}

.input.radio input:checked + label:after {
    opacity: 1;
}

.input.radio label:hover {
    background-color: #F7FDFF;
    border-color: #4A73F1;
}

.input.radio.error label {
    border-color: #E33F45;
}

.select label {
    font-family: 'Mulish', sans-serif;
    font-size: 14px;
    line-height: normal;
    font-weight: 700;
    margin-bottom: 8px;
    padding-left: 16px;
    color: #5F6062;
    width: 100%;
    box-sizing: border-box;
    display: block;
    position: relative;
}

.select .select2-container--default .select2-selection--single {
    padding: 15px 20px;
    height: auto;
    border: none;
    border-radius: 10px;
    border: 1px solid transparent;
    box-sizing: border-box;
    transition: all .4s cubic-bezier(.42, 0, .58, 1);
}

    .select .select2-container--default .select2-selection--single:hover {
        background-color: #F7FDFF;
        border-color: #4A73F1;
    }

.select.error .select2-container--default .select2-selection--single {
    border-color: #E33F45;
}

.select .select2-container--default .select2-selection--single .select2-selection__rendered {
    font-family: 'Mulish', sans-serif;
    font-size: 14px;
    line-height: normal;
    font-weight: 700;
    width: 100%;
    box-sizing: border-box;
    position: relative;
    padding: 0;
    color: #5F7BAA;
    transition: all .4s cubic-bezier(.42, 0, .58, 1);
}

.select .select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: #5F7BAA;
    transition: all .4s cubic-bezier(.42, 0, .58, 1);
}

.select .select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    height: 10px;
    width: 18px;
    text-align: center;
}

    .select .select2-container--default .select2-selection--single .select2-selection__arrow:after {
        content: "\e90c";
        font-family: "dourogas";
        font-size: 10px;
        line-height: normal;
        display: block;
        position: absolute;
        color: #96ABCD;
        transition: all .4s cubic-bezier(.42, 0, .58, 1);
    }

.select .select2-container--open.select2-container--default .select2-selection--single .select2-selection__arrow:after {
    transform: rotate(-180deg);
}

.select .select2-container--default .select2-selection--single .select2-selection__arrow b {
    display: none;
}

.select2-container--default .select2-dropdown {
    border: none;
}

.select2-dropdown {
    border-radius: 10px;
}

.select2-container--default .select2-dropdown--below {
    border-top: none;
}

.select2-container--default .select2-dropdown--above {
    border-bottom: none;
}

.select2-container--default .select2-results > .select2-results__options {
    max-height: 234px;
    overflow-y: auto;
}

.select2-container--default .select2-results__option {
    font-family: 'Mulish', sans-serif;
    font-size: 14px;
    line-height: normal;
    padding: 8px 20px;
    background-color: #fff;
    color: #5F7BAA;
    width: 100%;
    box-sizing: border-box;
    display: block;
    transition: all .4s cubic-bezier(.42, 0, .58, 1);
    border-radius: 10px;
    margin-bottom: 5px;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    color: #fff;
    background-color: #476FF5;
}

.select2-container--default .select2-results__option[aria-selected=true] {
    color: #ffffff;
    background-color: #476FF5;
}

.select2-container--default .select2-search--dropdown .select2-search__field {
    font-family: 'Mulish', sans-serif;
    font-size: 14px;
    line-height: normal;
    border: none;
    border-bottom: 1px solid #96ABCD;
    background: #ffffff;
    padding: 0 0 8px 0;
    color: #5F7BAA;
}

.select2-search--dropdown {
    padding: 0 20px 18px 20px;
}

.select.disabled .select2-container--default .select2-selection--single {
    background-color: #F7F9FA;
}

.input.file label {
    font-family: 'Mulish', sans-serif;
    font-size: 14px;
    line-height: normal;
    font-weight: 700;
    color: #5F7BAA;
}

.input.file .button {
    font-family: 'Baloo 2', cursive;
    font-size: 12px;
    line-height: normal;
    font-weight: 700;
    color: #476FF5;
    padding: 7px 25px;
    background-color: #F8FAFB;
    border-radius: 10px;
    white-space: nowrap;
    min-height: 36px;
}

    .input.file .button:after {
        content: "\e901";
        font-family: "dourogas";
        font-size: 12px;
        vertical-align: middle;
        margin-left: 20px;
    }

.input.file input {
    display: none;
}

.mandatory-message {
    font-family: 'Mulish', sans-serif;
    font-size: 12px;
    line-height: 20px;
    font-weight: 400;
    color: #5F7BAA;
    margin-top: 4px;
}

.error-message {
    font-family: 'Mulish', sans-serif;
    font-size: 12px;
    line-height: 20px;
    font-weight: 400;
    color: #E33F45;
    margin-top: 4px;
    display: none;
}

    .error-message i {
        font-size: 8px;
        vertical-align: middle;
        margin-right: 5px;
    }

.component.error .error-message,
.group-component.error .error-message {
    display: inline-block;
}


.subscribe {
    padding: 35px;
    border: 1px solid #39D8C9;
    border-radius: 10px;
}

.subscribe-title {
    margin-bottom: 15px;
    padding: 0 40px;
}

.membership {
    background-image: url("../img/BG-adesao.jpg");
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    overflow: hidden;
}

    .membership.last-step {
        background-image: url("/Content/img/fim-bg.jpg");
    }

.actions-button {
    display: inline-block;
    vertical-align: middle;
    margin-right: 10px;
    position: relative;
    cursor: pointer;
}

    .actions-button.active {
        pointer-events: none;
    }

.bar-actions {
    position: relative;
}

.actions-content {
    position: absolute;
    right: -10px;
    top: 0;
    transform: translateY(-100%);
    padding: 50px 15px 15px 15px;
    background: #fff;
    border-radius: 10px;
    box-sizing: border-box;
    width: calc(100% + 20px);
    opacity: 0;
    transition: all .4s cubic-bezier(.42, 0, .58, 1);
    box-shadow: 0 2px 10px 0 rgb(0 0 0 / 16%);
    pointer-events: none;
}

    .actions-content.active {
        opacity: 1;
        top: -20px;
        pointer-events: all;
    }

.content-close {
    position: absolute;
    font-size: 15px;
    right: 15px;
    top: 20px;
    color: #707070;
    cursor: pointer;
}

.content-container {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    height: 565px;
}

.content-container {
    display: none;
}

    .content-container.active {
        display: flex;
    }

.button.label {
    display: inline-block;
    cursor: pointer;
    transition: all .4s cubic-bezier(.42, 0, .58, 1);
    font-size: 29px;
    padding: 8px;
    color: #476FF5;
    background-color: #F6F7FA;
    border-radius: 5px;
    width: 45px;
    height: 45px;
    box-sizing: border-box;
}

.actions-button.go-to-step .button.label {
    font-size: 13px;
    line-height: 45px;
}

    .actions-button.go-to-step .button.label i {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
    }

.actions-button.disabled {
    pointer-events: none;
}

    .actions-button.disabled .button {
        opacity: .2;
    }

.actions-button:hover .button-tooltip {
    transform: translate(-50%, -44px);
    opacity: 1;
}

.actions-button:hover .button.label {
    background-color: #39D8C9;
    color: #fff;
}

.actions-button.disabled {
    opacity: .2;
    pointer-events: none;
}

.actions-button.go-to-step.disabled {
    opacity: 0;
}

.bar-actions .actions-button:last-child {
    margin-right: 0;
}

.membership-form {
    height: 100vh;
    height: calc(var(--vh, 1vh) * 100);
    box-sizing: border-box;
    display: block;
    flex-wrap: wrap;
    align-items: flex-start;
    position: relative;
    overflow: auto;
    justify-content: center;
}

.membership-header {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    z-index: 2;
    transform: translateY(-100%);
    transition: all .4s cubic-bezier(.42, 0, .58, 1);
}

.membership-header {
    background-color: #FAFAFC;
}

    .membership-header.active {
        transform: translateY(0);
    }

.membership-header-container {
    width: 1300px;
    max-width: 100%;
    padding: 70px 20px 20px 20px;
    box-sizing: border-box;
    margin: auto;
}

.membership-header.active {
    opacity: 1;
}

.header-logo {
    max-width: 150px;
}

.form-step {
    box-sizing: border-box;
    padding: 164px 0 135px 0;
    transform: translateY(100%);
    opacity: 0;
    transition: all .4s cubic-bezier(.42, 0, .58, 1);
}

    .form-step.out {
        transform: translateY(-100%);
        opacity: 0;
    }

    .form-step.in {
        transform: translateY(0);
        opacity: 1;
    }

    .form-step.intro {
        padding: 60px 0 135px 0;
    }

    .form-step.coverage {
        padding: 164px 0 0 0;
    }

.intro-title {
    margin-bottom: 35px;
}

    .intro-title span {
        display: block;
    }

.intro-logo {
    max-width: 225px;
    margin: 0 auto 30px auto;
}

.column-icon {
    font-size: 70px;
    margin-bottom: 35px;
}

.column-title {
    margin-bottom: 10px;
}

.membership-bar {
    position: absolute;
    bottom: 30px;
    left: 50%;
    transform: translateX(-50%);
    width: 1300px;
    max-width: 100%;
    padding: 0 20px;
    box-sizing: border-box;
    z-index: 2;
    transition: all .4s cubic-bezier(.42, 0, .58, 1);
}

    .membership-bar.disabled {
        transform: translate(-50%, calc(100% + 30px));
    }

.membership-bar-container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    background-color: rgba(255, 255, 255, .8);
    padding: 10px 10px 10px 30px;
    box-shadow: 0 2px 10px 0 rgba(0, 0, 0, .16);
    border-radius: 100px;
}

.bar-tracker {
    display: block;
}

.tracker-active {
    display: inline-block;
    font-family: 'Mulish', sans-serif;
    font-size: 17px;
    line-height: normal;
    font-weight: 400;
    color: #5F7BAA;
    margin-right: 30px;
    vertical-align: middle;
}

.tracker-steps {
    display: inline-block;
    vertical-align: middle;
}

.steps-item {
    width: 70px;
    height: 4px;
    display: inline-block;
    background-color: #E6E6E6;
    margin-right: 10px;
    border-radius: 4px;
    position: relative;
}

    .steps-item:after {
        content: "";
        position: absolute;
        display: block;
        left: 0;
        width: 0;
        height: 4px;
        border-radius: 4px;
        background-color: #476FF5;
        transition: all .4s cubic-bezier(.42, 0, .58, 1);
    }

    .steps-item.active:after {
        width: 100%;
    }

    .steps-item.visited:after {
        background-color: #39D8C9;
        width: 100%;
    }

.tracker-steps .steps-item:last-child {
    margin-right: 0;
}

.coverage-title {
    margin-bottom: 20px;
}

.coverage.impossible .coverage-title {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    align-items: center;
    position: relative;
    width: 100%;
    cursor: pointer;
    background-color: #F7F9FA;
}

.coverage-title .title-icon {
    margin-right: 25px;
    font-size: 55px;
    color: #E33F45;
}

.coverage-img iframe {
    width: 400px;
    height: 680px;
    max-height: 100vh;
    max-height: calc((var(--vh, 1vh) * 100) - 164px);
    margin: auto;
    display: block;
}

.step-components .components-bloc {
    margin-bottom: 20px;
}

    .step-components .components-bloc:last-child {
        margin-bottom: 0;
    }

    .step-components .components-bloc > .component:last-child {
        margin-bottom: 0;
    }

.components-bloc .bloc-title {
    margin-top: 48px;
}

.step-components .components-bloc:first-child .bloc-title {
    margin-top: 0;
}

.bloc-title {
    margin-bottom: 30px;
}

    .bloc-title .bloc-main-title {
        margin-bottom: 10px;
    }

    .bloc-title .bloc-sub-title {
        margin-bottom: 0;
    }


.bloc-main-title {
    margin-bottom: 30px;
}

.bloc-sub-title {
    margin-bottom: 10px;
}

    .bloc-title i,
    .bloc-main-title i,
    .bloc-sub-title i {
        font-size: 18px;
        margin-left: 10px;
        cursor: pointer;
        color: #007aff;
    }

.help-message {
    font-family: 'Mulish', sans-serif;
    font-size: 10px;
    line-height: 20px;
    font-weight: 400;
    color: #5F7BAA;
    display: block;
    margin-top: 10px;
}

    .help-message span {
        vertical-align: middle;
    }

    .help-message i {
        margin-right: 8px;
        vertical-align: middle;
    }

/* NOVO */

.tippy-tooltip.tooltip-theme {
    background-color: #FFFFFF;
    color: #5F7BAA;
    font-family: 'Mulish', sans-serif;
    font-weight: 400;
    font-size: 12px;
    line-height: 17px;
    border-radius: 5px;
}

.tippy-tooltip.tooltip-button-theme {
    font-family: 'Mulish', sans-serif;
    font-size: 14px;
    line-height: normal;
    ;
    font-weight: 400;
    border-radius: 5px;
    background-color: #fff;
    color: #5F7BAA;
}

.tippy-tooltip.tooltip-theme .tippy-content {
    padding: 10px 20px;
}

.tippy-tooltip.tooltip-button-theme .tippy-content {
    padding: 3px 10px;
}

.tippy-tooltip[data-animation='fadeUp'] {
    transition: all .4s cubic-bezier(.42, 0, .58, 1);
}

    .tippy-tooltip[data-animation='fadeUp'][data-state='hidden'] {
        opacity: 0;
        transform: translateY(20px);
    }

.tippy-tooltip[data-inertia][data-state='visible'] {
    opacity: 0;
    transform: translateY(0);
}

.message-form,
.save-form {
    align-self: flex-end;
    position: relative;
    box-sizing: border-box;
    width: 100%;
}

    .message-form.error .error-message {
        display: block;
    }

    .message-form .form-components {
        position: relative;
    }

        .message-form .form-components .component {
            margin-bottom: 0;
        }

.form-components .component {
    margin-bottom: 10px;
}

.message-form .form-components .form-buttons {
    position: absolute;
    bottom: 0;
    width: 100%;
    padding: 10px 20px;
    box-sizing: border-box;
}

.message-info,
.help-info,
.save-info {
    padding: 0 25px;
    align-self: flex-start;
}

.help-title,
.message-title {
    margin-bottom: 10px;
}

.form-step.end {
    padding: 164px 0 55px 0;
}

    .form-step.end .row {
        height: calc(100vh - 219px);
        height: calc((var(--vh, 1vh) * 100) - 219px);
    }

.end-title {
    margin-bottom: 45px;
}

    .end-title span {
        display: block;
    }

.end-logo {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    max-width: 115px;
}

.steps-box {
    padding: 20px 30px 40px 30px;
    background-color: #fff;
    border-radius: 5px;
    margin-bottom: 30px;
}

.summary-title {
    margin-bottom: 20px;
}

.summary-steps .steps-box:last-child {
    margin-bottom: 0;
}

.box-title {
    margin-bottom: 30px;
    cursor: pointer;
    color: #476FF5;
    transition: all .4s cubic-bezier(.42, 0, .58, 1);
}

    .box-title i {
        margin-right: 20px;
    }

    .box-title:hover {
        color: #39D8C9;
    }

.box-data .row {
    margin-bottom: 20px;
}

.data-component .group-component .row {
    margin-bottom: -15px;
}

.data-component .group-component {
    margin-bottom: 0;
}

.box-data .row:last-child {
    margin-bottom: 0px;
}

#condition > :last-child {
    margin-bottom: 0;
}

.summary-social-tariff,
.summary-general-conditions {
    padding: 20px 30px 40px 30px;
    background-color: #fff;
    border-radius: 5px;
    margin-bottom: 30px;
}

.social-tariff-title {
    margin-bottom: 20px;
}

.social-tariff-text p {
    margin-bottom: 10px;
}

.summary-social-tariff .component,
.summary-general-conditions .component {
    margin-bottom: 20px;
}

.component-title {
    margin-bottom: 10px;
}

.coverage-legend {
    margin-top: 20px;
}

.legend-square {
    display: inline-block;
    width: 12px;
    height: 12px;
    background: #39D8C9;
    vertical-align: baseline;
    margin-right: 5px;
}

@media only screen and (max-width: 1199px) {

    .intro-info {
        max-width: 50%;
        margin: auto;
    }

    .info-column {
        margin-bottom: 70px;
        text-align: center;
    }

    .membership-form {
        align-items: center;
    }

    .steps-item {
        width: 35px;
    }

    .step-components .components-bloc > .row:last-child > div:not(:last-child) > .component:last-child,
    .step-components .components-bloc > .row:last-child > div:not(:last-child) > .group-component:last-child {
        margin-bottom: 30px;
    }

    .coverage-img {
        display: flex;
        align-items: flex-end;
        height: 100%;
        padding: 5px 10px 50px 10px;
    }

    .subscribe {
        margin-bottom: 30px;
    }

    .step-components .components-bloc > .row:last-child > div:not(:last-child) > .group-component.order:last-child {
        margin-bottom: 0;
    }
}

@media only screen and (max-width: 991px) {

    .intro-info {
        max-width: 60%;
    }

    .tracker-steps {
        display: none;
    }
}

@media only screen and (max-width: 767px) {

    .save-title {
        margin-bottom: 10px;
    }

    .save-text {
        margin-bottom: 15px;
    }

    .save-logo {
        max-width: 115px;
    }

    .form-components .component {
        margin-bottom: 5px;
    }

    .intro-logo {
        max-width: 115px;
        margin: 0 auto 15px auto;
    }

    .header-logo {
        max-width: 115px;
        margin: auto;
    }

    .h1 {
        ;
        font-size: 40px;
        line-height: 45px;
    }

    .h2 {
        font-size: 30px;
        line-height: 35px;
    }

    .h3 {
        font-size: 25px;
        line-height: 35px;
    }

    .h4 {
        font-size: 20px;
        line-height: 25px;
    }

    .h5 {
        font-size: 20px;
        line-height: 30px;
    }

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

    .body {
        font-size: 12px;
        line-height: 20px;
    }

    .intro-title {
        margin-bottom: 20px;
    }

    .column-icon {
        font-size: 50px;
        margin-bottom: 20px;
    }

    .column-title {
        margin-bottom: 5px;
    }

    .intro-info {
        max-width: none;
        margin-top: 50px;
    }

    .info-column {
        margin-bottom: 35px;
    }

    .step-intro .row div:last-child .info-column:last-child {
        margin-bottom: 0;
    }

    .coverage-title {
        margin-top: 62px;
        margin-bottom: 10px;
    }

    .bloc-main-title,
    .bloc-title {
        margin-bottom: 15px;
    }

    .group-component,
    .component {
        margin-bottom: 20px;
    }

    .step-components .components-bloc > .row:last-child > div:not(:last-child) > .component:last-child,
    .step-components .components-bloc > .row:last-child > div:not(:last-child) > .group-component:last-child {
        margin-bottom: 20px;
    }

    .group-component .row .component {
        padding: 10px 0;
    }

    .group-component .row {
        margin-top: -10px;
        margin-bottom: -10px;
    }

    .subscribe {
        padding: 20px;
    }

    .subscribe-title {
        padding: 0 20px;
        margin-bottom: 10px;
    }

    .summary-title {
        margin-bottom: 10px;
    }

    .steps-box {
        padding: 10px 15px 20px 15px;
        margin-bottom: 15px;
    }

    .box-title {
        margin-bottom: 15px;
    }

    .box-data .row {
        margin-bottom: 0;
    }

    .box-data .data-field {
        margin-bottom: 10px;
    }

    .box-data .row:last-child div:last-child .data-field:last-child {
        margin-bottom: 0;
    }

    .box-title i {
        margin-right: 10px;
    }

    .membership-header-container {
        padding: 35px 20px 10px 20px;
    }

    .membership-bar {
        bottom: 0;
        padding: 0;
    }

    .membership-bar-container {
        border-radius: 25px 25px 0 0;
        padding: 10px 0 0 0;
        background-color: #fff;
    }

    .actions-button.next .button.label-icon {
        border-radius: 0;
    }

    .actions-button.next {
        width: 100%;
        margin-right: 0;
        margin-top: 10px;
    }

    .bar-actions {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        width: 100%;
    }

    .actions-button.next .button {
        display: block;
        text-align: center;
    }

    .bar-tracker {
        display: none;
    }

    .form-step.intro {
        padding: 30px 0 30px 0;
    }

    .form-step.intro {
        padding: 30px 0 130px 0;
    }

    .form-step.coverage {
        padding: 20px 0 110px 0;
    }

    .form-step {
        padding: 82px 0 130px 0;
    }

    .subscribe {
        margin-bottom: 20px;
    }

    .actions-content {
        max-height: calc(100vh - 130px);
        max-height: calc((var(--vh, 1vh) * 100) - 130px);
        width: calc(100% - 20px);
        right: 10px;
        top: -20px;
    }

    .content-container {
        height: calc(100vh - 195px);
        height: calc((var(--vh, 1vh) * 100) - 195px);
    }

    .social-tariff-title {
        margin-bottom: 10px;
    }

    .summary-social-tariff .component,
    .summary-general-conditions .component {
        margin-bottom: 10px;
    }

    .summary-social-tariff,
    .summary-general-conditions {
        padding: 10px 15px 20px 15px;
        margin-bottom: 15px;
    }
}

.modal-window {
    display: none;
    position: fixed;
    z-index: 10000;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(255,255,255,0.5);
}

    .modal-window.active {
        display: block;
    }

        .modal-window.active .content-container {
            display: flex;
        }

.modal-window-content {
    position: relative;
    left: 50%;
    margin-left: -200px;
    top: 50%;
    margin-top: -200px;
    width: 400px;
    height: 400px;
    box-sizing: border-box;
    box-shadow: 0 2px 10px 0 rgb(0 0 0 / 16%);
    padding: 50px 15px 15px 15px;
    background: rgba(255,255,255,1);
    border-radius: 10px;
}

.coverage-img {
    position: absolute;
    left: 0;
    right: 0;
    top: -37px;
    height: calc(100vh - 225px);
}

    .coverage-img iframe {
        width: calc(100vh * 0.4);
        height: 100%;
    }

@media (max-width:768px) {
    .coverage-img {
        position: relative;
    }

        .coverage-img iframe {
            width: 100%;
            height: 120vh;
        }
}

.campaign-requirements-info {
    line-height: normal;
    font-size: 1rem;
    font-family: 'Mulish',sans-serif;
    color: #808080;
    font-weight: 700;
    position: relative;
}

    .campaign-requirements-info .campaign-requirements-icon {
        display: inline-block;
        height: 1.5em;
        width: 1.5em;
        background: url(/content/img/dgicon-cross.svg) no-repeat center center;
        background-size: contain;
        vertical-align: middle;
        position: absolute;
    }

        .campaign-requirements-info .campaign-requirements-icon.applied {
            background: url(/content/img/dgicon-check-mark.svg) no-repeat center center;
        }

    .campaign-requirements-info .campaign-requirements-description {
        display: inline-block;
        margin-left: 2rem;
    }
