:root {
	--color-red-light: #ff0a0a;
	--color-red: #bf0000;
	--color-red-dark: #a30000;
	
	--color-light: #d9d9d9;
	--color-gray: #666666;
	--color-gray-dark: ;
	--color-dark: #0f0f0f;

	--shadow: 0 0 16px #0f0f0f;
}

/*GENERAL*/
body {font-family: 'Montserrat', sans-serif; font-size: .9rem; color: var(--color-light); background-color: var(--color-dark); width: 100%; overflow-x: hidden;}
a:focus, a:hover, a:active, li:focus, li:hover, li:active, button:focus, button:hover, button:active, span:focus, span:hover, span:active {outline: 0;}

/* HOVER */
:not(input):not(textarea)::-moz-selection {color: var(--color-dark); background-color: rgba(255,255,255,0.8); text-shadow: none;}
:not(input):not(textarea)::selection {color: var(--color-dark); background-color: rgba(255,255,255,0.8); text-shadow: none;}

a {color: var(--color-light); text-decoration: none !important;}
a:hover {color: #fff;}

/*COLUMNS*/
	.columns-1 {columns: 1;}
	.columns-2 {columns: 2;}
	.columns-3 {columns: 3;}

/*TEXT*/
	h1, .h1 , h2, .h2 , h3, .h3 , h4, .h4 {color: #fff;}
	h1, .h1 {font-size: 2rem; margin-bottom: 2rem;}
	h2, .h2 {font-size: 1.75rem; margin-bottom: 1.75rem;}
	h3, .h3 {font-size: 1.5rem; margin-bottom: 1.5rem;}
	p + h2, p + .h2 {margin-top: 2rem;}
	p + h3, p + .h3 {margin-top: 1.75rem;}
	h4, .h4 {font-size: 1rem; font-weight: 500;}
	.page-header h1, .category-desc h1 {margin-bottom: 2rem; line-height: 1; font-weight: 700; position: relative;}
	.page-header h1:after, .category-desc h1:after {margin-top: 1.5rem; display: block; content: ''; width: 6rem; border-bottom: 1px solid #fff;}
	p, .p {font-size: .8rem;}
	strong, b, .font-weight-bold {font-weight: 700; color: #fff;}
	.lead {font-size: 1.5rem; line-height: 1.2;}
	small, .small {font-size: .6rem;}
	ul.list-chevron {list-style: none; padding-left: 0;}
	ul.list-chevron > li {padding-left: 1rem; position: relative; line-height: 1.2; margin-bottom: .5rem;}
	ul.list-chevron > li:before {color: var(--color-red); content: '\f142'; font-family: 'Material Design Icons'; position: absolute; top: 0; left: 0;}

/*BUTTONS*/
	.btn {border-radius: 0 !important; box-shadow: 0 0 0 3px var(--color-dark), 0 0 0 4px transparent !important; transition: box-shadow 300ms ease !important; text-transform: uppercase;}
	.btn:focus {box-shadow: 0 0 0 3px var(--color-dark), 0 0 0 4px #fff !important;}
	.btn-primary {background-color: var(--color-red) !important; color: #fff !important; border: 0 !important;}
	.btn-primary:hover, .btn-primary:active {background-color: var(--color-red-light) !important;}

/******************************************************************************************************************/
/******************************************************************************************************************/
/******************************************************************************************************************/
/* COMPONENTES */
	/*MODAL*/
		.modal-dialog {padding: 0;}
		.modal-content {border-radius: 0; background: var(--color-dark); border: 1px solid var(--color-red);}
		.modal .close {background: var(--color-red) !important; color: #fff; opacity: 1; margin: 0; cursor: pointer; text-shadow: none; line-height: 1; font-size: 15px; text-align: center; position: absolute; right: 8px; top: 8px; padding: 0; border-radius: 25px; line-height: 25px; width: 25px; height: 25px; opacity: 1 !important;}
		.modal .close:hover {background-color: var(--color-red-light) !important;}
		.modal-header {display: block; border: none;}
		.modal .modal-title {font-size: 1rem; font-weight: 400; color: var(--color-gray); margin-bottom: 0; line-height: 1;}
		.modal .lead {margin-bottom: 1rem; font-size: 1.4rem;}
	/*FORM*/
		.form-group {margin-bottom: 1rem;}
		.form-control {border: 0 !important; border-radius: 0 !important; box-shadow: 0 0 0 3px var(--color-dark), 0 0 0 4px transparent; color: var(--color-dark); transition: box-shadow 300ms ease !important;}
		.form-control:focus {box-shadow: 0 0 0 3px var(--color-dark), 0 0 0 4px #fff !important;}
		.form-control + ul {margin-top: .5rem !important;}
	/*OWL*/
		.owl-carousel .owl-dots {position: absolute; right: 1rem; bottom: 1rem; line-height: 0; }
		.owl-carousel .owl-dot { background-color: #fff; padding: .4rem; margin-right: .3rem; display: inline-block; border-radius: 50%!important; border: 1px solid #ccc; }
		.owl-carousel .owl-dot.active, .owl-carousel .owl-dot:hover { background-color: #000; }
	
	/*MENU RRSS*/
		.menu-rrss .nav-item 			.nav-link {margin-right: 1.5rem;}
		.menu-rrss .nav-item:last-child .nav-link {margin-right: 0;}
		/* SOCIAL ICONS */
			.social-icon {font-size: 0; padding: 0; width: 20px; height: 20px;}
			.social-icon:before {font-size: 20px; line-height: 1;}
			.social-icon.mdi-facebook {width: 15px;}
			.social-icon.mdi-youtube:before {transform: scale(1.4);}
			.social-icon.mdi-behance:before {transform: scale(1.4);}
	/*TRABAJOS*/
		.site.trabajos .item-wrapper {display: inline-block; margin-bottom: 2rem;}
		.site.trabajos .item-wrapper 	   .item-image {margin-bottom: 1rem; overflow: hidden; position: relative; background-color: var(--color-red);}
		.site.trabajos .item-wrapper 	   .item-image img {transform: scale(1.01); opacity: 1; transition: all 300ms ease;}
		.site.trabajos .item-wrapper:hover .item-image img {transform: scale(1.11); opacity: .4; filter: saturate(0);}
		.site.trabajos .item-wrapper 	   .item-image:before {opacity: 0; transition: all 300ms ease; content: '\F099'; font-family: 'Material Design Icons'; font-size: 4rem; position: absolute; top: 0; bottom: 0; left: 0; right: 0; color: #fff; z-index: 1; display: flex; align-items: center; justify-content: center;}
		.site.trabajos .item-wrapper:hover .item-image:before {opacity: 1;}
		.site.trabajos .item-wrapper .item-title {margin-bottom: 0;}
/******************************************************************************************************************/
/*HERO*/
	.hero {min-height: 100vh; display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; position: relative;}
	/*R NAVBAR*/
		.r-navbar {margin-top: 2rem;}
		.r-navbar .navbar {padding: 0; align-items: flex-start; }
		/*NAVBAR-BRAND*/
			.r-navbar .navbar-brand {padding: 0; margin: 0; display: -webkit-flex; display: flex; align-items: center; font-size: 0;}
			.r-navbar a.navbar-brand 	   .haitch {fill: var(--color-light);}
			.r-navbar a.navbar-brand:hover .haitch {fill: #fff;}
			.r-navbar a.navbar-brand 	   .dash {fill: var(--color-red-dark);}
			.r-navbar a.navbar-brand:hover .dash {fill: var(--color-red);}
		/*MAIN MENU*/
		    #mainMenu {justify-content: flex-end;}
		    #mainMenu .menu {-webkit-flex-direction: column; flex-direction: column;}
			#mainMenu .nav-header {display: block; font-size: .7rem; color: var(--color-light); line-height: 1; text-align: right;}
			#mainMenu .nav-item {display: -webkit-flex; display: flex; justify-content: flex-end; margin-bottom: .8rem;}
			#mainMenu .nav-item:last-child {margin-bottom: 0;}
			#mainMenu .nav-item .nav-link {color: var(--color-light); font-size: 1.1rem; line-height: 1; padding: 0; position: relative; display: inline-flex; transition: none !important;}
			#mainMenu .nav-item .nav-link:hover {color: #fff;}
			#mainMenu .nav-item .nav-link::before {content: ''; position: absolute; bottom: -5px; left: 50%; right: 50%; border-bottom: 1px solid #fff; transition: all 300ms ease;}
			#mainMenu .nav-item .nav-link:hover::before {left: 0; right: 0;}
			#mainMenu .nav-item.active .nav-link {color: var(--color-red);}
			#mainMenu .nav-item.active .nav-link::before {border-color: var(--color-red);}
		/*TOOGLER*/
			.r-navbar .navbar-toggler {border: 0; padding: 0;}
			.r-navbar .navbar-toggler-icon {background: initial;}
			.r-navbar .navbar-toggler #navbar-toggler-svg line {-webkit-transition: all .3s ease; transition: all .3s ease; -webkit-transform-origin: 8px 16px; transform-origin: 8px 16px;}
			.r-navbar .navbar-toggler:not(.collapsed) #navbar-toggler-svg #line-middle {stroke: rgba(0,0,0,0)}
			.r-navbar .navbar-toggler:not(.collapsed) #navbar-toggler-svg #line-top {-webkit-transform: rotate(45deg) translate(-2px, 2px); transform: rotate(45deg) translate(-2px, 2px); stroke-width: 3;}
			.r-navbar .navbar-toggler:not(.collapsed) #navbar-toggler-svg #line-bottom {-webkit-transform: rotate(-45deg) translate(-2px, -2px); transform: rotate(-45deg) translate(-2px, -2px); stroke-width: 3;}
		/*AFFIX*/
			/*.r-navbar.affix {position: fixed; top: 0; left: 0; right: 0; z-index: 1000;}*/
			/*.r-navbar.affix #mainMenu {display: none !important;}*/
			/*.r-navbar.affix #mainMenu.show {display: -webkit-flex !important; display: flex !important;}*/
			/*.r-navbar.affix .navbar-toggler {display: block;}*/
	/*R CONTENT*/
		.r-content {margin: 2rem 0; flex: 1 0 auto;}
		.r-content .lead {margin-bottom: 2rem;}
		/*FRONT*/
			.front .r-content .logo-full {margin: 2rem 0; max-width: 100%;}
			.front .r-content .tagline {font-size: 1.2rem; margin-bottom: 4rem; font-weight: 400; line-height: 1; display: -webkit-flex; display: flex; align-items: center;}
			.front .r-content .tagline::before {content: ''; display: block; width: 60px; border-bottom: 1px solid #fff; margin-right: 15px;}
	/*R POST CONTENT*/
		.r-post-content {margin-bottom: 1rem;}
		.r-post-content .text-slider .item-wrapper p {font-size: 1rem; margin-bottom: 0; line-height: 1.2;}
		.r-post-content .bounce-arrow {display: inline-block;}
		.r-post-content .mdi.mdi-arrow-down {display: inline-block; width: 48px; height: 48px;}
		.r-post-content .mdi.mdi-arrow-down:before {font-size: 48px; line-height: 1;}

/*R BOTTOM*/
	.r-bottom {padding-top: 1.5rem;}
	.r-bottom h2, .h2 {font-size: 3.6rem; font-weight: 700; line-height: 1; margin-bottom: 1.6rem; text-shadow: var(--shadow);}
	.r-bottom img {position: relative; z-index: -1;}
	.r-bottom .container {position: relative; padding-top: 45px; padding-bottom: 45px; margin-bottom: 30px;}
	.r-bottom .container:before {border: 1px solid var(--color-light); content: ''; position: absolute; top: 0; bottom: 0; left: -30px; right: -30px;}
	.r-bottom .container-1 h2, .r-bottom .container-1b h2 {margin-top: -30px;}
	.r-bottom .container-2 h2 {margin-right: -100%;}
	.r-bottom .container-2b h2 {margin-left: calc(-100% - 30px);}

/*R PRE FOOTER*/
	.r-pre-footer {padding: 30px 0;}
	.r-pre-footer h3 {font-size: 2rem;}
	.r-pre-footer ul {margin-bottom: 1.6rem;}

/*R FOOTER*/
	.r-footer {border-top: 1px solid var(--color-red); padding: 4rem 0 2rem;}
	.r-footer h2 {margin-bottom: 2rem;}
	.r-footer address {margin-left: 2rem; margin-bottom: 0;}
	.r-footer address a {margin-bottom: .5rem;}
	.r-footer address a:last-child {margin-bottom: 0;}
	.r-footer .menu-rrss {margin-bottom: 2rem;}
	.r-footer .menu-footer a {font-size: .8rem;}

/*R COPYRIGHT*/
	.r-copyright {padding: .5rem 0; text-align: center; color: var(--color-gray);}

/*404 & THANKS*/
	.site.error-404 p,
	.site.gracias p {margin-bottom: .5rem;}
	.site.error-404 .lead,
	.site.gracias   .lead {font-size: 1.5rem; margin-bottom: 0; line-height: 1.6rem; font-weight: 500;}

/******************************************************************************************************************/
/******************************************************************************************************************/
/******************************************************************************************************************/
/*MEDIA QUERIES*/
@media (max-width: 1199px) {
	h2, .h2 {font-size: 3rem;}
	h3, .h3 {font-size: 1.3rem; margin-bottom: 1.3rem;}
}
/******************************************************************************************************************/
@media (min-width: 992px) {
	/*R BOTTOM*/
		.r-bottom .container-3 h2, .r-bottom .container-3b h2 {margin-bottom: -25px;}
}
@media (max-width: 991px) {
	/*R BOTTOM*/
		.r-bottom .container h2 {font-size: 2.5rem;}
	/*R PRE FOOTER*/
		.r-pre-footer h3 {font-size: 1.6rem;}
}
@media (max-width: 991px) and (min-width: 768px) {
	/*R BOTTOM*/
		.r-bottom .container-2b img {margin-top: 4.7rem;}
		.r-bottom .container-3 h2 {margin-bottom: -20px;}
}
/******************************************************************************************************************/
@media (max-width: 767px) {
	/*R BOTTOM*/
		.r-bottom .container h2 {font-size: 2rem; margin-top: 0; margin-left: 0; margin-right: 0;}
	/*R FOOTER*/
		.r-footer address {margin-left: 0;}
}
/******************************************************************************************************************/
@media (max-width: 575px) {
	h1, .h1 {font-size: 2rem;}
	h2, .h2 {font-size: 1.9rem; font-weight: 700; line-height: 1; margin-bottom: 1.3rem;}
	h4, .h4 {font-size: 1rem; font-weight: 500;}
	/* COMPONENTES */
		/*MENU RRSS*/
			/* .menu-rrss .nav-item .nav-link {margin-right: .8rem;} */
	/*HERO*/
		.hero {min-height: 88vh;}
		/*R NAVBAR*/
			/*.r-navbar.affix {position: fixed; top: 0; left: 0; right: 0; width: 100%; z-index: 1000;}*/
			/*MAIN MENU*/
				#mainMenu {}
				#mainMenu .nav {margin-top: .5rem;}
	/*R BOTTOM*/
		.r-bottom .container {margin-bottom: 0; border-top: 1px solid var(--color-light);}
		.r-bottom .container:before {display: none;}
	/*R PRE FOOTER*/
		.r-pre-footer {border-top: 1px solid var(--color-light);}
	/*R FOOTER*/
		.r-footer address {margin-bottom: 2rem;}
}
/******************************************************************************************************************/
@media (max-width: 458px) {
	/*R CONTENT*/
		/*FRONT*/
			.front .r-content .logo-full {margin-bottom: 7vw;}
			.front .r-content .tagline::before {width: 14%;}
			.front .r-content .tagline {font-size: 1rem;}
}
/******************************************************************************************************************/
@media (max-width: 374px) {
	/* COMPONENTES */
		/*MENU RRSS*/
			.menu-rrss {margin-bottom: -1rem;}
			.menu-rrss .nav-item {width: 50%;}
			/* .menu-rrss .nav-item .nav-link {margin: 0 auto 1rem;} */
}