
/* geral */

.hide,
.hidden{
    display: none !important;
}
.show{
    display: block !important;
}

textarea,
input,
select,
button,
body{
    font-size: 16px;
    font-family: "book";
}

img{
    max-width: 100%;
}
.in{
    max-width: 1300px;
    padding: 0px 20px;
}
.in.m{
    max-width: 1100px;
    padding: 0px 20px;
}
.in.s{
    max-width: 1000px;
    padding: 0px 20px;
}
.in.xs{
    max-width: 900px;
    padding: 0px 20px;
}


/* texto */
.txt p{
    font-size: 18px;
    min-height: 25px;
    line-height: 25px;
    color: #333;
}
.txt p a{
    color: inherit;
    text-decoration: underline;
}
.txt p strong{
    font-weight: 700;
}
.txt p em{
    font-style: italic;
}

/* lightbox */
.lightbox.animated {
    animation-duration: .3s;
}
.lightbox{
    position: fixed;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    z-index: 1000;
    display: none;
    overflow: hidden;
}
.lightbox_full{
    position: fixed;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    z-index: 1000;
    overflow-x: hidden;
    overflow-y: auto;
    opacity: 0;
}

.lightbox_area{
    position: fixed;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
}

.lightbox_background{
    position: fixed;
    left: 0;
    top: 0;
    width: 100vw;
    height: 100vh;
    background-image: linear-gradient(to bottom, rgba(0, 144, 237, 0.9) , rgba(0, 112, 185, 0.9));
    opacity: 0;
}

.lightbox_init{
    display: block;
}

.lightbox_active .lightbox_full{
    margin-left: -100vw;
}
.lightbox_opened .lightbox_full{
    margin-left: 0px;
}
.lightbox_closed .lightbox_full{
    opacity: 0;
}

.lightbox_active .lightbox_background{
    opacity: 0;
}
.lightbox_opened .lightbox_background{
    opacity: 1;
}
.lightbox_closed .lightbox_background{
    opacity: 0;
}

.lightbox_active .lightbox_full{
    opacity: 0;
}
.lightbox_opened .lightbox_full{
    opacity: 1;
}
.lightbox_closed .lightbox_full{
    opacity: 0;
}

.lightbox_button{
    position: absolute;
    right: 0px;
    top: 0px;
    transition: all 300ms ease-out;
    cursor: pointer;
    margin: 20px;
}

.lightbox_button i{
    font-size: 20px;
    color: #0070B9;
}

.lightbox_container{
    width: 100vw;
    display: flex;
    align-items: center;
    position: relative;
    box-sizing: border-box;
    flex-wrap: wrap;
    height: 100vh;
    overflow: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 20px;
}

.lightbox_content{
    background: #fff;
    width: auto;
    max-width: 650px;
    display: block;
    margin: 0px auto;
    position: relative;
    box-sizing: border-box;
    flex: auto;
    padding: 50px;
    border-radius: 5px;
    min-height: 350px;
}

.lightbox_content.xl{
    max-width: 1300px;
}


/* accordion */

.accordion{
}

/* slider */

.slider{
    font-size: 0px;
    position: relative;
}

.swiper_bt_anterior,
.swiper_bt_proximo{
    position: absolute;
    width: 50px;
    height: 100%;
    top: 0;
    left: -50px;
    display: block;
    z-index: 2;
    background: -webkit-linear-gradient(left, rgba(0,0,0,0.2) 0%,rgba(0,0,0,0) 100%);
    background: linear-gradient(to right, rgba(0,0,0,0.2) 0%,rgba(0,0,0,0) 100%);
    cursor: pointer;
}

.swiper_bt_proximo{
    left: auto;
    right: -50px;
    background: -webkit-linear-gradient(
        right, rgba(0,0,0,0.2) 0%,rgba(0,0,0,0) 100%
    );
    background: linear-gradient(to left, rgba(0,0,0,0.2) 0%,rgba(0,0,0,0) 100%);
}

.slider:hover > .swiper_bt_anterior{
    left: 0;
}
.slider:hover > .swiper_bt_proximo{
    right: 0;
}

.swiper_bt_anterior.swiper-button-disabled,
.swiper_bt_proximo.swiper-button-disabled{
    opacity: 0;
}
.swiper_bt_anterior:after,
.swiper_bt_proximo:after{
    content: "";
    position: absolute;
    top: 50%;
    width: 25px;
    height: 25px;
    margin-top: -12px;
    box-sizing: border-box;
    border: 2px solid rgba(255,255,255,0.5);
    border-bottom: none;
    border-right: none;
    transform: rotate(-45deg);
    left: 15px;
}
.swiper_bt_proximo:after{
    transform: rotate(135deg);
    left: auto;
    right: 15px;
}
.swiper_bt_anterior:hover::after,
.swiper_bt_proximo:hover::after{
    border-color: rgba(255,255,255,1);
}

.swiper-pagination-bullet{
    background: #fff;
    box-shadow: 0px 0px 5px rgba(0,0,0,1);
}
.swiper-pagination-bullet-active{
    background: #fff;
    box-shadow: 0px 0px 5px rgba(0,0,0,0.3);
}

.swiper-pagination-bullets-dynamic{
    overflow: visible;
}


/*
   ██████████   ███   ███   ███   ██████████  
   ██████████░░ ███░░ ███░░ ███░░ ██████████░░
   ████░░░░░░░░ ███░░ ███░░ ███░░ ████░░░░░░░░
   ██████████   ███░░ ███░░ ███░░ ██████████  
   ██████████░░ ███░░ ███░░ ███░░ ██████████░░
     ░░░░████░░ ███░░ ███░░ ███░░   ░░░░████░░
   ██████████░░ ███████████████░░ ██████████░░
   ██████████░░ ███████████████░░ ██████████░░
     ░░░░░░░░░░  ░░░░░░░░░░░░░░░░   ░░░░░░░░░░
*/

/* TYPOGRAPHY */

.heading_5.medium.align_center, .heading_1.align_center, .heading_1.medium_it.align_center, .heading_1.book.align_center, .heading_2.align_center, .heading_2.medium_it.align_center, .heading_2.book.align_center, .heading_3.align_center, .heading_3.strike.align_center, .heading_3.medium_it.align_center, .heading_3.medium.align_center, .heading_3.book.align_center, .heading_4.align_center, .heading_4.book.align_center, .heading_4.strike.align_center, .heading_4.medium_it.align_center, .heading_5.align_center, .heading_5.strike.align_center, .heading_5.medium_it.align_center, .heading_6.align_center, .heading_6.bold.align_center, .heading_6.book.align_center, .heading_6.strike.align_center, .heading_6.medium_it.align_center, .body.align_center, .body.medium.align_center, .body.bold.align_center, .body_s.align_center, .body_s.medium.align_center, .body_s.bold.align_center, .body_xs.align_center, .body_xs.medium.align_center, .body_xs.bold.align_center{
    text-align: center;
}

.heading_5.medium.align_right, .heading_1.align_right, .heading_1.medium_it.align_right, .heading_1.book.align_right, .heading_2.align_right, .heading_2.medium_it.align_right, .heading_2.book.align_right, .heading_3.align_right, .heading_3.strike.align_right, .heading_3.medium_it.align_right, .heading_3.medium.align_right, .heading_3.book.align_right, .heading_4.align_right, .heading_4.book.align_right, .heading_4.strike.align_right, .heading_4.medium_it.align_right, .heading_5.align_right, .heading_5.strike.align_right, .heading_5.medium_it.align_right, .heading_6.align_right, .heading_6.strike.align_right, .heading_6.bold.align_right, .heading_6.book.align_right, .heading_6.medium_it.align_right, .body.align_right, .body.medium.align_right, .body.bold.align_right, .body_s.align_right, .body_s.medium.align_right, .body_s.bold.align_right, .body_xs.align_right, .body_xs.medium.align_right, .body_xs.bold.align_right{
    text-align: right;
}

.heading_1{
    font-family: "bold";
    font-size: 60px;
    line-height: 60px;
}

.heading_1.medium_it{
    font-family: "medium_it";
}

.heading_1.book{
    font-family: "book";
}

.heading_2{
    font-family: "bold";
    font-size: 50px;
    line-height: 55px;
}

.heading_2.medium_it{
    font-family: "medium_it";
}

.heading_2.book{
    font-family: "book";
}

.heading_3{
    font-family: "bold";
    font-size: 35px;
    line-height: 40px;
}

.heading_3.strike{
    text-decoration: line-through;
}

.heading_3.medium_it{
    font-family: "medium_it";
}

.heading_3.medium{
    font-family: "medium";
}

.heading_3.book{
    font-family: "book";
}

.heading_4{
    font-family: "bold";
    font-size: 28px;
    line-height: 35px;
}

.heading_4.book{
    font-family: "book";
}

.heading_4.strike{
    text-decoration: line-through;
}

.heading_4.medium_it{
    font-family: "medium_it";
}

.heading_5{
    font-family: "bold";
    font-size: 22px;
    line-height: 30px;
}

.heading_5.medium{
    font-family: "medium";
}

.heading_5.book{
    font-family: "book";
}

.heading_5.strike{
    text-decoration: line-through;
}

.heading_5.medium_it{
    font-family: "medium_it";
}

.heading_6{
    font-family: "medium";
    font-size: 20px;
    line-height: 26px;
}

.heading_6.strike{
    text-decoration: line-through;
}

.heading_6.medium_it{
    font-family: "medium_it";
}

.heading_6.bold{
    font-family: "bold";
}

.heading_6.book{
    font-family: "book";
}

.body{
    font-family: "book";
    font-size: 18px;
    line-height: 25px;
}

.body.medium{
    font-family: "medium";
}

.body.bold{
    font-family: "bold";
}

.body_s{
    font-family: "book";
    font-size: 14px;
    line-height: 21px;
}

.body_s.medium{
    font-family: "medium";
}

.body_s.bold{
    font-family: "bold";
}

.body_xs{
    font-family: "book";
    font-size: 12px;
    line-height: 18px;
}

.body_xs.medium{
    font-family: "medium";
}

.body_xs.bold{
    font-family: "bold";
}

/* LINKS */
.link{
    font-family: "book";
    font-size: 18px;
    line-height: 25px;
    color: #E41770;
    position: relative;
    text-decoration: underline;
    display: inline-block;
    cursor: pointer;
    box-sizing: border-box;
}

.link.icon{
    font-family: "bold";
    text-decoration: none;
}

.link.icon span{
    text-decoration: underline;
}

.link.icon i{
    margin-right: 15px;
    text-decoration: none;
    font-size: 25px;
    vertical-align: middle;
}

.link.s{
    font-size: 14px;
    line-height: 21px;
}

.link.xs{
    font-size: 12px;
    line-height: 18px;
}

.link:hover{
    color: #0070B9;
}

.link.disabled{
    color: #DADADA;
    pointer-events: none;
}

.back_to_top.link{
    font-family: "bold";
    text-decoration: none;
    padding-left: 35px;
}

.back_to_top.link:after{
    content: "\e964";
    font-family: "goldenergy";
    margin-right: 20px;
    text-decoration: none;
    font-size: 15px;
    vertical-align: middle;
    opacity: .8;
    position: absolute;
    left: 0px;
}

.back_to_top.link.darker_grey{
    color: #506676;
}

.back_to_top.link.white{
    color: #ffffff;
}

.back_to_top.link:hover{
    opacity: 0.5;
}

/* COLOR */


/* NEUTRAL PALETTE */
/* COLORS */

.white{
    color: #ffffff;
}

.lighter_grey{
    color: #f8f8f8;
}

.light_grey{
    color: #eeeeee;
}

.grey{
    color: #dadada;
}

.dark_grey{
    color: #9fa7b1;
}

.darker_grey{
    color: #506676;
}

/* BACKGROUND COLORS */

.bg_white{
    background-color: #ffffff;
}

.bg_lighter_grey{
    background-color: #f8f8f8;
}

.bg_light_grey{
    background-color: #eeeeee;
}

.bg_grey{
    background-color: #dadada;
}

.bg_dark_grey{
    background-color: #9fa7b1;
}

.bg_darker_grey{
    background-color: #506676;
}

/* BORDER COLORS */

.bc_white{
    border-color: #ffffff;
}

.bc_lighter_grey{
    border-color: #f8f8f8;
}

.bc_light_grey{
    border-color: #eeeeee;
}

.bc_grey{
    border-color: #dadada;
}

.bc_dark_grey{
    border-color: #9fa7b1;
}

.bc_darker_grey{
    border-color: #506676;
}

/* EXTENDED PALETTE */
/* BLUE */
/* COLORS */

.lightest_blue{
    color: #f1f8ff;
}

.lighter_blue{
    color: #d9e9f7;
}

.light_blue{
    color: #93d2fb;
}

.blue{
    color: #39b1ff;
}

.dark_blue{
    color: #0090ed;
}

.darker_blue{
    color: #0070b9;
}

.darkest_blue{
    color: #035082;
}

/* BACKGROUND COLORS */

.bg_lightest_blue{
    background-color: #f1f8ff;
}

.bg_lighter_blue{
    background-color: #d9e9f7;
}

.bg_light_blue{
    background-color: #93d2fb;
}

.bg_blue{
    background-color: #39b1ff;
}

.bg_dark_blue{
    background-color: #0090ed;
}

.bg_darker_blue{
    background-color: #0070b9;
}

.bg_darkest_blue{
    background-color: #035082;
}

/* BORDER COLORS */

.bc_lightest_blue{
    border-color: #f1f8ff;
}

.bc_lighter_blue{
    border-color: #d9e9f7;
}

.bc_light_blue{
    border-color: #93d2fb;
}

.bc_blue{
    border-color: #39b1ff;
}

.bc_dark_blue{
    border-color: #0090ed;
}

.bc_darker_blue{
    border-color: #0070b9;
}

.bc_darkest_blue{
    border-color: #035082;
}



/* GREEN */
/* COLORS */

.lighter_green{
    color: #c4df9b;
}

.green{
    color: #77bc43;
}

.darker_green{
    color: #5a922f;
}

/* BACKGROUND COLORS */

.bg_lighter_green{
    background-color: #c4df9b;
}

.bg_green{
    background-color: #77bc43;
}

.bg_darker_green{
    background-color: #5a922f;
}

/* BODER COLORS */

.bc_lighter_green{
    border-color: #c4df9b;
}

.bc_green{
    border-color: #77bc43;
}

.bc_darker_green{
    border-color: #5a922f;
}


/* PINK */
/* COLORS */

.lighter_pink{
    color: #f9c3cf;
}

.pink{
    color: #e41770;
}

.darker_pink{
    color: #c40f5d;
}

/* BACKGROUND COLORS */

.bg_lighter_pink{
    background-color: #f9c3cf;
}

.bg_pink{
    background-color: #e41770;
}

.bg_darker_pink{
    background-color: #c40f5d;
}

/* BORDER COLORS */

.bc_lighter_pink{
    border-color: #f9c3cf;
}

.bc_pink{
    border-color: #e41770;
}

.bc_darker_pink{
    border-color: #c40f5d;
}


/* GRADIENT PALETTE */
/* BLUE */

.gradient_d1 {
  background-image: linear-gradient(to right, #0070b9 , #39b1ff);
}

.gradient_e2 {
  background-image: linear-gradient(to right, #39b1ff , #0070b9);
}

/* ALERT PALETTE */
/* WARNING */
/* COLORS */

.light_warning{
    color: #ffebbd;
}

.warning{
    color: #e9a100;
}

/* BACKGROUND COLORS */

.bg_light_warning{
    background-color: #ffebbd;
}

.bg_warning{
    background-color: #e9a100;
}

/* BORDER COLORS */

.bc_light_warning{
    border-color: #ffebbd;
}

.bc_warning{
    border-color: #e9a100;
}

/* ALERT PALETTE */
/* ERROR */
/* COLORS */

.light_error{
    color: #fecdce;
}

.error{
    color: #f8040c;
}

/* BACKGROUND COLORS */

.bg_light_error{
    background-color: #fecdce;
}

.bg_error{
    background-color: #f8040c;
}

/* BORDER COLORS */

.bc_light_error{
    border-color: #fecdce;
}

.bc_error{
    border-color: #f8040c;
}

/* ALERT PALETTE */
/* SUCCESS */
/* COLORS */

.light_success{
    color: #eaf4d8;
}

.success{
    color: #61db0b;
}

/* BACKGROUND COLORS */

.bg_light_success{
    background-color: #eaf4d8;
}

.bg_success{
    background-color: #61db0b;
}

/* BORDER COLORS */

.bc_light_success{
    border-color: #eaf4d8;
}

.bc_success{
    border-color: #61db0b;
}



/* SHADOWS */

.soft_shadow{
    box-shadow: 0 0 20px 0 rgba(80,102,118,0.08);
}

.hard_shadow{
    box-shadow: 0 0 20px 0 rgba(80,102,118,0.15);
}



/* TITLE SEPARATOR */

.heading_1.separator, .heading_2.separator, .heading_3.separator, .heading_4.separator, .heading_5.separator, .heading_6.separator{
    position: relative;
    text-align: center;
}

.heading_1.separator, .heading_2.separator{
    padding: 30px 0 0 0;
}

.heading_1.separator:before{
    content: '';
    box-sizing: border-box;
    height: 1px;
    width: 50px;
    border-width: 4px;
    border-style: solid;
    border-radius: 8px;
    position: absolute;
    left: 0px;
    right: 0px;
    top: 0px;
    margin: auto;
}

.heading_2.separator:before{
    content: '';
    box-sizing: border-box;
    height: 1px;
    width: 50px;
    border-width: 3px;
    border-style: solid;
    border-radius: 6px;
    position: absolute;
    left: 0px;
    right: 0px;
    top: 0px;
    margin: auto;
}

.heading_3.separator, .heading_4.separator, .heading_5.separator, .heading_6.separator{
    padding: 20px 0 0 0;
}

.heading_3.separator:before, .heading_4.separator:before, .heading_5.separator:before, .heading_6.separator:before{
    content: '';
    box-sizing: border-box;
    height: 1px;
    width: 40px;
    border-width: 2px;
    border-style: solid;
    border-radius: 4px;
    position: absolute;
    left: 0px;
    right: 0px;
    top: 0px;
    margin: auto;
}



/* BUTTONS */
/* GENERAL */
/* SIZES */

.button.xs{
    height: 45px;
    font-size: 16px;
    line-height: 45px;
}

.button{
    padding: 0 40px;
    height: 50px;
    font-family: "bold";
    font-size: 18px;
    line-height: 50px;
    border-radius: 6px;
    position: relative;
    display: inline-block;
    cursor: pointer;
    box-sizing: border-box;
    vertical-align: top;
}

.button.xl{
    height: 60px;
    font-family: "bold";
    font-size: 22px;
    line-height: 60px;
}

/* PRIMARY */

.button.primary, .button.icon1, .button.arrow{
    color: #ffffff;
}

.button.primary.bg_white, .button.icon1.bg_white, .button.arrow.bg_white{
    color: #506676;
}


/* SECONDARY */
.button.secondary{
    border-style: solid;
    border-width: 2px;  
}

.button.bc_dark_blue{
    color: #0090ed;
}

.button.bc_darker_blue{
    color: #0070b9;
}

.button.bc_green{
    color: #77bc43;
}

.button.bc_lighter_green{
    color: #c4df9b;
}

.button.bc_blue{
    color: #39b1ff;
}

.button.bc_pink{
    color: #e41770;
}

.button.bc_dark_grey{
    color: #9fa7b1;
}

.button.bc_white{
    color: #ffffff;
}

/* STATES */

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

.button.primary.bg_dark_blue.disabled, .button.arrow.bg_dark_blue.disabled, .button.icon1.bg_dark_blue.disabled{
    background-color: #0090ed;
    opacity: 0.2;
}

.button.primary.bg_darker_blue.disabled, .button.arrow.bg_darker_blue.disabled, .button.icon1.bg_darker_blue.disabled{
    background-color: #0070b9;
    opacity: 0.2;
}

.button.primary.bg_green.disabled, .button.arrow.bg_green.disabled, .button.icon1.bg_green.disabled{
    background-color: #77bc43;
    opacity: 0.2;
}

.button.primary.bg_lighter_green.disabled, .button.arrow.bg_lighter_green.disabled, .button.icon1.bg_lighter_green.disabled{
    background-color: #c4df9b;
    opacity: 0.2;
}

.button.primary.bg_blue.disabled, .button.arrow.bg_blue.disabled, .button.icon1.bg_blue.disabled{
    background-color: #39b1ff;
    opacity: 0.2;
}

.button.primary.bg_pink.disabled, .button.arrow.bg_pink.disabled, .button.icon1.bg_pink.disabled{
    background-color: #e41770;
    opacity: 0.2;
}

.button.primary.bg_dark_grey.disabled, .button.arrow.bg_dark_grey.disabled, .button.icon1.bg_dark_grey.disabled{
    background-color: #9fa7b1;
    opacity: 0.2;
}

.button.primary.bg_white.disabled, .button.arrow.bg_white.disabled, .button.icon1.bg_white.disabled{
    background-color: #ffffff;
    opacity: 0.2;
}

.button.primary.bg_dark_blue:hover, .button.arrow.bg_dark_blue:hover, .button.icon1.bg_dark_blue:hover{
    background-color: #0070b9;
}

.button.primary.bg_darker_blue:hover, .button.arrow.bg_darker_blue:hover, .button.icon1.bg_darker_blue:hover{
    background-color: #035082;
}

.button.primary.bg_green:hover, .button.arrow.bg_green:hover, .button.icon1.bg_green:hover{
    background-color: #5a922f;
}

.button.primary.bg_lighter_green:hover, .button.arrow.bg_lighter_green:hover, .button.icon1.bg_lighter_green:hover{
    background-color: #77bc43;
}

.button.primary.bg_blue:hover, .button.arrow.bg_blue:hover, .button.icon1.bg_blue:hover{
    background-color: #0090ed;
}

.button.primary.bg_pink:hover, .button.arrow.bg_pink:hover, .button.icon1.bg_pink:hover{
    background-color: #c40f5d;
}

.button.primary.bg_dark_grey:hover, .button.arrow.bg_dark_grey:hover, .button.icon1.bg_dark_grey:hover{
    background-color: #506676;
}

.button.primary.bg_white:hover, .button.arrow.bg_white:hover, .button.icon1.bg_white:hover{
    background-color: #39b1ff;
    color: #ffffff;
}

.button.secondary.bc_dark_blue.disabled{
    border-color: rgba(0, 144, 237, 0.2);
    color: rgba(0, 144, 237, 0.2);
}

.button.secondary.bc_green.disabled{
    border-color: rgba(119, 188, 67, 0.2);
    color: rgba(119, 188, 67, 0.2);
}

.button.secondary.bc_lighter_green.disabled{
    border-color: rgba(196, 223, 155, 0.2);
    color: rgba(196, 223, 155, 0.2);
}

.button.secondary.bc_blue.disabled{
    border-color: rgba(57, 177, 255, 0.2);
    color: rgba(57, 177, 255, 0.2);
}

.button.secondary.bc_pink.disabled{
    border-color: rgba(228, 23, 112, 0.2);
    color: rgba(228, 23, 112, 0.2);
}

.button.secondary.bc_dark_grey.disabled{
    border-color: rgba(159, 167, 177, 0.2);
    color: rgba(159, 167, 177, 0.2);
}

.button.secondary.bc_white.disabled{
    border-color: rgba(255, 255, 255, 0.2);
    color: rgba(255, 255, 255, 0.2);
}

.button.secondary.bc_dark_blue:hover{
    border-color: #0070b9;
    color: #0070b9;
}

.button.secondary.bc_darker_blue:hover{
    border-color: #035082;
    color: #035082;
}

.button.secondary.bc_green:hover{
    border-color: #5a922f;
    color: #5a922f;
}

.button.secondary.bc_lighter_green:hover{
    border-color: #77bc43;
    color: #77bc43;
}

.button.secondary.bc_blue:hover{
    border-color: #0090ed;
    color: #0090ed;
}

.button.secondary.bc_pink:hover{
    border-color: #c40f5d;
    color: #c40f5d;
}

.button.secondary.bc_dark_grey:hover{
    border-color: #506676;
    color: #506676;
}

.button.secondary.bc_white:hover{
    border-color: #ffffff;
    color: #506676;
    background-color: #ffffff;
}

/* ARROW */

.button.arrow:after{
    content: "";
    font-family: 'goldenergy';
    position: absolute;
    width: 35px;
    font-size: 15px;
    text-align: center;
    background-color: rgba(0,0,0,0.1);
    top: 0px;
}

.button.secondary.arrow:after{
    background: none;
}

.button.xs.secondary.arrow:after{
    line-height: 41px;
}

.button.secondary.arrow:after{
    line-height: 46px;
}

.button.secondary.arrow:after{
    line-height: 56px;
}

.button.disabled.arrow:after{
    background: none;
}

/* ARROW RIGHT */

.button.arrow.right{
    padding: 0 65px 0 30px;
}

.button.arrow.right:after{
    content: "\e95d";
    right: 0;
    border-radius: 0px 6px 6px 0px;
}

/* ARROW LEFT */

.button.arrow.left{
    padding: 0 30px 0 65px;
}

.button.arrow.left:after{
    content: "\e95c";
    left: 0;
    border-radius: 6px 0px 0px 6px;
}

.button.secondary.arrow.left{
    padding: 0 30px 0 50px;
}

/* ICON BUTTON I */

.button.icon1{
    padding: 0 30px 0 70px;
}

.button.icon1 i{
    position: absolute;
    left: 25px;
    top: 0px;
    bottom: 0px;
    width: 20px;
    font-size: 20px;
    line-height: 50px;
}

.button.xs.icon1 i{
    line-height: 45px;
}

.button.icon1 i{
    line-height: 50px;
}

.button.xl.icon1 i{
    line-height: 60px;
}

/* ICON BUTTON II */

.button.icon2{
    background: none;
    padding: 0 0 0 25px;
    color: #506676;
}

.button.icon2.left{
    padding: 0 0 0 25px;
}

.button.icon2.right{
    padding: 0 25px 0 0;
}


.button.icon2.darker_grey{
    color: #506676;
}

.button.icon2.white, .button.icon2.white2{
    color: #fff;
}

.button.icon2.green{
    color: #77BC43;
}

.button.icon2.pink{
    color: #e41770;
}

.button.icon2.blue{
    color: #39B1FF;
}

.button.icon2.darker_blue{
    color: #0070B9;
}

/*.button.icon2.white:after{
    color: #fff;
}*/

/*.button.icon2.white:hover:after{
    color: #fff;
}*/

.button.icon2.disabled{
    color: #eeeeee;
    opacity: 0.8;
}

.button.icon2.disabled:after{
    color: #eeeeee;
    opacity: 0.8;
}

.button.icon2:hover{
    color: #e41770;
}

.button.icon2.white2:hover{
    opacity: 0.7;
    color: #fff;
}

.button.icon2.green:hover{
    color: #5A922F;
}

.button.icon2.pink:hover{
    color: #C40F5D;
}

.button.icon2.blue:hover{
    color: #0070B9;
}

.button.icon2.darker_blue:hover{
    color: #035082;
}

/*.button.icon2:hover:after{
    color: #506676;
}*/

.button.icon2:after{
    font-family: 'goldenergy';
    content: "\e95c";
    position: absolute;
    left: 0;
    width: 15px;
    font-size: 15px;
    top: 0px;
}

.button.icon2.left:after{
    font-family: 'goldenergy';
    content: "\e95c";
    left: 0;
}

.button.icon2.right:after{
    font-family: 'goldenergy';
    content: "\e95d";
    right: 0;
    left: auto;
}

/*.button.icon2:after{
    color: #506676;
}*/

.component_errors{
    font-family: "book";
    font-size: 14px;
    line-height: 21px;
    color: #f8040c;
    display: block;
    position: relative;
    margin-top: 8px;
    min-height: 21px;
	margin-left: 50px;
}

.component_errors:after {
    font-family: 'goldenergy';
    content: "\e924";
    position: absolute;
    left: -50px;
    top: 0px;
    width: 30px;
    font-size: 18px;
    text-align: center;
    line-height: 21px;
    color: #F8040C;
}

.component_errors.active:after {
    font-family: 'goldenergy';
    content: "\e924";
    position: absolute;
    left: -50px;
    top: 0px;
    width: 30px;
    font-size: 18px;
    text-align: center;
    line-height: 21px;
    color: #F8040C;
}

.component_errors_center{
	margin-left: 0;
	display: inline-block;
	left: 50%;
	-webkit-transform: translateX(-50%);
	   -moz-transform: translateX(-50%);
	    -ms-transform: translateX(-50%);
	     -o-transform: translateX(-50%);
	        transform: translateX(-50%);
}


.component_error{
    font-family: "book";
    font-size: 14px;
    line-height: 21px;
    color: #f8040c;
    display: block;
    position: relative;
    margin-top: 8px;
    min-height: 21px;
}

/* alteracoes ivo */

.input.error.drop_tel .component_error{
    padding-right: 30px;
}

.component_hint{
    font-family: "book";
    font-size: 12px;
    line-height: 18px;
    display: block;
    position: relative;
    margin-top: 8px;
    color: #506676;
    min-height: 18px;
}

/* alteracoes ivo */

.component_hint .link{
    font-size: 12px;
    line-height: 18px;
    display: inline-block;
    color: #506676;
}


.component_hint.body_s, .component_hint.body_s .link{
    font-size: 14px;
    line-height: 21px;
}

/* alteracoes ivo */

.component_title{
    font-family: "bold";
    font-size: 22px;
    line-height: 30px;
    color: #0070B9;
    margin-bottom: 30px;
    display: block;
    position: relative;
}

.component_container.big_title .component_title{
    font-size: 35px;
    line-height: 40px;
    margin-bottom: 40px;
    width: 100%;
    padding: 0 10px;
}

.component_container.big_title.cards.packages .component_title{
    padding: 0; 
}

.component_container.big_title.selects .component_title{
    padding: 0 0;
}

.component_container.checkboxes.packages .component_title{
    padding: 0 10px;
}


/* FORM COMPONENTS */
/* GENERAL */
.input{
    display: block;
    position: relative;
}

.input input, .input textarea{
    box-sizing: border-box;
}

/* INPUT FIELD */

.input input{
    height: 31px;
    display: block;
    position: relative;
    width: 100%;
    font-family: "bold";
    font-size: 18px;
    line-height: 31px;
    color: #0070B9;
    border-bottom: 1px solid #506676;
    padding: 0 50px 0 0;
    border-radius: 0;
}

.input.block{
    padding-top: 22px;
}

.input.block input{
    border: 1px solid #506676;
    border-radius: 6px;
    padding: 0 50px 0 20px;
    height: 51px;
}

.input.block .input_label{
    display: block;
    width: 100%;
    box-sizing: border-box;
    font-family: "bold";
    font-size: 14px;
    color: #0070B9;
    line-height: 21px;
    margin-bottom: 5px;
}

.input.block input::placeholder{
    font-family: "bold";
    font-size: 18px;
    line-height: 31px;
    color: #506676;
    opacity: .8;
}

.input input ~ .input_label{
    display: block;
    position: absolute;
    left: 0;
    top: 14px;
    width: 100%;
    pointer-events: none;
    padding: 0 50px 0 0;
    box-sizing: border-box;
    font-family: "bold";
    font-size: 14px;
    color: rgba(80, 102, 118, 0.8);
    line-height: 31px;
}

.input:not(.checkbox):not(.radio):not(.textarea):not(.upload):not(.block){
    padding-top: 14px;
}

.input.align_center input ~ .input_label{
    padding: 0 50px 0 50px;
}

.input.info .input_label i{
    content: "\e92d";
    font-family: "goldenergy";
    font-size: 14px;
    line-height: 31px;
    position: absolute;
    margin-left: 15px;
    color: #0070B9;
    -webkit-transition: all 450ms cubic-bezier(.29,.52,.22,1);
    -moz-transition: all 450ms cubic-bezier(.29,.52,.22,1);
    -o-transition: all 450ms cubic-bezier(.29,.52,.22,1);
    transition: all 450ms cubic-bezier(.29,.52,.22,1);
    cursor: pointer;
    pointer-events: all;
    display: inline-block;
}

.input.info.disabled .input_label i{
    pointer-events: none;
}

.input.info.textarea .input_label i{
    line-height: 14px;
}

.input.checkbox .component_error, .input.radio .component_error{
    margin-left: 50px;
}

.input.checkbox.xl .component_error{
    margin-left: 33px;
}

.input.checkbox.s .component_error, .input.radio.s .component_error{
    margin-left: 43px;
}

.input.drop_tel .intl-tel-input.allow-dropdown .flag-container {
    right: 0;
    left: auto;
}

.input.drop_tel .intl-tel-input.allow-dropdown{
    width: 100%;
}

.input.drop_tel .intl-tel-input.allow-dropdown .country-list{
    right: 0;
    width: 100%;
    overflow-x: hidden;
}

.input.drop_tel .intl-tel-input.allow-dropdown .flag-container{
    width: 100%;
}

.input.drop_tel .intl-tel-input.allow-dropdown .selected-flag{
    margin-left: auto;
}

.input.drop_tel .input_label{
    display: block;
    position: absolute;
    left: 0;
    top: 14px;
    width: 100%;
    pointer-events: none;
    padding: 0 50px 0 0;
    box-sizing: border-box;
    font-family: "bold";
    font-size: 14px;
    color: rgba(80, 102, 118, 0.8);
    line-height: 31px;
}

.input.drop_tel .input_label.input_label_f{
    top: 0px;
    padding: 0;
    line-height: 14px;
    left: 0px;
    transform: translateX(0);
}

.input.drop_tel.icon .intl-tel-input.allow-dropdown input[type=text], .input.drop_tel.icon .intl-tel-input.allow-dropdown input{
    padding: 0 50px 0 30px;
}

.input.drop_tel .intl-tel-input.allow-dropdown input[type=text], .input.drop_tel .intl-tel-input.allow-dropdown input{
    padding: 0 50px 0 0;
}

.input.drop_tel.disabled .intl-tel-input.allow-dropdown .flag-container{
    pointer-events: none;
    opacity: .5
}

/* GROUPS */

.component_container{
    position: relative;
    font-size: 0;
}

.component_container.checkboxes.horizontal, .component_container.radios.horizontal{
    display: flex;
    box-sizing: border-box;
    height: 100%;
    flex-wrap: wrap;
    align-items: center;
    margin-left: -60px;
    margin-right: -60px;
    margin-top: -10px;
    margin-bottom: -10px;
}

.component_container .input.checkbox span.component_error, 
.component_container .input.checkbox span.component_hint,
.component_container .input.radio span.component_error, 
.component_container .input.radio span.component_hint,
.component_container .input.checkbox.error:after,
.component_container .input.radio.error:after{
    display: none;
}

.component_container .input.checkbox,
.component_container .input.radio{
    margin-bottom: 16px;
}

.component_container.checkboxes.horizontal .input.checkbox,
.component_container.radios.horizontal .input.radio{
    margin-bottom: 0px;
    padding: 10px 60px;
}

.component_container .input.checkbox.xl{
    margin-bottom: 0px;
}

.component_container .input.checkbox:last-of-type,
.component_container .input.radio:last-of-type{
    margin-bottom: 0px;
    margin-right: 0px;
}

.component_container.radios .component_error, .component_container.checkboxes .component_error{
    margin-left: 50px;
}

.component_container.radios.horizontal .component_error, .component_container.checkboxes.horizontal .component_error{
    margin-left: 60px;
}

.component_container.radios.horizontal .component_error, .component_container.checkboxes.horizontal .component_error{
    width: 100%;
    padding: 0 50px;
}

.component_container.radios.horizontal .component_hint, .component_container.checkboxes.horizontal .component_hint{
    width: 100%;
    padding: 0 60px;
}

.component_container.radios.s .component_error, .component_container.checkboxes.s .component_error{
    margin-left: 43px;
}

.component_container.radios.s.error .component_error:after, .component_container.checkboxes.s.error .component_error:after{
    width: 20px;
    left: -43px;
}

.component_container.checkboxes.xl .component_error, .component_container.checkboxes.packages .component_error{
    margin-left: 33px;
}

.component_container.error.checkboxes .component_error:after, .component_container.error.radios .component_error:after {
    font-family: 'goldenergy';
    content: "\e924";
    position: absolute;
    left: -50px;
    top: 0px;
    right: auto;
    width: 30px;
    font-size: 18px;
    text-align: center;
    line-height: 21px;
    color: #F8040C;
}

.component_container.error.radios.horizontal .component_error:after, .component_container.error.checkboxes.horizontal .component_error:after{
    left: 0px;
}

.component_container.error.checkboxes.packages .component_error:after{
    width: auto;
    padding: 0 10px;
    left: -33px;
}

.component_container.error.checkboxes.xl .component_error:after{
    width: auto;
    padding: 0 10px;
    left: -33px;
}

.component_container.error.checkboxes:after, .component_container.radios:after{
    display: none;
}

.component_container.error.checkboxes.packages:after, .component_container.error.checkboxes.xl:after{
    padding: 0 0 0 10px;
    width: 18px;
}

.component_container.error.checkboxes.s:after, .component_container.error.radios.s:after {
    width: 20px;
}

.component_container.error.checkboxes.xl:after, .component_container.error.radios.xl:after, .component_container.error.checkboxes.package:after {
    width: 18px;
}

.component_container.checkboxes.xl{
    position: relative;
    display: flex;
    box-sizing: border-box;
    height: 100%;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: flex-start;
    margin-left: -10px;
    margin-right: -10px;
}

.component_container.checkboxes.xl .checkbox{
    padding: 10px 10px;
}

/* CENTERED ALIGNEMENT */
.input:not(.checkbox):not(.radio):not(.textarea):not(.upload).align_center .component_error,
.input:not(.checkbox):not(.radio):not(.textarea):not(.upload).align_center .component_hint, 
.input:not(.checkbox):not(.radio):not(.textarea):not(.upload).align_center input{
    text-align: center;
}

/* INPUT ICON */

.input.icon > i{
    position: absolute;
    top: 14px;
    width: 15px;
    font-size: 15px;
    line-height: 31px;
    color: #506676;
    opacity: 0.8;
    display: block
}

.input i{
    display: none;
}

.input.align_center span.input_label{
    width: auto;
    left: 50%;
    transform: translateX(-50%);
}

.input.icon span.input_label{
    padding: 0 50px 0 30px;
}

.input.icon.align_center span.input_label{
    padding: 0 50px 0 50px;
}

.input.icon input{
    padding: 0 50px 0 30px;
}

.input.icon.align_center input{
    padding: 0 50px 0 30px;
}

/* STATES */
/* DISABLED */
.input.disabled input{
    opacity: 0.3;
    pointer-events: none;
}

.input.disabled textarea{
    opacity: 0.3;
    pointer-events: none;
}

.input.disabled.checkbox label, .input.disabled.radio label{
    color: rgba(80, 102, 118, 0.3);
    pointer-events: none;
}
.input.disabled.checkbox label:before, .input.disabled.radio label:before, .input.disabled.checkbox.xl label:before{
    opacity: 0.3;
    color: #506676;
}

.input.disabled.checkbox input, .input.disabled.radio input{
    pointer-events: none;
}

.input.disabled.checkbox.xl label{
    background-color: rgba(255, 255, 255, 0.3);
    border-color: rgba(80, 102, 118, 0.3);
    color: rgba(80, 102, 118, 0.3);
}

.input.disabled.checkbox.xl.extra label span.input_extra{
    color: rgba(80, 102, 118, 0.3);
}

.input.disabled .component_hint{
    opacity: 0.3;
}

.input.disabled .input_label{
    opacity: 0.3;
    color: #506676;
}

.input.disabled textarea ~ .input_label{
    opacity: 0.3;
    color: #0070B9;
}

.input.disabled.icon > i{
    opacity: 0.3;
}

/* CHECKED */

.input.radio input[type=checkbox]:checked ~ label:before, .input.checkbox input[type=checkbox]:checked ~ label:before{
    background: none;
}

.input.checkbox input[type=checkbox]:checked ~ label, .radio input[type=checkbox]:checked ~ label, .input.checkbox input[type=checkbox]:checked ~ label:before, .radio input[type=checkbox]:checked ~ label:before{
    color: #0090ED;
}

.input.checkbox.xl input[type=checkbox]:checked ~ label, .input.checkbox.xl input[type=checkbox]:checked ~ label:before{
    color: #E41770;
}

.input.checkbox.xl input[type=checkbox]:checked ~ label{
    border-color: #E41770;
}

.input.checkbox.xl.extra input[type=checkbox]:checked ~ label span.input_extra{
    color: rgba(228, 23, 112, 0.8);
}


.input.checkbox input[type=checkbox]:checked ~ label:before{
    content: "\e956";
}

.input.checkbox.xl input[type=checkbox]:checked ~ label:before{
    content: "\e954";
}

.input.radio input[type=checkbox]:checked ~ label:before{
    content: "\e954";
}


/* HOVER */
.input input:hover, .input textarea:hover{
    color: #0070B9;
    border-color: #0070B9;
}

.input input:hover::placeholder, .input textarea:hover::placeholder{
    color: #0070B9;
    opacity: 1;
}

.input input:hover ~ .input_label{
    color: #0070B9;
    opacity: 1;
}

.input:not(.block) input.filled:hover ~ .input_label{
    color: rgba(80, 102, 118, 0.8); 
}

.input.icon input:hover ~ .input_label{
    color: #0070B9;
    opacity: 1;
}

.input textarea:hover::placeholder{
    color: #0070B9;
    opacity: 1;
}

.input.checkbox label:hover, .input.checkbox.xl label:hover:before{
    color: #0090ED;
}

.input.checkbox.xl.extra label:hover span.input_extra{
    color: rgba(0, 144, 237, 0.8);
}

.input.checkbox.xl label:hover:before{
    background: none;
}

.input.checkbox.xl label:hover{
    border-color: #0090ED;
    color: #0090ED;
}

.input.checkbox label:hover:before{
    color: rgba(80, 102, 118, 0.8);
}

.input.radio label:hover{
    color: #0090ED;
}

.input.radio label:hover:before{
    color: rgba(80, 102, 118, 0.8);
}


/* FOCUS / ACTIVE*/
.input input:focus, .input input:active{
    color: #0070B9;
    border-color: #0070B9;
}

.input input:focus::placeholder, .input input:active::placeholder{
    color: #0070B9;
    opacity: 1;
}

.input textarea:focus::placeholder, .input textarea:active::placeholder{
    color: #0070B9;
    opacity: 1;
}

.input.icon input:focus ~ .input_label, .input.icon input:active ~ .input_label, .input.icon input.filled ~ .input_label{
    padding: 0px;
}

/* alteracoes ivo */

.input:not(.radio):not(.checkbox):not(.textarea):not(.upload):not(.block) input:focus ~ .input_label, 
.input:not(.radio):not(.checkbox):not(.textarea):not(.upload):not(.block) input:active ~ .input_label, 
.input:not(.radio):not(.checkbox):not(.textarea):not(.upload):not(.block):not(.drop_tel) input.filled ~ .input_label{
    top: 0px;
    padding: 0;
    line-height: 14px;
    left: 0px;
    transform: translateX(0);
}


.input:not(.radio):not(.checkbox):not(.textarea):not(.upload):not(.block) input:focus ~ .input_label, 
.input:not(.radio):not(.checkbox):not(.textarea):not(.upload):not(.block) input:active ~ .input_label, 
.input:not(.radio):not(.checkbox):not(.textarea):not(.upload):not(.block):not(.drop_tel) input.filled ~ .input_label,
.input:not(.radio):not(.checkbox):not(.textarea):not(.upload):not(.block) input:focus ~ .input_label i, 
.input:not(.radio):not(.checkbox):not(.textarea):not(.upload):not(.block) input:active ~ .input_label i, 
.input:not(.radio):not(.checkbox):not(.textarea):not(.upload):not(.block) input.filled ~ .input_label i{
    line-height: 14px;
}

/* alteracoes ivo */

.input:not(.block) input:focus:hover ~ .input_label, .input:not(.block) input:active:hover ~ .input_label{
    color: #506676;
    opacity: 0.8;
}

.input.icon input:focus:hover ~ .input_label, .input.icon input:active:hover ~ .input_label{
    color: #506676;
    opacity: 0.8;
}

/* ERROR */

.input.error input, .input.error textarea{
    border-color: #F8040C;
}

.input.error i{
    color: #F8040C;
    opacity: 1;
}

.component_container.error:after{
    font-family: 'goldenergy';
    content: "\e924";
    position: absolute;
    right: 0;
    top: 0px;
    width: 15px;
    font-size: 15px;
    line-height: 31px;
    color: #F8040C;
    margin: 0 20px 0 0;
}

.input.error:after{
    font-family: 'goldenergy';
    content: "\e924";
    position: absolute;
    right: 0;
    top: 14px;
    width: 15px;
    font-size: 15px;
    line-height: 31px;
    color: #F8040C;
    margin: 0 20px 0 0;
}

/* alteracoes ivo */

.input.error.drop_tel:after{
    font-family: 'goldenergy';
    content: "\e924";
    position: absolute;
    right: 0;
    bottom: 0px;
    top: inherit;
    width: 15px;
    font-size: 15px;
    line-height: 21px;
    color: #F8040C;
    margin: 0px;
}

.input.block.error:after{
    font-family: 'goldenergy';
    content: "\e924";
    position: absolute;
    right: 0;
    top: 22px;
    width: 15px;
    font-size: 15px;
    line-height: 51px;
    color: #F8040C;
    margin: 0 20px 0 0;
}

.input.error.textarea:after{
    font-family: 'goldenergy';
    content: "\e924";
    position: absolute;
    right: 0;
    top: 42px;
    width: 20px;
    font-size: 20px;
    line-height: 25px;
    color: #F8040C;
    margin: 0 20px 0 0;
}

.input.error.checkbox .component_error:after, .input.error.radio .component_error:after{
    font-family: 'goldenergy';
    content: "\e924";
    position: absolute;
    left: -50px;
    top: 0px;
    width: 30px;
    font-size: 18px;
    text-align: center;
    line-height: 21px;
    color: #F8040C;
}

.input.error.checkbox.s .component_error:after, .input.error.radio.s .component_error:after{
    width: 20px;
    left: -43px;
}

.input.error.checkbox:after, .input.error.radio:after{
    display: none;
}

.input.error.checkbox.xl:after{
    width: 18px;
}

.input.error.checkbox.s:after, .input.error.radio.s:after{
    width: 20px;
}

.input.error.checkbox label:before, .input.error.radio label:before, .input.error.checkbox input[type=checkbox]:checked ~ label:before, .input.error.radio input[type=checkbox]:checked ~ label:before{
    color: #F8040C;
    background: none;
}

.input.error.checkbox.xl label, .input.error.checkbox.xl input[type=checkbox]:checked ~ label{
    border-color: #F8040C;
}

.input.error.checkbox.xl label:before, .input.error.checkbox.xl input[type=checkbox]:checked ~ label:before{
    color: #F8040C;
}

.input.error.checkbox.xl label:before, .input.error.checkbox.xl input[type=checkbox]:checked ~ label:before{
    background: none
}

/* TEXT AREA */


.input.textarea{
    padding-top: 22px;
}

.input textarea{
    min-height: 180px;
    display: block;
    position: relative;
    min-width: 100%;
    max-width: 100%;
    font-family: "bold";
    font-size: 18px;
    line-height: 25px;
    padding: 20px 55px 20px 20px;
    color: #0070B9;
    border: 1px solid #506676;
    border-radius: 6px;
}

.input textarea::placeholder{
    font-family: "bold";
    font-size: 18px;
    line-height: 25px;
    color: #506676;
    opacity: 0.8;
}

.input textarea ~ .input_label, .input.block input ~ .input_label{
    position: absolute;
    left: 0;
    top: 0px;
    width: 100%;
    pointer-events: none;
}

.input textarea ~ .input_label{
    font-family: "bold";
    font-size: 14px;
    line-height: 14px;
    color: #0070B9;
}

/* CHECKBOXES / RADIO BUTTONS*/

.input.checkbox input, .input.radio input{
    display: none;
}

.input.checkbox.s label:before, .input.radio.s label:before{
    font-size: 20px;
    line-height: 20px;  
    margin-left: -43px;
    margin-right: 23px;
}

.input.checkbox.s label, .input.radio.s label{
    font-size: 16px;
    line-height: 23px;  
    font-family: "book";
    padding-left: 43px;
}

.input.checkbox.xs label, .input.radio.xs label{
    font-size: 14px;
    line-height: 21px;  
    font-family: "book";
    padding-left: 43px;
}


.input.checkbox.xs label, .input.radio.xs label {
    font-size: 12px;
    line-height: 18px;
    font-family: "book";
    padding-left: 35px;
}

.input.checkbox.xs label .link, .input.radio.xs label .link {
    font-size: 12px;
    display: inline;
    line-height: 14px;
}

.input.checkbox.xs label:before, .input.radio.xs label:before {
    margin-left: -35px;
    line-height: 14px;
    margin-right: 15px;
    font-size: 20px;
    line-height: 20px;  
}

.input.checkbox.s label .link, .input.radio.s label .link{
    font-size: 16px;
}

.component_container.checkboxes.packages{
    display: flex;
    box-sizing: border-box;
    height: 100%;
    flex-wrap: wrap;
    margin-left: -10px;
    margin-right: -10px;
    align-items: stretch;
    justify-content: center;
}

.component_container.checkboxes.packages.max_width{
    justify-content: center;
}

.component_container.checkboxes.packages.max_width .input.checkbox.package{
    flex: none;
    width: 300px;
}

.component_container.checkboxes.packages.col_2{
    width: 66.666%;
    left: 50%;
    transform: translateX(-50%);
}

.input.checkbox.package{
    min-height: 245px;
    width: 33.33%;
    margin-bottom: 0px;
    padding: 10px 10px;
    box-sizing: border-box;
}

.input.checkbox.package.col_3{
    width: 33.33%;
}

.component_container.checkboxes.packages.col_2 .input.checkbox.package{
    width: 50%;
}

.input.checkbox.package.disabled label span{
    color: #506676;
    opacity: 0.3
}

.component_container .input.checkbox.package.disabled:nth-of-type(3) label:after, .component_container .input.checkbox.package.disabled:nth-of-type(2) label:after, .component_container .input.checkbox.package.disabled:first-of-type label:after{
    background-color: #506676;
    opacity: 0.3;
}

.component_container .input.checkbox.package.disabled:nth-of-type(3) label i, .component_container .input.checkbox.package.disabled:nth-of-type(2) label i, .component_container .input.checkbox.package.disabled:first-of-type label i{
    color: #506676;
    opacity: 0.3;
}

.input.checkbox.package label{
    padding: 0px;
    border-style: none;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    background-color: #f8f8f8;
    font-family: "book";
    font-size: 22px;
    line-height: 30px;
    width: 100%;
    color: #506676;
    height: 100%;
    box-sizing: border-box;
    padding-bottom: 125px;
    border-top: 6px solid transparent;
    position: relative;
    overflow: hidden;
}

.input.checkbox.package label span{  
    position: relative;
    display: block;
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    padding: 20px;
}

.input.checkbox.package label:before{
    display: none;
}

.component_container .input.checkbox.package:first-of-type label i{
    color: rgba(80,102,118,0.8);
}

.component_container .input.checkbox.package:first-of-type label{
    /*border-bottom: 6px solid rgba(121,188,67,0.5);*/
    border-bottom: 6px solid #506676;
}

.component_container .input.checkbox.package:nth-of-type(2) label i{
    color: rgba(80,102,118,0.8);
}

.component_container .input.checkbox.package:nth-of-type(2) label{
    /*border-bottom: 6px solid rgba(238,44,123,0.5);*/
    border-bottom: 6px solid #506676;
}

.component_container .input.checkbox.package:nth-of-type(3) label i{
    color: rgba(80,102,118,0.8);
}

.component_container .input.checkbox.package:nth-of-type(3) label{
    /*border-bottom: 6px solid rgba(4,113,185,0.5);*/
    border-bottom: 6px solid #506676;
}


.input.checkbox.package input[type=checkbox]:checked ~ label{
    transform: scale(1.15);
    box-shadow: 0 0 20px 0 rgba(80,102,118,0.15);
    z-index: 3;
    border-bottom-width: 0px;
    border-radius: 5px;
}

.input.checkbox.package label i{
    font-family: "goldenergy";
    font-size: 85px;
    color: #77BC43;
    position: absolute;
    bottom: 40px;
    left: 0px;
    right: 0px;
    text-align: center;
    display: block;
    overflow: hidden;
}

.component_container .input.checkbox.package:first-of-type:hover label{
    color: #77BC43;
}

.component_container .input.checkbox.package:nth-of-type(2):hover label{
    color: #E41770;
}

.component_container .input.checkbox.package:nth-of-type(3):hover label{
    color: #0070B9;
}

.input.checkbox.package input[type=checkbox]:checked ~ label:after{
    content: "";
    display: block;
    position: absolute;
    right: 0;
    bottom: 0px;
    width: 0;
    height: 0;
    z-index: 1;
    border-top: 50px solid transparent;
    border-bottom: 50px solid #506676;
    border-left: 50px solid transparent;
}

.input.checkbox.package input[type=checkbox]:checked ~ label:before{
    font-family: 'goldenergy' !important;
    font-size: 20px;
    content: "\e91a";
    display: block;
    position: absolute;
    right: 0;
    bottom: 0px;
    width: 30px;
    height: 30px;
    z-index: 2;
    text-align: center;
    line-height: 25px;
    margin-right: 0;
    color: #fff;
}


.input.checkbox.package:first-of-type input[type=checkbox]:checked ~ label{
    border-top: 6px solid #77BC43;
    border-bottom-color: transparent;
}
.input.checkbox.package:first-of-type input[type=checkbox]:checked ~ label i{
    color: #77BC43;
}
.input.checkbox.package:first-of-type input[type=checkbox]:checked ~ label:after{
    border-bottom-color: #77BC43;
}

.input.checkbox.package:nth-of-type(2) input[type=checkbox]:checked ~ label{
    border-top: 6px solid #EE2C7B;
    border-bottom-color: transparent;
}
.input.checkbox.package:nth-of-type(2) input[type=checkbox]:checked ~ label i{
    color: #EE2C7B;
}
.input.checkbox.package:nth-of-type(2) input[type=checkbox]:checked ~ label:after{
    border-bottom-color: #EE2C7B;
}

.input.checkbox.package:nth-of-type(3) input[type=checkbox]:checked ~ label{
    border-top: 6px solid #0070B9;
    border-bottom-color: transparent;
}
.input.checkbox.package:nth-of-type(3) input[type=checkbox]:checked ~ label i{
    color: #0070B9;
}
.input.checkbox.package:nth-of-type(3) input[type=checkbox]:checked ~ label:after{
    border-bottom-color: #0070B9;
}

.input.checkbox.package input[type=checkbox]:checked ~ label{
    color: rgba(80,102,118,0.8);
    font-family: "medium";
}

.input.checkbox.package input[type=checkbox]:checked ~ label{
    background-color: #ffffff;
}

.component_container.checkboxes.packages .component_error, .component_container.checkboxes.xl .component_error{
    width: 100%;
    padding: 0 10px;
}

.input.checkbox.xl label{
    width: 100%;
    line-height: 25px;
    border: 1px solid #506676;
    border-radius: 6px;
    box-sizing: border-box;
    padding: 80px 20px 20px 20px;
    background-color: #FFFFFF;
    text-align: center;
    color: #506676;
    font-family: "bold";
    line-height: 25px;
    height: 100%;
}

.input.checkbox.xl.inline{
    display: inline-block;
    max-width: 200px;
    min-width: 200px;
}

.input.checkbox.xl.col_3{
    width: 33.333%;
    box-sizing: border-box;
}

.input.checkbox.xl.inline label{
    height: 100%;
}

.input.checkbox.xl.extra label span.input_extra{
    display: block;
    color: rgba(80, 102, 118, 0.8);
    font-family: "medium";
    font-size: 16px;
    line-height: 24px;
}

.input.checkbox label, .input.radio label{
    position: relative;
    cursor: pointer;
    font-family: "medium";
    font-size: 18px;
    display: inline-block;
    color: rgba(80, 102, 118, 0.8);
    padding-left: 50px;
}

.input.checkbox.s i, .input.radio.s i{
    font-size: 14px;
    line-height: 16px;
    position: absolute;
    margin-left: 15px;
    color: #0070B9;
    -webkit-transition: all 450ms cubic-bezier(.29,.52,.22,1);
    -moz-transition: all 450ms cubic-bezier(.29,.52,.22,1);
    -o-transition: all 450ms cubic-bezier(.29,.52,.22,1);
    transition: all 450ms cubic-bezier(.29,.52,.22,1);
    cursor: pointer;
    display: inline-block;
    top: 0px
}

.input.checkbox.s.disabled i, .input.radio.s.disabled i{
    opacity: 0.3;
}

.input.checkbox label .link, .input.radio label .link{
    font-size: 18px;
}


.input.checkbox.xl label:before{
    font-family: 'goldenergy';
    content: "\e957";
    font-size: 40px;
    display: inline-block;
    vertical-align: middle;
    text-align: center;
    box-sizing: border-box;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    line-height: 40px;
    background-color: #F8F8F8;
    position: absolute;
    left: 50%;
    top: 20px;
    margin: 0px;
    transform: translateX(-50%);
    color: rgba(80, 102, 118, 0.8);
}

.input.checkbox label:before{
    font-family: 'goldenergy';
    content: "\e955";
    font-size: 30px;
    display: inline-block;
    vertical-align: middle;
    text-align: center;
    background-color: #F8F8F8;
    box-sizing: border-box;
    margin-right: 20px;
    border-radius: 6px;
    color: rgba(80, 102, 118, 0.8);
    margin-left: -50px;
    line-height: 30px;
}

/* RADIO BUTTONS */

.input.radio label:before{
    font-family: 'goldenergy';
    content: "\e957";
    font-size: 30px;
    display: inline-block;
    vertical-align: middle;
    text-align: center;
    background-color: #F8F8F8;
    box-sizing: border-box;
    margin-right: 20px;
    border-radius: 50%;
    color: rgba(80, 102, 118, 0.8);
    margin-left: -50px;
    line-height: 30px;
}

.radio input[type=checkbox]:checked ~ label:before{
    content: "\e954";
    color: #0090ED;
}

/* SELECT BOX */

.select{
    display: block;
    position: relative;
}

.select label i{
    display: none;
}

.select select{
    box-sizing: border-box;
}

.select.info label i{
    content: "\e92d";
    font-family: "goldenergy";
    font-size: 14px;
    line-height: 14px;
    position: absolute;
    margin-left: 15px;
    color: #0070B9;
    -webkit-transition: all 450ms cubic-bezier(.29,.52,.22,1);
    -moz-transition: all 450ms cubic-bezier(.29,.52,.22,1);
    -o-transition: all 450ms cubic-bezier(.29,.52,.22,1);
    transition: all 450ms cubic-bezier(.29,.52,.22,1);
    cursor: pointer;
    display: inline-block;
}

.select label{
    font-family: "bold";
    font-size: 14px;
    display: block;
    color: #0070B9;
    margin-bottom: 15px;
}

.styled_select{
    margin-bottom: 0px;
    padding-bottom: 1px;
}

.styled_select .choices__inner{
    display: inline-block;
    box-sizing: border-box;
    background: none;
    border-top: none;
    border-left: none;
    border-right: none;
    padding: 0 55px 6px 0;
    min-height: 0;
    border-bottom: 1px solid #506676;
    border-radius: 0;
    width: 100%;
}

.select .choices[data-type*=select-one] .choices__inner{
    padding: 0 55px 6px 0;
}

.select.block .styled_select .choices__inner{
    border: 1px solid #506676;
    padding: 0 55px 0 20px;
    border-radius: 6px;
    height: 51px;
    line-height: 50px
}

.styled_select .choices__list--single{
    padding: 0 0;
}

.styled_select .choices__item{
    font-family: "bold";
    font-size: 18px;
    color: #506676;
    opacity: 0.8;
}

.styled_select[data-type*=select-one]:after{
    font-family: 'goldenergy';
    content: "\e95b";
    font-size: 20px;
    color: #506676;
    opacity: 0.8;
    height: 25px;
    width: 20px;
    border-style: none;
    border-color: transparent;
    border-width: 0px;
    right: 0px;
    top: 0px;
    margin: 0 20px 0 0;
    line-height: 25px;
    display: block;
}

.select.block .styled_select[data-type*=select-one]:after{
    height: 51px;
    line-height: 51px;
}

.styled_select[data-type*=select-one] .choices__input{
    box-sizing: border-box; 
}

/* STATES */
/* DISABLED */

.select.disabled .styled_select{
    pointer-events: none;
}

.select.disabled .styled_select .choices__placeholder{
    opacity: 0.3;
}

.select.disabled .styled_select[data-type*=select-one]:after{
    opacity: 0.3;
}

.select.disabled .styled_select .choices__inner{
    border-bottom: 1px solid rgba(80, 102, 118, 0.3);
}

.select.block.disabled .styled_select .choices__inner{
    border: 1px solid rgba(80, 102, 118, 0.3); 
}

.select.disabled label{
    opacity: 0.3;
    pointer-events: none;
}

.select.disabled .component_hint{
    opacity: 0.3;
}

/* HOVER */
.select .styled_select:hover .choices__placeholder{
    color: #0070B9;
    opacity: 1;
}

.select .styled_select:hover .choices__inner{
    border-bottom: 1px solid #0070B9;
}

.select.block .styled_select:hover .choices__inner{
    border: 1px solid #0070B9;
}

/* OPENED */

.styled_select.is-open[data-type*=select-one]:after{
    content: "\e95e";
    margin-top: 0px;
}

.styled_select.is-open .choices__placeholder{
    color: #0070B9;
    opacity: 1;
}

.styled_select .choices__list--dropdown{
    box-shadow: 0 0 0px 0 rgba(80,102,118,0);
}

.styled_select.is-open .choices__list--dropdown{
    background-color: #ffffff;
    border: none;
    border-radius: 0 0 6px 6px;
    box-shadow: 0 0 20px 0 rgba(80,102,118,0.15);
    opacity: 1;
}

.styled_select.is-flipped.is-open .choices__list--dropdown{
    border-radius: 6px 6px 0px 0px;
    margin-bottom: 44px;
}

.styled_select.is-open .choices__list--dropdown .choices__placeholder{
    display: none;
}
.styled_select .choices__list--dropdown .choices__item--selectable{
    padding: 10px;
}

.styled_select.choices_adesao .choices__list--dropdown .choices__list{
    max-height: 115px;
}

.styled_select.is-open .choices__list--dropdown .choices__item--selectable{
    font-family: "book";
    font-size: 18px;
    line-height: 25px;
    color: #506676;
    opacity: 1;
}

.styled_select.is-open .choices__list--dropdown .choices__item--selectable:after{
    display: none;
}

.styled_select.is-open .choices__list--dropdown .choices__item--selectable.is-highlighted{
    background-color: #E41770;
    color: #ffffff;
}

/* ERROR */

.select.error .component_error:after{
    font-family: 'goldenergy';
    content: "\e924";
    position: absolute;
    left: -33px;
    top: 0px;
    width: 18px;
    font-size: 18px;
    text-align: center;
    line-height: 21px;
    color: #F8040C;
}

.select.error .styled_select .choices__inner{
    border-color: #F8040C;
}

.select .component_error{
    margin-left: 33px;
}

/* UPLOAD */
/* upload em linha */
.upload_drop_area input{
    display:none;
}

.upload_container ul{
    margin-top: 15px;
}

.upload_container ul li div{
    display: none!important;
}

.upload_container ul li, .upload_container ul li p{
    display: inline-block;
}

.upload_container ul li{
    font-family: "book";
    font-size: 12px;
    line-height: 18px;
    padding: 6px 30px 6px 15px;
    background-color: #0070B9;
    color: #ffffff;
    border-radius: 20px;
    position: relative;
    margin: 5px 10px 5px 0;
    cursor: pointer;
}

.upload_container ul li:after{
    content: "\e953";
    font-family: "goldenergy";
    font-size: 15px;
    width: 15px;
    line-height: 30px;
    position: absolute;
    right: 0px;
    top: 0px;
    margin: 0 10px 0 0;
}

.upload_button{
    border-bottom: 1px solid #506676;
    display: block;
    box-sizing: border-box;
    position: relative;
    font-family: "bold";
    font-size: 18px;
    line-height: 32px;
    padding: 0 20px 0 30px;
    color: rgba(80, 102, 118, 0.8);
    cursor: pointer;
    border-radius: 0px;
}

.upload_button:before{
    content: "\e94c";
    font-family: 'goldenergy';
    position: absolute;
    left: 0;
    top: 0;
    font-size: 20px;
    line-height: 32px;
    width: 20px;
    color: rgba(80, 102, 118, 0.8);
}

.input.upload.info .component_title i, .component_container.info .component_title i{
    content: "\e92d";
    font-family: "goldenergy";
    font-size: 20px;
    position: absolute;
    margin-left: 15px;
    color: #0070B9;
    -webkit-transition: all 450ms cubic-bezier(.29,.52,.22,1);
    -moz-transition: all 450ms cubic-bezier(.29,.52,.22,1);
    -o-transition: all 450ms cubic-bezier(.29,.52,.22,1);
    transition: all 450ms cubic-bezier(.29,.52,.22,1);
    cursor: pointer;
    pointer-events: all;
    display: inline-block;
}

.component_container .component_title i, .input.upload .component_title i{
    display: none;
}

/* STATES*/
/* HOVER */

.upload_button:hover{
    border-bottom: 1px solid #0070B9;  
    color: #0070B9;
}

.upload_button:hover:before{
    color: #0070B9;
    opacity: 0.8;
}

/* FILLED */

.upload_button.filled{
    border-bottom: 1px solid #0070B9;  
    color: #0070B9;
}

.upload_button.filled:before{
    color: #0070B9;
    opacity: 0.8;
}

/* DISABLED*/

.input.disabled.upload .upload_button{
    color: rgba(80, 102, 118, 0.3);
    border-bottom: 1px solid rgba(80, 102, 118, 0.3);
    pointer-events: none;
}

.input.disabled.upload .upload_button:before{
    color: rgba(80, 102, 118, 0.3);
}

.input.disabled.upload .upload_container ul li{
    cursor: default;
}

/* ERROR */

.input.error.upload .upload_button{
    border-color: #F8040C;
}

.input.disabled.upload .upload_button:before{
    color: rgba(80, 102, 118, 0.3);
}

.input.error.upload .component_error:after{
    font-family: 'goldenergy';
    content: "\e924";
    position: absolute;
    left: 0;
    bottom: 0px;
    width: 18px;
    font-size: 18px;
    text-align: center;
    line-height: 25px;
    color: #F8040C;
}

.input.error.upload:after{
    display: none;
}

.input.upload .component_error{
    padding-left: 33px;
}

/* FLOATING BUTTON */

.floating_button{
    width: 60px;
    position: relative;
    z-index: 2;
}

.floating_button .toggle_button{
    width: 46px;
    height:46px;
    background-color: #0471B9;
    border-radius: 50%;
    position: relative;
    cursor: pointer;
    display: block;
    margin: 0 auto;
}

.floating_button > .label{
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    font-family: "bold";
    font-size: 14px;
    color: #9FA7B1;
    display: block;
    margin-top: 8px;
    text-align: center;
}

.floating_button .toggle_button:after{
    /*content: "\e974";*/
    content: "\e92d";
    font-family: "goldenergy";
    position: absolute;
    font-size: 30px;
    line-height: 46px;
    width: 46px;
    left: 0px;
    top: 0px;
    text-align: center;
    color: #ffff;
}

.floating_button .toggle_button:hover{
    background-color: #E41770; 
}

.floating_button .toggle_button.active:after{
    content: "\e953";
    font-size: 20px;
}

.floating_button .options{
    left: 0;
    right: 0;
    text-align: center;
    position: absolute;
    bottom: 68px;
    margin: 0;
    width: 60px;
    z-index: 1;
}

.floating_button .options .option{
    width: 60px;
    height: 60px;
    background-color: #ffffff;
    border-radius: 50%;
    position: relative;
    display: block;
    margin-bottom: 8px;
    box-shadow: 0 0 20px 0 rgba(80,102,118,0.15);
    opacity: 0;
    transform: scale(1) translateY(38px) translateX(0px);
    pointer-events: none;
}

.floating_button.active .options .option{
    pointer-events: all;
}

.floating_button .options .option.disabled{
    background-color: #EEEEEE;
    pointer-events: none;
}

.floating_button .options .option.disabled i{
    color: #DADADA;
}

.floating_button .options .option .label{
    font-family: "bold";
    font-size: 14px;
    position: absolute;
    left: -25px;
    top: 50%;
    transform: translate(-100%, -50%);
    padding: 7px 16px;
    border-radius: 3px;
    color: #ffffff;
    background-color: #EE2C7B;
    opacity: 0;
    visibility: hidden;
}

.floating_button .options .option .label:after{
    content: "";
    width: 10px;
    height: 10px;
    overflow: hidden;
    background-color: #EE2C7B;
    border-top-right-radius: 3px;
    position: absolute;
    top: 50%;
    right: 5px;
    transform: translate(100%, -50%) rotate(45deg);
}

.floating_button .options .option:hover{
    background-color: #EE2C7B;
}

.floating_button .options .option:hover i{
    color: #ffffff;
}

.floating_button .options .option:hover .label{
    opacity: 1;
    visibility: visible;
}

.floating_button .toggle_button.active ~ .options .option{
    cursor: pointer;
}

.floating_button .options .option.option-info{
    background-color: #EE2C7B;
    color: #fff;
}   

.floating_button .option.option-info i{
    color: #fff;
}

.floating_button .options .option-info:hover{
    background-color: #fff;
}

.floating_button .options .option-info:hover i{
    color: #0070B9;
}

.floating_button .options .option-info .label{
    opacity: 1;
    visibility: visible;
}

.floating_button .option i{
    font-family: "goldenergy";
    font-size: 30px;
    line-height: 60px;
    color: #0070B9;
}

.floating_button .toggle_button.active ~ .options .option{
    opacity: 1;
    transform: scale(1) translateY(0) translateX(0);
}

.floating_button .options .option:first-child{
    margin-bottom: 10px;
    transform: scale(1) translateY(176px) translateX(0px);
    -webkit-transition: transform 450ms cubic-bezier(.29,.52,.22,1) 200ms, opacity 450ms cubic-bezier(.29,.52,.22,1) 200ms, background-color 450ms cubic-bezier(.29,.52,.22,1), color 450ms cubic-bezier(.29,.52,.22,1);
    -moz-transition: transform 450ms cubic-bezier(.29,.52,.22,1) 200ms, opacity 450ms cubic-bezier(.29,.52,.22,1) 200ms, background-color 450ms cubic-bezier(.29,.52,.22,1), color 450ms cubic-bezier(.29,.52,.22,1);
    -o-transition: transform 450ms cubic-bezier(.29,.52,.22,1) 200ms, opacity 450ms cubic-bezier(.29,.52,.22,1) 200ms, background-color 450ms cubic-bezier(.29,.52,.22,1), color 450ms cubic-bezier(.29,.52,.22,1);
    transition: transform 450ms cubic-bezier(.29,.52,.22,1) 200ms, opacity 450ms cubic-bezier(.29,.52,.22,1) 200ms, background-color 450ms cubic-bezier(.29,.52,.22,1), color 450ms cubic-bezier(.29,.52,.22,1);
}

.floating_button .options .option:nth-child(2){
    margin-bottom: 10px;
    transform: scale(1) translateY(108px) translateX(0px);
    -webkit-transition: transform 450ms cubic-bezier(.29,.52,.22,1) 100ms, opacity 450ms cubic-bezier(.29,.52,.22,1) 100ms, background-color 450ms cubic-bezier(.29,.52,.22,1), color 450ms cubic-bezier(.29,.52,.22,1);
    -moz-transition: transform 450ms cubic-bezier(.29,.52,.22,1) 100ms, opacity 450ms cubic-bezier(.29,.52,.22,1) 100ms, background-color 450ms cubic-bezier(.29,.52,.22,1), color 450ms cubic-bezier(.29,.52,.22,1);
    -o-transition: transform 450ms cubic-bezier(.29,.52,.22,1) 100ms, opacity 450ms cubic-bezier(.29,.52,.22,1) 100ms, background-color 450ms cubic-bezier(.29,.52,.22,1), color 450ms cubic-bezier(.29,.52,.22,1);
    transition: transform 450ms cubic-bezier(.29,.52,.22,1) 100ms, opacity 450ms cubic-bezier(.29,.52,.22,1) 100ms, background-color 450ms cubic-bezier(.29,.52,.22,1), color 450ms cubic-bezier(.29,.52,.22,1);
}

.floating_button .options .option{
    -webkit-transition: transform 450ms cubic-bezier(.29,.52,.22,1) 0ms, opacity 450ms cubic-bezier(.29,.52,.22,1) 0ms, background-color 450ms cubic-bezier(.29,.52,.22,1), color 450ms cubic-bezier(.29,.52,.22,1);
    -moz-transition: transform 450ms cubic-bezier(.29,.52,.22,1) 0ms, opacity 450ms cubic-bezier(.29,.52,.22,1) 0ms, background-color 450ms cubic-bezier(.29,.52,.22,1), color 450ms cubic-bezier(.29,.52,.22,1);
    -o-transition: transform 450ms cubic-bezier(.29,.52,.22,1) 0ms, opacity 450ms cubic-bezier(.29,.52,.22,1) 0ms, background-color 450ms cubic-bezier(.29,.52,.22,1), color 450ms cubic-bezier(.29,.52,.22,1);
    transition: transform 450ms cubic-bezier(.29,.52,.22,1) 0ms, opacity 450ms cubic-bezier(.29,.52,.22,1) 0ms, background-color 450ms cubic-bezier(.29,.52,.22,1), color 450ms cubic-bezier(.29,.52,.22,1);
}

/* ALERT MESSAGES */

.alert_message{
    position: fixed;
    max-width: 1200px;
    min-width: 260px;
    padding: 25px 20px 25px 90px;
    background-color: #E9A100;
    box-sizing: border-box;
    top: 20px;
    left: 50%;
    transform: translateX(-50%);
    margin-top: -100%;
    opacity: 0;
    z-index: 2000;
}

.alert_message.active{
    opacity: 1;
    margin-top: 0px;
}

.alert_message.close_button{
    padding: 25px 70px 25px 90px;
}

.alert_message i{
    display: none;
}

.alert_message.close_button i{
    color: #ffffff;
    font-size: 20px;
    line-height: 45px;
    position: absolute;
    right: 0px;
    display: block;
    margin-right: 20px;
    cursor: pointer;
    top: 50%;
    transform: translateY(-50%);
}

.message{
    font-family: "book";
    font-size: 18px;
    line-height: 25px;
    color: #ffffff;
}

.message_highlight{
    font-family: "medium";
    font-size: 22px;
    line-height: 30px;
    display: block;
}

.alert_message:before{
    content: "\e96c";
    font-family: "goldenergy";
    font-size: 40px;
    line-height: 45px;
    position: absolute;
    left: 0px;
    color: #ffffff;
    margin-left: 20px;
    top: 50%;
    transform: translateY(-50%);
}

.alert_message.success:before{
    content: "\e91a";  
}

.alert_message.success{
    background-color: #77BC43;  
}

.alert_message.warning:before{
    content: "\e96c";  
}

.alert_message.warning{
    background-color: #E9A100;  
}

.alert_message.error:before{
    content: "\e924";  
}

.alert_message.error{
    background-color: #F8040C;  
}

.alert_message.info:before{
    content: "\e904";  
}

.alert_message.info{
    background-color: #0090ED;  
}

.component_container.cards.packages{
    overflow: visible;
}

.card.package{
    height: auto;
    align-self: stretch;
}

.card.package .card_container{
    height: 100%;
    box-sizing: border-box;
}

.cards.packages .component_button{
    margin-top: 70px;
    left: 50%;
    transform: translateX(-50%);
    position: relative;
}

.collapse_button{
    height: 50px;
    font-family: "bold";
    font-size: 18px;
    line-height: 50px;
    border-radius: 6px;
    position: relative;
    display: inline-block;
    cursor: pointer;
    background: none;
    padding: 0 25px 0 0;
    color: #506676;
}

.collapse_button{
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}
/*
.cards.packages .component_button .collapse_button{
    position: relative;
    left: 50%;
    transform: translateX(-50%);
}*/

.collapse_button:hover{
    color: #e41770;
}

.collapse_button.active:after{
    transform: rotate(-180deg);
}

.collapse_button:after{
    font-family: 'goldenergy';
    content: "\e95b";
    position: absolute;
    right: 0;
    width: 15px;
    font-size: 15px;
    color: #506676;
}

.card_container{
    padding: 46px 30px 198px 30px;
    position: relative;
    border-radius: 5px 5px 0 0;
    box-shadow: 0 0 20px 0 rgba(80,102,118,0.08);
    background-color: #ffffff;
}

.card_container:before{
    content: '';
    position: absolute;
    display: block;
    height: 6px;
    left: 0px;
    right: 0px;
    top: 0px;
    border-radius: 5px 5px 0 0;
}

.card_icons i{
    font-size: 40px;
    margin-right: 20px;
}

.card_icons i:last-child{
    margin-right: 0px;
}

.card_title{
    font-family: "bold";
    font-size: 28px;
    line-height: 35px;
    margin-top: 15px;
}

.card_specs{
    margin-top: 60px;
}

.specs_list_collapsed{
    display: none;
}

.spec{
    position: relative;
    min-height: 35px;
    margin-bottom: 40px;
}

.specs_list .spec:last-child, .specs_list_collapsed .spec:last-child{
    margin-bottom: 0px;
}

.specs_list_collapsed .spec:first-child{
    margin-top: 40px;
}

.spec i{
    position: absolute;
    font-size: 35px;
    top: 0px;
    left: 0px;
    color: #0090ED;
}

.spec_content{
    padding: 0 0 0 65px;
}

.spec_title{
    font-family: "bold";
    font-size: 14px;
    line-height: 21px;
    color: #343A40;
}

.spec_description{
    font-family: "book";
    font-size: 14px;
    line-height: 21px;
    color: #343A40;
}

.card_price{
    border-top: 1px solid #EEEEEE;
    padding: 40px 0 60px 0;
    position: absolute;
    bottom: 30px;
    right: 30px;
    left: 30px;
}

.price{
    display: inline-block;
    transform: translateX(-50%);
    position: relative;
    left: 50%;
}

.price_value{
    font-family: "bold";
    font-size: 35px;
    position: relative;
    padding: 12px 0 0 0;
    display: inline-block;
}

.price_per{
    font-family: "medium";
    font-size: 18px;
    color: #9FA7B1;
}

.previous_price{
    position: absolute;
    font-family: "book";
    font-size: 12px;
    text-decoration: line-through;
    color: #9FA7B1;
    top: 0px;
    right: 0px;
}

.card_button{
    position: absolute;
    display: block;
    margin-bottom: -30px;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0px;
}

.button_check input{
    display: none;
}

.button_check label{
    position: relative;
    cursor: pointer;
    font-family: "bold";
    font-size: 18px;
    display: inline-block;
    color: #9FA7B1;
    min-width: 140px;
    line-height: 30px;
    padding: 15px 55px 15px 25px;
    border-radius: 60px;
    text-align: center;
    border: 2px solid #9FA7B1;
    background: #ffffff;
    box-shadow: 0 0 20px 0 rgba(80,102,118,0.08);
}

.component_container .card.package:first-of-type .button_check label{
    border-color: #77BC43;
    color: #77BC43;
}

.component_container .card.package:nth-of-type(2) .button_check label{
    border-color: #E41770;
    color: #E41770;
}

.component_container .card.package:nth-of-type(3) .button_check label{
    border-color: #0070B9;
    color: #0070B9;
}

.button_check label:before {
    font-family: 'goldenergy';
    content: "\e957";
    font-size: 30px;
    display: block;
    vertical-align: middle;
    text-align: center;
    background-color: #f8f8f8;
    box-sizing: border-box;
    border-radius: 50%;
    color: #77BC43;
    position: absolute;
    right: 25px;
}

.component_container .card.package:first-of-type .button_check label:before{
    color: #77BC43;
}

.component_container .card.package:nth-of-type(2) .button_check label:before{
    color: #E41770;
}

.component_container .card.package:nth-of-type(3) .button_check label:before{
    color: #0070B9;
}

.button_check input[type=checkbox]:checked ~ label:before{
    content: "\e954";
}

.component_container .card.package:first-of-type .card_icons i, .component_container .card.package:first-of-type .card_title, .component_container .card.package:first-of-type .price{
    color: #77BC43;
}

.component_container .card.package:first-of-type .button_check input[type=checkbox]:checked ~ label, .component_container .card.package:first-of-type .card_container:before{
    background-color: #77BC43;
    border-color: #77BC43;
    color: #ffffff;
}

.component_container .card.package:first-of-type .button_check label:hover{
    background-color: #77BC43;
    border-color: #77BC43;
    color: #ffffff;
}

.component_container .card.package:nth-of-type(2) .card_icons i, .component_container .card.package:nth-of-type(2) .card_title, .component_container .card.package:nth-of-type(2) .price{
    color: #E41770;
}

.component_container .card.package:nth-of-type(2) .button_check input[type=checkbox]:checked ~ label, .component_container .card.package:nth-of-type(2) .card_container:before{
    background-color: #E41770;
    border-color: #E41770;
    color: #ffffff;
}

.component_container .card.package:nth-of-type(2) .button_check label:hover{
    background-color: #E41770;
    border-color: #E41770;
    color: #ffffff;
}

.component_container .card.package:nth-of-type(3) .card_icons i, .component_container .card.package:nth-of-type(3) .card_title, .component_container .card.package:nth-of-type(3) .price{
    color: #0070B9;
}

.component_container .card.package:nth-of-type(3) .button_check input[type=checkbox]:checked ~ label, .component_container .card.package:nth-of-type(3) .card_container:before{
    background-color: #0070B9;
    border-color: #0070B9;
    color: #ffffff;
}

.component_container .card.package:nth-of-type(3) .button_check label:hover{
    background-color: #0070B9;
    border-color: #0070B9;
    color: #ffffff;
}

.component_container .card.package .button_check label:hover:before{
    background-color: rgba(248, 248, 248, 0.2);
    color: rgba(255, 255, 255, 0.8);
}

.component_container .card.package .button_check input[type=checkbox]:checked ~ label:before{
    background: none;
    color: rgba(255, 255, 255, 0.8);
}

.text.secondary{
    font-family: "book";
    font-size: 14px;
    line-height: 21px;
}

.text.primary{
    font-family: "book";
    font-size: 18px;
    line-height: 25px;
}

.text.secondary ul li{
    padding: 24px 0 0 0;
}

.text.secondary p{
    min-height: 21px;
}

.text strong{
    font-family: "bold";
}

.tab_bar .nav_link{
    font-family: "bold";
    font-size: 18px;
    line-height: 25px;
    color: #9FA7B1;
    margin-bottom: 30px;
    position: relative;
    padding: 0 35px 0 0;
    cursor: pointer;
}

.tab_bar .nav_link:hover, .tab_bar .nav_link.active{
    color: #E41770;
}

.tab_bar .nav_link.active{
    pointer-events: none;
}

.tab_bar .nav_link:hover:after{
    color: #9FA7B1;
}

.tab_bar .nav_link:after{
    content: "\e95d";
    font-family: "goldenergy";
    font-size: 15px;
    line-height: 19px;
    position: absolute;
    right: 0px;
}

.tab_bar .nav_link:last-child{
    margin-bottom: 0px;
}


/* FIXED BUTTON */

.fixed_button{
    position: fixed;
    right: 0;
    top: 50%;
    z-index: 100;
    border-radius: 4px 0px 0px 4px;
    color: #fff;
    text-align: center;
    overflow-y: hidden;
    cursor: pointer;
    background-color: #0090ed;
    padding: 25px;
    box-shadow: 0 0 20px 0 rgba(80,102,118,0.08);
}

.fixed_button:hover{
    background-color: #77bc43;
}

.fixed_button .icon{
    text-align: center;
    font-size: 0px;
}

.fixed_button .icon i {
    display: inline-block;
    font-size: 30px;
    animation: ring 5s linear infinite;
}

/* INCREMENTAL INPUT*/

.incremental_input{
    min-width: 200px;
}

.input_interaction_container{
    position: relative;
    display: flex;
    box-sizing: border-box;
    height: 100%;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}

.incremental_input_label{
    text-align: center;
    font-size: 18px;
    line-height: 25px;
    font-family: "bold";
    color: #0090ED;
}

.input_display{
    padding: 20px;
    border-radius: 5px;
    background-color: #F8F8F8;
    margin-bottom: 10px;
}

.incremental_input_icon{
    text-align: center;
    font-size: 40px;
    margin-bottom: 25px;
    color: #0090ED;
}

.input_button{
    padding: 6px 12px;
    background-color: #F8F8F8;
    border-radius: 5px;  
    margin: 0 10px;
    cursor: pointer;
    color: #506676;
    font-size: 24px;
}

.input_button i{
    vertical-align: middle;
}

/* alteracoes ivo */
.info_note{
    padding: 10px;
    border-radius: 5px;
    margin-top: 10px;
}

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

    .cards.packages .component_button{
        margin-top: 60px;
    }

    .fixed_button {
        top: auto;
        bottom: 10px;
        right: 10px;
        border-radius: 4px;
        padding: 15px;
    }

    .button{
    	font-size: 14px;
    }

    .button.arrow.right {
		padding: 0 45px 0 10px;
	}
}

@media only screen and (max-width: 1024px){
    .component_container.checkboxes.horizontal .input.checkbox, 
    .component_container.radios.horizontal .input.radio{
        padding: 10px 30px;
    }

    .component_container.checkboxes.horizontal, 
    .component_container.radios.horizontal{
        margin-left: -30px;
        margin-right: -30px;
    }


    /* alteracoes ivo */

    .select select{
        display: inline-block;
        box-sizing: border-box;
        background: none;
        border-top: none;
        border-left: none;
        border-right: none;
        padding: 0 55px 6px 0;
        min-height: 0;
        border-bottom: 1px solid #506676;
        border-radius: 0;
        width: 100%;
        font-family: "bold";
        font-size: 18px;
        color: #506676;
        opacity: 0.8;
        -moz-appearance: none;
        -webkit-appearance: none;
        appearance: none;
        position: relative;
        height: 25px;
    }

    .select:after {
        font-family: 'goldenergy';
        content: "\e95b";
        font-size: 20px;
        color: #506676;
        opacity: 0.8;
        height: 25px;
        width: 20px;
        border-style: none;
        border-color: transparent;
        border-width: 0px;
        right: 0px;
        top: 29px;
        margin: 0 20px 0 0;
        line-height: 25px;
        display: block;
        position: absolute;
    }

    .select.select_no_label:after{
        top: 0;
    }   

    .select select:hover{
        border-bottom: 1px solid #0070B9;
        color: #0070B9;
        opacity: 1;
    }

    .select select:focus {
        color: #0070B9;
    }

    /* alteracoes ivo */

}

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

    .input.checkbox.s label, .input.radio.s label, .input.checkbox.xs label, .input.radio.xs label{
        font-size: 12px;
        line-height: 18px;
        padding-left: 35px;
    }

    .input.checkbox.s label .link, .input.radio.s label .link {
        font-size: 12px;
        display: inline;
        line-height: 14px;
    }

    .input.checkbox.s label:before, .input.radio.s label:before {
        margin-left: -35px;
        line-height: 14px;
        margin-right: 15px;
    }

    .lightbox_content{
        padding: 50px 25px 25px 25px;
    }


    .lightbox_container{
        padding: 10px;
    }

    .tab_bar .nav_link{
        margin-bottom: 15px;
    }

    .cards.packages .component_button{
        margin-top: 50px;
    }

    .input.checkbox.package, .component_container.checkboxes.packages.col_2 .input.checkbox.package{
        width: 100%;
        flex: auto;
    }

    .component_container.checkboxes.packages.col_2 {
        width: auto;
        left: auto;
        transform: none;
    }

    .input.checkbox.package input[type=checkbox]:checked ~ label{
        transform: scale(1.05);
    }

    .heading_1{
        font-size: 35px;
        line-height: 45px;
    }

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

    .heading_3{
        font-size: 25px;
        line-height: 30px;
    }

    .component_container.big_title .component_title{
        font-size: 25px;
        line-height: 30px;
        margin-bottom: 20px;
    }

    .heading_4{
        font-size: 22px;
        line-height: 28px;
    }

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

    .heading_6{
        font-size: 14px;
        line-height: 20px;
    }

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

    .input.checkbox.xl.col_3{
        display: inline-block;
        max-width: 200px;
        min-width: 200px;
    }
}

/* ORGANIZAR FICHEIROS */
/* FECHAR CLASSES BOTÕES */

/*

A FAZER (SALTEI):
POR DEFEITO SÃO OS LINE INPUTS

- Icon button II
- Button group
- Input block (centered e left algignment)
- Input block with icons (centered e left algignment)
- Radio buttons round
- Radio buttons rectangle
- Dropdown block
- Upload block


*/