/*
  drdv.css: Archivo personalizado que sobreescribe todos los css del template (en este caso Purity3)
  Para que funcione, es necesario copiar la siguiente linea de código al final del archivo templates/purity_iii/index.php
  Con esto se hace el llamado de últimas al archivo drdv.css que sobreescribe los otros archivos de estilo cargados previamente.

    // Custom css (drdv)
    JHtml::_('stylesheet', JUri::root() . 'templates/' . $this->template . '/css/drdv.css');

  Fuente: https://joomla.stackexchange.com/questions/3877/how-do-i-override-the-css-styles-in-my-template

  Directorios:
    Local:      https://zonadebloque.com/
    BitJaguar:  https://bitjaguar.co/demo-05/zonadebloque/
    Online:     https://zonadebloque.com/

  Última modificación: 2020-06-18
*/



/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% INI: Módulo Main Box Home*/
.main-box-sup{
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	margin-top: 40px;
	margin-bottom: 50px;
	padding-left: 10px;
	padding-right: 10px;
}
.main-box{
	position: relative;
	width: 31%;	
	border: 3px #FFFFFF solid;
    border-radius: 28px;
}
.main-box-title{
	position: absolute;
	top: 90%;
  left: 50%;
  transform: translate(-50%, 0%) skew(-10deg);
	width: 250px;
	padding: 5px 15px;
	color: #FFFFFF;
	background-color: rgb(43, 110, 170);
	box-shadow: 5px 5px 10px #000000;
	z-index: 1000;
	-moz-transition: all 0.3s;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
.main-box-title-inner{
	text-align: center;
	text-transform: uppercase;
	font-family: Neue, Helvetica, sans-serif;
	font-size: 20px;
	font-weight: 600;
	transform: skew(10deg);
}
.main-box-photo{
	margin: auto;
	overflow: hidden;
	border-radius: 25px;
	z-index: 999;
}
.main-box-photo img{
	max-width: 100%;
	max-height: 100%;
	-moz-transition: all 0.3s ease;
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.main-box:hover{
	border-color: #244368 !important;
}
.main-box:hover .main-box-photo img{
	-moz-transform: scale(1.2);
  -webkit-transform: scale(1.2);
  transform: scale(1.2);
}
.main-box:hover .main-box-title{
	background-color: rgb(24, 73, 117);
}
.main-box:hover a{
	text-decoration: none;
}
@media only screen and (max-width: 767px) {
	.main-box-sup{
		display: flex;
		flex-direction: column;
		padding-left: 0px !important;
		padding-right: 0px !important;
		margin-top: 10px;
		margin-bottom: 10px;
	}
	.main-box{
		width: 82%;
		margin: 0px auto 60px auto;
	}
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
	.main-box-sup{
		padding-left: 20px !important;
		padding-right: 20px !important;
		margin-top: 10px;
		margin-bottom: 40px;
	}
	.main-box{
		width: 32%;
	}
	.main-box-title{
		width: 185px;
	}
	.main-box-title-inner{
		font-size: 15px;
		font-weight: 600;
	}
}
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FIN: Módulo Main Box Home*/





/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% INI: Panel pago PayU*/
.panel-pago{
	margin-top: 50px;
	margin-bottom: 100px;
	background-color: #ffffff;
	border: 1px solid #bebebe;
}
.subpanel-pago.virtual{
	position: relative;
	background: linear-gradient(to right, rgba(255,255,255,0.1), rgba(0, 0, 0, 0.6)),
							url(https://zonadebloque.com/images/pagos/zona_virtual.jpg) no-repeat left top;
	overflow: hidden;
}
.subpanel-pago.presencial{
	position: relative;
	background: linear-gradient(to right, rgba(0, 0, 0, 0.6), rgba(255,255,255,0.1)),
							url(https://zonadebloque.com/images/pagos/zona_presencial.jpg) no-repeat right top;
	overflow: hidden;
}
@media only screen and (max-width: 767px) {
	.panel-pago{
		display: flex;
		flex-direction: column;
		height: 1600px;
	}
	.subpanel-pago.virtual{
		width: 100%;
		height: 800px;
		margin-bottom: 50px;
	}
	.subpanel-pago.presencial{
		width: 100%;
		height: 800px;
		margin-top: 50px;
	}
}
@media only screen and (min-width: 768px) {
	.panel-pago{
		display: flex;
		flex-direction: row;
		height: 800px;
	}
	.subpanel-pago.virtual{
		width: 50%;
	}
	.subpanel-pago.presencial{
		width: 50%;
	}
}
.panel-pago-titulo1{
	position: absolute;
	top: 1%;
	left: -14%;
	width: 55%;
	line-height: 50px;
	letter-spacing: 3px;
	margin: 50px 30px;
	color: #cfcfcf;
	text-transform: uppercase;
	text-align: center;
	font-size: 1.7rem;
	background: linear-gradient(to right, rgba(255,255,255,0), rgba(42, 69, 106, 0.8), rgba(255,255,255,0));
	transform: rotate(-40deg);
}
.panel-pago-bloque{
	position: absolute;
	height: 50%;
	padding: 20px;
	background: rgba(0, 0, 0, 0.6);
	text-align: center;
}
@media only screen and (max-width: 767px) {
	.panel-pago-bloque{
		width: 60%;
	}
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
	.panel-pago-bloque{
		width: 65%;
	}
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
	.panel-pago-bloque{
		width: 52%;
	}
}
@media only screen and (min-width: 1200px) {
	.panel-pago-bloque{
		width: 45%;
	}
}
.panel-pago-bloque.virtual{
	bottom: 5%;
	right: 8%;
}
.panel-pago-bloque.presencial{
	bottom: 5%;
	left: 8%;
}
.panel-pago-titulo2{
	color: #FFFFFF;
  text-transform: uppercase;
  text-align: center;
  margin: 20px 0px 30px 0px;
}
.virtual .panel-pago-titulo2{
	font-size: 3rem;
	letter-spacing: 2px;
	margin-bottom: 50px;
}
.presencial .panel-pago-titulo2{
	font-size: 2.8rem;
	letter-spacing: 3px;
	margin-bottom: 50px;
}
.virtual .panel-pago-subbloque{
	margin-bottom: 30px;
}
.presencial .panel-pago-subbloque{
	margin-bottom: 30px;
	text-align: right;
}
.virtual .panel-pago-parrafo2{
	color: #cfcfcf;
	padding: 10px 0px;
	margin-bottom: 20px;
	display: inline-block;
}
.presencial .panel-pago-parrafo2{
	display: inline-block;
	width: 50%;
	color: #cfcfcf;
	padding: 10px 0px;
	font-size: 1.5rem;
	text-align: left;
}
.panel-pago-boton{
	display: inline-block;
	padding: 8px;
	color: #cfcfcf;
	border: 1px solid #cfcfcf;
	border-radius: 20px;
	text-align: center;
	cursor: pointer;
	transition: 0.1s ease;
}
.panel-pago-boton:hover{
	background-color: #517EAC;
}
.virtual .panel-pago-boton{
	width: 100%;
}
.presencial .panel-pago-boton{
	width: 48%;
}
.card-pago{

}
/******************************************************************************* INI: CHEVERE BOX*/
.cheverebox-img{
  cursor: pointer;
}
#cheverebox-cortina{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgb(0, 0, 0);
  opacity: 0.8;
  display: none;
  cursor: pointer;
  z-index: 1100;
}
#cheverebox-marco{
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: none;
  z-index: 1101;
}
#cheverebox-menu{
  position: relative;
	width: 380px;
}
#cheverebox-cerrar{
  position: absolute;
  top: -10px;
  right: -10px;
  width: 32px;
  height: 32px;
  z-index: 1102;
}
#cheverebox-cerrar div{
	width: 30px;
  height: 30px;
	font-size: 20px;
	line-height: 25px;
	color: #FFFFFF;
	background-color: #000000;
	border: 1px solid #ffffff;
	border-radius: 15px;
	text-align: center;
  cursor: pointer;
}
.card-pago{
	background-color: #285198;
	color: #ffffff;
	border-radius: 30px;
	overflow: hidden;
}
.card-pago-titulo{
	padding: 20px 20px;
	font-size: 2.8rem;
	letter-spacing: 3px;
	background-color: #203e59;
}
.card-pago-mensaje{
	padding: 20px;
	text-align: right;
	font-size: 14px;
	background-color: #ffffff;
	color: #000000;
}
.card-pago-mensaje span{
	font-size: 10px;
}
.card-pago-credit{
	padding: 0px 20px 20px 20px;
	background-color: #ffffff;
	color: #000000;
	text-align: right;
	font-size: 12px;
}
.card-pago-credit img{
	max-width: 70px;
}
.card-pago-botones{
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	padding: 5px 8px;
	background-color: #ffffff;
}
.card-boton-payu form input:first-child{
	background-color: #669b41;
	border-radius: 2px;
	box-shadow: 2px 2px 4px #000000;
	width: 85px;
	transition: 0.2s ease;
}
.card-boton-payu:first-child form input:first-child{
	border-radius: 2px 2px 2px 22px;
}
.card-boton-payu:last-child form input:first-child{
	border-radius: 2px 2px 22px 2px;
}
.card-boton-payu:hover form input:first-child{
	background-color: #2b6052;
}
/******************************************************************************* : CHEVERE BOX*/
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% INI: Panel pago PayU*/



/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% INI: Zona Virtual*/
/*
  NOTA 1:
  Tocó cambiar el código before_slash_body, para cambiar el padding top del body.

  NOTA 2:
  Requiere la fuente DIN Pro. Se puede descargar de: https://www.cufonfonts.com/font/dinpro
  Se copia el archiv completo "dinpro-cufonfonts-webfont" en: zonadebloque\templates\purity_iii\fonts
  Se modifica el archivo "zonadebloque\templates\purity_iii\etc\assets.xml"
  y se incluye la sigiuente linea en la etiqueta <stylesheets> "<file>fonts/dinpro-cufonfonts-webfont/style.css</file>"
*/
:root {
  --zv-white: #e7e7e7;
  --zv-blue: #0185ed;
  --zv-blanco: rgba(255, 255, 255, 0.83);
  --zv-red: #ff1043;
  --zv-marine: #02355d;
  --zv-wine-red: #7c011c;
  --zv-bright-sky-blue: #00bbf8;
  --zv-bright-sky-blue-trans: rgba(0, 187, 249, 0.5);
  --zv-cerulean-blue: #0085ee;
  --zv-cerulean-blue-trans: rgba(0, 133, 238, 0.5);
  --zv-bright-banner-trans: rgba(36, 183, 240, 0.1);
  --zv-dark-banner-trans: rgba(12, 24, 57, 0.7);
}
html {
  scroll-behavior: smooth;
}
.zvirtual{
  position: relative;
  background-color: var(--zv-cerulean-blue);
}
.zv-boton-general{
  position: fixed;
  top: 150px;
  right: 50px;
  font-family: DINPro Bold;
  font-size: 18px;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  text-align: center;
  padding: 10px 20px;
  background-color: var(--zv-red);
  color: var(--zv-white);
  box-shadow: 5px 5px 12px #000000;
  cursor: pointer;
  z-index: 1099;
}
@media only screen and (max-width: 991px) {
	.zv-boton-general{
    top: 65px;
    right: 10px;
    font-size: 18px;
    padding: 10px 15px;
	}
}
.zv-menu ul{
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  padding: 0px;
  list-style: none;
}
.zv-menu ul li:first-child .zv-menu-btn{
  padding: 17px 10px;
}
.zv-menu-btn{
  padding: 24px 10px;
  font-family: DINPro Bold;
  font-size: 14px;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  text-align: center;
  color: var(--zv-white);
  cursor: pointer;
  transition: 0.2s ease;
}
.zv-menu-btn img{
  height: 33px;
  background-color: var(--white);
}
.zv-menu-btn:hover{
  background-color: rgb(53, 92, 144);
}
.zv-menu-small{
  display: none;
}
.zv-menu-small-fijo{
  display: none;
}
@media only screen and (max-width: 767px) {
  .zv-menu{
    display: none;
  }
  .zv-menu-small{
    display: flex;
    padding: 0px;
    position: absolute;
    top: -30px;
    left: 0px;
    width: 100%;
    background-color: var(--zv-cerulean-blue);
  }
  .zv-menu-small-logo{
    padding: 17px 10px;
    cursor: pointer;
  }
  .zv-menu-small-fijo{
    display: none;
    flex-direction: column;
    position: fixed;
    top: 60px;
    left: 5px;
    width: 230px;
    background-color: var(--zv-white);
    z-index: 2000;
  }
  .zv-menu-small-fijo-logo{
    padding: 8px 5px;
    cursor: pointer;
  }
  .zv-menu-small-fijo ul{
    list-style: none;
    padding: 5px 10px;
  }
  .zv-menu-small-btn{
    padding: 15px 30px;
    font-family: DINPro Medium;
    font-size: 14px;
    font-stretch: normal;
    font-style: normal;
    line-height: normal;
    letter-spacing: normal;
    text-align: center;
    color: var(--zv-marine);
    text-align: center;
    border-bottom: 1px solid var(--zv-cerulean-blue);
  }
  .zv-menu-small-btn:hover{
    background-color: var(--zv-marine);
    color: var(--zv-white);
  }
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
  .zv-menu{
    display: none;
  }
  .zv-menu-small{
    display: flex;
    padding: 0px;
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    background-color: var(--zv-cerulean-blue);
  }
  .zv-menu-small-logo{
    padding: 17px 10px;
    cursor: pointer;
  }
  .zv-menu-small-fijo{
    display: none;
    flex-direction: column;
    position: fixed;
    top: 90px;
    left: 5px;
    width: 230px;
    background-color: var(--zv-white);
    z-index: 2000;
  }
  .zv-menu-small-fijo-logo{
    padding: 8px 5px;
    cursor: pointer;
  }
  .zv-menu-small-fijo ul{
    list-style: none;
    padding: 5px 10px;
  }
  .zv-menu-small-btn{
    padding: 15px 30px;
    font-family: DINPro Medium;
    font-size: 14px;
    font-stretch: normal;
    font-style: normal;
    line-height: normal;
    letter-spacing: normal;
    text-align: center;
    color: var(--zv-marine);
    text-align: center;
    border-bottom: 1px solid var(--zv-cerulean-blue);
  }
  .zv-menu-small-btn:hover{
    background-color: var(--zv-marine);
    color: var(--zv-white);
  }
}
.zv-intro{
  padding-top: 62px;
  padding-bottom: 94px;
}
.zv-intro-img{
  width: 629px;
  margin: auto;
}
@media only screen and (max-width: 767px) {
	.zv-intro-img{
    width: 380px;
	}
  .zv-intro-img img{
    width: 380px;
	}
}
.zv-banner{
  position: relative;
   background:  linear-gradient(to bottom, var(--zv-bright-banner-trans), var(--zv-dark-banner-trans)),
                linear-gradient(to bottom, var(--zv-cerulean-blue-trans), var(--zv-cerulean-blue-trans)),
                url(https://zonadebloque.com/images/zona_virtual/banner_zona_virtual.jpg);
   background-repeat: no-repeat;
   background-position: center 20%;
   background-size: cover;
   overflow: hidden;
}
.zv-banner-container{
  display: flex;
  flex-direction: row;
  justify-content: center;
  margin-bottom: 40px;
}
.zv-banner-bloque1,
.zv-banner-bloque2{
  flex-grow: 1;
  flex-basis: 0;
}
.zv-banner-bloque1{
  display: flex;
  flex-direction: column;
}
.zv-banner-bloque1 img{
  margin: 42px auto;
}
.zv-banner-bloque1-txt{
  font-family: DINPro Bold;
  font-size: 24px;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  text-align: center;
  color: var(--zv-white);
  text-align: center;
}
.zv-banner-sub1,
.zv-banner-sub2{
  font-family: DINPro Bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  text-align: center;
  text-align: center;
  max-width: 315px;
  margin-left: auto;
  margin-right: auto;
}
.zv-banner-sub1{
  margin-top: 183px;
  font-size: 18px;
  color: var(--zv-white);
}
@media only screen and (max-width: 767px) {
	.zv-banner-bloque1{
    display: none;
	}
  .zv-banner-sub1{
    margin-top: 150px;
  }
}
.zv-banner-sub2{
  margin-top: 26px;
  font-size: 21px;
  color: var(--zv-red);
}
.zv-tipo-clases-container{
  margin-top: 62px;
  margin-bottom: 160px;
}
.zv-tipo-clases-logo{
  position: relative;
  text-align: center;
  height: 98px;
}
.zv-tipo-clases-logo img{
  position: absolute;
  height: 98px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.zv-tipo-clases-logo-titulo{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: DINPro Bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  font-size: 40px;
  color: var(--zv-marine);
  margin-left: 10px;
}
.zv-tipo-clases-texto{
  font-family: DINPro Bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  font-size: 24px;
  text-align: center;
  color: var(--zv-white);
  margin: 15px 176px 27px 176px;
}
@media only screen and (max-width: 991px) {
  .zv-tipo-clases-logo-titulo{
    font-size: 23px;
    width: 300px;
  }
	.zv-tipo-clases-texto{
    font-size: 15px;
		margin: 15px 15px 27px 15px;
	}
}
.zv-tipo-clases-botones{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  max-width: 725px;
  margin: 0px auto;
  overflow-x: scroll;
  overflow-y: hidden;
  scrollbar-width: thin;
}
.zv-tipo-clases-botones::-webkit-scrollbar {
  width: 5px;
}
.zv-tipo-clases-btn{
  width: 170px;
  height: 185px;
  margin: 20px;
  background-color: #FFFFFF;
  border-radius: 22px;
  text-align: center;
  transition: 0.2s ease;
  cursor: pointer;
}
.zv-tipo-clases-btn:hover{
  background-color: var(--zv-marine);
}
.zv-tipo-clases-btn img{
  margin: 18px auto 18px auto;
}
.zv-tipo-clases-btn:hover img{
  filter: invert(100%) grayscale(100%);
}
.zv-tipo-clases-btn-txt{
  font-family: DINPro Medium;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  font-size: 18px;
  text-align: center;
  max-width: 150px;
  color: var(--zv-cerulean-blue);
  margin: 0px auto 0px auto;
}
@media only screen and (max-width: 767px) {
  .zv-tipo-clases-container{
    margin-bottom: 50px;
  }
	.zv-tipo-clases-botones{
    display: grid;
    grid-template-columns: auto auto auto auto auto auto auto auto auto;
    justify-content: start;
    padding-bottom: 30px;
	}
  .zv-tipo-clases-btn{
    width: 180px;
    height: 180px;
  }
}
.zvirtual-marco #cheverebox-menu{
  width: 528px !important;
}
.zv-tipo-clase-card{
  background-color: var(--zv-marine);
  padding: 22px 60px;
  text-align: center;
}
.zv-tipo-clase-card img{
  filter: invert(100%) grayscale(100%);
  margin-bottom: 30px;
}
.zv-tipo-clase-card-titulo{
  margin-bottom: 26px;
  font-family: DINPro Medium;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  font-size: 16px;
  text-align: center;
  color: var(--zv-cerulean-blue);
}
.zv-tipo-clase-card-mensaje{
  margin-bottom: 16px;
  font-family: DINPro Medium;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  font-size: 16px;
  text-align: center;
  color: var(--zv-white);
}
.zv-tipo-clase-card-profesores{
  display: flex;
  flex-direction: row;
  margin-top: 30px;
}
.zv-tipo-clase-card-profesores-A{
  margin: 0px 25px;
  font-family: DINPro Medium;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  font-size: 16px;
  text-align: center;
  color: var(--zv-cerulean-blue);
}
.zv-tipo-clase-card-profesores-B{
  margin-bottom: 16px;
  font-family: DINPro Medium;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  font-size: 16px;
  text-align: center;
  color: var(--zv-white);
}
.zv-tipo-clase-card-btn{
	display: inline-block;
	font-family: DINPro Bold;
  font-size: 18px;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  text-align: center;
  padding: 10px 20px;
	margin-top: 20px;
  background-color: var(--zv-red);
  color: var(--zv-white);
  box-shadow: 5px 5px 12px #000000;
  cursor: pointer;
}
@media only screen and (max-width: 767px) {
  .zvirtual-marco #cheverebox-menu{
    width: 380px !important;
  }
  .zv-tipo-clase-card-profesores{
    display: flex;
    flex-direction: column;
  }
  .zv-tipo-clase-card-profesores-A{
    margin-bottom: 10px;
  }
}
.zv-videos{
  background-color: var(--zv-red);
}
.zv-videos-container{
  padding-top: 62px;
  padding-bottom: 80px;
}
.zv-videos-logo{
  position: relative;
  text-align: center;
  height: 98px;
}
.zv-videos-logo img{
  position: absolute;
  height: 98px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.zv-videos-logo-titulo{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: DINPro Bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  font-size: 40px;
  color: var(--zv-wine-red);
  margin-left: 10px;
}
@media only screen and (max-width: 991px) {
  .zv-videos-logo-titulo{
    font-size: 23px;
    width: 300px;
  }
}
.zv-videos-display{
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  padding-bottom: 105px;
  max-width: 1460px;
  margin:auto;
  overflow-x: scroll;
  overflow-y: hidden;
  scrollbar-width: thin;
}
.zv-videos-display::-webkit-scrollbar {
  width: 5px;
}
.zv-videos-sub{
  padding: 0px 7px;
}
.zv-videos-sub-B{
  font-family: DINPro Bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  font-size: 21px;
  text-align: left;
  color: var(--zv-white);
}
.zv-calendario{
  background-color: var(--zv-white);
}
.zv-calendario-container{
  padding-top: 62px;
}
.zv-calendario-logo{
  position: relative;
  text-align: center;
  height: 98px;
}
.zv-calendario-logo img{
  position: absolute;
  height: 98px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  filter: contrast(150%);
}
.zv-calendario-logo-titulo{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: DINPro Bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  font-size: 40px;
  color: var(--zv-marine);
}
.zv-calendario-texto{
  font-family: DINPro Bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  font-size: 24px;
  text-align: center;
  color: var(--zv-red);
  margin: 15px 176px 27px 176px;
}
.zv-calendario-bloque{
  /**/
}
.zv-calendario-dia{
	cursor: pointer;
}
.zv-calendario-bloque-A1{
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  max-width: 910px;
  margin: 75px auto 0px auto;
}
.zv-calendario-bloque-A2{
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  max-width: 910px;
  margin: 10px auto 75px auto;
}
.zv-calendario-bloque-B1,
.zv-calendario-bloque-B2{
  display: none;
}
@media only screen and (max-width: 991px) {
  .zv-calendario-logo-titulo{
    font-size: 23px;
    width: 300px;
  }
	.zv-calendario-texto{
    font-size: 15px;
		margin: 30px 15px 27px 15px;
	}
  .zv-calendario-bloque-A1,
  .zv-calendario-bloque-A2{
    display: none;
  }
  .zv-calendario-bloque-B1{
    display: flex;
    flex-direction: row;
    justify-content: start;
    margin: 50px auto 10px auto;
    padding-bottom: 15px;
    overflow-x: scroll;
    overflow-y: hidden;
    scrollbar-width: thin;
  }
	.zv-calendario-bloque-B1::-webkit-scrollbar {
	  width: 5px;
	}
  .zv-calendario-bloque-B2{
    display: inline-block;
    width: 100%;
    padding: 5px 0px 20px 0px;
  }
  .zv-calendario-bloque-B2 div,
  .zv-calendario-bloque-B2 div img{
    width: 100%;
  }
}
.zv-planes{
  background-color: #FFFFFF;
}
.zv-planes-container{
  padding-top: 62px;
}
.zv-planes-logo{
  position: relative;
  text-align: center;
  height: 98px;
}
.zv-planes-logo img{
  position: absolute;
  height: 98px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  filter: contrast(150%);
}
.zv-planes-logo-titulo{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: DINPro Bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  font-size: 40px;
  color: var(--zv-marine);
}
.zv-planes-texto{
  font-family: DINPro Bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  font-size: 24px;
  text-align: center;
  color: var(--zv-cerulean-blue);
  margin: 15px 176px 27px 176px;
}
.zv-planes-texto-bottom{
	padding-top: 50px;
}
@media only screen and (max-width: 991px) {
  .zv-planes-logo-titulo{
    font-size: 23px;
    width: 300px;
  }
	.zv-planes-texto{
    font-size: 15px;
		margin: 15px 15px 27px 15px;
	}
}
.zv-planes-bloque{
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  max-width: 875px;
  margin: 78px auto 75px auto;
}
.zv-planes-sub{
  max-width: 259px;
  margin: 0px 10px;
}
.zv-planes-sub-1 .zv-planes-card-titulo,
.zv-planes-sub-1 .zv-planes-card-footer,
.zv-planes-sub-1 .zv-planes-btn{
  background-color: var(--zv-cerulean-blue);
}
.zv-planes-sub-2 .zv-planes-card-titulo,
.zv-planes-sub-2 .zv-planes-card-footer,
.zv-planes-sub-2 .zv-planes-btn{
  background-color: var(--zv-red);
}
.zv-planes-sub-3 .zv-planes-card-titulo,
.zv-planes-sub-3 .zv-planes-card-footer,
.zv-planes-sub-3 .zv-planes-btn{
  background-color: var(--zv-marine);
}
.zv-planes-card-titulo{
  border-radius: 22px 22px 0px 0px;
  color: #FFFFFF;
}
.zv-planes-card-titulo-1{
  font-family: DINPro Bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  font-size: 24px;
  text-align: center;
  padding-top: 23px;
}
.zv-planes-card-titulo-2{
  font-family: DINPro Bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  font-size: 36px;
  text-align: center;
  padding-bottom: 24px;
}
.zv-planes-sub-1 .zv-planes-card-texto{
  color: var(--zv-cerulean-blue);
}
.zv-planes-sub-2 .zv-planes-card-texto{
  color: var(--zv-red);
}
.zv-planes-sub-3 .zv-planes-card-texto{
  color: var(--zv-marine);
}
.zv-planes-card-texto{
  background-color: var(--zv-white);
}
.zv-planes-card-texto-1{
  font-family: DINPro Bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  font-size: 24px;
  text-align: center;
  padding: 16px 18px;
	min-height: 190px;
}
.zv-planes-card-texto-1-small{
  display: none;
}
.zv-planes-card-texto-23{
  display: flex;
  flex-direction: column;
}
.zv-planes-card-texto-2{
  font-family: DINPro Medium;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  font-size: 18px;
  padding: 10px 22px 20px 22px;
}
.zv-planes-card-texto-3{
		min-height: 320px;
}
.zv-planes-card-texto-3 ul{
  font-family: DINPro Medium;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  font-size: 14px;
  margin: 0px;
  padding: 10px 18px 20px 45px;
}
.zv-planes-card-footer{
  font-family: DINPro Medium;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  font-size: 18px;
  border-radius: 0px 0px 22px 22px;
  color: #FFFFFF;
  padding: 35px 20px;
}
.zv-planes-card-footer-sub{
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  padding: 6px 0px;
}
.zv-planes-btn{
  margin-top: 30px;
  padding: 15px;
  border-radius: 24px;
  font-family: DINPro Bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  font-size: 24px;
  text-align: center;
  color: #FFFFFF;
  transition: 0.2s ease;
  cursor: pointer;
}
.zv-planes-btn:hover{
  box-shadow: 5px 5px 10px #000000;
}
@media only screen and (max-width: 767px) {
  .zv-planes-bloque{
    display: flex;
    flex-direction: column;
  }
  .zv-planes-sub{
    max-width: 259px;
    margin: 0px auto 70px auto;
  }
  .zv-planes-btn{
    margin-top: 15px;
  }
  .zv-planes-card-texto-1{
    display: none;
  }
  .zv-planes-card-texto-1-small{
    display: inline-block;
    font-family: DINPro Bold;
    font-stretch: normal;
    font-style: normal;
    line-height: normal;
    letter-spacing: normal;
    font-size: 20px;
    text-align: center;
    padding: 16px 18px;
    cursor: pointer;
  }
  .zv-planes-card-texto-1-small > div{
    padding: 15px 0px 10px 0px;
    font-size: 18px;
  }
  .zv-planes-card-texto-23{
    display: none;
  }
}
.zv-profesores-container{
  margin-top: 62px;
  margin-bottom: 50px;
}
.zv-profesores-logo{
  position: relative;
  text-align: center;
  height: 98px;
}
.zv-profesores-logo img{
  position: absolute;
  height: 98px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.zv-profesores-logo-titulo{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: DINPro Bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  font-size: 40px;
  color: var(--zv-marine);
  margin-left: 10px;
}
@media only screen and (max-width: 991px) {
  .zv-profesores-logo-titulo{
    font-size: 23px;
    width: 350px;
  }
	.zv-profesores-texto{
    font-size: 15px;
		margin: 15px 15px 27px 15px;
	}
}
.zv-profesores-profe{
  display: flex;
  flex-direction: row;
  max-width: 815px;
  margin: 80px auto;
}
.zv-profesores-profe-foto{
  position: relative;
  margin-top: 10px;
}
.zv-profesores-profe-foto-social{
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 260px;
}
.zv-profesores-profe-foto-social img{
  width: 0px;
  transition: 0.3s ease;
}
.zv-profesores-profe-foto-social-bottom{
  display: none;
}
.zv-profesores-profe:hover .zv-profesores-profe-foto-social img{
  width: 77px;
}
.zv-profesores-profe-bloque{
  margin-left: 40px;
}
.zv-profesores-profe-titulo{
  font-family: DINPro Bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  font-size: 40px;
  color: var(--zv-marine);
}
.zv-profesores-profe-texto{
  font-family: DINPro Bold;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  font-size: 21px;
  color: var(--zv-white);
  margin-top: 15px;
}
@media only screen and (max-width: 991px) {
  .zv-profesores-bloque{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin: 0px 10px;
    overflow-x: scroll;
    overflow-y: hidden;
    scrollbar-width: thin;
  }
	.zv-profesores-bloque::-webkit-scrollbar {
	  width: 5px;
	}
  .zv-profesores-profe{
    display: flex;
    flex-direction: column;
    max-width: 200px;
    margin: 30px 20px;
  }
  .zv-profesores-profe-foto,
  .zv-profesores-profe-foto > img{
    width: 200px;
  }
  .zv-profesores-profe-foto-social{
    display: none;
  }
  .zv-profesores-profe-foto-social-bottom{
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    margin: 20px 20px;
  }
  .zv-profesores-profe-foto-social-bottom .zv-profesores-profe-foto-social-icon,
  .zv-profesores-profe-foto-social-bottom .zv-profesores-profe-foto-social-icon img{
    width: 40px;
  }
  .zv-profesores-profe-bloque{
    margin: 0px;
  }
  .zv-profesores-profe-titulo{
    height: 50px;
    margin: 10px 0px;
    font-size: 21px;
    text-align: center;
  }
  .zv-profesores-profe-texto{
    font-family: DINPro Medium;
    font-size: 14px;
  }
}
.zv-aliados{
  background-color: var(--zv-red);
  padding: 38px 0px 20px 0px;
}
.zv-aliados-logos{
  display: flex;
  flex-direction: row;
  justify-content: center;
}
.zv-aliados-logo{
  display: flex;
  flex-direction: column;
  justify-content: center;
	margin: 0px 80px;
}
.zv-aliados-fin,
.zv-aliados-fin img{
  max-width: 100%;
  text-align: center;
}
@media only screen and (max-width: 767px) {
	.zv-aliados-logo{
		margin: 0px 10px;
	}
}
.zv-parche-bottom{
  display: flex;
  padding: 0px;
  position: absolute;
  bottom: -40px;
  left: 0px;
  width: 100%;
  height: 40px;
  background-color: var(--zv-red);
}
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FIN: Zona Virtual*/


/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% INI: Panel Vimeo*/
@media only screen and (max-width: 767px) {
	.panel-vimeo{
		margin: 0px 0px 40px 0px;
		background-color: #ffffff;
		text-align: center;
	}
	.panel-vimeo iframe{
		position:	absolute;
		top: 0;
		left: 10%;
		width: 80%;
		height: 100%;
	}
}
@media only screen and (min-width: 768px) and (max-width: 991px) {
	.panel-vimeo{
		margin: 10px 0px 50px 0px;
		background-color: #ffffff;
		text-align: center;
	}
	.panel-vimeo iframe{
		position:	absolute;
		top: 0;
		left: 5%;
		width: 90%;
		height: 100%;
	}
}
@media only screen and (min-width: 992px) and (max-width: 1199px) {
	.panel-vimeo{
		margin: 10px 0px 50px 0px;
		background-color: #ffffff;
		text-align: center;
	}
	.panel-vimeo iframe{
		position:	absolute;
		top: 0;
		left: 3%;
		width: 94%;
		height: 100%;
	}
}
@media only screen and (min-width: 1200px) {
	.panel-vimeo{
		margin: 30px 0px 70px 0px;
		background-color: #ffffff;
		text-align: center;
	}
	.panel-vimeo iframe{
		position:	absolute;
		top: 0;
		left: 2%;
		width: 98%;
		height: 100%;
	}
}
/*%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% FIN: Panel Vimeo*/
