/*#####################################*/
/*#              HEADER               #*/
/*#####################################*/

.header_container .site_container {
    height: auto;
}

.site_container .back_to_super_button {
    display: block;
    float: left;
    margin-top: 10px;
    border: 1px solid #3c67a5;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    border-radius: 4px;
    background-color: #f3fafd;
    background-color: rgba(255, 255, 255, 0.5);
    color: #3c67a5;
    font-family: 'Font1';
    font-size: 87.5%; /*14px*/
    text-decoration: none;
    line-height: 26px;
    width: 162px;
    -webkit-transition: background-color 150ms, color 150ms;
    -moz-transition: background-color 150ms, color 150ms;
    transition: background-color 150ms, color 150ms;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
@media( min-width: 960px ){
    .site_container .back_to_super_button:hover {
        border: none;
        background-color: #3c67a5;
        color: #fff;
        line-height: 28px;
        padding: 0em 1px;
    }
}

.back_to_super_button .arrow {
    display: block;
    float: left;
    margin: 0em 8px;
    color: inherit;
    font-family: inherit;
    font-size: 171.4286%; /*24px*/
}

.back_to_super_button .image {
    display: block;
    float: right;
    margin-right: 10px;
    background-image: url(../images/sprite-purchasing-process.png);
    background-repeat: no-repeat;
    background-position: -80px -151px;
    width: 25px;
    height: 26px;
}
@media( min-width: 960px ){
    .back_to_super_button:hover .image {
        background-position: -80px -171px;
    }
}

/*#####################################*/
/*#               MAIN                #*/
/*#####################################*/

.main_container .main_content {
    display: block;
    float: left;
    position: relative;
    margin-top: 26px;
    width: 100%;
}
@media( min-width: 960px ){
    .main_container .main_content {
        padding-right: 244px;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }
}

.main_content .principal_container {
    display: block;
    float: left;
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
    background-color: #fff;
    width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.main_content .cart_summary_container {
    display: none;
}
@media( min-width: 960px ){
    .main_content .cart_summary_container {
        display: block;
        position: absolute;
        top: 0em;
        right: 0em;
        -webkit-border-radius: 10px;
        -moz-border-radius: 10px;
        border-radius: 10px;
        background-color: #fff;
        width: 222px;
    }

    .cart_summary_container .cart_title {
        display: block;
        float: left;
        margin-top: 8px;
        color: #E66B5B;
        font-family: 'Font3';
        font-size: 150%; /*24px*/
        text-align: center;
        line-height: 52px;
        width: 100%;
    }

    .cart_title span {
        display: inline-block;
        margin: 0em 14px;
        background-image: url(../images/sprite-shopping-cart.png);
        background-repeat: no-repeat;
        background-position: center -4px;
        width: 18px;
        height: 5px;
    }

    .cart_summary_container .number_products {
        display: block;
        float: left;
        position: relative;
        color: #3c67a5;
        font-family: 'Font1';
        line-height: 32px;
        padding-left: 74px;
        width: 100%;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }

    .number_products span {
        display: block;
        position: absolute;
        top: 0em;
        left: 33px;
        -webkit-border-radius: 50%;
        -moz-border-radius: 50%;
        border-radius: 50%;
        background-color: #3c67a5;
        color: #fff;
        font-family: 'Font1';
        font-size: 106.25%; /*17px*/
        text-align: center;
        line-height: 32px;
        width: 32px;
    }

    .cart_summary_container .total_saving {
        display: block;
        float: left;
        position: relative;
        margin-top: 13px;
        color: #E66B5B;
        font-family: 'Font2';
        font-size: 87.5%; /*14px*/
        line-height: 16px;
        padding-left: 74px;
        width: 100%;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }

    .total_saving .savings_image {
        display: block;
        position: absolute;
        top: 0em;
        left: 31px;
        background-image: url(../images/sprite-purchasing-process.png);
        background-repeat: no-repeat;
        background-position: -15px -157px;
        width: 35px;
        height: 35px;
    }

    .total_saving .saving_price {
        display: block;
        float: left;
        margin-top: 3px;
        color: inherit;
        font-family: 'Font1';
        font-size: 112.5%; /*18px*/
        line-height: 16px;
        padding-bottom: 16px;
        width: 100%;
    }

    .saving_price .decimal {
        color: inherit;
        font-family: inherit;
        font-size: 88.8889%; /*16px*/
    }

    .saving_price .currency {
        color: inherit;
        font-family: inherit;
        font-size: 66.6667%; /*12px*/
    }

    .cart_summary_container .summary_container {
        display: block;
        float: left;
        border-top: 6px solid #EDF7F9;
        padding: 16px 20px 35px;
        width: 100%;
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
    }

    .summary_container .summary_text {
        display: table;
        float: left;
        margin-top: 15px;
        color: #4EC1E0;
        font-family: 'Font2';
        font-size: 87.5%; /*14px*/
        line-height: 16px;
        width: 100%;
    }
    .summary_container .summary_text.total {
        color: #3c67a5;
        font-family: 'Font1';
        font-size: 100%; /*16px*/
    }

    .summary_text .postal_code {
        color: #3c67a5;
        font-family: inherit;
        font-size: inherit; /*14px*/
    }

    .summary_text .quantity {
        display: table-cell;
        color: inherit;
        font-family: 'Font1';
        font-size: 121.4286%; /*17px*/
        text-align: right;
        vertical-align: bottom;
    }
    .summary_text.total .quantity {
        font-size: 131.25%; /*21px*/
    }

    .summary_text .quantity .decimal {
        color: inherit;
        font-family: inherit;
        font-size: 88.2353%; /*15px*/
    }
    .summary_text.total .quantity .decimal {
        font-size: 90.4762%; /*19px*/
    }
}

.principal_container .steps_container {
    display: block;
    float: left;
    width: 100%;
}

.steps_container .step {
    display: block;
    float: left;
    -webkit-border-radius: 10px 0em 0em;
    -moz-border-radius: 10px 0em 0em;
    border-radius: 10px 0em 0em;
    background-color: #D8F3F8;
    color: #3C67A5;
    font-family: 'Font1';
    font-size: 112.5%; /*18px*/
    text-align: center;
    line-height: 51px;
    padding-top: 2px;
    width: 245px;
}
.steps_container .step + .step {
    border-left: 3px solid #EDF7F9;
    -webkit-border-radius: 0em;
    -moz-border-radius: 0em;
    border-radius: 0em;
}
.steps_container .step.actual + .step {
    border-left: none;
}
.steps_container .step + .step + .step {
    -webkit-border-radius: 0em 10px 0em 0em;
    -moz-border-radius: 0em 10px 0em 0em;
    border-radius: 0em 10px 0em 0em;
}
.steps_container .step.actual {
    border-left: none;
    background-color: transparent;
}
.steps_container .step + .step.actual {
    width: 248px;
}
.steps_container .step + .step + .step.actual {
    width: 245px;
}
@media( min-width: 960px ){
    .steps_container .step {
        width: 235px;
    }
    .steps_container .step + .step {
        width: 234px;
    }
    .steps_container .step + .step.actual {
        width: 237px;
    }
    .steps_container .step + .step + .step.actual {
        width: 234px;
    }
}

.step span {
    color: inherit;
    font-family: inherit;
    font-size: 133.3333%; /*24px*/
}

.principal_container .step_content {
    display: block;
    float: left;
    padding: 25px 30px 40px;
    width: 100%;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

.step_content .user_name {
    display: block;
    float: left;
    color: #4EC1E0;
    font-family: 'Font1';
    font-size: 112.5%; /*18px*/
    line-height: 45px;
    width: 100%;
}

.user_name span {
    display: block;
    float: left;
    margin-right: 12px;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    background-color: #CAECF6;
    background-image: url(../images/sprite-purchasing-process.png);
    background-repeat: no-repeat;
    background-position: -63px -76px;
    width: 45px;
    height: 45px;
}

.step_content .order_title {
    display: block;
    float: left;
    color: #315487;
    font-family: 'Font1';
    font-size: 112.5%; /*18px*/
    line-height: 68px;
    width: 100%;
}

.step_content .order_row {
    display: block;
    float: left;
    margin-top: 8px;
    padding-bottom: 34px;
    width: 100%;
}

.order_row .order_container {
    display: block;
    float: left;
    color: #3C67A5;
    font-family: 'Font2';
    font-size: 93.75%; /*15px*/
    line-height: 20px;
    width: 215px;
}

.order_container span {
    display: block;
    float: left;
    margin-top: -8px;
    margin-right: 10px;
    background-repeat: no-repeat;
    width: 33px;
    height: 27px;
}
.order_container.home span {
    background-image: url(../images/sprite-shopping-cart.png);
    background-position: -40px -260px;
}
.order_container.shop span {
    background-image: url(../images/sprite-purchasing-process.png);
    background-position: -68px -120px;
}

.order_container input {
    display: block;
    float: left;
    margin-top: 1px;
    margin-right: 6px;
    width: 18px;
    height: 18px;
}

.principal_container .back_button,
.principal_container .next_button {
    display: block;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
    font-family: 'Font1';
    font-size: 112.5%; /*18px*/
    text-align: center;
    text-decoration: none;
    line-height: 38px;
}
.principal_container .back_button {
    float: left;
    background-color: #E6E6E2;
    color: #ABAB9D;
    width: 194px;
    -webkit-transition: background-color 150ms, color 150ms;
    -moz-transition: background-color 150ms, color 150ms;
    transition: background-color 150ms, color 150ms;
}
.principal_container .next_button {
    float: right;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
    border-radius: 6px;
    background-color: #e66b5b;
    color: #fff;
    -webkit-transition: background-color 150ms;
    -moz-transition: background-color 150ms;
    transition: background-color 150ms;
}
@media( min-width: 960px ){
    .principal_container .back_button:hover {
        background-color: #ABAB9D;
        color: #fff;
    }
    .principal_container .next_button:hover {
        background-color: #bd3321;
    }
}

.back_button span,
.next_button span {
    color: inherit;
    font-family: 'Font2';
    font-size: 88.8889%; /*16px*/
}

.popup_content .legal_popup {
    display: block;
    float: left;
    margin: 30px 5% 20px;
    padding-right: 20px;
    width: 90%;
    max-height: 450px;
    overflow-y: scroll;
}

.legal_popup .title_legal {
    display: block;
    float: left;
    color: #45acc7;
    font-family: 'Font3';
    font-size: 200%; /*32px*/
    line-height: 60px;
    width: 100%;
}

.legal_popup .text {
    display: block;
    float: left;
    margin-top: 20px;
    color: #3C67A5;
    font-family: 'Font2';
    font-size: 87.5%; /*14px*/
    line-height: 24px;
    width: 100%;
}
.legal_popup .text.important {
    margin-top: 40px;
    color: #4EC1E0;
    font-family: 'Font1';
    font-size: 112.5%; /*18px*/
    line-height: 24px;
    padding-bottom: 8px;
}

.legal_popup .text span {
    color: inherit;
    font-family: 'Font1';
    font-size: 128.5714%; /*18px*/
}

.text .text_link {
    color: #4EC1E0;
    font-family: inherit;
    font-size: inherit;
}
@media( min-width: 960px ){
    .text .text_link:hover {
        text-decoration: none;
    }
}

.legal_popup .image_table {
    display: block;
    float: left;
    margin-top: 10px;
    width: 100%;
    max-width: 637px;
}

.row .error_message {
    box-sizing: border-box;
    color: #c42b20;
    display: block;
    float: left;
    font-family: "Font2";
    font-size: 100%;
    line-height: 20px;
    padding-left: 10px;
    width: 100%;
}

.tooltip_container {
    display: inline-block;
    margin-top: -4px;
    margin-left: 5px;
    background-image: url(../images/sprite-shopping-cart.png);
    background-repeat: no-repeat;
    background-position: -23px -70px;
    width: 19px;
    height: 19px;
}

.tooltip_container .tooltip {
    display: none;
    position: absolute;
    margin-top: -18px;
    margin-left: 30px;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    border-radius: 8px;
    background-color: #EDF7F9;
    color: #706f6f;
    font-family: "Font2";
    font-size: 12px;
    line-height: 15px;
    padding: 11px 0px 11px 11px;
    width: 250px;
    z-index: 1;
}
@media( min-width: 960px ){
    .tooltip_container .tooltip {
        font-size: 75%; /*12px*/
    }
}
.tooltip_container:hover .tooltip {
    display: block;
}

.tooltip_container .tooltip::before {
    display: block;
    border-bottom: 6px solid transparent;
    border-right: 10px solid #edf7f9;
    border-top: 6px solid transparent;
    height: 0em;
    content: "";
    margin-left: -20px;
    position: absolute;
    margin-top: 10px;
    width: 0em;
}