/* Imports Start */
@import url('https://fonts.googleapis.com/css?family=Roboto:300,400,500,600,700,800,900&display=swap');
@import url('https://fonts.googleapis.com/css?family=Roboto&display=swap');
/*Imports End*/


/* Keyframes Start */
@keyframes appear
{
	0%
	{
		opacity: 0;
	}
	50%
	{
		opacity: 0.5;
	}
	100%
	{
		opacity: 1;
	}
}
/* Keyframes End */

/* Css Variables Start */
:root
{
	/* Font Sizes Start */
	--textSize: 2vmin;
	--textSmallSize: calc(0.8 * var(--textSize));
	--textBigSize: calc(1.6 * var(--textSize));

	--titleSize: 4vmin;
	--titleSmallSize: calc(0.8 * var(--titleSize));
	--titleBigSize: calc(1.4 * var(--titleSize));
	/* Font Sizes End */

	/* Font Family Start */
	--textFamily: 'Roboto', sans-serif;
	--titleFamily: 'Roboto', sans-serif;
	/* Font Family End */

	/* Animations Start */
	--bounce: cubic-bezier(0.175, 0.885, 0.32, 1.275);
	/* Animations End */

	/* Colors Start */
	--primaryColor: #a30d03;
	--secondaryColor: black;
	--accentColor: #393c43;
	/* Colors End */
}
/* Css Variables End */


/* Overall Start */
*
{
	margin: 0;
	padding: 0;
	border: none;
	text-decoration: none;
	list-style: none;
	text-transform: inherit;
	outline: none;
	box-sizing: border-box;
	color: inherit;
	font-size: inherit;
	font-family: inherit;
	font-weight: inherit;
}
::-webkit-scrollbar
{
	width: 10px;
}
::-webkit-scrollbar-thumb
{
	background: var(--accentColor);
	border-radius: 5px;
}
::-webkit-scrollbar-thumb:hover
{
	background: var(--accentColor);
}
::-webkit-scrollbar-thumb:active
{
	background: var(--accentColor);
}
::-webkit-scrollbar-track
{
	background: transparent;
}
body
{
	/*hd = header
	  sd = sidebar
	  mn = main content
	  mp = map section
	  ft = footer
	  .. = empty*/
	display: grid;
	grid-template-areas: 'hd hd hd hd hd hd hd hd'
						 '.. sd sd mn mn mn mn ..'
						 '.. mp mp mp mp mp mp ..'
						 'ft ft ft ft ft ft ft ft';
	grid-template-columns: repeat(8, 1fr);
	font-size: var(--textSize);
	font-family: var(--textFamily);
	font-weight: 100;
	color: var(--secondaryColor);
}

header, aside, main, .map, footer
{
	width: 100%;
	padding: 2% 5%;
}
/* Overall End */


/* General Classes and tags Start */
.mobile
{
	display: none;
}
.btn
{
	padding: 5px 50px;
	border-radius: 30px;
	background-color: var(--primaryColor);
	margin: 3vh auto;
	border: 2px solid var(--primaryColor);
	font-size: var(--textBigSize);
	font-family: var(--textFamily);
	text-transform: uppercase;
	color: white;
	cursor: pointer;
	text-align: center;
	transition: background 0.4s ease, color 0.4s ease;
}
.btn a::before
{
	display: none;
}
.btn:hover
{
	background-color: white;
	color: var(--primaryColor);
}
.primaryColor
{
	color: var(--primaryColor);
}
.whiteColor
{
	color: white;
}
.hidden
{
	display: none;
}
.normalText
{
	font-size: var(--textSize);
	font-family: var(--textFamily);
	font-weight: 100;
	margin: 2vh 0;
}
.smallText
{
	font-size: var(--textSmallSize);
}
.bigText
{
	font-size: var(--textBigSize);
}
.boldText
{
	font-weight: 700;
}
.centerText
{
	text-align: center;
	width: 100%;
}
.subtitle
{
	font-size: var(--titleSmallSize);
	font-family: var(--titleFont);
	font-weight: 900;
	text-transform: uppercase;
	margin: 3vh 0;
}
.uppercase
{
	text-transform: uppercase;
}
a
{
	position: relative;
}
a::before
{
	position: absolute;
	top: 105%;
	left: 0;
	content: '';
	background-color: var(--primaryColor);
	width: 0;
	height: 2px;
	transition: width 0.6s var(--bounce);
	z-index: -1;
}
a:hover:before
{
	width: 100%;
}
hr
{
	border-color: var(--primaryColor);
	background-color: var(--primaryColor);
	margin: 2vh 0;
	height: 2px;
	width: 100%;
	padding: 0 5%;
}
hr.mini
{
	width: 10%;
}
/* General Classes and tags End*/


/* Nav Start */
nav
{
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	background-color: white;
	padding: 0 5%;
	z-index: 9999;
}
nav a
{
	width: 100%;
	height: 100%;
	text-align: center;
	display: block;
	transition: color 0.6s;
	padding: 20px 0;
}
nav a::before
{
	height: 100%;
	top: 0;
}
nav a:hover
{
	color: white;
}
#navOptionsDisplayer
{
	font-size: var(--titleBigSize);
	margin: 8px auto;
	text-align: center;
	cursor: pointer;
}
nav .navOptions
{
	height: 100%;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
	grid-gap: 10px;
	padding: 0 15%;
	transition: top 0.4s ease;
}
nav #navOptionsDisplayer + .navOptions.active
{
	top: 100%;
}
nav .navLogos
{
	display: flex;
	padding: 8px 15%;
	justify-content: space-between;
	border-bottom: 1px solid black;
}
.navLogos img
{
	height: 50px;
	width: initial;
}
/* Nav End */


/* Header Start */
header
{
	background-size: 100% 100%;
	background-position: top;
	background-repeat: no-repeat;
	background-image: url('../img/mainBanner.jpg');
	grid-area: hd;
	height: 60vh;
}
/* Header End */


/* Sidebar Start */
aside
{
	padding: 0;
	grid-area: sd;
}
aside .asideVideo
{
	background-color: var(--accentColor);
	padding: 5%;
}
aside .asideRecomendations
{
	padding: 3% 5%;
}
.asideVideo #videoImg img
{
	width: 100%;
	cursor: pointer;
}
/* Sidebar End */


/* Main Content Start */
main
{
	grid-area: mn;
}
main .btn
{
	position: relative;
	left: 50%;
	transform: translateX(-50%);
}
main .ponentes
{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	grid-gap: 30px;
	position: relative;
}
.ponente
{
	display: flex;
	flex-direction: column;
	cursor: pointer;
}
.ponente img
{
	width: 100%;
	transition: filter 0.4s ease;
}
.ponente:hover img
{
	filter: sepia(1);
}
main .cuotas
{
	display: flex;
	width: 100%;
}
.cuotas > *
{
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: space-around;
}
.cuotas div:last-child
{
	text-align: right;
}
/* Main Content End*/


/* PopupPonente Start */
.popupPonenteContainer
{
	position: fixed;
	top: 50%;
	left: 50%;
	width: 0;
	height: 0;
	background-color: rgba(0,0,0,0.6);
	transition: 0.3s ease;
}
.popupPonenteContainer.active
{
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 999;
}
.popupPonente
{
	position: absolute;
	width: 0;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	height: 50vh;
	background-color: white;
	color: black;
	border: 1px solid black;
	border-radius: 10px;
	display: none;
	flex-direction: row;
	justify-content: space-between;
	padding: 2% 7%;
	box-shadow: 0px 0px 56px -10px rgba(0,0,0,0.75);
	transition: 0.3s var(--bounce) 0.3s;
}
.popupPonenteContainer.active .popupPonente
{
	display: flex;
	width: 80%;
}
.popupPonente > *:not(.popupPonenteClose)
{
	opacity: 0;
}
.popupPonenteContainer.active .popupPonente > *:not(.popupPonenteClose)
{
	animation: appear 0.3s ease 0.3s forwards;
}
.popupPonenteContent
{
	flex: 2;
	max-height: 100%;
	padding-left: 5%;
}
.popupPonenteClose
{
	position: absolute;
	right: 10px;
	top: 10px;
	font-size: var(--titleBigSize);
	cursor: pointer;
}
.popupPonenteImg
{
	flex: 1;
	max-width: 200px;
	max-height: 250px;
	margin-top: 5%;
}
.popupPonenteName
{
	height: var(--textBigSize);
}
.popupPonenteDescription
{
	padding-right: 5%;
	max-height: calc(100% - var(--textBigSize) - 4vh - 10px);
	overflow-y: auto;
}
/* PopupPonente End */


/* Map section Start */
.map
{
	grid-area: mp;
}
.map iframe
{
	width: 100%;
	height: 50vh;
}
/* Map section End */


/* Footer Start */
footer
{
	background: var(--accentColor);
	grid-area: ft;
	display: block;
}
footer img
{
	height: 50px;
	width: initial;
	margin: 8px auto;
	cursor: pointer;
}
/* Footer End */


/* Video Start */
#videoContainer
{
	position: fixed;
	width: 100%;
	height: 100%;
	left: 0;
	top: -100%;
	z-index: 99999;
	transition: top 0.6s ease;
	background-color: rgba(0,0,0,0.8);
}
#videoContainer.active
{
	top: 0;
}
#videoContainer #video
{
	position: absolute;
	width: 80%;
	height: 90%;
	left: 10%;
	top: 5%;
}
#videoClose
{
	font-size: var(--titleBigSize);
	position: absolute;
	right: 2%;
	top: 2%;
	cursor: pointer;
}
/* Video End */

@media only screen and(max-width: 800px), (orientation: portrait)
{
	/* Overall Start */
	:root
	{
		/* Font Sizes Start */
		--textSize: 4vmin;
		--titleSize: 6vmin;
		/* Font Sizes End */
	}
	body
	{
		grid-template-areas: 'hd'
							 'sd'
							 'mn'
							 'mp'
							 'ft';
		grid-template-columns: repeat(1, 1fr);
	}
	/* Overall End */


	/* General Classes Start */
	.mobile
	{
		display: inherit;
	}
	.notMobile
	{
		display: none;
	}
	/* General Classes End */


	/* Nav Start */
	nav .navOptions, #navOptionsDisplayer, nav .navLogos
	{
		display: block;
		text-align: center;
	}
	nav .navLogos
	{
		padding: 8px 0;
	}
	nav .navLogos img
	{
		margin: 0 auto;
	}
	#navOptionsDisplayer + .navOptions
	{
		position: absolute;
	    width: 100%;
	    background-color: white;
	    z-index: -1;
	    left: 0;
	    height: calc((var(--textSize) + 45px) * 5);
	    top: -100vh;
	    padding: 0;
	}
	/* Nav End */


	/* Header Start */
	header
	{
		height: 35vh;
	}
	/* Header End */

	/* Main content Start */
	main .ponentes
	{
		grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	}
	/* Main content End*/

	/* PopupPonente Start */
	.popupPonente
	{
		width: 100%;
		flex-direction: column;
		align-items: center;
		height: 70vh;
		top: 55%;
	}
	.popupPonenteImg
	{
		height: 50%;
	}
	.popupPonenteContent
	{
		width: 100%;
		height: 50%;
	}
	.popupPonenteDescription
	{
		max-height: calc(100% - var(--textBigSize) - 4vh - 10px);
	}
	/* PopupPonente End*/
}