/*--------------------------------------------------------------*/
/*-----------------------ESTILO PRINCIPAL-----------------------*/
/*--------------------------------------------------------------*/

@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;700;900&display=swap');
@font-face {
    font-family: 'Arkipelago';
    src: url('fonts/Arkipelago.woff2') format('woff2'),
        url('fonts/Arkipelago.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

:root{
  --col0: #042230;
  --col1: #b99d8d;
  --col2: #735f55;
  --col5: #F7F4F2;
  --col6: #ffffff;

  --font1: 'Montserrat', sans-serif !important;
  --font2: 'Arkipelago', sans-serif !important;
}

*{
	font-family: var(--font1);
	color: var(--col0);
	margin: 0;
	padding: 0;
	line-height: 1.2;
	font-weight: 300;
	text-decoration: none;
	box-sizing: border-box;
	outline: none;
}

moz-selection{background: var(--col1);	color: var(--col6);}
*::-moz-selection{background: var(--col1);	color: var(--col6);}

a{color: var(--col1);}
.w{color: var(--col6) !important;}
p{
	margin-bottom: 15px;
	line-height: 2;
	font-size: 14px;
}

.btn{
	border: none;
	box-shadow: none;
	display: inline-block;
	text-decoration: none;
	cursor: pointer;
	border-radius: 3px;
	font-weight: 500;
	font-size: 14px;
	padding: 17px 30px;
	transition:all 0.3s ease-out; 
	-webkit-trasition:all 0.3s ease-out;
}

.btn1{
	background-color: var(--col1);
	color: var(--col6);
}
.btn1:hover, 
.btn1:focus, 
.btn1:active{
	background-color: var(--col2);
}
.btn2{
	background-color: var(--col0); color: var(--col6);
}
.btn2:hover, 
.btn2:focus, 
.btn2:active{
	background-color: var(--col2);
}

/*--------------------------------------------------------------*/
/*-------------------------ESTILO COMÚN-------------------------*/
/*--------------------------------------------------------------*/

header .plaunchcir{
	background-image: url('/images/estructura/circulo.svg');
	background-repeat: no-repeat;
	padding: 3px;
	background-size: contain;
	background-position: 2px 0px;
	cursor: pointer;
}

header .plaunch{
	width: 60px;
	height: 60px;
	background-color: var(--col1);
	border-radius: 50%;
}

header .launch{
	cursor: pointer; 
	height: 25px;
	width: 35px;
	position: relative;
	z-index: 101;
}
header .launch span{
	background-color: var(--col5);
	display: block;
	height: 3px;
	left: 0;
	width: 100%;
	position: absolute;
	opacity: 1;
	-webkit-transition:all 0.3s ease-in-out;
	transition:all 0.3s ease-in-out;
}

header .launch span:nth-child(1){top: 0;}
header .launch span:nth-child(2){top: 10px;}
header .launch span:nth-child(3){top: 10px;}
header .launch span:nth-child(4){top: 20px;}

body.open header .launch span:nth-child(1){top: 18px; left: 50%; width: 0;}
body.open header .launch span:nth-child(2){transform: rotate(45deg); -webkit-transform: rotate(45deg);}
body.open header .launch span:nth-child(3){transform: rotate(-45deg); -webkit-transform: rotate(-45deg);}
body.open header .launch span:nth-child(4){top: 18px; left: 50%; width: 0;}

.anim3{transition:all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1); -webkit-trasition:all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);}
.anim6{transition:all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1); -webkit-trasition:all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);}
.anim10{transition:all 1s cubic-bezier(0.165, 0.84, 0.44, 1); -webkit-trasition:all 1s cubic-bezier(0.165, 0.84, 0.44, 1);}

*::placeholder{color: inherit; opacity: 0.5;}
.ancla{cursor: pointer;}
img{width: auto; max-width: 100%; height: inherit;}
b{font-weight: bold; font-size: inherit; color: inherit;}
h1, h2, h3, h4, h5, h6{line-height: 1.2;}
input, button, select, textarea{font-family: inherit; margin: 0; width: 100%;}
select{-moz-appearance:none;-webkit-appearance:none;}
textarea{resize: vertical;}
textarea:focus, input:focus{box-shadow: none !important;}
div.icons > .btn-group, body > .jmodedit{display: none !important;}
.btn:hover, .btn:active, .btn:focus{text-decoration: none !important;}
.responsive{display: none;}

label.checkbox{margin-bottom: 0; position: relative; padding: 0;}
label.checkbox span{
	position: relative; 
	font-size: 13px; 
	font-weight: 400;
	line-height: 1.2;
	cursor: pointer;
}
label.checkbox span a{font-size: inherit; font-weight: inherit; color: var(--col1);}
label.checkbox span a:hover{text-decoration: underline;}
label.checkbox input{position: absolute; top: 0; left: 0; opacity: 0;}
label.checkbox span:before{
	content: "\f00c" !important;
	font-family: "FontAwesome" !important;
	color: transparent;
	width: 15px;
	height: 15px;
	display: inline-block;
	vertical-align: text-top;
	margin-right: 7px;
	text-align: center;
	line-height: 16px;
	font-size: 13px;
	background-color: var(--col6);
	border: 1px solid var(--col1) !important;
	vertical-align: initial;
}

label.checkbox input[type="checkbox"]:checked + span:before{
  background-color: var(--col1);
  color: var(--col6) !important;
}
label.checkbox input:disabled + span:before{
  opacity: 0.5;
}

.fixwh{
	position: fixed;
	bottom: 24px;
	right: 20px;
	z-index: 10;
}

.fixwh a{display: block;}
.fixwh i.fa{
	color: var(--col6);
	width: 60px;
	height: 60px;
	line-height: 60px;
	border-radius: 50%;
	text-align: center;
	font-size: 35px;
	box-shadow: 0 0 10px rgba(0,0,0,0.2);
}

.fixfb{
	position: fixed;
	bottom: 24px;
	right: 20px;
	z-index: 10;
	width: 60px;
	height: 60px;
	line-height: 39px;
	border-radius: 50%;
	text-align: center;
	font-size: 35px;
	box-shadow: 0 0 10px rgba(0,0,0,0.2);
	background-color: #0084ff;
	padding: 13px;
}

.fixfb a{display: block;}

.cookies{
	background-color: var(--col6);
	position: fixed;
	z-index: 99;
	bottom: 0;
	left: 0;
	width: 100%;
	box-shadow: 0 0 30px rgba(0,0,0,0.2);
	display: none;
}
.cookies p{margin: 0; padding: 0; font-size: 13px;}
.cookies .btn{
	font-size: 13px;
	padding: 5px 15px;
	vertical-align: middle;
	text-align: center;
}
body.notfound .cookies{display: none;}
.cms-cookies table{width: 100%; margin-bottom: 30px;}
.cms-cookies table td{
	padding: 5px 10px; 
	background-color: rgba(0,0,0,0.05); 
	border: 2px solid transparent;
	font-size: 15px;
}
.cms-cookies thead td{font-weight: bold;}

i.fa{color: inherit; font-family: "FontAwesome" !important;}

.logo img{transition:all 0.3s ease-out; -webkit-trasition:all 0.3s ease-out;}

.w{color: var(--col6);}

.logo:hover img{opacity: 0.8;}

.alert{
	padding: 30px;
	background-color: #8BC34A;
	border: none;
	margin: 20px;
	border-radius: 0;
	position: fixed;
	z-index: 10;
	width: 90%;
	max-width: 700px;
	top: 50%;
	left: 50%;
	transform: translateX(-50%) translateY(-50%);
	box-shadow: 0 0 100px rgba(0,0,0,0.5);
}
.alert *{
	color: var(--col6);
	box-shadow: none;
	text-shadow: none;
}
.alert-success{background-color: #8BC34A;}
.alert-warning{background-color: #FFC107;}
.alert-error{background-color: #F44336;}
.alert h4{display: none;}
.alert p{margin-bottom: 0; color: var(--col6); text-shadow: none; line-height: 1;}
.alert .close{color: var(--col6); text-shadow: none; opacity: 1; position: absolute; top: 0; right: 15px; font-size: 30px; cursor: pointer;}

.popup{
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	background-color: var(--col6);
	padding: 30px;
	display: none;
	z-index: 100;
}
.popup > i{
	position: absolute;
	top: -40px;
	right: -40px;
	color: var(--col6);
	font-size: 32px;
	cursor: pointer;
}

.popup > div{display: none;}

.popupoverlay{
	position: fixed;
	cursor: pointer;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transition: opacity .3s ease-out;
	opacity: 0;
	background-image: radial-gradient(rgba(0,0,0,0.3), rgba(0,0,0,0.7));
	z-index: 100;
	display: none;
	animation-name: fadeIn;
	animation-duration: 0.3s;
	animation-fill-mode: both;
}

.popupoverlay.open{display: block;}
.popup.open{display: block;}
.lpopup{cursor: pointer;}

.m{width: 100%; max-width: 1260px; margin: 0 auto;}
.m500{width: 100%; max-width: 500px; margin: 0 auto;}
.m700{width: 100%; max-width: 700px; margin: 0 auto;}
.m900{width: 100%; max-width: 900px; margin: 0 auto;}
.m1000{width: 100%; max-width: 1000px; margin: 0 auto;}

.ova{overflow: auto;}
.rel{position: relative;}

.tl{text-align: left;}
.tc{text-align: center;}
.tr{text-align: right;}
.tj{text-align: justify;}

.h100{height: 100%;}

.bg{background-repeat: no-repeat; background-position: center; background-size: cover;}

.f{display: flex; flex-flow: row wrap; justify-content: flex-start; align-content: flex-start;}
.f.lr{justify-content: space-between;}
.f.c{justify-content: center;}
.f.r{justify-content: flex-end;}
.f.cv{align-content: center; align-items: center;}
.f.b{align-content: flex-end; align-items: flex-end;}

.f > .c10{width: 100%;}
.f > .c9{width: 90%;}
.f > .c8{width: 80%;}
.f > .c7{width: 70%;}
.f > .c66{width: 66.6666666%;}
.f > .c6{width: 60%;}
.f > .c5{width: 50%;}
.f > .c4{width: 40%;}
.f > .c33{width: 33.3333333%;}
.f > .c3{width: 30%;}
.f > .c25{width: 25%;}
.f > .c2{width: 20%;}
.f > .c15{width: 15%;}
.f > .c1{width: 10%;}
.f > .c05{width: 05%;}
.f > .vac{align-self: center;}	
.f > .f1{flex: 1;}

.pd1{padding: 1px;}
.pd2{padding: 2px;}
.pd3{padding: 3px;}
.pd4{padding: 4px;}
.pd5{padding: 5px;}
.pd5-0{padding: 5px 0;}
.pd5-10{padding: 5px 10px;}
.pd10-5{padding: 10px 5px;}
.pd10{padding: 10px;}
.pd10-0{padding: 10px 0;}
.pd0-10{padding: 0 10px;}
.pd10-30{padding: 10px 30px;}
.pd10-20{padding: 10px 20px;}
.pd10-15{padding: 10px 15px;}

.pd15{padding: 15px;}
.pd15-0{padding: 15px 0;}
.pd0-15{padding: 0 15px;}
.pd15-30{padding: 15px 30px;}

.pd20{padding: 20px;}
.pd20-0{padding: 20px 0;}
.pd0-20{padding: 0 20px;}
.pd20-30{padding: 20px 30px;}
.pd20-15{padding: 20px 15px;}
.pd20-10{padding: 20px 10px;}

.pd30{padding: 30px;}
.pd30-0{padding: 30px 0;}
.pd0-30{padding: 0 30px;}
.pd30-20{padding: 30px 20px;}
.pd30-15{padding: 30px 15px;}
.pd30-10{padding: 30px 10px;}

.pd40{padding: 40px;}
.pd40-0{padding: 40px 0;}
.pd0-40{padding: 0 40px;}
.pd40-20{padding: 40px 20px;}
.pd40-15{padding: 40px 15px;}
.pd40-10{padding: 40px 10px;}

.pd50{padding: 50px;}
.pd50-0{padding: 50px 0;}
.pd0-50{padding: 0 50px;}
.pd50-30{padding: 50px 30px;}
.pd50-20{padding: 50px 20px;}
.pd50-15{padding: 50px 15px;}
.pd50-10{padding: 50px 10px;}

.pd60{padding: 60px;}
.pd60-0{padding: 60px 0;}
.pd0-60{padding: 0 60px;}
.pd60-30{padding: 60px 30px;}
.pd60-20{padding: 60px 20px;}
.pd60-15{padding: 60px 15px;}
.pd60-10{padding: 60px 10px;}

.pd70{padding: 70px;}
.pd70-0{padding: 70px 0;}
.pd0-70{padding: 0 70px;}
.pd70-30{padding: 70px 30px;}
.pd70-20{padding: 70px 20px;}
.pd70-15{padding: 70px 15px;}
.pd70-10{padding: 70px 10px;}

.pd80{padding: 80px;}
.pd80-0{padding: 80px 0;}
.pd0-80{padding: 0 80px;}
.pd80-30{padding: 80px 30px;}
.pd80-20{padding: 80px 20px;}
.pd80-15{padding: 80px 15px;}
.pd80-10{padding: 80px 10px;}

.pd90{padding: 90px;}
.pd90-0{padding: 90px 0;}
.pd0-90{padding: 0 90px;}
.pd90-30{padding: 90px 30px;}
.pd90-20{padding: 90px 20px;}
.pd90-15{padding: 90px 15px;}
.pd90-10{padding: 90px 10px;}

.pd100{padding: 100px;}
.pd100-0{padding: 100px 0;}
.pd0-100{padding: 0 100px;}
.pd100-30{padding: 100px 30px;}
.pd100-20{padding: 100px 20px;}
.pd100-15{padding: 100px 15px;}
.pd100-10{padding: 100px 10px;}

.pd120{padding: 120px;}
.pd120-0{padding: 120px 0;}
.pd0-120{padding: 0 120px;}
.pd120-30{padding: 120px 30px;}
.pd120-20{padding: 120px 20px;}
.pd120-15{padding: 120px 15px;}
.pd120-10{padding: 120px 10px;}

.pd150{padding: 150px;}
.pd150-0{padding: 150px 0;}
.pd0-150{padding: 0 150px;}
.pd150-30{padding: 150px 30px;}
.pd150-20{padding: 150px 20px;}
.pd150-15{padding: 150px 15px;}
.pd150-10{padding: 150px 10px;}

.pd-nr{padding-right: 0 !important;}
.pd-nl{padding-left: 0 !important;}
.pd-nt{padding-top: 0 !important;}
.pd-nb{padding-bottom: 0 !important;}

/*--------------------------------------------------------------*/
/*---------------------ESTILO MANTENIMIENTO---------------------*/
/*--------------------------------------------------------------*/

body.mantenimiento:after{
	content: "";
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-image: url('/images/estructura/bg_mantenimiento.jpg');
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	z-index: -1;
}
body.mantenimiento h1{
	margin-top: 50px; 
	text-transform: uppercase; 
	color: var(--col0);
	font-weight: bold;
	font-size: 55px;
}
body.mantenimiento h2{
	color: var(--col0);
	margin-bottom: 50px;
}
body.mantenimiento .sc i{
	background-color: var(--col6);
	color: blue;
	width: 60px;
	height: 60px;
	line-height: 60px;
	border-radius: 50%;
	font-size: 24px;
}
body.mantenimiento .sc i:hover{
	color: var(--col6);
	background-color: transparent;
	border: 2px solid var(--col6);
}
body.mantenimiento fieldset{
	border: none;
	padding-bottom: 40px;
	position: relative;
}
body.mantenimiento fieldset input{
	height: 35px;
	padding: 0 10px;
	margin-bottom: 5px;
}

/*--------------------------------------------------------------*/
/*-------------------------SOLO FIREFOX-------------------------*/
/*--------------------------------------------------------------*/
@-moz-document url-prefix(){}

/*--------------------------------------------------------------*/
/*----------------------------ESTILO----------------------------*/
/*--------------------------------------------------------------*/

body{background-color: var(--col5);}
section.portada{
	height: 100vh; 
	overflow: hidden;
}

section.portada h1{text-shadow: 0 0 60px #042230;}

section.portada .video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: 0;
    background-color: #000;
}

section.portada .video video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    pointer-events: none;
}

section.portada .video:before{
	content: "";
	background-image: radial-gradient(#000, transparent 50%);
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	opacity: 0.3;
	z-index: 1;
}

.h span{display: block;}
.h span:first-child{margin-bottom: 15px;}
.h .subtit{
	color: var(--col1); 
	font-family: var(--font2);
}
.h .tit{
	color: var(--col2); 
	font-family: var(--font1);
	font-weight: bold;
}

.h{margin-bottom: 30px;}
.h span{font-size: inherit;}

.h1{font-size: 38px; font-weight: bold;}
.h2{font-size: 32px; font-weight: bold;}
.h3{font-size: 28px; font-weight: bold;}
.h4{font-size: 24px; font-weight: bold;}
.h5{font-size: 21px; font-weight: bold;}
.h6{font-size: 19px; font-weight: bold;}

.continentes
{
	background-color: #ebe2dd;
}

.mapa_continentes a img{display: block;}
.mapa_continentes a img.i{
	opacity: 0;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.mapa_continentes a:hover img.i{opacity: 1;}
.mapa_continentes .europa .imags{
	position: absolute;
	top: 15px;
	left: 309px;
}
.mapa_continentes .africa .imags{
	position: absolute;
	top: 187px;
	left: 293px;
}
.mapa_continentes .asia .imags{
	position: absolute;
	top: 6px;
	left: 381px;
}
.mapa_continentes .oceania .imags{
	position: absolute;
	bottom: 0;
	right: 0;
}
.mapa_continentes .islas .imags{
	position: absolute;
	left: 30px;
	bottom: 50px;
}

.mapa_continentes a{display: inline-block; position: relative;}

.mapa_continentes .tit{
	position: absolute;
	opacity: 0;
	left: 0;
	top: 0;
	width: 100%;
	text-align: center;
	font-weight: 900;
	text-transform: uppercase;
	font-size: 120px;
	z-index: -1;
	transform: translateY(-50%);
	background-image: linear-gradient(to bottom, var(--col6), var(--col5));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	transition: all 0.3s ease-in-out;
}

.mapa_continentes .islas .tit{font-size: 70px;}

.mapa_continentes > div:hover .tit{
	opacity: 1;
	transform: translateY(-60%);
}

.cirs .cir{
	background-image: url("/images/estructura/circulo.svg");
	background-size: contain;
	background-repeat: no-repeat;
	opacity: 1;
	position: absolute;
	z-index: -1;
	pointer-events: none;
}

.cir1{
	width: 230px;
	height: 230px;
	top: 27%;
	left: -70px;
	animation: 20s linear circulo infinite; 
}
.cir2{
	width: 800px;
	height: 800px;
	bottom: -200px;
	right: -300px;
	animation: 80s linear circulo infinite; 
	
}

@keyframes circulo {
  0% {transform: rotate(0deg);}
  100% {transform: rotate(360deg);}
}

.cirs{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	z-index: 1;
	pointer-events: none;
}


header{
	padding: 15px 30px;
	position: relative;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 10 !important;
	pointer-events: none;
}

body.home header{position: absolute;}
body.home .headerwrapper{height: auto !important;}

header > .f *{pointer-events: auto;}

.headerwrapper{
	z-index: 10;
}

header .logo{
	height: 90px;
	position: relative;
	z-index: 101;
	display: inline-block;
}

header .buscar{
	margin-right: 20px;
	font-size: 20px;
}

body{
	overflow-x: hidden;
}

.puntos .punto{text-align: center;}
.puntos .punto .circulo{
	position: relative;
	max-width: 130px;
	margin: 0 auto;
	margin-bottom: 10px;
}
.puntos .punto .circulo .brd{
	position: absolute; 
	top: 0; 
	left: 0;
	width: 100%;
}

.puntos .punto .circulo svg *{fill: var(--col2);}

.puntos .punto .circulo .ico{padding: 30px;}

.puntos .punto .tit{
	font-family: var(--font2);
	color: var(--col1);
	font-size: 30px;
}

.puntos .punto .val{
	color: var(--col2);
	font-weight: bold;
	font-size: 14px;
	margin-top: 5px;
}

.puntos a.punto:hover .val{
	color: var(--col1);
}

section.nosotros{
	background-image: url("/images/estructura/bg_nosotroshome.jpg");
	background-repeat: no-repeat;
	background-position: center top;
	position: relative;
}

.bgwhite{background-color: var(--col6);}

.wow{
	animation-duration: 1.3s;
	transition-timing-function: ease;
}

@keyframes fadeVk {
  from {
    opacity: 0;
    transform: translate3d(0, 50px, 0);
  }

  to {
    opacity: 1;
    transform: none;
  }
}

@keyframes slideVk {
  from {
    transform: translate3d(0, 50px, 0);
  }

  to {
    transform: none;
  }
}

.fadeVk{animation-name: fadeVk;}
.slideVk{animation-name: slideVk;}

.delay1{animation-delay: 0.1s;}
.delay2{animation-delay: 0.2s;}
.delay3{animation-delay: 0.3s;}
.delay4{animation-delay: 0.4s;}

.k2vk.cat.viajes .item.viaje:hover .imag{overflow: hidden;}
.k2vk.cat.viajes .item.viaje .imag .bg{
	height: 360px;
	background-blend-mode: luminosity;
	transition: all 0.3s ease-out;
}

.k2vk.cat.viajes .item.viaje:hover .imag .bg{background-color: var(--col1);}

.k2vk.cat.viajes .item.viaje .ptit{
	position: absolute;
	left: 0;
	bottom: -5px;
	width: 100%;
	padding: 0 30px;
}

.k2vk.cat.viajes .item.viaje .ptit .tit{
	background-color: var(--col5);
	padding: 10px 15px 0 15px;
	transition: all .3s ease-out;
}

.k2vk.cat.viajes .item.viaje .info{
	padding: 10px 45px;
	color: var(--col1); 
	font-family: var(--font2);
	font-size: 24px;
	transition: all .3s ease-out;
}

.k2vk.cat.viajes .item.viaje svg{
	position: absolute;
	top: -100px;
	left: -100px;
	width: 290px;
	height: 290px;
	opacity: 0;
	transition: all .3s ease-out;
}

.k2vk.cat.viajes .item.viaje:nth-child(3n+3){animation-delay: 0.4s;}
.k2vk.cat.viajes .item.viaje:nth-child(3n+2){animation-delay: 0.2s;}

.k2vk.cat.viajes .item.viaje:nth-child(3n+2) svg{
	left: auto;
	top: auto;
	bottom: -100px;
	right: -100px;
}
.k2vk.cat.viajes .item.viaje:nth-child(3n+3) svg{
	left: auto;
	top: -100px;
	right: -100px;
}

.k2vk.cat.viajes .item.viaje svg *{fill: var(--col5);}

.k2vk.cat.viajes.bgwhite .item.viaje .ptit .tit{background-color: var(--col6);}
.k2vk.cat.viajes.bgwhite .item.viaje svg *{fill: var(--col6);}

.k2vk.cat.viajes .item.viaje:hover svg{
	width: 300px;
	height: 300px;
	opacity: 1;
	animation: 20s linear circulo infinite;
}

.k2vk.cat.viajes .item.viaje:hover .ptit .tit{padding-bottom: 30px;}
.k2vk.cat.viajes .item.viaje:hover .info{transform: translateY(-32px);}

strong{font-weight: bold;}

.k2vk.cat.opiniones .item.opinion .img > div{
	border-radius: 50%; 
	overflow: hidden; 
	display: inline-block;
	width: 100px;
	height: 100px;
}
.k2vk.cat.opiniones .item.opinion .img .letra{
	background-color: var(--col2);
	color: var(--col5);
	text-align: center;
	font-weight: bold;
	text-transform: uppercase;
	line-height: 100px;
	font-size: 40px;
}

.k2vk.cat.opiniones .item.opinion .nom{
	margin: 10px 0 5px 0;
}

.psw{
	padding: 0 50px;
	position: relative;
}

.psw .sw{
	position: absolute;
	top: 75px;
	cursor: pointer;
}

.psw .sw i{
	width: 40px;
	text-align: center;
	height: 40px;
	line-height: 36px;
	font-size: 23px;
	border: 2px solid var(--col1);
	color: var(--col1);
}

.psw .sw i:hover{
	color: var(--col5);
	background-color: var(--col1);
}

.psw .sw.n{right: 0;}
.psw .sw.p{left: 0;}

.bgrad{
	background-image: linear-gradient(to top, rgba(255,255,255,0.4), transparent);
}

footer .logo img{
	height: 70px;
	margin-bottom: 15px;
}

footer ul li{list-style: none;}

footer .social{margin-top: 20px;}
footer .social i{
	background-color: var(--col2);
	color: var(--col5);
	width: 35px;
	height: 35px;
	border-radius: 50%;
	text-align: center;
	line-height: 35px;
	font-size: 13px;
}
footer .social i:hover{
	background-color: var(--col1);
	color: var(--col0);
}

footer ul li a, footer ul li a *{
	font-size: 14px;
	font-weight: 500;
	color: var(--col2);
}
footer ul li a:hover{color: var(--col1);}
footer .uls li a{margin: 5px 0; display: inline-block;}

footer .info li{margin-bottom: 10px;}
footer .info li i{
	margin-right: 10px;
	width: 15px;
	text-align: center;
}

footer .h6{margin-bottom: 10px;}

header .moduletable_menu:before{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: var(--col5);
	opacity: 0;
	pointer-events: none;
	transition: opacity .3s ease-out 1s;
}

body.open header .moduletable_menu:before{
	opacity: 0.9; 
	pointer-events: auto;
	transition: opacity .3s ease-out 0s;
}

header .moduletable_menu{
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	pointer-events: none;
}
body.open header .moduletable_menu{pointer-events: auto;}

header .moduletable_menu ul.nav{
	position: absolute;
	top: 49%;
	right: 0;
	transform: translateY(-50%);
	padding: 0 200px;
	z-index: 1;
	min-width: 807px;
	opacity: 0;
	transition: all .3s ease-out 0s;
}

body.open header .moduletable_menu ul.nav{
	transition: all .3s ease-out 1s;
	top: 50%;
	opacity: 1;
}

header .moduletable_menu:after{
	content: "";
	position: absolute;
	top: -30vh;
	right: -35vh;
	background-image: url("/images/estructura/circulo_fill.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	width: 160vh;
	height: 160vh;
	animation: none;
	transition: all 1s ease-out .3s;
	opacity: 0;
	animation: 80s linear circulo infinite;
	animation-play-state: paused;
}

body.open header .moduletable_menu:after{
	opacity: 1;
	right: -30vh;
	animation-play-state: running;
}

header .moduletable_menu ul li{list-style: none;}
header .moduletable_menu ul li a{
	color: var(--col5);
	font-size: 46px;
	margin: 1vh 0;
	display: block;
	font-weight: 900;
	text-transform: uppercase;
	transition: all 0.3s ease-out;
}
header .moduletable_menu ul li a:hover{
	color: var(--col2);
	transform: translateX(-20px);
	font-family: var(--font2);
	text-transform: none;
	font-weight: 500;
}

header .moduletable_menu ul li.parent > a{display: none;}

.breadcrumb{margin-top: 15px;}
.breadcrumb li{display: inline-block; list-style: none;}
.breadcrumb li:first-child{display: none;}
.breadcrumb li span{
	font-size: 14px;
}

.breadcrumb li span.divider img{display: none;}
.breadcrumb li span.divider:after{
	content: "\f0da";
	font-family: "FontAwesome";
	margin: 0 10px;
	color: var(--col1);
}

.breadcrumb li > span{opacity: 0.7;}

.cms-legal .h4{
	margin-bottom: 15px;
}

p a:hover{text-decoration: underline;}

.pageheader .h1{color: var(--col2);}
.pageheader .h2{
	color: var(--col1);
	font-family: var(--font2);
	margin-bottom: 5px;
	font-weight: normal;
}

input[type="text"],
input[type="password"],
input[type="email"],
textarea{
	border: none;
	padding: 13px 15px;
	font-weight: 500;
	font-size: 14px;
	border-radius: 3px;
}

#mapagoogle{
	background-image: url("/images/estructura/bg_mapa.jpg");
	background-repeat: no-repeat;
	background-position: center;
	position: relative;
	display: block;
	height: 100%;
	height: 500px;
}

#mapagoogle .ext{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0,0,0,0.7);
	opacity: 0;
	transition: all 0.3s ease-in-out;
}

#mapagoogle .ext div{
	color: var(--col6);
	font-size: 30px;
}

#mapagoogle:hover .ext{opacity: 1;}

#xmap li{
	line-height: 1.6;
	margin-left: 15px;
}
#xmap li a{
	color: var(--col0)
}
#xmap img{display: none;}

.buscadorviajes .vkform input
{
	height: 50px;
	border-radius: 3px 0 0 3px;
	padding: 16px 15px;
}
.buscadorviajes .vkform button
{
	height: 50px;
	border-radius: 0 3px 3px 0;
}

.k2vk.cat.viajes .paises .pais .imag{overflow: hidden;}
.k2vk.cat.viajes .paises .pais .imag .bg{
	height: 360px;
	background-blend-mode: luminosity;
	transition: all 0.3s ease-out;
}

.k2vk.cat.viajes .paises .pais:hover .imag .bg{background-color: var(--col1);}

.k2vk.cat.viajes .paises .pais .ptit{
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	padding: 0 30px;
}

.k2vk.cat.viajes .paises .pais .ptit .tit{
	background-color: var(--col5);
	padding: 10px 15px 0 15px;
	transition: all .3s ease-out;
}

.k2vk.cat.viajes .paises .pais .info{
	padding: 10px 45px;
	color: var(--col1); 
	font-family: var(--font2);
	font-size: 24px;
	transition: all .3s ease-out;
	opacity: 0;
}

.k2vk.cat.viajes .paises .pais svg{
	position: absolute;
	top: -100px;
	left: -100px;
	width: 290px;
	height: 290px;
	opacity: 0;
	transition: all .3s ease-out;
}

.k2vk.cat.viajes .paises .pais:nth-child(3n+3){animation-delay: 0.4s;}
.k2vk.cat.viajes .paises .pais:nth-child(3n+2){animation-delay: 0.2s;}

.k2vk.cat.viajes .paises .pais:nth-child(3n+2) svg{
	left: auto;
	top: auto;
	bottom: -100px;
	right: -100px;
}
.k2vk.cat.viajes .paises .pais:nth-child(3n+3) svg{
	left: auto;
	top: -100px;
	right: -100px;
}

.k2vk.cat.viajes .paises .pais svg *{fill: var(--col5);}
.k2vk.cat.viajes .paises .pais:hover svg{
	width: 300px;
	height: 300px;
	opacity: 1;
	animation: 20s linear circulo infinite;
}

.k2vk.cat.viajes .paises .pais:hover .ptit .tit{padding-bottom: 30px;}
.k2vk.cat.viajes .paises .pais:hover .info{transform: translateY(-32px); opacity: 1;}

.pageheader.cat h1
{
	font-size: 42px;
}
.pageheader.cat h2
{
	font-size: 28px;
	margin-bottom: 0;
	margin-top: 5px;
}
.informacionpais h3
{
	font-size: 35px;
	color: var(--col2);
	margin-bottom: 15px;
}
.informacionpais h4
{
	font-size: 25px;
	color: var(--col2);
	margin-bottom: 10px;
}
.informacionpais h5
{
	font-family: var(--font2);
	color: var(--col1);
	font-weight: normal;
	font-size: 28px;
	margin-bottom: 2px;
}
.bginfo
{
	position: absolute;
	height: 100%;
	width: 100%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	background-blend-mode: soft-light;
	background-color: var(--col5);
	opacity: 0.8;
	box-shadow: 0 0 100px 150px var(--col5) inset;
}
.viajefinal .resumen
{
	margin-bottom: 30px;
	background-color: var(--col6);
	text-align: center;
	border-radius: 3px;
	padding: 15px 30px;
}
.viajefinal .resumen h4
{
	font-family: var(--font2);
	color: var(--col1);
	font-weight: normal;
	font-size: 35px;
}
.viajefinal .imagenviaje img
{
	border-radius: 3px;
	overflow: hidden;
	margin-bottom: 30px;
	display: block;
}
.viajefinal .recuadro
{
	margin-bottom: 30px;
	background-color: var(--col6);
	border-radius: 3px;
	padding: 50px;
}
.viajefinal .recuadro h2
{
	font-family: var(--font2);
	color: var(--col1);
	font-weight: normal;
	font-size: 45px;
	margin-bottom: 30px;
	text-align: center;
}
.viajefinal .recuadro h3
{
	font-size: 25px;
	color: var(--col2);
	margin-bottom: 10px;
}
.viajefinal .recuadro h4
{
	font-family: var(--font2);
	color: var(--col1);
	font-weight: normal;
	font-size: 28px;
	margin-bottom: 2px;
}
.viajefinal .recuadro ul
{
	margin-bottom: 15px;
	margin-left: 15px;
}
.viajefinal .recuadro li
{
	line-height: 2;
	font-size: 14px;
}
.viajefinal #lateralfijo .btn2
{
	margin-bottom: 30px;
}
.viajefinal #lateralfijo h2
{
	font-family: var(--font2);
	color: var(--col1);
	font-weight: normal;
	font-size: 35px;
	text-align: center;
}
.viajefinal #lateralfijo textarea
{
	resize: none;
}
.viajefinal .galeria .foto a
{
	display: block;
	height: 150px;
	border-radius: 3px;
	overflow: hidden;
}
.nosotros .bgresumen
{
	position: absolute;
	height: 100%;
	width: 100%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	background-blend-mode: overlay;
	background-color: var(--col5);
	box-shadow: 0 0 60px 60px var(--col5) inset;
}
.nosotros p
{
	text-align: center;
	font-size: 18px;
	font-weight: normal;
	color: var(--col2);
	line-height: 1.8;
}
.nosotros h3
{
	color: var(--col2);
	font-family: var(--font2);
	font-weight: normal;
	font-size: 40px;
	text-align: center;
	margin-top: 25px;
}
.nosotros .galerianosotros .foto
{
	padding: 0;
	width: 25%;
}
.nosotros .galerianosotros .foto a
{
	display: block;
	height: 250px;
}
.portada .video .swiper-slide
{
	width: 100%;
	padding: 0;
}
.portada .video .swiper-slide a
{
	width: 100%;
	height: 100vh;
	display: block;
}
body.error404 footer{display: none;}
body.error404 .error{height: 100vh;}
body.error404 header{position: absolute;}
body.error404 .headerwrapper {height: auto !important;}
body.error404 h1 
{
	color: var(--col2);
	font-family: var(--font2);
	font-size: 60px;
	line-height: 1;
}
body.error404 h2 
{
	color: var(--col1);
	font-family: var(--font2);
	margin-bottom: 30px;
	font-size: 38px;
	line-height: 1;
}