/*
==================================================================
Theme Name: Academia CEL
Version: 1.0
Author: Neobrand
Author URI: https://neobrand.com
==================================================================
Rojo
color: #e40713;
Azul
color: #272360;
*/

/* General */

html,
body {
	width: 100%;
	color: #3c3c3b;
	font-family: 'Roboto', sans-serif;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	float: left;
}

::-moz-selection {
	color: white;
	background: #e40713;
	text-shadow: 0 0 0 transparent;
}

::selection {
	color: white;
	background: #e40713;
	text-shadow: 0 0 0 transparent;
}

.wrapper {
	width: 100%;
	max-width: 1400px;
	transform: translateX(-50%);
	float: left;
	position: relative;
	left: 50%;
}

hr {
	width: 100%;
	margin: 0;
	border: 0;
	border-top: 2px solid rgba(39, 35, 97, 0.1);
	float: left;
}

hr.mt {
	margin-top: 40px;
}

hr.mb {
	margin-bottom: 40px;
}

hr.mtb {
	margin-top: 40px;
	margin-bottom: 40px;
}

h1,
h2,
h3,
h4,
h5 {
	width: 100%;
	margin: 0 0 30px 0;
	float: left;
}

p,
ul,
ol {
	width: 100%;
	margin: 0 0 20px 0;
	font-size: 22px;
	line-height: 30px;
	font-weight: 400;
	text-align: justify;
	hyphens: auto;
	float: left;
}

#main .wrapper ul,
#main .wrapper ol {
	text-align: left;
	line-height: 1;
}

#main .wrapper li:not(.blocks-gallery-item) {
	width: calc(100% - 20px);
	font-size: 22px;
	line-height: 30px;
	margin-left: 20px;
	margin-bottom: 10px;
	float: left;
}

#main .wrapper ul li:not(.blocks-gallery-item) {
	list-style-type: disc;
}

#main .wrapper ol li {
	list-style-type: decimal;
}

* > p:last-child {
	margin-bottom: 0;
}

a {
	color: #e40713;
	text-decoration: none;
	transition: all 280ms ease;
}

a:hover {
	color: #272360;
}

.button {
	padding: 10px 20px;
	font-size: 18px;
	border-radius: 50px;
	background-color: #e40713;
	color: #fff;
	display: inline-block;
}

.button.big {
	padding: 15px 25px;
	font-size: 24px;
}

.button:hover {
	transform: scale(1.1);
	color: #fff;
}

.button.center {
	transform: translateX(-50%);
	float: left;
	position: relative;
	left: 50%;
}

.button.center:hover {
	transform: translateX(-50%) scale(1.1);
}

/* Header */
#header {
	width: 100%;
	height: 140px;
	border-bottom: 2px solid #272360;
	background-color: #fff;
	transition: all 280ms ease;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 10;
}

#header::after {
	content: '';
	width: 45%;
	height: 100px;
	background-color: #272360;
	transition: all 280ms ease;
	position: absolute;
	right: 0;
	bottom: -2px;
	z-index: -1;
}

#header #top {
	width: 100%;
	height: 40px;
	justify-content: flex-end;
	align-items: center;
	display: flex;
	float: left;
}

#header #top .contacts {
	width: auto;
	float: right;
}

#header #top .contacts div {
	font-size: 16px;
	float: left;
	position: relative;
}

#header #top .contacts div a {
	color: #272360;
}

#header #top .contacts div a:hover {
	color: #e40713;
}

#header #top .contacts .phones a {
	margin-right: 15px;
	float: left;
}

#header #top .contacts .phones a:last-child {
	margin-right: 0;
}

#header #top .contacts .social {
	margin-left: 15px;
}

#header #top .contacts .social a {
	font-size: 18px;
}

#header #top .contacts .social a {
	margin-left: 15px;
}

#header #logo {
	width: 250px;
	height: auto;
	margin-top: 5px;
	float: left;
}

#header .menu {
	width: 50%;
	height: 100px;
	margin-bottom: 0;
	justify-content: flex-end;
	align-items: center;
	display: flex;
	background-color: #272360;
	transition: all 280ms ease;
	float: right;
	position: relative;
}

#header .menu::before {
	content: '';
	width: 182px;
	height: 100px;
	background-image: url('images/curve.png');
	background-repeat: no-repeat;
	background-position: center;
	background-size: 100% auto;
	transform: translateX(-100%);
	transition: all 280ms ease;
	position: absolute;
	left: 1px;
	bottom: 0;
}

#header .menu li {
	margin-left: 25px;
	float: left;
}

#header .menu li:first-child {
	margin-left: 0;
}

#header .menu li a {
	font-size: 18px;
	font-weight: 500;
	color: #fff;
	text-transform: uppercase;
	opacity: 0.5;
}

#header .menu li:hover a,
#header .menu li.current_page_item a {
	opacity: 1;
}

#header.fixed {
	height: 110px;
}

#header.fixed::after,
#header.fixed .menu,
#header.fixed .menu::before {
	height: 70px;
}

#header.fixed .menu::before {
	width: 127px;
}

#header.fixed #logo {
	margin-top: -20px;
}

#header #mobile {
	display: none;
}

/* Body */
#intro {
	width: 100%;
	height: 670px;
	margin-top: 109px;
	border-bottom: 2px solid #e40713;
	overflow: hidden;
	justify-content: center;
	align-items: stretch;
	display: flex;
	float: left;
	position: fixed;
}

#intro::after {
	content: '';
	width: 100%;
	height: 100%;
	background-color: #272360;
	opacity: 0.8;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 3;
}

#intro figure img {
	object-fit: cover;
}

#intro .content {
	padding: 0 20px;
	transform: translate(-50%, -50%);
	color: #fff;
	text-align: center;
	position: absolute;
	top: calc(50% + 15px);
	left: 50%;
	z-index: 5;
}

#intro .content p {
	font-weight: 500;
	text-align: center;
	line-height: 1;
}

#intro .content p:nth-child(1) {
	font-size: 40px;
}

#intro .content p:nth-child(2) {
	font-size: 60px;
	font-weight: 900;
}

#intro .content p:nth-child(3) {
	font-size: 24px;
}

#intro .content a.button {
	margin-top: 15px;
	font-size: 22px;
}

#main {
	width: 100%;
	padding-bottom: 60px;
	margin-top: 200px;
	background-color: #fff;
	float: left;
	position: relative;
	z-index: 3;
}

.home #main {
	margin-top: 780px;
}

#main #shortcuts {
	width: 100%;
	height: 300px;
	margin-bottom: 40px;
	border-radius: 0 0 10px 10px;
	background-color: #f6f6f6;
	overflow: hidden;
	float: left;
	position: relative;
}

#main #shortcuts::before {
	content: '';
	width: 2px;
	height: 100%;
	background-color: #fff;
	transform: translateX(-50%);
	align-items: center;
	display: flex;
	position: absolute;
	top: 0;
	left: 50%;
}

#main #shortcuts a {
	width: 50%;
	height: 100%;
	padding: 30px;
	transition: all 280ms ease;
	align-items: center;
	display: flex;
	float: left;
}

#main #shortcuts a:hover {
	background-color: #ddd;
}

#main #shortcuts a:last-child {
	flex-flow: row-reverse;
}

#main #shortcuts a .icon {
	min-width: 150px;
	height: 150px;
	border-radius: 10px;
	float: left;
}

#main #shortcuts a .icon {
	transition: all 280ms ease;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
}

#main #shortcuts a:hover .icon {
	transform: scale(1.1);
}

#main #shortcuts a:first-child .icon {
	background-image: url('images/convocatorias.svg');
	margin-right: 20px;
	float: left;
}

#main #shortcuts a:last-child .icon {
	background-image: url('images/entrevista.svg');
	margin-left: 20px;
	float: right;
}

#main #shortcuts a .text span {
	width: 100%;
	font-size: 30px;
	color: #e40713;
	float: left;
}

#main #shortcuts a .text strong {
	width: 100%;
	color: #272360;
	font-size: 24px;
	float: left;
}

#main #shortcuts a:last-child .text strong:last-child {
	margin-top: 20px;
	padding: 17px 20px 16px;
	color: white;
	background: #e40913;
	border-radius: 30px;
	font-size: 20px;
	display: block;
	max-width: 240px;
	margin-left: auto;
	text-align: center;
	transition: all 280ms ease;
}

#main #shortcuts a:last-child:hover .text strong:last-child {
	transform: scale(1.1);
}

#main #shortcuts a:last-child .text {
	text-align: right;
	display: flex;
	flex-direction: column;
}

#main #about {
	width: 100%;
	margin-bottom: 40px;
	align-items: stretch;
	display: flex;
	flex-flow: row-reverse;
	float: left;
}

#main #about .block {
	width: 50%;
	float: left;
}

#main #about .block:first-child {
	padding-left: 20px;
	float: right;
}

#main #about .block #slider {
	width: 100%;
	float: left;
}

#main #about .block #thumbs {
	width: 100%;
	margin-top: 5px;
	justify-content: space-between;
	align-items: stretch;
	display: flex;
	float: left;
}

#main #about .block #thumbs .owl-thumb-item {
	width: 100%;
	height: 100%;
	padding: 0;
	margin-right: 5px;
	border-bottom: 3px solid transparent;
	overflow: hidden;
	cursor: pointer;
	float: left;
	position: relative;
}

#main #about .block #thumbs .owl-thumb-item:last-child {
	margin-right: 0;
}

#main #about .block #thumbs .owl-thumb-item figure {
	width: 100%;
	height: 100%;
	overflow: hidden;
	background-color: #000;
	float: left;
}

#main #about .block #thumbs .owl-thumb-item img {
	width: 100%;
	height: 100%;
	opacity: 0.5;
	object-fit: cover;
	transition: all 560ms ease;
	float: left;
}

#main #about .block #thumbs .owl-thumb-item:hover,
#main #about .block #thumbs .owl-thumb-item.active {
	border-bottom: 3px solid #e40713;
}

#main #about .block #thumbs .owl-thumb-item:hover img,
#main #about .block #thumbs .owl-thumb-item.active img {
	opacity: 1;
}

#main #about .block:last-child {
	padding-right: 20px;
}

#main #about .block h1 {
	font-size: 30px;
	color: #272360;
}

#main #about #spec {
	margin-top: 50px;
	align-items: center;
	display: flex;
	float: right;
}

#main #about #spec p {
	width: 220px;
	margin-bottom: 0;
	margin-right: 20px;
	font-size: 16px;
	line-height: 20px;
	font-weight: 500;
	text-align: left;
}

#main #about #spec .icon {
	width: 60px;
	height: 85px;
	background-image: url('images/policia-nacional.svg');
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	float: left;
}

#main #cta {
	width: 100%;
	padding: 40px;
	margin: 40px 0;
	border-radius: 10px;
	background-color: #272360;
	align-items: center;
	display: flex;
	float: left;
}

#main #cta .info {
	align-items: center;
	display: flex;
	float: left;
}

#main #cta .icon {
	min-width: 115px;
	height: 115px;
	margin-right: 30px;
	background-image: url('images/contacto.svg');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	float: left;
}

#main #cta .text {
	color: #fff;
	float: left;
}

#main #cta .text p:first-child {
	font-size: 40px;
	line-height: 44px;
}

#main #cta .text p:last-child {
	font-size: 24px;
}

#main #cta .text strong {
	width: 100%;
	float: left;
}

#main #cta .wpcf7 .acceptance label {
	padding-left: 17px;
	font-size: 14px;
}

#main #cta .wpcf7 .acceptance label a i {
	font-size: 10px;
}

#main #cta .wpcf7 .acceptance label::before {
	width: 12px;
	height: 12px;
	position: absolute;
	top: 0;
	left: 0;
}

.wpcf7,
.wpcf7 form {
	width: 100%;
	float: right;
}

.wpcf7 form {
	align-items: stretch;
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	position: relative;
}

.wpcf7 .block:nth-child(1) {
	position: absolute;
}

.wpcf7 .block:nth-child(2),
.wpcf7 .block:nth-child(3) {
	width: calc(50% - 10px);
}

.wpcf7 .block:nth-child(4) {
	width: 100%;
	padding-right: 0;
	justify-content: space-between;
	align-items: center;
	display: flex;
}

.wpcf7 .block > span {
	width: 100%;
	color: #fff;
	margin-bottom: 5px;
	float: left;
}

.wpcf7 .block > span[data-name="acceptance"] {
	margin-bottom: 0;
}

.wpcf7 .block > span:last-child {
	margin-bottom: 0;
}

.wpcf7 .block input::placeholder,
.wpcf7 .block textarea::placeholder {
	color: white;
	opacity: 1;
}

.wpcf7 .block input:-ms-input-placeholder,
.wpcf7 .block textarea:-ms-input-placeholder {
	color: white;
}

.wpcf7 .block input::-ms-input-placeholder,
.wpcf7 .block textarea::-ms-input-placeholder {
	color: white;
}

.wpcf7 .block input:not([type="checkbox"]):not([type="submit"]),.wpcf7 .block textarea {
	width: 100%;
	height: 40px;
	padding: 5px;
	border: 0;
	border-left: 5px solid transparent;
	font-weight: 300;
	background-color: rgba(255, 255, 255, 0.3);
	transition: all 280ms ease;
	color: #fff;
	float: left;
}

.wpcf7 input.wpcf7-not-valid,
.wpcf7 .block textarea.wpcf7-not-valid {
	border-left-color: #ff5722 !important;
}

.wpcf7 .block input:not([type="checkbox"]):not([type="submit"]):last-child {
	margin-bottom: 0;
}

.wpcf7 .block textarea {
	height: 130px;
	resize: none;
}

.wpcf7 .block .wpcf7-list-item {
	margin-left: 0;
}

.wpcf7 .acceptance label {
	width: 100%;
	color: #fff;
	cursor: pointer;
	float: left;
	position: relative;
}

.wpcf7 .acceptance label span {
	width: auto;
	float: left;
}

.wpcf7 .acceptance label a {
	color: #fff;
}

.wpcf7 .acceptance label a:hover {
	opacity: 0.75;
}

.wpcf7 .acceptance label a i {
	font-size: 14px;
	opacity: 0;
	transform: scale(0);
	transition: all 280ms ease;
	position: relative;
	top: -2px;
}

.wpcf7 .acceptance label a:hover i {
	opacity: 1;
	transform: scale(1);
}

.wpcf7 .acceptance label input {
	width: 16px;
	height: 16px;
	opacity: 0;
	cursor: pointer;
	position: absolute;
	top: 0;
	left: 0;
}

.wpcf7 .acceptance label::before {
	content: '\f00c';
	width: 16px;
	height: 16px;
	margin: 1px 5px 0 0;
	background-color: rgba(255, 255, 255, 0.3);
	transition: all 280ms ease;
	font-size: 10px;
	font-family: 'Font Awesome 5 Free';
	color: transparent;
	font-weight: 900;
	display: flex;
	align-items: center;
	justify-content: center;
	float: left;
}

.wpcf7 .acceptance label:hover::before {
	background-color: rgba(255, 255, 255, 0.5);
}

.wpcf7 .acceptance label.checked::before {
	background-color: #fff;
	background-color: rgba(255, 255, 255, 1);
	color: #fff;
}

.wpcf7 .block input[type="submit"] {
	width: fit-content;
	min-width: 200px;
	height: 50px;
	border: 0;
	border-radius: 0;
	color: #fff;
	background-color: #e40713;
	transition: all 280ms ease;
	cursor: pointer;
	float: left;
}

.wpcf7 input[type="submit"]:disabled {
	opacity: 1;
	cursor: not-allowed;
	background-color: rgba(255, 255, 255, 0.5);
	color: rgba(255, 255, 255, 0.5);
}

.wpcf7 .block:nth-child(4) .wpcf7-spinner {
	width: 24px;
	margin: 0;
	background-color: #e40913;
	transform: translate(-50%);
	position: absolute;
	top: 50%;
	left: 50%;
}

.wpcf7 span.wpcf7-not-valid-tip {
	display: none !important;
}

.wpcf7 div.wpcf7-validation-errors {
	width: 100%;
	margin: 0;
	padding: 5px 0 0 0;
	border: 0;
	border-top: 2px solid #fff;
	color: #fff;
	text-align: center;
	font-size: 15px;
	font-weight: 300;
	transform: translateY(100%);
	position: absolute;
	bottom: -5px;
	left: 0;
}

.wpcf7 div.wpcf7-mail-sent-ok {
	width: 100%;
	height: 100%;
	padding: 0;
	margin: 0;
	background-color: #272360;
	border: 2px solid #fff;
	color: #fff;
	justify-content: center;
	align-items: center;
	display: flex !important;
	position: absolute;
	top: 0;
	left: 0;
}

.wpcf7 form.invalid .wpcf7-response-output {
	display: none !important;
}

#main #inscripcion p:last-child {
	margin-top: 30px;
	text-align: center;
}

#main #inscripcion .wpcf7 form {
	padding: 30px 30px 0 30px;
	border: 2px solid #eaeaea;
	background-color: #f5f5f5;
	display: block;
}

#main #inscripcion .wpcf7 form > div {
	width: calc(100% / 3 - 80px / 3);
	margin-right: 40px;
	margin-bottom: 30px;
	float: left;
}

#main #inscripcion .wpcf7 form > div:nth-child(3n+4) {
	margin-right: 0;
}

#main #inscripcion .wpcf7 form > div label {
	width: 100%;
	margin-bottom: 5px;
	float: left;
}

#main #inscripcion .wpcf7 form > div .wpcf7-form-control-wrap[data-name="sexo"] {
	width: 100%;
	height: 40px;
	padding: 10px;
	border: 2px solid #eaeaea;
	background-color: #fff;
	line-height: 0;
	align-items: center;
	display: flex;
	float: left;
}

#main #inscripcion .wpcf7 form > div .wpcf7-form-control-wrap[data-name="sexo"] label {
	margin-bottom: 0;
}


#main #inscripcion .wpcf7 form > div .wpcf7-list-item {
	margin-left: 0;
}

#main #inscripcion .wpcf7 form > div .wpcf7-form-control-wrap[data-name="sexo"] .wpcf7-list-item.first {
	margin-right: 10px;
}

#main #inscripcion .wpcf7 form > div input:not([type="radio"]):not([type="checkbox"]):not([type="submit"]) {
	width: 100%;
	height: 40px;
	padding: 10px;
	border: 2px solid #eaeaea;
}

#main #inscripcion .wpcf7 .wpcf7-acceptance label {
	margin-bottom: 0;
	font-size: 18px;
	color: #3c3c3a;
}

#main #inscripcion .wpcf7 .wpcf7-acceptance label::before {
	border: 1px solid #3c3c3a;
}

#main #inscripcion .wpcf7 .wpcf7-acceptance label.checked::before {
	background-color: #3c3c3a;
}

#main #inscripcion .wpcf7 .wpcf7-acceptance label a {
	color: #e40713;
}

#main #inscripcion .wpcf7 form > div.priv {
	width: calc((100% / 3) * 2);
	margin-right: 0;
}

#main #inscripcion .wpcf7 form > div.submit {
	margin-right: 0;
	float: right;
}

#main #inscripcion .wpcf7 form > div.submit input {
	width: 100%;
	height: 50px;
	border: 0;
	color: #fff;
	background-color: #e40713;
	transition: all 280ms ease;
	cursor: pointer;
	float: left;
}

#main #inscripcion .wpcf7 form > div.submit input:hover:disabled {
	transform: none;
}

#main #inscripcion .wpcf7 form > div.submit input:disabled {
	opacity: 0.25;
	filter: grayscale(100%);
	cursor: not-allowed;
}

#main #inscripcion .wpcf7 div.wpcf7-validation-errors {
	width: 100% !important;
	padding-top: 20px;
	margin-bottom: 30px !important;
	font-size: 18px;
	font-weight: 500;
	color: #ff5722;
	border-top-color: #ff5722;
	transform: none;
	position: static;
	float: left;
}

#main #features {
	margin-top: 40px;
	align-items: center;
	display: flex;
	transform: translateX(-50%);
	float: left;
	position: relative;
	left: 50%;
}

#main #features .block {
	padding-left: 20px;
	padding-right: 80px;
	float: left;
	position: relative;
}

#main #features .block::before {
	content: '';
	width: 5px;
	height: 100%;
	border-radius: 100px;
	background-color: #f6f6f6;
	position: absolute;
	top: 0;
	left: 0;
}

#main #features .block .seal {
	align-items: center;
	display: flex;
	float: left;
}

#main #features .block .seal .icon {
	width: 50px;
	height: 50px;
	margin-right: 20px;
	background-image: url('images/garantia.svg');
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	float: left;
}

#main #features .block .content {
	margin-top: 30px;
	margin-bottom: 80px;
	clear: both;
	float: left;
}

#main #features .block .content .number {
	font-size: 90px;
	color: #e40713;
	float: left;
}

#main #features .block .content .text {
	text-transform: uppercase;
	font-weight: 300;
	clear: both;
	float: left;
}

#main #features .block .content .text p {
	font-size: 28px;
}

#main #features .block .content .text span,
#main #features .block .content .text strong {
	clear: both;
	float: left;
}

#main #blog {
	width: 100%;
	margin-top: 60px;
	margin-bottom: 20px;
	float: left;
}

#main #blog .block {
	width: 50%;
	float: left;
}

#main #blog .block h4 {
	margin-bottom: 10px;
}

#main #blog .block:first-child {
	padding-right: 20px;
}

#main #blog .block:last-child {
	padding-left: 20px;
}

#main #blog .block h3 {
	margin-top: 30px;
	margin-bottom: 10px;
	font-size: 26px;
	font-weight: 300;
	color: #272360;
}

#main #blog .block .cta {
	width: fit-content;
	padding-bottom: 5px;
	margin-bottom: 20px;
	border-bottom: 2px solid #e40713;
	color: #e40713;
	float: left;
}

#main #blog .block p {
	font-size: 17px;
	line-height: 1.4;
}

#main #blog .block article {
	width: 100%;
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: 2px solid rgba(39, 35, 97, 0.1);
	float: left;
}

#main #blog .block article:last-child {
	padding-bottom: 0;
	margin-bottom: 0;
	border-bottom: 0;
}

#main #blog .block figure {
	background-color: #272360;
	cursor: pointer;
	overflow: hidden;
	position: relative;
}

#main #blog .block:first-child figure img {
	transition: all 280ms ease 140ms;
	opacity: 0.5;
}

#main #blog .block:first-child figure iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

#main #blog .block:first-child figure:hover img {
	transform: scale(1.1);
}

#main #blog .block figure .play {
	width: 100px;
	height: 113px;
	background-image: url('images/play.svg');
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	transform: translate(-50%, -50%) scale(0.75);
	opacity: 0.5;
	transition: all 280ms ease;
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 3;
}

#main #blog .block figure:hover .play {
	transform: translate(-50%, -50%) scale(1);
	opacity: 1;
}

#main #blog .block:last-child .content {
	width: 50%;
	float: left;
	padding-left: 20px;
}

#main #blog .block:last-child figure {
	width: calc(50% - 20px);
	min-height: 150px;
	margin-right: 20px;
	overflow: hidden;
	float: left;
}

#main #blog .block:last-child figure img {
	transition: all 280ms ease;
}

#main #blog .block:last-child figure:hover img {
	transform: scale(1.1);
}

#main #blog .block:last-child .content h3 {
	margin-top: 0;
}

#main #blog .block:last-child .content h3 a {
	color: #272360;
	float: left;
}

#main #blog .block:last-child .content h3::after {
	content: '';
	width: 30%;
	margin-top: 10px;
	border-bottom: 2px solid #e40713;
	clear: both;
	float: left;
}

#main #blog .block:last-child .content h3 a:hover {
	color: #e40713;
}

#main .page-title {
	width: 100%;
	font-size: 24px;
	color: #272360;
	float: left;
	position: relative;
}

#main .page-title::after {
	content: '';
	width: 100px;
	border-bottom: 2px solid #e40713;
	position: absolute;
	left: 0;
	bottom: -5px;
}

#main .wp-block-gallery.team .blocks-gallery-item {
	overflow: hidden;
}

#main .wp-block-gallery.team .blocks-gallery-item figcaption {
	width: 100%;
	padding: 10px;
	font-size: 16px;
	background: none;
	opacity: 0;
	transform: translateY(20px);
	transition: all 560ms ease;
	background-color: #272360;
}

#main .wp-block-gallery.team figure:hover figcaption {
	opacity: 1;
	transform: translateY(0);
}

#main .wp-block-gallery.team .blocks-gallery-item figcaption strong {
	width: 100%;
	font-size: 18px;
	float: left;
}

#main .wp-block-columns {
	width: 100%;
	margin-bottom: 40px;
	float: left;
}

#main .wp-block-columns .wp-block-image {
	padding-right: 20px;
}

.wp-block-column ul{
	padding-right: 20px;
}

#main .wp-block-columns .wp-block-image {
	margin-bottom: 0;
}

#main .wp-block-columns .wp-block-column h3 {
	font-weight: 300;
	color: #272360;
	align-items: center;
	display: flex;
}

#main .wp-block-columns .wp-block-column h3:last-child {
	margin-bottom: 0;
}

#main .wp-block-columns .wp-block-column h3 img {
	width: 120px;
	min-width: 120px;
	max-width: 120px;
	margin-right: 20px;
}

#main .wp-block-table thead {
	background-color: #e40713;
	color: #fff;
	font-size: 28px;
	text-transform: uppercase;
}

#main .sheet {
	width: 100%;
	padding: 40px;
	margin-top: 20px;
	margin-bottom: 40px;
	background: #272360;
	border-radius: 0px;
	border: 2px solid #18163c;
	float: left;
	position: relative;
}

#main .sheet figure {
	width: calc(50% - 60px);
	height: calc(100% - 80px);
	overflow: hidden;
	position: absolute;
	right: 40px;
	top: 40px;
}

#main .sheet figure img {
	border-radius: 5px;
	object-fit: cover;
}

#main .sheet .content {
	width: 50%;
	padding-right: 20px;
	float: left;
}

#main .sheet .content h3 {
	font-size: 26px;
	color: #fff;
}

#main .sheet .content p {
	color: #fff;
	font-weight: 400;
}

#main .sheet .content h3 span {
	width: 100%;
	font-size: 18px;
	margin: 10px 0 5px 0;
	font-weight: 400;
	text-transform: uppercase;
	float: left;
}

#main .sheet .content h5,
#main .sheet .content h4 {
	margin: 10px 0;
	font-size: 24px;
	font-weight: 400;
	color: #e40713;
}

#main .sheet .content h5,
#main .sheet .content h4 {
	width: auto;
	padding-bottom: 5px;
	font-weight: 600;
	color: #fff;
	clear: both;
}

#main .sheet .content ul li {
	padding-left: 30px;
	margin-bottom: 10px;
	margin-left: 0;
	font-weight: 400;
	list-style: none;
	color: #fff;
	position: relative;
}

#main .sheet .content ul li:last-child {
	margin-bottom: 0;
}

#main .sheet .content ul li i {
	font-size: 16px;
	margin-right: 10px;
	color: #e40713;
	transform: translateY(-50%);
	position: absolute;
	top: 50%;
	left: 0;
}

#main .horario {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 50px;
}

#main #pruebas table {
	margin: 40px 0;
}

#main .horario table,
#main #pruebas table {
	width: 100%;
	border-spacing: 0;
	border-collapse: collapse;
	table-layout: fixed;
}

#main .horario thead,
#main #pruebas tbody tr:first-child {
	padding: 20px 0;
	font-size: 20px;
	font-weight: bold;
	background-color: #272360;
	color: #fff;
}

#main .horario tbody,
#main #pruebas tbody {
	background-color: #f6f6f6;
}

#main .horario tr {
	height: 60px;
}

#main #pruebas table tr {
	height: 50px;
}

#main .horario tr:not(:last-child),
#main #pruebas tr:not(:last-child) {
	border-bottom: 1px solid #eaeaea;
}

#main .horario tr td:nth-child(1),
#main .horario tr td:nth-child(2),#main #pruebas table td {
	border-right: 1px solid #eaeaea;
}

#main .horario tabel:last-child tr td:nth-child(2) {
	border-right: 0;
}

#main .horario td,
#pruebas table tr {
	padding: 10px;
	text-align: center;
}

#main .button {
	margin-top: 10px;
}

#main .wp-block-image {
	width: 100%;
	margin-bottom: 30px;
	float: left;
}

#main .wp-block-gallery {
	width: 100%;
	margin-bottom: 14px;
}

#main .wp-block-gallery.lg figure {
	position: relative;
	overflow: hidden;
}

#main .wp-block-gallery.lg figure::after {
	content: '\f065';
	width: 100%;
	height: 100%;
	background-color: rgba(228, 7, 19, 0.75);
	font-family: 'Font Awesome 5 Free';
	color: #fff;
	justify-content: center;
	align-items: center;
	display: flex;
	font-weight: 900;
	pointer-events: none;
	transform: scale(1);
	opacity: 0;
	transition: all 560ms ease;
	position: absolute;
	top: 0;
	left: 0;
}

#main .wp-block-gallery.lg figure:hover::after {
	transform: scale(1.5);
	opacity: 1;
}

#main .wp-block-table:not(.cookies) {
	width: 80%;
	margin-left: 10%;
	float: left;
}

#main .wp-block-table table {
	border-spacing: 0px;
	border-collapse: separate;
}

#main .wp-block-table thead th {
	padding: 20px 30px;
	font-weight: 300;
	border-bottom: 2px solid #fff;
}

#main .wp-block-table thead th:first-child {
	border-right: 20px solid #fff;
}

#main .wp-block-table thead th:last-child {
	border-left: 20px solid #fff;
}

#main .wp-block-table tbody {
	background-color: #f2f2f2;
}

#main .wp-block-table tbody td {
	padding: 20px 30px;
}

#main .wp-block-table:not(.cookies) tbody td::before {
	content: '\f00c';
	margin-right: 5px;
	color: #4caf50;
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	display: inline-block;
}

#main .wp-block-table tbody td:first-child {
	border-right: 20px solid #fff;
}

#main .wp-block-table tbody td:last-child {
	border-left: 20px solid #fff;
}

#main .wp-block-table tfoot td {
	text-align: center;
}

#main .wp-block-table tfoot .button {
	margin: 30px 0;
}

#main .team {
	margin-bottom: 14px;
}

#main #temario {
	width: 100%;
	float: left;
}

#main .temario {
	padding-right: 40px;
}

#main #temario figure {
	width: 100%;
	height: 300px;
	float: left;
	position: relative;
}

#main #temario figure::after {
	content: '';
	width: 100%;
	height: 100%;
	background-color: #272360;
	opacity: 0.8;
	position: absolute;
	top: 0;
	left: 0;
}

#main #temario figure img {
	object-fit: cover;
}

#main #temario figure figcaption {
	width: 100%;
	font-size: 32px;
	color: #fff;
	transform: translateY(-50%);
	text-align: center;
	position: absolute;
	top: 50%;
	left: 0;
	z-index: 3;
}

#main #temario figure figcaption h2 {
	margin-bottom: 0;
}

#main #temario .block {
	width: 100%;
	margin-top: 40px;
	float: left;
}

#main #temario .content {
	max-height: 750px;
	overflow: auto;
}

#main #temario .block h3 {
	font-size: 24px;
}

#main figure.sticky {
	position: sticky;
	top: 130px;
}

#main ul.temario li {
	width: calc(100% - 20px) !important;
	margin-left: 20px !important;
	margin-bottom: 10px !important;
	font-size: 17px !important;
	line-height: 1.4 !important;
	list-style-type: none !important;
}

#main ul.temario li::before {
	content: '';
	width: 10px;
	height: 10px;
	margin-left: -1em;
	margin-right: 10px;
	background-color: #e40713;
	float: left;
	position: relative;
	top: 5px;
}

#main #temario .block .tabs {
	width: 40%;
	float: left;
	position: sticky;
	top: 130px;
	z-index: 3;
}

#main #temario .block .temario {
	width: 60%;
	margin-bottom: 30px;
	border-radius: 5px;
	float: left;
}

#main #temario .block .title {
	width: 100%;
	padding: 30px 20px 30px 20px;
	border-bottom: 1px solid #eaeaea;
	border-right: 1px solid #eaeaea;
	border-left: 1px solid #eaeaea;
	transition: all 280ms ease;
	cursor: pointer;
	float: left;
}

#main #temario .block .title:first-child {
	border-top: 1px solid #eaeaea;
	border-radius: 5px 0 0 0;
}

#main #temario .block .title:last-child {
	border-radius: 0 0 0 5px;
}

#main #temario .block .title.active {
	padding-left: 20px;
	padding-right: 0;
	border-right: 1px solid #fff;
}

#main #temario .block .title h4 {
	margin-bottom: 0;
	font-size: 20px;
	transition: all 560ms ease;
	color: #272360;
}

#main #temario .block .title:hover h4,
#main #temario .block .title.active h4 {
	color: #e40713;
}

#main #temario .block .title h4 i {
	transition: all 280ms ease;
	float: right;
	font-size: 17px;
	line-height: 1.4;
}

#main #temario .block .content {
	width: 100%;
	padding: 40px;
	border: 1px solid #eaeaea;
	margin-left: -1px;
	border-radius: 0 5px 5px 5px;
	overflow: scroll;
	display: none;
	float: left;
	position: relative;
}

#main #temario .block .content p {
	font-size: 17px;
	line-height: 1.4;
}

#main #pruebas .wrapper>div {
	width: 100%;
	display: grid;
	grid-template-columns: 1fr 40%;
	column-gap: 50px;
}

#main #pruebas .wrapper {
	padding-top: 40px;
	overflow: auto;
}

#main #pruebas h4 {
	padding-bottom: 5px;
	margin-bottom: 10px;
	border-bottom: 1px solid #eaeaea;
	font-size: 20px;
	color: #272360;
}

#main #pruebas figure {
	width: 80%;
	margin: auto;
	float: none;
}

#main #timeline {
	width: 0;
	margin-top: 40px;
	margin-bottom: 60px;
	justify-content: space-between;
	opacity: 0;
	transition: all 2000ms ease;
	align-items: center;
	display: flex;
	float: left;
	clear: both;
	position: relative;
}

#main #timeline.visible {
	width: 100%;
	opacity: 1;
}

#main #timeline::after {
	content: '';
	width: 100%;
	height: 5px;
	background-color: #ccc;
	transform: translateY(-50%);
	position: absolute;
	left: 0;
	top: 50%;
}

#main #timeline .item {
	float: left;
	position: relative;
}

#main #timeline .item span {
	width: 24px;
	height: 24px;
	font-size: 24px;
	border-radius: 24px;
	color: #ccc;
	background-color: #fff;
	cursor: pointer;
	transition: all 560ms ease;
	justify-content: center;
	align-items: center;
	display: inline-flex;
	position: relative;
	z-index: 3;
}

#main #timeline .item span:hover,
#main #timeline .item.active span {
	color: #e40713;
}

#main #timeline .item .year {
	font-size: 24px;
	font-weight: 700;
	color: #32324d;
	transition: all 720ms ease;
	opacity: 0;
	position: absolute;
	left: 50%;
	top: 40px;
}

#main #timeline .item .content {
	width: 340px;
	padding: 20px;
	background-color: #272360;
	color: #fff;
	transform: translateX(-50%) translateY(-20px);
	border-radius: 5px;
	opacity: 0;
	transition: all 720ms ease;
	pointer-events: none;
	position: absolute;
	left: 50%;
	top: 0;
}

#main #timeline .item .content::after {
	content: '';
	width: 10px;
	height: 10px;
	background-color: #272360;
	transform: translateX(-50%) rotate(45deg);
	position: absolute;
	bottom: -5px;
	left: 50%;
}

#main #timeline .item.active .content {
	pointer-events: all;
	opacity: 1;
	transform: translateX(-50%) translateY(0px);
}

#main #timeline .item .content h4 {
	width: 100%;
	margin: 0 0 10px 0;
	float: left;
}

#main #timeline .item .content p {
	margin-bottom: 0;
	font-size: 15px;
	line-height: 20px;
	text-align: justify;
	hyphens: auto;
	color: #fff;
}

.blog #main #blog {
	margin-top: 0;
}

.blog #main #blog .block {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
}

.blog #main #blog .block article {
	width: calc(100% / 3 - 80px / 3);
	margin-right: 40px;
	margin-bottom: 40px;
}

.blog #main #blog .block article:last-child {
	padding-bottom: 20px;
	border-bottom: 2px solid rgba(39, 35, 97, 0.1);
}

.blog #main #blog .block article:nth-child(3n+3) {
	margin-right: 0;
}

.blog #main #blog .block article .content > a {
	overflow: hidden;
	float: right;
}

.blog #main #blog .block article .content > a i {
	width: 0;
	transition: all 280ms ease;
	float: right;
	position: relative;
}

.blog #main #blog .block article .content > a:hover i {
	margin-left: 5px;
	width: 14px;
}

.blog #main #blog .pagination {
	padding-left: 0;
	justify-content: center;
}

.blog #main #blog .pagination span,
.blog #main #blog .pagination a {
	width: 50px;
	height: 50px;
	margin: 0 5px;
	border: 2px solid #eaeaea;
	font-size: 22px;
	justify-content: center;
	align-items: center;
	display: flex;
	float: left;
}

.blog #main #blog .pagination a:hover {
	border-color: #272360;
}

.blog #main #blog .pagination span {
	border-color: #3c3c3b;
}

.single #main .wrapper {
	align-items: stretch;
	display: flex;
}

.single #main .block:nth-child(1),
.single #main .block:nth-child(3) {
	width: 25%;
	padding-right: 40px;
	float: left;
}

.single #main .block:nth-child(2) {
	width: 50%;
	float: left;
}

.single #main .block:nth-child(3) {
	padding-right: 0;
	padding-left: 40px;
}

.single #main .block .sticky {
	width: 100%;
	position: sticky;
	top: 130px;
	float: left;
}

.single #main .block:nth-child(1) .sticky figure {
	background-color: #272360;
	overflow: hidden;
	position: relative;
	z-index: 3;
}

.single #main .block:nth-child(1) .sticky figure img {
	transition: all 280ms ease;
}

.single #main .block:nth-child(1) .sticky.fixed figure img {
	opacity: 0.3;
}

.single #main .block:nth-child(1) .sticky figure figcaption {
	color: #fff;
	transform: translateY(calc(100% + 20px));
	transition: all 280ms ease;
	position: absolute;
	right: 20px;
	bottom: 20px;
	left: 20px;
}

.single #main .block:nth-child(1) .sticky.fixed figure figcaption {
	transform: translateY(0);
}

.single #main .block .sticky .share {
	width: 100%;
	transform: translateY(-100%);
	transition: all 280ms ease;
	float: left;
	position: relative;
	z-index: 1;
}

.single #main .block:nth-child(1) .sticky.fixed .share {
	transform: translateY(0%);
}

.single #main .block .sticky .share a {
	width: calc(100% / 3 + 2px / 3);
	height: 50px;
	margin-right: -1px;
	border: 1px solid #eaeaea;
	border-top: 0;
	font-size: 24px;
	justify-content: center;
	align-items: center;
	display: flex;
	float: left;
}

.single #main .block:nth-child(2) article p,
.single #main .block:nth-child(2) article li {
	font-size: 17px;
	line-height: 1.4;
}

.single #main .block:nth-child(2) article li:not(.blocks-gallery-item) {
	width: calc(100% - 20px);
	margin-bottom: 10px;
	margin-left: 20px;
	list-style-type: disc;
	float: left;
}

.single #main .block:nth-child(2) article ul li li {
	list-style-type: square;
}

.single #main .block:nth-child(2) article ol li,
.single #main .block:nth-child(2) article ol li li {
	list-style-type: decimal;
}

.single #main .block:nth-child(2) article ul ul,
.single #main .block:nth-child(2) article ol ol {
	margin-top: 10px;
	margin-bottom: 0;
}

.single #main .block:nth-child(2) article li:not(.blocks-gallery-item):last-child {
	margin-bottom: 0;
}

.single #main .block:nth-child(2) article .wp-block-image {
	width: 100%;
	margin: 0 0 20px 0;
	float: left;
}

.single #main .block:nth-child(2) article .wp-block-embed {
	width: 100%;
	height: 0;
	padding-bottom: 56.25%;
	float: left;
	position: relative;
}

.single #main .block:nth-child(2) article .wp-block-embed iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.single #main .block:nth-child(3) i {
	font-size: 22px;
	margin-top: 0;
	margin-right: 5px;
	color: #272360;
	float: left;
}

.single #main .block:nth-child(3) .post-categories {
	width: calc(100% - 22px);
	float: left;
	position: relative;
	top: -6px;
}

.single #main .block:nth-child(3) .post-categories li {
	margin-left: 0;
	list-style: none;
	margin-right: 5px;
	float: left;
}

.single #main .block:nth-child(3) .post-categories li a {
	padding: 4px 7px;
	font-size: 14px;
	border-radius: 5px;
	font-weight: 400;
	background-color: #e40713;
	color: #fff;
}

.single #main .block:nth-child(3) .post-categories li a:hover {
	background-color: #272360;
}

.single #main .block:nth-child(3) h4 {
	font-size: 16px;
	border-bottom: 2px solid #272360;
	margin-bottom: 20px;
	color: #272360;
}

.single #main .block:nth-child(3) #related {
	width: 100%;
	margin-bottom: 20px;
	float: left;
}

.single #main .block:nth-child(3) #related article {
	width: 100%;
	border: 2px solid rgba(39, 35, 97, 0.1);
	border-radius: 5px;
	overflow: hidden;
	margin-bottom: 10px;
	align-items: stretch;
	display: flex;
	float: left;
	position: relative;
}

.single #main .block:nth-child(3) #related article:last-child {
	margin-bottom: 0;
}

.single #main .block:nth-child(3) #related article figure {
	width: 80px;
/* 	height: 80px; */
	height: 100%;
	float: left;
}

.single #main .block:nth-child(3) #related article h3 {
	width: calc(100% - 90px);
	padding-right: 10px;
	margin-bottom: 0;
	margin-left: 10px;
	font-size: 16px;
	font-weight: 400;
	color: #272360;
	transition: all 280ms ease;
	align-items: center;
	display: flex;
	float: left;
}

.single #main .block:nth-child(3) #related article:hover h3 {
	color: #e40713;
}

.single #main .block:nth-child(3) #related article a {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.single #main .block:nth-child(3) #banner {
	width: 100%;
	height: 600px;
	padding: 30px;
	border: 2px solid #18163c;
	border-radius: 5px;
	color: #fff;
	display: flex;
	justify-content: flex-end;
	flex-direction: column;
	overflow: hidden;
	float: left;
	position: relative;
}

.single #main .block:nth-child(3) #banner::before,
.single #main .block:nth-child(3) #banner::after {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

.single #main .block:nth-child(3) #banner::before {
	background: linear-gradient(to top, #272360E6 50%, #2723601A 100%);
	z-index: 2;
}

.single #main .block:nth-child(3) #banner::after {
	background-image: url('images/oposiciones-academia-cel.jpg');
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

.single #main .block:nth-child(3) #banner > div {
	position: relative;
	z-index: 2;
}

.single #main .block:nth-child(3) #banner h3 {
	margin-bottom: 20px;
	font-size: 28px;
	text-align: center;
}

.single #main .block:nth-child(3) #banner p {
	font-size: 16px;
	line-height: 1.4;
}

.single #main .block:nth-child(3) #banner a i {
	color: #fff;
}

/* Zona privada */
#header #acceso {
	float: right;
	margin-left: 20px;
}

#zonaPrivada {
	float: left;
	width: 100%;
	padding: 50px 0;
}

#zonaPrivada .seccion {
	float: left;
	width: 100%;
	border-left: 15px solid #e40713;
	padding-left: 20px;
	margin-bottom: 50px;
	padding-bottom: 5px;
}

#zonaPrivada .seccion h3 {
	width: 100%;
	font-size: 24px;
	color: #272360;
	float: left;
	position: relative;
}

#zonaPrivada .seccion .archivo a {
	width: 100%;
	font-size: 18px;
	float: left;
	position: relative;
	border: 2px solid #272360;
	padding: 10px 20px;
	margin-bottom: -2px;
}

#zonaPrivada .seccion .archivo a i {
	margin-right: 5px;
}

#zonaPrivada #access {
	max-width: 400px;
	padding: 25px;
	border: 2px solid #676590;
	border-radius: 5px;
	text-align: center;
	float: left;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
}

#zonaPrivada input#pass {
	width: 100%;
	height: 40px;
	padding: 5px;
	border: 0;
	border-left: 5px solid transparent;
	font-weight: 300;
	background-color: #676590;
	transition: all .28s ease;
	color: #fff;
	float: left;
	margin-bottom: 10px;
}

#zonaPrivada input#pass::placeholder {
	color: white;
	opacity: 1;
}

#zonaPrivada input#pass:-ms-input-placeholder {
	color: white;
}

#zonaPrivada input#pass::-ms-input-placeholder {
	color: white;
}

#zonaPrivada .error {
	float: left;
	width: 100%;
	text-align: center;
	padding: 5px;
	margin-bottom: 10px;
	background-color: red;
	color: #fff;
	padding: 10px;
	background-color: #e40713;
}

#zonaPrivada input[type="submit"] {
	width: auto;
	height: 45px;
	border: 0;
	border-radius: 0;
	color: #fff;
	background-color: #e40713;
	transition: all .28s ease;
	cursor: pointer;
	padding: 0 35px;
	margin-top: 10px;
	margin-bottom: 15px;
}

#zonaPrivada p {
	display: block;
}

/* Contact */
#contact {
	width: 100%;
	height: 100%;
	background-color: rgba(255, 255, 255, 0.98);
	color: #272360;
	align-items: center;
	display: flex;
	transform: translateY(50px);
	opacity: 0;
	transition: all 280ms ease;
	pointer-events: none;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 11;
}

article#contact {
	max-width: 800px;
	opacity: 1;
	transform: translateY(0);
	pointer-events: all;
	display: block;
	transform: translateX(-50%);
	position: relative;
	left: 50%;
}

#contact:not(article).active {
	opacity: 1;
	transform: translateY(0);
	pointer-events: all;
	overflow: scroll;
}

#contact .wrapper {
	max-width: 800px;
}

#contact .close {
	width: 40px;
	height: 40px;
	cursor: pointer;
	transition: all 280ms ease;
	position: absolute;
	top: 20px;
	right: 20px;
}

#contact .close:hover {
	opacity: 0.5;
}

#contact .close::before,
#contact .close::after {
	content: '';
	width: 100%;
	height: 2px;
	background-color: #272360;
	position: absolute;
	top: 50%;
}

#contact .close::before {
	transform: rotate(45deg);
}

#contact .close::after {
	transform: rotate(-45deg);
}

#contact h3 {
	width: 100%;
	font-size: 24px;
	color: #272360;
	float: left;
	position: relative;
}

#contact h3::after {
	content: '';
	width: 100px;
	border-bottom: 2px solid #e40713;
	position: absolute;
	left: 0;
	bottom: -5px;
}

#contact input,
#contact textarea {
	background-color: #676590;
}

#contact .acceptance label::before {
	background-color: rgba(39, 35, 97, 0.5);
}

#contact .acceptance label.checked::before {
	background-color: rgba(39, 35, 97, 1);
}

#contact .acceptance label,
#contact .acceptance label a {
	color: #272360;
}

#contact form {
	margin-bottom: 20px;
}

#contact .wpcf7 div.wpcf7-validation-errors {
	color: #272360;
	background-color: #fff;
	border-top-color: #272360;
}

#contact form .wpcf7-acceptance .wpcf7-list-item-label {
	color: black;
}

#contact p:last-child {
	margin-top: 20px;
}

/* Footer */
#footer {
	width: 100%;
	padding-top: 80px;
	border-top: 2px solid #e40713;
	background-color: #272360;
	float: left;
	position: relative;
	z-index: 3;
}

#footer > .wrapper {
	padding-bottom: 60px;
}

#footer .wrapper .block {
	width: calc(100% / 3);
	color: #fff;
	float: left;
}

#footer .wrapper .block h4 {
	font-size: 24px;
	font-weight: 300;
}

#footer .wrapper .block h4 span {
	width: 100%;
	float: left;
}

#footer .wrapper .block h4::after {
	content: '';
	width: 30%;
	margin-top: 5px;
	border-top: 2px solid #e40713;
	clear: both;
	float: left;
}

#footer .wrapper .block:last-child h4 {
	text-align: right;
}

#footer .wrapper .block:last-child h4::after {
	float: right;
}

#footer .wrapper .block:last-child ul li {
	text-align: right;
}

#footer .wrapper .block h3 {
	font-size: 28px;
	font-weight: 500;
}

#footer .wrapper .block ul li {
	width: 100%;
	margin-bottom: 10px;
	float: left;
}

#footer .wrapper .block ul,
#footer .wrapper .block ul li:last-child {
	margin-bottom: 0;
}

#footer .wrapper .block ul li a {
	color: #fff;
	font-size: 16px;
	font-weight: 400;
}

#footer .wrapper .block ul li a:hover {
	opacity: 0.5;
}

#footer .wrapper .block:nth-child(2) {
	padding: 0 20px;
	text-align: center;
}

#footer .wrapper .block:nth-child(2) .button {
	display: inline-block;
}

#footer #bottom {
	width: 100%;
	height: 40px;
	float: left;
	position: relative;
}

#footer #bottom::before {
	content: '';
	width: 100%;
	border-top: 2px solid rgba(255, 255, 255, 0.1);
	position: absolute;
	top: -2px;
	left: 0;
}

#footer #bottom .wrapper {
	height: 40px;
	justify-content: space-between;
	align-items: center;
	display: flex;
}

#footer #legal {
	width: auto;
	margin: 0;
	float: left;
}

#footer #legal li {
	line-height: 32px;
	font-weight: 600;
	float: left;
}

#footer #legal li::after {
	content: '·';
	margin: 0 10px;
	color: #fff;
	float: left;
}

#footer #legal li:last-child {
	margin-right: 0;
}

#footer #legal li:last-child::after {
	display: none;
}

#footer #legal li a {
	font-size: 13px;
	color: #fff;
	float: left;
}

#footer #legal li a:hover {
	opacity: 0.5;
}

#footer #copy {
	font-weight: 300;
	font-size: 13px;
	color: #fff;
	font-weight: 600;
	transform: translate(-50%, -50%);
	position: absolute;
	top: 50%;
	left: 50%;
}

#footer #copy a {
	color: #fff;
}

#footer #neobrand {
	width: 16px;
	overflow: hidden;
	transition: all 280ms ease;
	float: right;
	position: relative;
	top: 3px;
}

#footer #neobrand::before,
#footer #neobrand::after {
	display: none;
}

#footer #neobrand img {
	width: auto;
	max-width: none;
	height: 16px;
	opacity: 1;
}

#footer .wrapper .block:first-of-type ul li {
	margin-bottom: 6px;
}

/* Misc */
.error404 #main {
	margin-top: 0;
	background-color: #e40713;
}

.error404 #main .wrapper {
	max-width: 800px;
	height: 100vh;
	align-items: center;
	display: flex;
	float: left;
}

.error404 #main h1 {
	font-size: 42px;
	color: #fff;
}

.error404 #main h1::after {
	border-color: #fff;
}

.error404 #main p,
.error404 #main p a {
	color: #fff;
}

.error404 #main p a {
	text-decoration: underline;
}

#cookie-notice {
	border-top: 2px solid rgba(255, 255, 255, 0.1);
}

#cn-notice-buttons a {
	background-color: #e40713;
}

/* BOE */
#boe {
	widows: 100%;
	text-align: center;
	padding: 50px 0 50px;
}

#boe i {
	padding-left: 10px;
}

/* Coming Soon */
#coming {
	width: 100%;
	height: 100%;
	padding: 30px;
	background-image: url('https://academiacel.es/wp-content/uploads/academia-cel-policia-nacional.jpg');
	background-position: center;
	background-size: cover;
	position: fixed;
	top: 0;
	left: 0;
}

#coming::before {
	content: '';
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
	position: absolute;
	top: 0;
	left: 0;
}

#coming #info {
	width: 100%;
	padding: 50px;
	max-width: 720px;
	border-radius: 5px;
	transform: translate(-50%, -50%);
	background-color: #fff;
	text-align: center;
	position: absolute;
	left: 50%;
	top: 50%;
}

#coming #info h1 {
	color: #241f5f;
}

#coming #info p {
	text-align: center;
}

.hide {
	display: none !important;
}

.grecaptcha-badge {
	opacity: 0;
	pointer-events: none;
}