/* General */
	*{
		margin: 0;
		padding: 0;
		outline: none;
	}

	a{
		text-decoration: none;
	}
	a:hover{
		text-decoration: none;
	}
	img{
		max-width: 100%;
	}
	button{
		outline: none !important;
	}
	button:active{
		outline: none;
	}
	strong{
		font-weight: bold !important;
	}
	/* Class */
	.strong{
		font-weight: bolder;
	}

	/* All */
		/* Padding Secciones */
		section.pd-all{
			padding: 40px 0 30px 0;
		}
		section.pt-all{
			padding: 40px 0 0 0;
		}
		/* Secciones */
		section .head{
		}
		section .head .title{
		}
		section .head .description{
		}

		.dsm-none{
			display: none;
		}
		@media(min-width: 768px){
			.dsm-none{
				display: block;
			}
		}
		/* Responsive */
		.container-fluid{
		}
		.text-strong{
			font-weight: bolder;
		}
		.space-menu{
			height: 78px;
		}
		@media(min-width: 768px){
			.space-menu{
				height: 100px;
			}
		}
		.align-center{
			display: flex;
			flex-direction: column;
			justify-content: center;
		}
		.full-screen{
			width: 100%;
		    height: 100%;
		    object-fit: cover;
		}
		.full-screen-div{
			background-size: cover !important;
			background-position: center center !important;
			width: 100%;
		    height: 100%;
		}
		.ctn-boton{
			display: inline-flex;
		}
		.btn-style{
			padding: 10px 30px;
			font-size: 20px;
			font-weight: bold;
		}
		.btn-style:hover{
			background: #ffffff !important;
			color: #511d5b !important;
			border-color: #511d5b !important;
		}
	/* End All */
		
	/* Variables */
	    :root{
	      --colorbase1: #511d5b;
	      --colorbase2: #8f7215;
	      --colorbase3: #ffffff;
	    }
	/* End Variables */

	/* ScrollBar */
	    ::-webkit-scrollbar{
	      width: 12px;
	    }
	    ::-webkit-scrollbar-track {
	    }
	    ::-webkit-scrollbar-thumb{
	      background: var(--colorbase2);
	      transition: all 0.4s;
	    }
	    ::-webkit-scrollbar-thumb:active{
	      background: var(--colorbase1);
	      transition: all 0.4s;
	    }
	/* End ScrollBar */

	/* Seleccion */
	    ::selection {
	      background: var(--colorbase2);
	      color: var(--colorbase3);
	    }
	    ::-moz-selection {
	      background: var(--colorbase2);
	      color: var(--colorbase3);
	    }
	/* End Seleccion */

/* End General */

/* Sections */
	

	/* Banner */
		section.banner{
			height: 300px;
			position: relative;
			background-position: center !important;
		    background-size: cover !important;
		    background-repeat: no-repeat !important;
		}
		@media(min-width: 768px){
			section.banner{
				height: 400px;
				position: relative;
			}	
		}
		/*section.banner:before{
		    content: '';
		    width: 100%;
		    height: 100%;
		    left: 0;
		    top: 0;
		    position: absolute;
		    background: linear-gradient(0deg, var(--backgroundBanner) 25%, rgba(150, 84, 217, 0) 100%);
		}*/
		section.banner .content-title{
			max-width: 1600px;
			margin: 0 auto;
			position: relative;
    		height: 100%;
		}
		section.banner .content-title:before{
			content: '';
		    position: absolute;
		    bottom: 0;
		    right: 0;
		    left: 0;
		    margin: 0 auto;
		    width: 291px;
    		height: 183px;
			background: var(--imageBanner);
		}
		@media(min-width: 768px){
			section.banner .content-title:before{
				margin: 0;
				left: unset;
			}
		}
		section.banner .content-title .title{
			position: absolute;
		    bottom: 74px;
		    right: 0;
		    left: 0;
		    font-weight: bold;
		    font-size: 30px;
		    text-align: center;
		    padding: 0 15px;
		    margin: 0;
		}
		@media(min-width: 768px){
			section.banner .content-title .title{
				font-size: 40px;
			}
		}
		@media(min-width: 992px){
			section.banner .content-title .title{
				/*text-align: right;*/
				font-size: 50px;
			}
		}
	
	/* Section Form */

		form.form-theme .subtitle{
			color: var(--colorbase1);
			margin-bottom: 15px;
		}
		form.form-theme .content-list{
			list-style: none;
			font-size: 1rem;
		}
		form.form-theme .content-list a{
			color: var(--colorbase2);
			font-weight: bolder;
			border-bottom: 2px solid;
		}
		a.link{
			color: var(--colorbase2);
			font-weight: bolder;
			border-bottom: 2px solid;
		}

		form.form-theme label{
			font-size: 20px;
			font-weight: bolder;
			color: var(--colorbase1);
		}

		form.form-theme .form-control{
			background: #ffffff;
			border: none;
			border-bottom: 4px solid;
			border-color: #adb5bd;
			outline: none !important;
			margin-bottom: 20px;
			transition: all 0.4s;
		}
		form.form-theme #nombres,
		form.form-theme #apellidos{
			text-transform: uppercase;
		}
		form.form-theme .form-control:focus{
			border: none;
			border-bottom: 4px solid;
			border-color: #511d5b;
			box-shadow: none;
			transition: all 0.4s;
		}

		form.form-theme .form-group{
			margin-bottom: 2rem;
		}
		form.form-theme .form-group.has-error .form-control{
			border-color: #dc3545;
		}
		form.form-theme .form-group label.error{
			position: absolute;
			bottom: -20px;
			color: #dc3545;
			font-size: 20px;
		}

		form.form-theme button[type="submit"]{
			background: var(--colorbase1);
			font-size: 18px;
			color: #ffffff;
			font-weight: bolder;
			padding: 10px 24px;
			outline: none;
			opacity: 0.8;
			transition: all 0.4s;
		}
		form.form-theme button[type="submit"]:hover{
			opacity: 1;
			transition: all 0.4s;
		}
		form.form-theme button[type="submit"]:active{
			
			outline: none;
		}



		.form-group .upload-file{
			padding: 0 15px;
		}
		@media(min-width: 992px){
			.form-group .upload-file{
			}
		}

		.form-group .upload-file .label-file{
			border-bottom: 4px solid;
	    	border-color: ;
	    	padding: .5rem 0;
	    	height: calc(1.5em + 1rem + 2px);
	    	font-size: 1.25rem;
	    	cursor: pointer;
	    	color: #ffffff;
	    	background: var(--colorbase1);
	    	text-align: center;
		}
		@media(min-width: 992px){
			.form-group .upload-file .label-file{
				background: transparent;
				color: var(--colorbase1);
				border-bottom: 4px solid;
		    	border-color: var(--colorbase1);
		    	padding: .5rem 0;
		    	height: calc(1.5em + 1rem + 2px);
		    	font-size: 1.25rem;
		    	cursor: pointer;
			}
		}
		.form-group .upload-file .input-file{
			position: absolute;
			visibility: hidden;
			opacity: 0;
			left: 0;
			right: 0;
			z-index: -1;
		}
		.form-group .upload-file .view-file{
			border-bottom: 4px solid;
	    	border-color: var(--colorbase1);
	    	padding: .5rem 1rem;
	    	height: calc(1.5em + 1rem + 2px);
	    	font-size: 1.25rem;
		}

		

	
	/* Contenido */

	/* Menu */
		#menu{
			position: fixed;
			top: 0;
			left: 0;
			right: 0;
			width: 100%;
			z-index: 199;
			background: var(--colorbase3);
			border-bottom: 4px solid var(--colorbase2);
			padding: 15px 0;
		}

		@media(min-width: 992px){
			#menu{
				border-bottom: 8px solid var(--colorbase2);
				padding: 18px 0;
			}
		}
		#menu .logo{
			max-width: 200px;
		}
		@media(min-width: 992px){
			#menu .logo{
				max-width: 250px;
			}
		}
	

/* Home */
	/* Seccion 1 */
	section.section1 .head{
		align-items: end;
		padding: 100px 15px;
	}

	@media(min-width: 768px){

	}
	@media(min-width: 992px){
		section.section1 .head{
			padding: 200px 30px;
		}
	}
	section.section1 .head>div{
		max-width: 900px;
	}
	section.section1 .head .text-right{
		display: flex;
		flex-direction: column;
		justify-content: flex-end;
		align-items: end;
	}
	section.section1 .head .title{
		position: relative;
		background: var(--colorbase2);
		padding: 50px 30px 15px 30px;
		font-size: 45px;
		font-weight: bolder;
		color: #ffffff;
		margin-bottom: 20px;
	}
	@media(min-width: 992px){
		section.section1 .head .title{
			font-size: 60px;
		}
	}
	section.section1 .head .title span.title-mini{
		font-size: 13px;
		position: absolute;
		left: 30px;
		top: 20px;
	}
	@media(min-width: 992px){
		section.section1 .head .title span.title-mini{
			font-size: 22px;
		}
	}
	section.section1 .head .title span.slag{
		position: absolute;
		left: -8px;
		top: 25px;
		height: 60px;
		width: 16px;
		background: #ffffff;
	}

	section.section1 .head .description{
		font-size: 20px;
		margin-bottom: 20px;
		color: #ffffff;
		max-width: 400px;
	}
	section.section1 .head .boton{
		border: 2px solid;
	}
	section.section1 .body .full-screen-div:before{
		content: '';
		    width: 100%;
		    height: 100%;
		    left: 0;
		    top: 0;
		    position: absolute;
		    background: linear-gradient(-90deg, #511d5b 1%, rgba(150, 84, 217, 0) 100%);
		    /*background: rgba(81, 29, 91, 0.5);*/
	}

/* Section 2 */
	section.section2 .head{
		align-items: start;
		padding: 100px 15px;
		margin-bottom: 20px;
	}
	@media(min-width: 992px){
		section.section2 .head{
			padding: 200px 30px;
		}
	}
	section.section2 .head>div{
		max-width: 1000px;
	}
	section.section2 .head .text-right{
		display: flex;
		flex-direction: column;
		justify-content: flex-end;
		align-items: end;
	}
	section.section2 .head .title{
		position: relative;
		background: var(--colorbase2);
		padding: 50px 30px 15px 30px;
		font-size: 45px;
		font-weight: bolder;
		margin-bottom: 20px;
		color: #ffffff;
	}
	@media(min-width: 992px){
		section.section2 .head .title{
			font-size: 60px;
		}
	}
	section.section2 .head .title span.title-mini{
		font-size: 13px;
		position: absolute;
		right: 30px;
		top: 20px;
	}
	@media(min-width: 992px){
		section.section2 .head .title span.title-mini{
			font-size: 22px;
		}
	}
	section.section2 .head .title span.slag{
		position: absolute;
		right: -8px;
		top: 25px;
		height: 60px;
		width: 16px;
		background: #ffffff;
	}
	section.section2 .head .description{
		font-size: 20px;
		margin-bottom: 20px;
		color: #ffffff;
		max-width: 600px;
	}
	section.section2 .head .boton{
		border: 2px solid;
	}

	section.section2 .body .full-screen-div:before{
		content: '';
		    width: 100%;
		    height: 100%;
		    left: 0;
		    top: 0;
		    position: absolute;
		    background: linear-gradient(90deg, #661547 1%, rgba(150, 84, 217, 0) 100%);
		    /*background: rgba(102, 21, 71, 0.5);*/
	}

/* Section 3 */
	section.section3 .head{
		align-items: start;
		padding: 100px 15px 50px 15px;
		margin-bottom: 20px;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	@media(min-width: 992px){
		section.section3 .head{
			padding: 150px 30px 90px 30px;
		}
	}
	section.section3 .divisor{
		width: 100%;
		border-bottom: 4px solid var(--colorbase1);
		margin: 0 auto;
		margin-bottom: 50px;
	}
	section.section3 .head>div{
		max-width: 1000px;
	}
	section.section3 .head form{
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		align-items: flex-start;
		max-width: 1200px;
		padding: 0 20px;
		background: #ffffff; 
	}
	@media(min-width: 992px){
		section.section3 .head form{
			padding: 0 60px;
		}
	}
	section.section3 .head .title{
		position: relative;
		font-size: 36px;
		font-weight: bolder;
		margin-bottom: 0px;
		color: var(--colorbase1);
		padding: 30px 0px 30px 30px;
	}
	@media(min-width: 992px){
		section.section3 .head .title{
			padding: 30px;
			font-size: 60px;
		}
	}
	section.section3 .head .title span.slag{
		position: absolute;
		left: -8px;
		top: 25px;
		height: 60px;
		width: 16px;
		background: var(--colorbase1);
	}
	section.section3 .head .description{
		font-size: 20px;
		margin-bottom: 20px;
		color: #ffffff;
		max-width: 600px;
	}
	section.section3 .head .boton{
		border: 2px solid;
	}

	section.section3 .body .full-screen-div:before{
		content: '';
		    width: 100%;
		    height: 100%;
		    left: 0;
		    top: 0;
		    position: absolute;
		    background: linear-gradient(90deg, #661547 1%, rgba(150, 84, 217, 0) 100%);
		    /*background: rgba(102, 21, 71, 0.5);*/
	}

	section.section3 .head .form-notify .nombre{
		color: var(--colorbase1);
	}
	section.section3 .head .form-notify .mensaje>span{
		color: var(--primary);
	}


/*  */
	.onprogress::-webkit-scrollbar{
		width: 0;
	}

	.onprogress{
		position: fixed;
	    background: rgba(81, 29, 91, 0.8);
	    transform: translateX(-100%);
	    top: 0;
	    right: 0;
	    left: 0;
	    bottom: 0;
	    transition: transform 0.4s;
	}
	@media(min-width: 992px){
		.onprogress{
		    padding-left: 250px;
		}
	}
	
	.onprogress.active{
		z-index: 9999;
		transform: translateX(0);
		transition: transform 0.4s;
		
	}

	.onprogress .content-onprogress{
		background: #ffffff;
		display: flex;
	    justify-content: center;
	    align-items: center;
	    flex-direction: column;
	    width: 100%;
	    height: 100%;
	}
	@media(min-width: 992px){
		.onprogress .content-onprogress{
		    flex-direction: row;
		}
	}
	.onprogress .logo{
		max-width: 120px;
		margin-bottom: 10px;
	}
	@media(min-width: 992px){
		.onprogress .logo{
			max-width: 180px;
		}
	}
	.onprogress .title{
		font-size: 22px;
	}
	.onprogress .loader{
		max-width: 150px;
	}
	

/* End Home*/

/* Form Validate */
	form.form-validate{
		position: relative;
	}

/* Popup's */
	/* Aviso */
		#popup-aviso{
			padding: 0;
		}

	/* Popup Error */
		#popup-error{
			background: var(--colorbase1);
		}
		#popup-error .head{
			margin-bottom: 15px;
		}
		#popup-error .head .logo{
			max-width: 400px;
		}
		#popup-error .body .title{
			font-size: 18px;
		}
		#popup-error .body .description{
			font-size: 15px;
		}
		#popup-error .body *{
			text-align: center;
			color: #ffffff;
			font-size: 15px;
			margin: 0;
		}
	/* Popup Success */
		#popup-success{
			background: #ffffff;
		}
		#popup-success .head{
			margin-bottom: 15px;
		}
		#popup-success .head .logo{
			max-width: 400px;
		}
		#popup-success .body .title{
			font-size: 18px;
		}
		#popup-success .body .description{
			font-size: 15px;
		}
		#popup-success .body *{
			text-align: center;
			color: #646464;
			margin: 0;
		}
/* End Popup's */



/* Error 404 */
	section.error-404.contenido{
		padding: 100px 0;
	}
	@media(min-width: 768px){
		section.error-404.contenido{
			padding: 150px 0;
		}
	}
	@media(min-width: 992px){
		section.error-404.contenido{
			padding: 200px 0;
		}
	}
	section.error-404.contenido .head img{
		margin: 0 auto;
		display: block;
	}
	section.error-404.contenido .body p{
		margin: 0;
	}
	section.error-404.contenido .footer{
		margin-top: 20px;
	}

/* Footer Principal*/
	footer.footer{
		background: #382557;
		padding: 50px 0;

	}
	footer.footer .logo{
		width: 100%;
		max-width: 200px;
		margin-bottom: 20px;
	}
	@media(min-width: 992px){
		footer.footer .logo{
			max-width: 300px;
			margin-bottom: 0;
		}
	}


	footer.footer .enlaces label{
		font-size: 20px;
		color: var(--colorbase2);
		padding-bottom: 10px;
		border-bottom: 2px solid var(--colorbase2);
		margin-bottom: 20px;
	}
	footer.footer .enlaces ul{
		padding: 0;
		list-style: none;
	}
	footer.footer .enlaces ul li,footer.footer .enlaces ul li a{
		color: #ffffff;
		font-size: 18px;
		font-weight: 500;
	}
	footer.footer .enlaces ul li a:hover{
		color: var(--colorbase2);
		transition: all 0.4s;
	}

	section.copyright{
		background: #661547;
		padding: 20px 0;
		color: #ffffff;
	}