/* RESET */

*{box-sizing: border-box;}						html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,sub,sup,var,b,i,dl,dt,dd,fieldset,form,label,legend,caption,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent}
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}
nav ul{list-style:none}
blockquote,q{quotes:none}
blockquote:before,blockquote:after,q:before,q:after{content:none}
a{margin:0;padding:0;font-size:100%;vertical-align:baseline;background:transparent; color:inherit;}
ins{background-color:#ff9;color:#000;text-decoration:none}
mark{background-color:#ff9;color:#000;font-style:italic;font-weight:bold}
del{text-decoration:line-through}
abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}
hr{display:block;height:1px;border:0;border-top:1px solid #ccc;margin:1em 0;padding:0}
input,select{vertical-align:middle}
	
/* FI RESET */

html, body {
    height: 100%;
}

body
{
    font-family: 'robotoregular';
	font-size: 20px;
	line-height: 1.1;
	color: #222222;;
	background-color: #F0F0F0;
	display: flex;
	flex-direction: column;
}

#content {
    flex: 1;
}

a{text-decoration: none;}
a:focus{outline: none;}

img, iframe {
	max-width: 100%;	
}

.contenidor_centrat {
	width: 1500px;
	margin: 0 auto;	
	max-width: 95%;
}

.boto_generic {
	font-size: 12px;
	background: #C81034;
	border: 1px solid #C81034;
	color: #fff;
	padding: 12px 15px;
	display: inline-flex;
    transition: all .25s ease;
    cursor: pointer;
    min-width: 130px;
    align-items: center;
    gap: 15px;
}

.boto_generic img, .boto_generic svg {
    width: 20px
}

.boto_generic svg * {
    fill: #fff;
}

.boto_generic:hover, input:checked + label .boto_generic {
	background: #fff;
	color: #222222;
}

.boto_generic:hover svg *, input:checked + label .boto_generic svg *{
	fill: #222222;
}

.boto_generic.blanc {
    background: #fff;
    color: #222222
}

.boto_generic.blanc svg * {
    fill: #222222;
}

.boto_generic.blanc:hover, input:checked + label .boto_generic.blanc {
    background: #C81034;
    color: #fff;
}

.boto_generic.blanc:hover svg *, input:checked + label .boto_generic.blanc svg *{
	fill: #C81034;
}

.titol_gran {
    font-size: 50px;
    font-weight: normal;
}

.titol_generic { 
    font-size: 36px;
    font-weight: normal;
}

.titol_generic .num {
    color: #C81034;
}

header {
    background: #fff;
    padding: 15px 0;
}

header > div {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

header p {
    color: #C81034;
}

#progress-container {
    font-size: 13px;
    color: #A5A5A5;
    margin: 35px auto 8vh;
}

#progress-container > div {
    display: flex;
    justify-content: space-between;
}

#progress-container > div.dots {
    margin: 10px 10px 0 10px;
    position: relative;
}

#progress-container > div.dots > div:not(.progress_bar) {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #A5A5A5;
    transition: background .25s ease;
    transition-delay: .75s;
}

#progress-container > div {
    display: flex;
    justify-content: space-between;
}
#progress-container .txt > div {
    transition: color .5s ease; 
    transition-delay: .75s;
}
#progress-container .txt .active {
    color: #C81034;
    font-weight: bold;
}

#progress-container > .dots > .active {
    background-color: #C81034!important; 
}

#progress-container .dot {
    z-index: 10;
}
#progress-container .dots::before, .progress_bar {
    content: '';
    position: absolute;
    height: 3px;
    top: 0;
    bottom: 0;
    margin: auto;
    width: 100%;
    
}
#progress-container .dots::before {
    width: 100%;
    background: #A5A5A5;
    z-index: -1;
}
.progress_bar {
    z-index: 5;
    max-width: 0%;
    transition: max-width .75s ease; 
    background: #C81034;
}

#progress-container > div > .active:last-of-type {
    cursor: initial;
}

#progress-container > div > .active {
    cursor: pointer;
}

.page {
    display: none;
    padding-bottom: 20px
}

.page0 {
    display: flex;
    height: 100%;
    padding: 0;
}

.page0 > div {
    width: 50%;
    width: 50%;
}

.page0 > div.text {
    padding: 0 14.8% 0 10.4%;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.page0 > div.img {
    position: relative;
}

.page0 > div.img img {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    right: 0;
}

.page0 p {
    margin: 35px 0 55px;
}

.margin_titol {
    margin-bottom: 8vh;
}

.blocs_carac {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 2.4%;
}

.blocs_carac > div {
    width: 31.7333%;
}

.blocs_carac .bloc_carac label {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 2px solid transparent;
    padding: 8.52vh 4.7vw 8.52vh 4vw;
    transition: all .25s ease;
    height: 100%;
    cursor: pointer;
    font-size: 13px;
}

.blocs_carac .bloc_carac label > div.text {
    flex: 1;
    padding-bottom: 9.5vh;
}

.bloc_carac input:checked + label {
    border-color: #C81034;
    filter: drop-shadow(0px 3px 3px rgba(0,0,0,0.16 ));
}

.bloc_carac label .titol {
    font-size: 18px;
    font-family: 'robotobold';
    margin-bottom: 15px;
}

.boto_next_step {
    margin-top: 6vh;
    text-align: right;
}

.page2 .blocs_carac .bloc_carac label > div.text {
    padding-bottom: 45px;
}

.page4 .blocs_carac {
    gap: 3.022%;
    margin-top: 7vh;
}

.page4 .blocs_carac > div {
    width: 22.73333%;
    margin-bottom: 3.022%;
}

.page4 .blocs_carac label {
    opacity: .47;
}

.page4 .blocs_carac input:checked + label {
    opacity: 1;
}

.page4 .blocs_carac .bloc_carac label {
    text-align: center;
    padding: 25px 5px;
}

.page4  .blocs_carac .bloc_carac label > div.text {
    padding-bottom: 0;
}

.page4 .bloc_carac label .titol {
    margin-bottom: 0;
}

input[type="radio"]:disabled + label, input[type="checkbox"]:disabled + label {
    cursor: initial;
}

.page4 .margin_titol {
    margin-bottom: 4.04vh;
}

.blocs_conf {
    display: flex;
    flex-wrap: wrap;
    gap: 2%;
}

.blocs_conf > div {
    width: 18.4%;
}

.blocs_conf > div label {
    font-family: 'robotobold';
    background: #ffffff;
    text-align: center;
    border: 2px solid transparent;
    transition: all .25s ease;
    padding: 21px 5px;
    display: block;
    margin-bottom: 25px;
    font-size: 18px;
}

.blocs_conf > div input:checked + label {
    border-color: #C81034;
    background: #C81034;
    filter: drop-shadow(0px 3px 3px rgba(0,0,0,0.16 ));
    color: #fff;
}

#frm_contact label {
    font-size: 16px;
    margin-bottom: 15px;
    display: block;
}

#frm_contact input[type="text"] {
    background: #fff;
    outline: none;
    padding: 17px;
    border: 1px solid transparent;
    width: 100%;
    font-size: 20px;
    transition: border .25s ease;
}

#frm_contact input[type="text"]:focus {
    border-color: #C81034;
}

#frm_contact .camps {
    overflow: hidden;
}

#frm_contact .camps > div {
    width: 48%;
    float: left;
    margin-bottom: 35px;
}

#frm_contact .camps > div:nth-child(2n) {
    float: right;
}

#frm_contact .camps::after {
    content: '';
    display: block;
    clear: both;
}

#frm_contact .boto_next_step {
    float: none!important;
    width: 100%;
}

.page_thanks {
    height: 65vh;
    display: flex;
    flex-direction: column;
}

.page_thanks > .thanks {
    flex: 1;
    text-align: center;
    max-width: 490px;
    margin: auto;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.page_thanks .titol_generic {
    margin-bottom: 25px
}

.page6 .content {
    display: flex;
}

.page6 > .titol_generic {
    margin-bottom: 20px;
}

.page6 .carousel_container {
    width: 59.6%;
    padding-right: 25px;
    position: relative;
}

.page6 .desc {
    width: 40.4%;
    padding-left: 25px;
}

.page6 .loader {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    min-height: 300px;
    display: flex;
    justify-content: center;
    width: 100%;
    background: #F0F0F0;
    z-index: 10;
    height: 100%;
    align-items: flex-start;
}

.page6 .loader img {
    width: 100px;
    animation: spin 1.2s linear infinite;
}

.page6 .desc .titol_gran {
    color: #C81034;
    margin-bottom: 20px;
}

.page6 .desc .description {
    margin-bottom: 25px;
}

.carac_content {
    margin-bottom: 17px;
}

.carac_content b {
    font-size: 18px;
    display: block;
    margin-bottom: 6px;
}

.carac_content span {
    font-size: 13px;
}

header > div > div {
    display: flex;
    align-items: center; 
}

#connection {
    width: 15px;
    height: 15px;
    border-radius: 50%;
    display: inline-block;
    vertical-align: middle;
    background-color: #64c87a;
    margin-left: 5px;
    cursor: pointer;
    transition: background-color .25s ease;
}

#connection.low_connection {
    background-color: #ffa500;
}

#connection.no_connection {
    background-color: #C81034;
}

#connection_detail {
    position: absolute;
    right: 0;
    font-size: 11px;
    top: 105%;
    display: none
}

#connection_detail button {
    font-size: 11px;
    padding: 3px;
    min-width: unset;
}

.frm_legals {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
}

#frm_contact .frm_legals label {
    margin: 0;
    font-size: 12px;
}

.frm_legals > div.desc {
    width: 100%;
    display: none;
    font-size: 12px;
    padding: 10px 25px;
    line-height: 1.2;
}

.frm_legals > div.desc p {
    margin: 5px 0;
}

.frm_legals .val-errors.val-checks {
    order: 3;
    width: 100%;
    margin: 0 0 10px!important;
    font-size: 14px;
}

















@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}

@font-face {
    font-family: 'robotoregular';
    src: url('../fonts/Roboto-Regular-webfont.eot');
    src: url('../fonts/Roboto-Regular-webfont.eot?#iefix') format('embedded-opentype'),
         url('../fonts/Roboto-Regular-webfont.woff') format('woff'),
         url('../fonts/Roboto-Regular-webfont.ttf') format('truetype'),
         url('../fonts/Roboto-Regular-webfont.svg#robotoregular') format('svg');
    font-weight: normal;
    font-style: normal;

}

@font-face {
    font-family: 'robotobold';
    src: url('../fonts/Roboto-Bold-webfont.eot');
    src: url('../fonts/Roboto-Bold-webfont.eot?#iefix') format('embedded-opentype'),
         url('../fonts/Roboto-Bold-webfont.woff') format('woff'),
         url('../fonts/Roboto-Bold-webfont.ttf') format('truetype'),
         url('../fonts/Roboto-Bold-webfont.svg#robotobold') format('svg');
    font-weight: normal;
    font-style: normal;

}









 /**
 * Owl Carousel v2.2.1
 * Copyright 2013-2017 David Deutsch
 * Licensed under  ()
 */
 .owl-carousel,.owl-carousel .owl-item{-webkit-tap-highlight-color:transparent;position:relative}.owl-carousel{display:none;width:100%;z-index:1}.owl-carousel .owl-stage{position:relative;-ms-touch-action:pan-Y;-moz-backface-visibility:hidden}.owl-carousel .owl-stage:after{content:".";display:block;clear:both;visibility:hidden;line-height:0;height:0}.owl-carousel .owl-stage-outer{position:relative;overflow:hidden;-webkit-transform:translate3d(0,0,0)}.owl-carousel .owl-item,.owl-carousel .owl-wrapper{-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;-ms-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0);-moz-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0)}.owl-carousel .owl-item{min-height:1px;float:left;-webkit-backface-visibility:hidden;-webkit-touch-callout:none}.owl-carousel .owl-item img{display:block;width:100%}.owl-carousel .owl-dots.disabled,.owl-carousel .owl-nav.disabled{display:none}.no-js .owl-carousel,.owl-carousel.owl-loaded{display:block}.owl-carousel .owl-dot,.owl-carousel .owl-nav .owl-next,.owl-carousel .owl-nav .owl-prev{cursor:pointer;cursor:hand;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-loading{opacity:0;display:block}.owl-carousel.owl-hidden{opacity:0}.owl-carousel.owl-refresh .owl-item{visibility:hidden}.owl-carousel.owl-drag .owl-item{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.owl-carousel.owl-grab{cursor:move;cursor:grab}.owl-carousel.owl-rtl{direction:rtl}.owl-carousel.owl-rtl .owl-item{float:right}.owl-carousel .animated{animation-duration:1s;animation-fill-mode:both}.owl-carousel .owl-animated-in{z-index:0}.owl-carousel .owl-animated-out{z-index:1}.owl-carousel .fadeOut{animation-name:fadeOut}@keyframes fadeOut{0%{opacity:1}100%{opacity:0}}.owl-height{transition:height .5s ease-in-out}.owl-carousel .owl-item .owl-lazy{opacity:0;transition:opacity .4s ease}.owl-carousel .owl-item img.owl-lazy{transform-style:preserve-3d}.owl-carousel .owl-video-wrapper{position:relative;height:100%;background:#000}.owl-carousel .owl-video-play-icon{position:absolute;height:80px;width:80px;left:50%;top:50%;margin-left:-40px;margin-top:-40px;background:url(owl.video.play.png) no-repeat;cursor:pointer;z-index:1;-webkit-backface-visibility:hidden;transition:transform .1s ease}.owl-carousel .owl-video-play-icon:hover{-ms-transform:scale(1.3,1.3);transform:scale(1.3,1.3)}.owl-carousel .owl-video-playing .owl-video-play-icon,.owl-carousel .owl-video-playing .owl-video-tn{display:none}.owl-carousel .owl-video-tn{opacity:0;height:100%;background-position:center center;background-repeat:no-repeat;background-size:contain;transition:opacity .4s ease}.owl-carousel .owl-video-frame{position:relative;z-index:1;height:100%;width:100%}
/**
  * Owl Carousel v2.3.4
  * Copyright 2013-2018 David Deutsch
  * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE
  */
  .owl-theme .owl-dots,.owl-theme .owl-nav{text-align:center;-webkit-tap-highlight-color:transparent}.owl-theme .owl-nav{margin-top:10px}.owl-theme .owl-nav [class*=owl-]{color:#FFF;font-size:14px;margin:5px;padding:4px 7px;background:#D6D6D6;display:inline-block;cursor:pointer;border-radius:3px}.owl-theme .owl-nav [class*=owl-]:hover{background:#869791;color:#FFF;text-decoration:none}.owl-theme .owl-nav .disabled{opacity:.5;cursor:default}.owl-theme .owl-nav.disabled+.owl-dots{margin-top:10px}.owl-theme .owl-dots .owl-dot{display:inline-block;zoom:1}.owl-theme .owl-dots .owl-dot span{width:10px;height:10px;margin:5px 7px;background:#D6D6D6;display:block;-webkit-backface-visibility:visible;transition:opacity .2s ease;border-radius:30px}.owl-theme .owl-dots .owl-dot.active span,.owl-theme .owl-dots .owl-dot:hover span{background:#869791}

.owl-dot:focus {
	outline: none;
}
.owl-dot {
    border: 0;
}
.owl-theme .owl-dots .owl-dot span {
    margin: 5px 2px;
}
.owl-dot.active span {
	background: #C81034!important
}