/*
==================================================================
Theme Name: Elece Idiomas
Version: 1.0
Author: Neobrand
Author URI: https://neobrand.com
==================================================================
*/

/* General */

:root {
	--main: #ff7a01;
	--orange: #e86f01;
	--blue: #32324d;
	--grey: #757575;
}

html,body {
	font-family: 'Roboto', sans-serif;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body.noscroll {
	overflow: hidden;
}

::-moz-selection {
	color: white;
	background: var(--main);
	text-shadow: 0 0 0 transparent;
}

::selection {
	color: white;
	background: var(--main);
	text-shadow: 0 0 0 transparent;
}

::placeholder {
	color: var(--grey);
	opacity: 1;
}

:-ms-input-placeholder {
	color: var(--grey);
}

::-ms-input-placeholder {
	color: var(--grey);
}

.hide{
	display: none;
}

p,ul, ol {
	width: 100%;
	margin: 0 0 20px 0;
	font-family: 'Roboto Slab', serif;
	font-size: 18px;
	line-height: 28px;
	color: var(--grey);
	float: left;
}

p:empty {
	display: none;
}

#main article ul:not(.share),
body.single-post #main article .post-content ul:not(.share)  {
    list-style: none;
    display: flex;
    flex-direction: column;
}

#main article ul:not(.share) li, 
#main article ol li {
    margin-bottom: 15px;
    padding-left: 30px;
    position: relative;
}

#main article ul:not(.share) li {
    margin-bottom: 15px;
    padding-left: 30px;
    position: relative;
}

#main article ul li p,
#main article ol li p  {
    margin-bottom: 0;
}

body:not(.single-post) #main article ul:not(.share) li::before,
body.single-post #main article .post-content ul:not(.share) li::before {
    content: "";
    width: 5px;
    height: 5px;
    background-color: var(--main);
    margin: 12px 10px !important;
    position: absolute;
    left: 0;
}

#blog article footer .share li {
    width: auto;
    margin: 10px 20px;
    color: rgb(153, 153, 153);
    display: inline-block;
    float: none;
}

#blog article footer .share li:first-child {
    width: 100%;
    margin-right: 0px;
    margin-bottom: 20px;
    margin-left: 0px;
    text-align: center;
    float: left;
}

#blog article footer .share li a {
    font-size: 24px;
    color: #999;
}

#blog article .categories {
    font-size: 0.85em;
    margin: 20px 0;
    display: flex;
    align-items: center;
}

#blog article .categories > i {
    color: var(--main);
    font-size: 1.5em;
    padding-right: 15px;
}

#blog article  .categories a::before {
    content: '#';
    padding-right: 1px;
}

#main #blog ul li::before {
    margin: 8px 10px 0;
}

#main article ul li > div {
    margin-bottom: 10px !important;
}

#main article ul li ul {
	margin: 10px 0;
}

#main article ul li ul li:last-of-type {
    margin-bottom: 0;
}

#main article ul li ul li::before {
    border-radius: 50%;
    color: gray;
}

#main article ul li::marker {
    content: none;
}


a {
	transition: all 560ms ease;
	text-decoration: none;
	color: var(--main);
}

p a {
	color: var(--main);
}

p a:hover {
	text-decoration: underline;
}

h1,h2,h3,h4,h5,h6 {
	width: 100%;
	font-size: 24px;
	line-height: normal;
	margin: 0 0 20px 0;
	float: left;
}

.wrapper {
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
}

.wrapper::before,
.wrapper::after {
	content: '';
	clear: both;
	display: block;
}

.panel {
	width: 100%;
	padding: 80px 0;
	background-color: #fff;
	float: left;
}

.panel.p0 {
	padding: 0;
}

.panel.blue {
	background-color: var(--blue);
}

.panel.grey {
	background-color: #f6f6f6;
}

.panel.blue h1,
.panel.blue h2,
.panel.blue h3,
.panel.blue h4,
.panel.blue h5,
.panel.blue p {
	color: #fff;
}

.button {
	padding: 15px 20px;
	font-weight: 700;
	font-family: 'Roboto Slab', serif;
	background-color: var(--main);
	border-radius: 5px;
	text-align: center;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0);
	color: #fff;
	float: left;
}

.button:hover {
	transform: translateY(-5px);
	box-shadow: 0 5px 5px rgba(0, 0, 0, 0.15);
}

.button.center:hover {
	transform: translateY(-5px) translateX(-50%);
}

.button.fright {
	float: right;
}

.button.large {
	font-size: 20px;
	min-width: 300px;
}

#main .page-title {
	width: 100%;
	margin-bottom: 45px;
	font-size: 32px;
	font-weight: 700;
	color: var(--blue);
	float: left;
	position: relative;
}

.fleft h2 {
	font-size: 28px;
	font-weight: 600;
	color: var(--blue);
	margin-top: 40px;
}

.fleft h3 {
	font-weight: 400;
	color: var(--blue);
	margin-top: 40px;
}

.fleft h4 {
	color: var(--blue);
	margin-top: 20px;
}

#main .page-title span {
	color: var(--main);
}

.tax-idiomas #main .page-title span {
	color: var(--blue);
}

#main .page-title::after{
	content: '';
	width: 30px;
	border-top: 2px solid var(--main);
	transition: all 560ms ease;
	position: absolute;
	bottom: -15px;
	left: 0;
}

#main #lang-sheet {
	width: 100%;
	padding: 30px;
	margin-top: 10px;
	margin-bottom: 30px;
	border: 2px solid #f1f1f1;
	background-color: #f9f9f9;
	float: left;
	position: relative;
}

#main #lang-sheet .image {
	width: 50%;
	height: calc(100% - 60px);
	position: absolute;
	top: 30px;
	right: 30px;
}

#main #lang-sheet .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	float: left;
}

#main #lang-sheet div.features {
	width: 50%;
	padding-right: 50px;
	float: left;
}

#main #lang-sheet div .feature {
	width: 100%;
	margin-bottom: 30px;
	font-size: 18px;
	color: var(--grey);
	float: left;
}

#main #lang-sheet div p a i {
	margin-right: 5px;
}

#main #lang-sheet div .feature .title {
	width: auto;
	margin-bottom: 15px;
	font-size: 24px;
	padding-left: 0;
	font-weight: 600;
	color: var(--main);
	clear: both;
	float: left;
}

#main #lang-sheet div .feature .title i {
	width: 30px;
	margin-right: 10px;
	text-align: center;
	display: inline-block;
}

#main #lang-sheet div .feature span {
	width: 100%;
	padding-left: 40px;
	margin-bottom: 10px;
	font-family: 'Roboto Slab', serif;
	float: left;
}

#main #lang-sheet div .feature span:not(.title) {
	padding-left: 10px;
	position: relative;
}

#main #lang-sheet div .feature span:not(.title)::before {
	content: '';
	width: 5px;
	height: 5px;
	margin-right: 5px;
	background-color: var(--grey);
	display: inline-block;
	position: absolute;
	top: 8px;
	left: 0;
}

#main #lang-sheet div .feature:last-child,
#main #lang-sheet div .feature span:last-child {
	margin-bottom: 0;
}

#all {
	transition: all 280ms ease;
	position: relative;
}

#all::after {
	content: '';
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.75);
	opacity: 0;
	transition: all 280ms ease;
	pointer-events: none;
	position: absolute;
	top: 0;
	left: 0;
}

#all article .wp-block-image {
	width: 100%;
	margin: 0 0 20px 0;
	float: left;
}

/* Header */

#header {
	height: 82px;
	border-bottom: 2px solid #f6f6f6;
	background-color: #fff;
	position: sticky;
	top: 0;
	z-index: 10;
}

#header #logo {
	width: 180px;
	height: 82px;
	justify-content: center;
	align-items: center;
	display: flex;
	background-color: var(--main);
	float: left;
}

#header #logo:hover {
	background-color: var(--orange);
}

#header #logo img {
	width: 120px;
	height: auto;
	float: left;
}

#header nav {
	height: 82px;
	float: right;
}

#header nav .menu {
	height: 82px;
	align-items: center;
	display: flex;
	float: left;
}

#header nav .menu li {
	margin-right: 50px;
	text-transform: uppercase;
	float: left;
}

#header nav .menu li a {
	font-family: 'Roboto', sans-serif;
	font-size: 16px;
	line-height: 15px;
	color: var(--grey);
	float: left;
}

#header nav .menu li a[href="#cursos"] {
	cursor: s-resize;
}

#header nav .menu li.students {
	margin-right: 0;
}

#header nav .menu li.students a {
	width: 95px;
	height: 82px;
	padding: 12px;
	font-size: 14px;
	justify-content: center;
	align-items: flex-end;
	display: flex;
	color: #fff;
	background-color: var(--main);
	background-image: url('images/students.svg');
	background-repeat: no-repeat;
	background-position: center 12px;
	background-size: 50px 35px;
}

#header nav .menu li.students a:hover,
#header nav .menu li.students.current-menu-item a {
	color: #fff;
	background-color: var(--orange);
}

#header nav .menu li a:hover,
#header nav .menu li.current-menu-item a,
.single-cursos #header nav .menu li#menu-item-114 a {
	color: var(--main);
}

#header nav .langs-menu {
	width: 200px;
	background-color: #fff;
	border: 2px solid #f6f6f6;
	transition: all 560ms ease;
	box-shadow: 0 20px 20px rgba(0, 0, 0, 0.25);
	pointer-events: none;
	opacity: 0;
	position: absolute;
	top: 80px;
	transform: translateX(20%);
	overflow: scroll;
	max-height: calc(100vh - 120px);
}

#header nav .langs-menu.active {
	opacity: 1;
	transition: all 0ms ease;
	pointer-events: all;
}

#header nav .langs-menu li {
	width: 100%;
	border-bottom: 1px solid #eaeaea;
	transition: all 280ms ease;
	opacity: 0;
	transform: translateY(20px);
	float: left;
}

#header nav .langs-menu.active li {
	opacity: 1;
	transform: translateY(0);
}

#header nav .langs-menu li:last-child {
	border-bottom: 0;
}

#header nav .langs-menu li a {
	width: 100%;
	font-size: 16px;
	color: var(--blue);
	font-family: 'Roboto', sans-serif;
	font-weight: 700;
	text-align: left;
	text-transform: uppercase;
	transition: all 280ms ease;
	display: flex;
	position: relative;
	justify-content: space-between;
	align-items: center;
	height: 50px;
}

#header nav .langs-menu li a:hover,
#header nav .langs-menu li.current a,
#header nav .langs-menu li.active a {
	color: var(--main);
}

#header nav .langs-menu li a span.name {
	padding: 0 15px;
}

#header nav .langs-menu li a span.niveles {
	font-size: 8px;
	color: var(--grey);
	padding: 0 15px;
	border-left: 2px solid #f6f6f6;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	letter-spacing: 0.5px;
	line-height: 10px;
}

#header nav .langs-menu li a span.niveles:hover,
#header nav .langs-menu li.active a span.niveles{
	color: var(--orange);
}

#header nav .langs-menu li a span.niveles i{
	font-size: 12px;
}

#header nav .langs-menu li .flag {
	width: 100%;
	transition: all 280ms ease;
	position: absolute;
	bottom: 0;
	left: 0;
	display: none;
}

#header nav .langs-menu li .flag span {
	height: 5px;
}

#header nav .langs-menu li .flag span.c1 {
	width: 100%;
}

#header nav .langs-menu li .flag span.c2 {
	width: 50%;
}

#header nav .langs-menu li .flag span.c3 {
	width: calc(100% / 3);
}

#header nav .langs-menu li.has-courses .sub-menu-cursos {
	max-height: 0;
	padding: 0;
	margin: 0;
	overflow: hidden;
	transition: max-height 0.5s ease;
}

#header nav .langs-menu li.has-courses.active > a{
	border-bottom: 1px solid #eaeaea;
}

#header nav .langs-menu li.has-courses.active .sub-menu-cursos{
	max-height: 1000px;
}

#header nav .langs-menu li .sub-menu-cursos li{
	transform: none;
}

#header nav .langs-menu li .sub-menu-cursos li a {
	padding: 5px 15px;
	color: var(--blue);
	font-size: 13px;
	height: 35px;
}

#header nav .langs-menu li .sub-menu-cursos li a:hover{
	color: var(--orange);
}

#header .contact {
	padding: 20px 0 0 0;
	margin-right: 20px;
	filter: invert(100%);
	position: static;
	display: none;
}

#header .contact a span {
	margin: 0;
}

#header .contact .phones a:first-child {
	margin-left: 0;
}

#header .contact .location a:first-child {
	margin-right: 0;
}

#header .contact a {
	width: 20px;
	margin-left: 20px;
	text-align: center;
	opacity: 0.6;
}

#header .contact a span {
	display: inline-block;
	float: none;
}

.contact {
	width: 100%;
	padding: 12px 20px 5px 20px;
	background-color: var(--blue);
	font-weight: 700;
	float: left;
}

.contact a {
	font-family: 'Roboto Slab', serif;
	font-size: 14px;
	color: #fff;
	float: left;
}

.contact a:hover {
	opacity: 1;
}

.contact .location a:first-child {
	margin-right: 30px;
}

.contact a span {
	margin-right: 10px;
}

.contact .location a:first-child span {
	width: 10px;
	height: 24px;
	background-image: url('images/location.svg');
	background-size: 10px 24px;
	position: relative;
	top: -4px;
}

.contact .location a:last-child span {
	width: 14px;
	height: 22px;
	background-image: url('images/time.svg');
	background-size: 14px 22px;
	position: relative;
	top: -4px;
}

.contact .phones a:last-child {
	margin-left: 30px;
}

.contact .phones a:first-child span {
	width: 8px;
	height: 22px;
	background-image: url('images/phone.svg');
	background-size: 8px 22px;
	position: relative;
	top: -4px;
}

.contact .phones a:last-child span {
	width: 15px;
	height: 20px;
	background-image: url('images/whatsapp.svg');
	background-size: 15px 20px;
	position: relative;
	top: -2px;
}

/* Main */

#main #intro {
	position: relative;
}

#main #intro img {
	max-width: none;
}

#main #intro .mobile-image {
	display: none;
}

#main #intro .wrapper {
	position: relative;
}

#main #langsnav {
	margin: 70px 0 -20px 0;
	display: flex;
	justify-content: space-between;
	position: relative;
}

#main #langsnav li.marker {
	width: 30px;
	border-top: 2px solid var(--main);
	transition: all 0ms ease;
	position: absolute;
	bottom: -10px;
	left: 150px;
}

#main #langsnav li a {
	font-size: 20px;
	text-transform: uppercase;
	color: var(--blue);
	opacity: 0.3;
	transition: all 560ms ease;
	float: left;
}

#main #langsnav li a:hover,
#main #langsnav li.active a {
	opacity: 1;
}

#main #langsnav li.active a {
	cursor: default;
}

#main #courses .courses {
	margin-top: 20px;
}

#main #courses .courses a {
	width: 160px;
	height: 160px;
	margin-right: -2px;
	margin-bottom: -2px;
	font-size: 40px;
	color: var(--main);
	border: 2px solid #ebe9e8;
	justify-content: center;
	align-items: center;
	display: flex;
	float: left;
	position: relative;
}

#main #courses .courses a::after {
	content: '';
	width: 0;
	height: 100%;
	background-color: var(--main);
	transition: all 280ms ease;
	position: absolute;
	right: 0;
	top: 0;
	z-index: -1;
}

#main #courses .courses a span {
	font-size: 14px;
	position: absolute;
	bottom: 10%;
}

#main #courses .courses a:hover {
	color: #fff;
}

#main #courses .courses a:hover::after {
	width: 100%;
	left: 0;
	right: auto;
}

#main #courses #langs-slider .owl-item {
	padding-bottom: 2px;
}

#main #courses #langs-slider .owl-item article {
	margin-bottom: 2px;
}

#main #highlight.panel {
	padding-bottom: 140px;
}

#main #highlight .large-text {
	margin-top: 0;
	margin-bottom: 50px;
	font-size: 40px;
	text-transform: uppercase;
	position: relative;
	font-weight: 600;
	color: white;
}

#main #highlight .large-text::after {
	content: '';
	width: 30px;
	border-top: 2px solid var(--main);
	position: absolute;
	bottom: -15px;
	left: 0;
}

#main #highlight .highlight > div {
	margin-right: 50px;
	text-align: center;
}

#main #highlight .highlight > div:last-child {
	margin-right: 0;
}

#main #highlight .highlight > div .value {
	width: 95px;
	height: 95px;
	border-radius: 100%;
	font-size: 25px;
	font-weight: 300;
	color: #fff;
	justify-content: center;
	align-items: center;
	display: inline-flex;
}

#main #highlight .highlight > div .concept {
	height: 35px;
	text-transform: uppercase;
	font-size: 14px;
	line-height: normal;
	color: #fff;
	clear: both;
	display: inline-block;
	position: relative;
	top: -20px;
}

#main #reasons {
	padding: 0;
	position: relative;
}

#main #reasons .w40 {
	padding: 100px 90px;
	background-color: #f6f6f6;
}

#main #reasons .w40 .large-text {
	text-transform: uppercase;
	margin-bottom: 45px;
	font-size: 40px;
	color: var(--blue);
	position: relative;
	font-weight: 600;
	margin-top: 40px;
}

#main #reasons .w40 h2::after {
	content: '';
	width: 30px;
	border-top: 2px solid var(--main);
	position: absolute;
	bottom: -15px;
	left: 0;
}

#main #reasons .w40 p {
	margin-bottom: 40px;
}

#main #reasons .w60 {
	height: 100%;
	border-bottom: 2px solid #f6f6f6;
	position: absolute;
	top: 0;
	left: 40%;
}

#main #reasons .w60 > div {
	height: 100%;
	padding: 115px 40px 0 40px;
	border-right: 2px solid #f6f6f6;
	position: absolute;
}

#main #reasons .w60 > div:nth-child(1) {
	left: 0;
}

#main #reasons .w60 > div:nth-child(2) {
	left: 33.333%;
}

#main #reasons .w60 > div:nth-child(3) {
	right: 0;
	border-right: 0;
}

#main #reasons .w60 > div h3 {
	text-transform: uppercase;
	color: var(--blue);
}

#main #reasons .w60 > div p {
	font-size: 14px;
	line-height: 20px;
	margin-bottom: 0;
}

#main #reasons .w60 > div .icon {
	width: 80px;
	height: 105px;
	margin-top: 90px;
	align-items: center;
	display: flex;
}

#main #reasons .w60 > a {
	display: none;
}

#spanish {
	border-top: 5px solid var(--main);
	border-bottom: 5px solid var(--main);
	padding: 100px 0;
	background-color: transparent;
	position: relative;
	overflow: hidden;
}

#spanish::before {
	content: '';
	width: 100%;
	height: 100%;
	background-color: var(--blue);
	opacity: 0.5;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}

#spanish .text {
	max-width: 90%;
	padding: 40px;
	border-radius: 10px;
	text-align: center;
	background-color: rgba(50, 50, 77, 0.85);
	transform: translateX(-50%);
	float: left;
	position: relative;
	left: 50%;
	z-index: 3;
}

#spanish .text ul {
	font-size: 24px;
	line-height: 32px;
	font-weight: 600;
	color: #fff;
}

#spanish a {
	width: 65%;
}

#spanish .background {
	width: calc(100% + 6px);
	height: calc(100% + 6px);
	filter: blur(3px);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	position: absolute;
	top: -3px;
	left: -3px;
	z-index: -1;
}

/* Pages */

#head {
	position: relative;
}

#head::after {
	content: '';
	width: 100%;
	height: 100%;
	background: var(--blue);
	opacity: 0.65;
	position: absolute;
	top: 0;
	left: 0;
}

#head img {
	max-width: none;
}

.tax-idiomas #head::after,
.single-cursos #head::after {
	display: none;
}

#head .flag {
	width: 100%;
	height: 100%;
	background: var(--blue);
	mix-blend-mode: multiply;
	backdrop-filter: blur(3px);
	opacity: 0.8;
	position: absolute;
	top: 0;
	left: 0;
}

#head .flag span {
	height: 100%;
	opacity: 0.75;
	position: absolute;
	top: 0;
	left: 0;
	display: none;
}

#head .flag .c1 {
	width: 100%;
	position: absolute;
	left: 0;
}

#head .flag .c2 {
	width: 50%;
}

#head .flag .c2:last-child {
	left: 50%;
}

#head .flag .c3 {
	width: calc(100% / 3);
}

#head .flag .c3:nth-child(2) {
	left: calc(100% / 3);
}

#head .flag .c3:last-child {
	left: calc((100% / 3) * 2);
}

#head h1,
#head strong {
	width: auto;
	margin-bottom: 0;
	font-size: 32px;
	font-family: 'Roboto Slab', sans-serif;
	color: #fff;
	text-shadow: 0 2px 3px rgba(0, 0, 0, 0.3);
	transform: translate(-50%, -50%);
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 3;
}

#langs {
	margin-top: 70px;
	margin-bottom: 130px;
}

#langs .lang {
	height: 200px;
	padding: 0 20px;
	margin-right: -2px;
	margin-bottom: -2px;
	border: 2px solid #fff;
	background-color: #f6f6f6;
	box-shadow: 0 0 0 rgba(0, 0, 0, 0.25);
	transition: all 280ms ease;
	position: relative;
}

#langs .lang:hover {
	transform: translateY(-5px);
	box-shadow: 0 10px 10px rgba(0, 0, 0, 0.25);
	z-index: 3;
}

.lang p img {
	width: auto;
	max-width: 100%;
}

#langs .lang h3 {
	width: 100%;
	height: 100%;
	font-size: 22px;
	text-transform: uppercase;
	font-weight: 700;
	color: #32334d;
	justify-content: center;
	align-items: center;
	display: flex;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 3;
	margin: 0;
}

#langs .lang .flag {
	width: calc(100% - 40px);
	position: absolute;
	bottom: 0;
	left: 0;
}

#langs .lang .flag span {
	height: 10px;
	transition: all 280ms ease;
}

#langs .lang:hover .flag span {

	/* height: 75px; */

}

#langs .lang .flag span.c1 {
	width: 100%;
}

#langs .lang .flag span.c2 {
	width: 50%;
}

#langs .lang .flag span.c3 {
	width: calc(100% / 3);
}

#modes {
	padding: 0;
	position: relative;
	overflow: hidden;
}

.single-cursos #modes {
	margin-bottom: -70px;
}

#modes .w40 {
	padding: 100px 90px;
	background-color: #f6f6f6;
}

#modes .w40 p {
	margin-bottom: 0;
}

#modes .w40 h2 {
	margin-bottom: 45px;
	font-size: 40px;
	text-transform: uppercase;
	color: var(--blue);
	position: relative;
}

#modes .w40 #mode-claim::after {
	content: '';
	width: 30px;
	border-top: 2px solid var(--main);
	position: absolute;
	bottom: -15px;
	left: 0;
}

#modes .w60 {
	height: 100%;
	display: block;
	position: absolute;
	left: 40%;
}

#modes .w60 > div {
	height: 100%;
	border-top: 2px solid #f6f6f6;
	align-items: center;
	display: flex;
}

#modes .w60 > div:last-child {
	border-bottom: 2px solid #f6f6f6;
}

#modes .w60 > div > div {
	height: 100%;
	padding: 0 40px;
	border-right: 2px solid #f6f6f6;
	align-items: center;
	display: flex;
}

#modes .w60 > div .title {
	width: 100%;
}

#modes .w60 > div .title h3 {
	margin-bottom: 10px;
	text-transform: uppercase;
	color: var(--blue);
}

#modes .w60 > div .title .mode-title > strong {
    margin-bottom: 10px;
    text-transform: uppercase;
    color: var(--blue);
    font-weight: 400;
    margin-top: 40px;
    font-size: 24px;
    line-height: normal;
    margin: 0 0 20px 0;
    display: inline-block;
}


#modes .w60 > div .text {
	clear: both;
}

#modes .w40 #mode-claim {
    margin-bottom: 45px;
    font-size: 40px;
    text-transform: uppercase;
    color: var(--blue);
    position: relative;
    font-weight: 600;
    margin-top: 40px;
    width: 100%;
    line-height: normal;
    float: left;
    display: block;
}

#modes .w60 > div .text p {
	font-size: 14px;
	line-height: 20px;
	margin-bottom: 0;
}

#modes .w60 > div .moreinfo {
	width: 20px;
	height: 20px;
	margin-left: 5px;
	font-size: 10px;
	border: 2px solid var(--grey);
	color: var(--grey);
	border-radius: 100%;
	justify-content: center;
	align-items: center;
	display: inline-flex;
	position: relative;
	top: -5px;
}

#modes .w60 > div .moreinfo:hover {
	color: var(--main);
	border-color: var(--main);
}

#modes .w60 > div .hiddentext {
	width: 100%;
	height: 100%;
	padding: 50px;
	background-color: #fff;
	opacity: 0;
	pointer-events: none;
	transform: translateY(50px);
	transition: all 280ms ease;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 3;
}

#modes .w60 > div .hiddentext.active {
	opacity: 1;
	pointer-events: all;
	transform: translateY(0);
}

#modes .w60 > div .hiddentext .close {
	font-size: 24px;
	color: var(--grey);
	cursor: pointer;
	position: absolute;
	transform: translateX(-50%);
	left: 50%;
	bottom: 30px;
}

#modes .w60 > div .hiddentext .close:hover,
#modes .w60 > div .hiddentext a {
	color: var(--main);
}

/* Langs */

.lang {
	margin-bottom: 70px;
}

.tax-idiomas .lang {
	margin-bottom: 0;
}

.lang h4 {
	margin-top: 70px;
}

.lang article {
	border: 2px solid #f6f6f6;
	margin-bottom: -2px;
	overflow: hidden;
	position: relative;
}

.lang article .title {
	width: 20%;
	height: 100%;
	padding: 50px 50px 50px 50px;
	border-right: 2px solid #f6f6f6;
	position: absolute;
	top: 0;
	left: 0;
}

.lang article .title::after {
	content: '';
	width: 0;
	height: 100%;
	background-color: var(--main);
	transition: all 280ms ease;
	position: absolute;
	right: 0;
	top: 0;
	z-index: -1;
}

.lang article .title:hover::after {
	width: 100%;
	left: 0;
	right: auto;
}

.lang article .title > span {
	width: 100%;
	height: 100%;
	font-size: 30px;
	color: var(--main);
	justify-content: center;
	align-items: center;
	display: flex;
	transition: all 280ms ease;
	position: absolute;
	top: 0;
	left: 0;
}

.lang article:not(.date) .title:hover span {
	color: #fff;
}

.lang article .title > span > span {
	font-size: 14px;
	position: absolute;
	bottom: 10%;
}

.lang article .content {
	width: 80%;
	padding: 50px 90px 50px 50px;
	margin-left: 20%;
	float: left;
}

.lang article .content .page-title a {
	color: var(--blue);
}

#main .lang article .content .page-title:hover::after {
	width: 50px;
}

.lang article .content p {
	margin-bottom: 0;
}

.lang article .more {
	width: 100px;
	height: 70px;
	padding-left: 12px;
	background-color: var(--main);
	border-radius: 70px;
	transform: translateY(-50%);
	align-items: center;
	display: flex;
	transition: all 280ms ease;
	position: absolute;
	top: 50%;
	right: -60px;
}

.lang article .more::before {
	content: '+';
	color: #fff;
	font-size: 32px;
	font-weight: 300;
}

.lang article .more:hover {
	right: -40px;
}

/* Reasons */

#main-reasons {
	margin-top: 50px;
}
#main #main-reasons .page-title {
	margin-bottom: 60px;
}

#main .page-title {
	margin-bottom: 40px;
	margin-top: 40px;
}

#main .academy-title {
	width: 100%;
	padding: 30px 0;
	margin: 50px 0;
	text-align: center;
	position: relative;
}

#main .academy-title::before,
#main .academy-title::after {
	content: '';
	width: 50px;
	border-top: 1px solid var(--blue);
	transform: translateX(-50%);
	position: absolute;
	left: 50%;
}

#main .academy-title::before {
	top: 0;
}
#main .academy-title::after {
	bottom: 0;
}

.reason {
	padding-bottom: 40px;
	margin-bottom: 40px;
	position: relative;
}

.reason::after {
	content: '';
	width: 100px;
	border-top: 2px solid #eaeaea;
	transform: translateX(-50%);
	position: absolute;
	bottom: 10px;
	left: 50%;
}

.reason .icon {
	width: 80px;
	margin-right: 30px;
}

.reason .title .reason-title,
#reasons .title .reason-title {
	font-size: 24px;
	text-transform: uppercase;
	color: var(--blue);
	font-weight: 400;
    display: block;
    margin-bottom: 20px;
}

.reason .content {
	width: calc(100% - 110px);
}

/* Blog */

#blog {
	padding-right: 50px;
	margin-bottom: 70px;
}

#blog article {
	margin-bottom: 30px;
	padding-bottom: 30px;
	box-shadow: inset 0 0 0 2px #f6f6f6;
	border-radius: 5px;
	overflow: hidden;
	position: relative;
}

#blog article:last-child {
	margin-bottom: 0;
}

#blog article header {
	min-height: 150px;
	max-height: 200px;
	overflow: hidden;
	position: relative;
}

#blog article header::after {
	content: '';
	width: 100%;
	height: 100%;
	background: rgb(0, 0, 0, 0.5);
	position: absolute;
	top: 0;
	left: 0;
}

#blog article header.nothumb::after {
	display: none;
}

#blog article header figure {
	min-height: 150px;
	margin: 0;
	overflow: hidden;
	align-items: center;
	display: flex;
	background-color: #000000;
}

#blog article header.nothumb figure {
	border-radius: 5px;
	background-color: var(--main);
}

#blog article header img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: all .56s ease;
	opacity: 0.5;
}

#blog article header:hover img {
	transform: scale(1.1);
}

#blog article header h3 {
	width: 100%;
	height: 100%;
	padding: 20px;
	margin: 0;
	font-size: 32px;
	font-weight: 300;
	text-shadow: 0 3px 3px rgba(0, 0, 0, 0.75);
	justify-content: center;
	text-align: center;
	align-items: center;
	display: flex;
	color: #fff;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 2;
}

#blog article header.nothumb h3 {
	text-shadow: 0 0 0 transparent;
}

#blog article header > a {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 3;
}

#blog article header > a span {
	opacity: 0;
}

#blog article .content {
	padding: 20px;
}

#blog article .view-more {
	width: 70px;
	height: 100px;
	padding-top: 5px;
	background-color: var(--main);
	border-radius: 70px;
	transform: translateX(-50%);
	justify-content: center;
	display: flex;
	transition: all 280ms ease;
	position: absolute;
	bottom: -60px;
	left: 50%;
}

#blog article .view-more::before {
	content: '+';
	color: #fff;
	font-size: 32px;
	font-weight: 300;
}

#blog article .view-more:hover {
	bottom: -40px;
}

#sidebar .widget {
	margin-bottom: 50px;
}

#sidebar .widget .widget-title {
	width: 100%;
    padding-bottom: 5px;
    border-bottom: 2px solid var(--main);
    color: var(--blue);
    float: left;
    font-size: 22px;
    line-height: normal;
    margin: 20px 0;
    font-weight: 600;
}

#sidebar .widget article {
	padding-bottom: 35px;
	margin-bottom: 20px;
	border-radius: 5px;
	box-shadow: inset 0 0 0 2px #f6f6f6;
	overflow: hidden;
	position: relative;
}

#sidebar .widget article figure {
	width: 100%;
	max-height: 150px;
	overflow: hidden;
	margin: 0 0 20px 0;
	float: left;
	position: relative;
	z-index: 0;
}

#sidebar .widget article figure {
	background-color: var(--main);
}

#sidebar .widget article figure::after {
	content: '\f03e';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	color: #fff;
	font-size: 42px;
	transform: translate(-50%, -50%);
	position: absolute;
	top: 50%;
	left: 50%;
}

#sidebar .widget article figure img.wpp_def_no_src {
	opacity: 0;
}

#sidebar .widget article figure a {
	width: 100%;
	overflow: hidden;
	float: left;
}

#sidebar .widget article figure a img {
	transition: all 560ms ease;
	position: relative;
	z-index: 2;
}

#sidebar .widget article figure a img.wpp-thumbnail {
	margin-right: 0;
}

#sidebar .widget article figure a:hover img {
	transform: scale(1.1);
}

#sidebar .widget article h4 {
	width: 100%;
	padding: 0 20px;
	margin: 0 0 30px 0;
	line-height: 20px;
	float: left;
}

#sidebar .widget article h4 a {
	font-size: 18px;
	color: var(--blue);
}

#sidebar .widget article .view-more {
	width: 70px;
	height: 100px;
	padding-top: 5px;
	background-color: var(--main);
	border-radius: 70px;
	transform: translateX(-50%);
	justify-content: center;
	display: flex;
	transition: all 280ms ease;
	position: absolute;
	bottom: -60px;
	left: 50%;
}

#sidebar .widget article .view-more::before {
	content: '+';
	color: #fff;
	font-size: 32px;
	font-weight: 300;
}

#sidebar .widget article .view-more:hover {
	bottom: -45px;
}

.single #blog article#single {
	border-radius: 0;
	box-shadow: none;
}

.single #blog article header {
	margin-bottom: 50px;
}

.single #blog article header img {
	border-radius: 5px;
	transform: none;
}

.single #blog article header::after {
	border-radius: 5px;
}

.single #blog article:hover header img {
	transform: none;
}

.single #blog article header .post-meta {
	width: 100%;
	padding: 20px;
	font-family: 'Roboto Slab', serif;
	color: #fff;
	position: absolute;
	bottom: 0;
	z-index: 3;
}

.single #blog article header .post-meta a {
	font-family: 'Roboto Slab', serif;
	color: #fff;
}

.single #blog article header .post-meta a:hover {
	text-decoration: underline;
}

.single #blog article .post-content h3,
.single #blog article .post-content h2,
.single #blog article .post-content h4 {
	color: var(--blue);
}

.single #blog article .post-content h5, 
.single #blog article .post-content h6 {
    color: var(--blue);
    font-weight: 400;
    font-size: 20px;
    margin-bottom: 10px;
}

.single #blog article .post-content h3:empty,
.single #blog article .post-content h2:empty,
.single #blog article .post-content h4:empty {
	display: none;
}

.single #blog article .post-content a {
	color: var(--main);
	cursor: pointer;
}

.single #blog article .post-content a:hover {
	text-decoration: underline;
}

.single #blog article footer {
	width: 100%;
	padding-top: 20px;
	margin-top: 30px;
	border-top: 2px solid #f6f6f6;
	text-align: center;
	list-style: none;
	float: left;
	position: relative;
}

.single #blog article footer::after {
	content: '';
	width: 100px;
	border-bottom: 2px solid var(--main);
	transform: translateX(-50%);
	position: absolute;
	bottom: 0;
	left: 50%;
}

.single #blog article footer ul:not(.share) li {
	width: auto;
	margin-right: 20px;
	color: #999;
	display: inline-block;
	float: none;
}

.single #blog article footer ul:not(.share) li:first-child {
	width: 100%;
	margin-right: 0;
	margin-bottom: 20px;
	margin-left: 0;
	text-align: center;
	float: left;
}

.single #blog article footer li a {
	font-size: 24px;
	color: #999;
}

.single #blog article footer li a:hover {
	color: var(--main);
}

.single #related article {
	width: calc(50% - 15px);
}

.single #related article:first-child {
	margin-right: 15px;
}

.single #related article:last-child {
	margin-left: 15px;
}

.single #blog #related article header h3 {
	font-size: 24px;
}

.single #blog #related article header {
	border-radius: 5px 5px 0 0;
	margin-bottom: 0;
}

.single #blog #related article header img {
	border-radius: 5px 5px 0 0;
}

.single #blog #related article .content p {
	font-size: 14px;
	line-height: 18px;
}

.single #blog #disqus_thread {
	width: 100%;
	float: left;
}

/* Team */

#main-gallery {
	margin-bottom: 70px;
}

.team {
	margin-top: 80px;
	margin-bottom: -75px;
}

#teachers.team {
}

.team .member {
	border: 2px solid #f6f6f6;
	margin-bottom: 130px;
}

.team .member figure {
	width: 180px;
	height: 180px;
	min-height: 10px;
	border-radius: 180px;
	box-shadow: 0 0 0 2px #f6f6f6;
	overflow: hidden;
	transform: translateX(-50%);
	margin: 0;
	float: left;
	position: relative;
	top: -85px;
	left: 50%;
}

.team .member .content {
	width: 100%;
	margin-top: -65px;
	clear: both;
	text-align: center;
	float: left;
}

.team .member .content .member-name {
	width: 100%;
	margin-bottom: 5px;
	font-size: 20px;
	font-weight: 600;
	color: var(--blue);
	float: left;
}

.team .member .content strong {
	width: 100%;
	margin-bottom: 15px;
	color: var(--grey);
	font-size: 14px;
	font-weight: 400;
	font-style: italic;
	float: left;
}

.team .member .content .info {
	width: 30px;
	height: 30px;
	border-radius: 30px;
	margin-bottom: 20px;
	border: 2px solid var(--main);
	color: var(--main);
	cursor: pointer;
	transition: all 560ms ease;
	justify-content: center;
	align-items: center;
	display: inline-flex;
}

.team .member .content .info:hover {
	border-color: var(--blue);
	color: var(--blue);
}

.team .member .content .info.empty {
	cursor: not-allowed;
	color: var(--grey);
	border-color: var(--grey);
}

.team .member .description {
	width: 100%;
	height: 100%;
	background-color: rgba(255, 255, 255, 0.75);
	opacity: 0;
	transform: none;
	pointer-events: none;
	transition: all 280ms ease;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;
}

.team .member .description.active {
	opacity: 1;
	pointer-events: all;
}

.team .member .description .description-wrapper {
	width: 40%;
	padding: 50px;
	border: 2px solid #eaeaea;
	background-color: #fff;
	box-shadow: 0 20px 20px rgb(0 0 0 / 25%);
	transform: translate(-50%, -50%);
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 3;
}

.team .member .description .description-wrapper .close {
	color: var(--grey);
	cursor: pointer;
	position: absolute;
	top: 7px;
	right: 10px;
}

.team .member .description .description-wrapper h4 {
	margin-bottom: 0;
	font-size: 20px;
	color: var(--blue);
}

.team .member .description .description-wrapper strong {
	width: 100%;
	margin-bottom: 15px;
	color: var(--grey);
	font-size: 14px;
	font-weight: 400;
	font-style: italic;
	float: left;
}

.team .member .description p {
	margin-bottom: 0;
	font-size: 14px;
	line-height: 20px;
}

#timeline {
	width: 0;
	margin-top: 30px;
	margin-bottom: 120px;
	justify-content: space-between;
	opacity: 0;
	transition: all 2000ms ease;
	align-items: center;
	display: flex;
	clear: both;
}

#timeline.visible {
	width: 100%;
	opacity: 1;
}

#timeline::after {
	content: '';
	width: 100%;
	height: 5px;
	background-color: #ccc;
	transform: translateY(-50%);
	position: absolute;
	left: 0;
	top: 50%;
}

#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;
}

#timeline .item span:hover,
#timeline .item.active span {
	color: var(--main);
}

#timeline .item .year {
	font-size: 24px;
	font-weight: 700;
	color: var(--blue);
	font-family: 'Roboto Slab', serif;
	transition: all 280ms ease;
	opacity: 0;
	position: absolute;
	left: 50%;
	top: 40px;
}

#timeline .item .content {
	width: 340px;
	padding: 20px;
	background-color: var(--blue);
	transform: translateX(-50%) translateY(-20px);
	border-radius: 5px;
	opacity: 0;
	transition: all 280ms ease;
	pointer-events: none;
	position: absolute;
	left: 50%;
	top: 0;
}

#timeline .item .content::after {
	content: '';
	width: 10px;
	height: 10px;
	background-color: var(--blue);
	transform: translateX(-50%) rotate(45deg);
	position: absolute;
	bottom: -5px;
	left: 50%;
}

#timeline .item.active .content {
	pointer-events: all;
	opacity: 1;
	transform: translateX(-50%) translateY(0px);
}

#timeline .item .content figure {
	width: 100%;
	margin: 0 0 10px 0;
	float: left;
}

#timeline .item .content p {
	margin-bottom: 0;
	font-size: 15px;
	line-height: 20px;
	text-align: justify;
	hyphens: auto;
	color: #fff;
}

/* Courses dates */

#courses-dates {
	margin-bottom: 2px;
}

.tax-idiomas #courses-dates.moved {
	margin-top: 0;
	margin-bottom: 30px;
}

#courses-dates #historic-list {
	filter: grayscale(100%);
}

#courses-dates article {
	padding: 20px;
	margin-bottom: -2px;
	border: 2px solid #eaeaea;
	background-color: #fff;
	font-size: 16px;
	overflow: hidden;
	align-items: center;
	display: flex;
	color: var(--blue);
	position: relative;
}

#courses-dates article .date {
	padding-right: 30px;
	padding-left: 10px;
	margin-right: 20px;
	font-size: 32px;
	font-weight: 700;
	text-align: center;
	font-family: 'Roboto Slab', serif;
	border-right: 2px solid #eaeaea;
	color: var(--blue);
	float: left;
}

#courses-dates article .date .day {
	width: 100%;
	float: left;
}

.fleft#courses-dates h1 {
	margin-top: 40px;
}

#courses-dates article .date .month {
	text-transform: uppercase;
	font-size: 20px;
}

#courses-dates article .title {
	width: calc(100% - 110px);
	float: left;
}

.tax-idiomas #courses-dates article .title {
	position: static;
	padding: 0;
	border-right: 0;
}

.tax-idiomas #courses-dates article h4 {
	margin-top: 0;
}

#courses-dates article .title > div {
	margin-bottom: 5px;
}

#courses-dates article .title > div:last-child {
	margin-bottom: 0;
}

#courses-dates article .slider-course  {
	width: 100%;
	margin-bottom: 3px;
	font-size: 24px;
	color: var(--blue);
	float: left;
	display: block;
	font-weight: 600;
}

#courses-dates article .slider-course > span{
	color: var(--main);
}

#courses-dates article .schedule ul {
	padding-left: 20px;
	margin-bottom: 0;
}

#courses-dates article .schedule ul li {
	width: 100%;
	font-family: 'Roboto', sans-serif;
	font-size: 16px;
	line-height: 20px;
	color: var(--blue);
	list-style-type: square;
	float: left;
}

#courses-dates article .mode {
	clear: both;
}

#courses-dates article .button {
	width: 50px;
	height: 50px;
	padding: 0;
	margin-top: 0;
	border-radius: 100%;
	font-size: 24px;
	font-weight: 300;
	justify-content: center;
	align-items: center;
	display: flex;
}

#courses-dates article .button span {
	display: inline-block;
	height: 16px;
	line-height: 12px;
}

#courses-dates .button {
	margin-top: 30px;
	margin-bottom: 0;
}

#courses-dates h5 {
	margin-bottom: 0;
	font-size: 18px;
	font-weight: 400;
	font-family: 'Roboto Slab', serif;
	color: var(--blue);
}

#courses-dates h5 a {
	color: var(--main);
}

#courses-dates .more {
	width: 100px;
	height: 70px;
	padding-left: 15px;
	border-radius: 70px;
	background-color: var(--main);
	color: #fff;
	transform: translateY(-50%);
	font-weight: 700;
	align-items: center;
	display: flex;
	position: absolute;
	top: 50%;
	right: -50px;
}

#courses-dates .more::before {
	content: '\f0e0';
	margin-right: 10px;
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	font-size: 24px;
	font-weight: 300;
	float: left;
}

#courses-dates .more:hover {
	padding-left: 20px;
	right: -40px;
}

/* Downloads */

#content-login {
	width: 50%;
	padding: 40px;
	margin-bottom: 70px;
	border: 2px solid #f6f6f6;
	border-radius: 5px;
}

#content-login input {
	width: calc(100% - 120px);
	height: 50px;
	padding: 10px;
	border: 2px solid #f6f6f6;
	border-right: 0;
	border-radius: 5px 0 0 5px;
	font-family: 'Roboto Slab', serif;
	transition: all 560ms ease;
	font-size: 16px;
	float: left;
}

#content-login input:focus {
	border-color: #eaeaea;
}

#content-login .input-control .show-pass {
	color: var(--grey);
	margin-top: 3px;
	transform: translateY(-50%);
	cursor: pointer;
	position: absolute;
	top: 50%;
	right: 130px;
	display: none;
}

#content-login button {
	width: 120px;
	height: 50px;
	border: 0;
	border-radius: 0 5px 5px 0;
	transition: all 560ms ease;
	cursor: pointer;
}

#content-login button.disabled {
	background-color: #ccc;
}

#content-login button:hover {
	transform: none;
	box-shadow: none;
	background-color: var(--orange);
}

#content-login small {
	width: 100%;
	margin-top: 20px;
	text-align: center;
	clear: both;
	float: left;
}

#content-login a {
	color: var(--main);
}

#content-login a:hover {
	text-decoration: underline;
}

#content-login .error {
	padding-top: 20px;
	margin-top: 20px;
	color: #f11c1c;
	text-align: center;
	position: relative;
}

#content-login .error::after {
	content: '';
	width: 50px;
	border-top: 2px solid #ccc;
	transform: translateX(-50%);
	position: absolute;
	top: 0;
	left: 50%;
}

.content-wrapper {
	width: 60%;
	padding: 50px 50px 30px 50px;
	margin-bottom: 50px;
	border: 2px solid #f6f6f6;
	clear: both;
}

.content-wrapper a.goback {
	color: var(--grey);
	float: right;
}

.content-wrapper a.goback:hover {
	color: var(--blue);
}

#files {
	width: 100%;
	padding-top: 20px;
	border-top: 2px solid #f6f6f6;
	clear: both;
}

#files li {
	width: 100%;
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: 2px solid #f6f6f6;
	float: left;
}

#files li a {
	transition: all 560ms ease;
	color: var(--main);
	float: left;
}

#files li a:hover {
	padding-left: 20px;
}

/* Contact */

#contact-form {
	width: 100%;
	height: 0;
	overflow: hidden;
	background-color: #fcfcfc;
	transform: translate(-50%, -50%);
	justify-content: center;
	align-items: center;
	display: flex;
	transition: all 1200ms ease;
	transition-delay: 600ms;
	position: fixed;
	top: 50%;
	left: 50%;
	z-index: 11;
}

#contact-form.active {
	height: 100%;
	transition-delay: 0ms;
}

#contact-form > h5 {
	width: 100%;
	text-align: center;
	padding: 30px;
	font-size: 32px;
	text-transform: uppercase;
	font-weight: 300;
	color: var(--main);
	margin: 0;
	position: absolute;
	top: 0;
	left: 0;
}

#contact-form > div .close {
	padding: 0;
	border: 0;
	cursor: pointer;
	font-size: 20px;
	color: #ccc;
	box-shadow: 0 0 0 transparent;
	transition: all 560ms ease;
	position: absolute;
	top: 17px;
	right: 20px;
	z-index: 3;
}

#contact-form > div .close:hover {
	color: var(--main);
}

#contact-form > div {
	width: 50%;
	padding: 50px;
	border: 1px solid #eaeaea;
	background-color: #fff;
	box-shadow: 0 5px 10px rgba(0, 0, 0, 0.15);
	transform: scale(0.75) translateY(-100px);
	opacity: 0;
	transition: all 960ms ease;
	transition-delay: 0ms;
	float: left;
	position: relative;
}

#contact-form.active > div {
	opacity: 1;
	transform: scale(1) translateY(0);
	transition-delay: 600ms;
}

#contact-form > div .block.last {
	justify-content: space-between;
	align-items: center;
	display: flex;
}

#contact-form > div .block.last .ajax-loader {
	width: 100%;
	height: 100%;
	margin: 0;
	background-repeat: no-repeat;
	background-position: center;
	background-color: rgba(255, 255, 255, 0.75);
	background-image: url('images/loading.gif');
	position: absolute;
	top: 0;
	left: 0;
}

#contact-form > div .block h5 {
	width: 100%;
	margin-bottom: 25px;
	font-size: 18px;
	font-weight: 700;
	color: var(--blue);
	float: left;
	position: relative;
}

#contact-form > div .block h5 span {
	color: var(--main);
}

#contact-form > div .block h5::after {
	content: '';
	width: 30px;
	border-top: 2px solid var(--main);
	transition: all 560ms ease;
	position: absolute;
	bottom: -10px;
	left: 15px;
}

#contact-form > div .select,
#contact-form > div .input {
	margin-bottom: 20px;
	position: relative;
}

#contact-form > div .select::after {
	content: '\f078';
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	color: #ccc;
	pointer-events: none;
	transform: translateY(-50%);
	position: absolute;
	top: 50%;
	right: 35px;
}

#contact-form > div select {
	width: 100%;
	height: 50px;
	padding-left: 10px;
	color: var(--grey);
	background-color: #fff;
	border-radius: 0;
	cursor: pointer;
	border: 2px solid #f6f6f6;
	-webkit-appearance: none;
	-moz-appearance: none;
	-ms-appearance: none;
	-o-appearance: none;
	appearance: none;
	float: left;
}

#contact-form > div input:not([type="checkbox"]):not([type="submit"]),#contact-form > div textarea {
	width: 100%;
	height: 50px;
	padding-left: 10px;
	color: var(--grey);
	border: 2px solid #f6f6f6;
	transition: all 560ms ease;
	border-radius: 0;
	float: left;
}

#contact-form > div textarea {
	height: 90px;
	padding-top: 10px;
	padding-right: 10px;
	resize: none;
}

#contact-form > div .showmessage {
	width: 100%;
	margin-bottom: 20px;
	color: var(--main);
	overflow: hidden;
	white-space: nowrap;
	transition: all 560ms ease;
	float: left;
}

#contact-form > div .showmessage span {
	color: var(--blue);
}

#contact-form > div .showmessage.hide {
	width: 0;
}

#contact-form > div .message-wrap {
	width: 0;
	height: 0;
	margin: 0;
	overflow: hidden;
	transition: all 280ms ease;
	transition-delay: 560ms;
}

#contact-form > div .hidden {
	position: absolute;
	opacity: 0;
	visibility: hidden;
	display: none;
}

#contact-form > div .message-wrap.active {
	width: 100%;
	height: 90px;
	margin-bottom: 20px;
}

#contact-form > div input:not([type="checkbox"]):not([type="submit"]):focus,#contact-form > div textarea:focus {
	border-color: var(--main);
}

#contact-form > div select.wpcf7-not-valid,
#contact-form > div input:not([type="checkbox"]):not([type="submit"]).wpcf7-not-valid,#contact-form > div textarea.wpcf7-not-valid {
	border-color: #a51745;
}

#contact-form > div br {
	display: none;
}

#contact-form > div span.wpcf7-list-item {
	margin-left: 0;
}

#contact-form > div .acceptance {
	font-family: 'Roboto Slab', serif;
}

#contact-form > div .acceptance a {
	color: var(--main);
}

#contact-form > div .acceptance input {
	opacity: 0;
	position: absolute;
	left: 0;
}

#contact-form > div .acceptance label {
	cursor: pointer;
}

#contact-form > div .acceptance label::before {
	content: '';
	width: 15px;
	height: 15px;
	margin-right: 10px;
	border: 2px solid #eaeaea;
	float: left;
}

#contact-form > div .acceptance label::after {
	content: '';
	width: 11px;
	height: 11px;
	font-size: 15px;
	background-color: var(--main);
	transform: scale(0);
	transition: all 560ms ease;
	position: absolute;
	left: 4px;
	top: 4px;
}

#contact-form > div .acceptance label.checked::after {
	transform: scale(1);
}

#contact-form > div .acceptance label.checked::before {
	border-color: var(--main);
}

#contact-form > div input[type="submit"] {
	width: 100px;
	height: 50px;
	border: 0;
	transition: all 560ms ease;
	cursor: pointer;
	float: right;
}

#contact-form > div input[type="submit"]:disabled {
	filter: grayscale(100%);
	opacity: 0.3;
	pointer-events: none;
}

#contact-form > div .wpcf7-spinner {
	width: 100px;
	height: 50px;
	margin: 0;
	border-radius: 5px;
	background-color: #ff7a03;
	opacity: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	right: 50px;
}

#contact-form > div .wpcf7-spinner::before {
	width: 8px;
	height: 8px;
	top: auto;
	left: auto;
}

#contact-form > div div.wpcf7-response-output {
	width: 100%;
	padding: 10px 0 0 0;
	margin: 20px 0 0 0;
	border: 0;
	color: var(--grey);
	border-top: 2px solid #eaeaea;
	text-align: center;
	float: left;
}

#contact-form > div div.wpcf7-validation-errors {
	border-color: #f11c1c;
	color: #f11c1c;
	font-weight: 700;
}

#contact-form > div div.wpcf7-mail-sent-ok {
	border-top-color: #0085ff;
	color: #0085ff;
	font-weight: 700;
}

#contact-form > div .wpcf7-not-valid-tip {
	display: none;
}

/* Main CTA */

#main-cta {
	border-top: 5px solid var(--main);
	border-bottom: 5px solid var(--main);
	padding: 100px 0;
	background-color: transparent;
	position: relative;
	overflow: hidden;
}

.tax-idiomas #main-cta,
.single-cursos #main-cta {
	margin-top: 70px;
}

#main-cta::before {
	content: '';
	width: 100%;
	height: 100%;
	background-color: var(--blue);
	opacity: 0.5;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}

#main-cta .background {
	width: calc(100% + 6px);
	height: calc(100% + 6px);
	filter: blur(3px);
	background-image: url('images/main-cta.jpg');
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	position: absolute;
	top: -3px;
	left: -3px;
	z-index: -1;
}

#main-cta .wrapper {
	position: relative;
	z-index: 3;
}

#main-cta h3 {
	width: 100%;
	margin-bottom: 50px;
	text-align: center;
	font-size: 32px;
	display: block;
}

#main-cta .cta-title {
	width: 100%;
	margin-top: 40px;
	margin-bottom: 50px;
	font-size: 42px;
	font-weight: 600;
	text-align: center;
	display: block;
	color: white;
}

#main-cta p {
	width: 100%;
	margin-top: 50px;
	margin-bottom: 0;
	text-align: center;
}

/* Footer */

#footer {
	padding-top: 90px;
	color: #fff;
	background-color: #20223d;
}

/*
#footer > .wrapper:first-child::after {
content: '';
height: 100%;
border-left: 2px solid #32334d;
position: absolute;
top: 0;
left: calc(70% - 50px);
}
*/
#footer a {
	color: var(--grey);
}

#footer a:hover {
	color: #fff;
}

#footer > .wrapper {
	margin-bottom: 60px;
	position: relative;
}

#footer .wrapper .w70 ul.fleft li {
	width: 100%;
	margin-bottom: 10px;
	float: left;
}

#footer .wrapper .w70 ul.fleft li a {
	font-family: 'Roboto Slab', serif;
	float: left;
	padding-left: 15px
}

#footer .wrapper .w70 ul.fleft li a::before {
	content: '';
	width: 5px;
	margin-right: 5px;
	border-top: 2px solid var(--main);
	float: left;
	position: relative;
	top: 13px;
	margin-left: -15px;
}

#footer .wrapper .fright .footer-contact {
	margin-bottom: 30px;
}

#footer .wrapper .fright .footer-contact li {
	width: 100%;
	padding-left: 35px;
	margin-bottom: 20px;
	float: left;
	position: relative;
}

#footer .wrapper .fright .footer-contact li a {
	font-family: 'Roboto Slab', serif;
}

#footer .wrapper .fright .footer-contact li a span {
	margin-right: 10px;
	background-repeat: no-repeat;
	background-position: center;
	opacity: 0.4;
	transition: all 560ms ease;
	position: absolute;
	top: 1px;
	left: 0;
}

#footer .wrapper .fright .footer-contact li a:hover span {
	opacity: 1;
}

#footer .wrapper .fright .footer-contact li:nth-child(1) span {
	width: 21px;
	height: 26px;
	background-image: url('images/location.svg');
	background-size: 18px 26px;
}

#footer .wrapper .fright .footer-contact li:nth-child(2) span {
	width: 21px;
	height: 15px;
	background-image: url('images/email.svg');
	background-size: 21px 15px;
	top: 7px;
}

#footer .wrapper .fright .footer-contact li:nth-child(3) span {
	width: 21px;
	height: 23px;
	background-image: url('images/phone.svg');
	background-size: 11px 23px;
	top: 2px;
}

#footer .wrapper .fright .footer-contact li:nth-child(4) span {
	width: 21px;
	height: 20px;
	background-image: url('images/whatsapp.svg');
	background-size: 20px 20px;
	top: 5px;
}

#footer .wrapper .fright .social li {
	margin-right: 20px;
	float: left;
}

#footer .wrapper .fright .social li a {
	font-size: 24px;
	color: var(--main);
	float: left;
}

#footer .wrapper .fright .social li a:hover {
	color: var(--orange);
	transform: translateY(-5px);
}

#footer #gotop {
	border-top: 2px solid #32334d;
	font-size: 28px;
	text-align: center;
	color: var(--main);
}

#footer #gotop:hover {
	background-color: rgba(255, 255, 255, 0.05);
}

#footer #copy {
	border-top: 2px solid #32334d;
}

#footer #copy .wrapper {
	align-items: center;
	display: flex;
}

#footer #copy .wrapper > div:nth-child(2) {
	text-align: center;
}

#footer #copy,
#footer #copy a {
	color: var(--grey);
}

#footer #copy a:hover {
	color: #fff;
}

#footer #copy ul {
	margin-bottom: 0;
}

#footer #copy ul li,
#footer #copy ul li a {
	font-family: 'Roboto', sans-serif;
	font-size: 16px;
	float: left;
	position: relative;
}

#footer #copy ul li::after {
	content: '';
	width: 3px;
	height: 3px;
	margin: 0 10px;
	border-radius: 3px;
	background-color: var(--grey);
	transform: translateY(12px);
	float: left;
}

#footer #copy ul li:last-child::after {
	display: none;
}

/* Misc */

#breadcrumbs {
	padding-top: 3px;
	margin-bottom: 50px;
}

#breadcrumbs ul {
	width: 100%;
	padding-bottom: 5px;
	margin-bottom: 0;
	border-bottom: 2px solid #f6f6f6;
	font-family: 'Roboto', sans-serif;
	float: left;
}

#breadcrumbs ul::before,
#breadcrumbs ul::after {
	content: '';
	display: block;
	clear: both;
}

#breadcrumbs ul li {
	float: left;
}

#breadcrumbs ul li.view {
	float: right;
}

#breadcrumbs ul li.view::after {
	display: none;
}


#breadcrumbs ul li:first-child::after {
	margin-left: 0;
}

#breadcrumbs ul li::after {
	content: '/';
	margin: 0 5px;
	color: #cacaca;
	font-weight: 800;
	float: left;
}

#breadcrumbs ul li a,
#breadcrumbs ul li strong {
	font-size: 15px;
	color: var(--grey);
}

#breadcrumbs ul li a:hover {
	color: var(--main);
}

#main .owl-dots {
	width: 100%;
	padding: 5px 0;
	background: rgb(0, 0, 0);
	background: linear-gradient(0deg, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0) 100%);
	text-align: center;
	position: absolute;
	bottom: 0;
}

#main .owl-dots .owl-dot {
	width: 10px;
	height: 10px;
	margin: 0 5px;
	border-radius: 100%;
	background-color: #fff;
	display: inline-block;
}

#main .owl-dots .owl-dot.active {
	background-color: var(--main);
}

article .button.bottom {
	margin-bottom: 20px;
	align-self: center;
	transform: translateX(-50%);
	position: sticky;
	left: 50%;
	bottom: 10px;
}

.home #main #schedule {
	width: 100%;
	display: none;
	position: absolute;
	bottom: 0;
	left: 0;
}

.home #main #schedule.alone,
.archive #main #schedule.alone {
	bottom: 0px;
	background-color: rgba(0, 0, 0, 0.5);
}

.home #main #schedule.alone #courses-dates,
.archive #main #schedule.alone #courses-dates {
	margin-bottom: 0;
}

#main #schedule .owl-item {
	margin-bottom: 30px;
}

.home #main #schedule #courses-dates article,
.archive #main #schedule #courses-dates article {
	border-right: 0;
	margin: 0;
}

.home #main #schedule.alone #courses-list article,
.archive #main #schedule.alone #courses-list article {
	width: 50%;
	transform: translateX(-50%);
	border: 2px solid #eaeaea;
	left: 50%;
}

.home #langs .lang {
	display: flex;
	align-items: center;
}

.home #langs .lang div {
	width: 100%;
}

.home #langs .lang a {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}

.home #langs .lang h3 {
	height: auto;
	margin-bottom: 15px;
	position: static;
}

.home #langs .lang h3:only-child {
	margin-bottom: 0;
}

.home #langs .lang p {
	margin-bottom: 0;
	font-size: 15px;
	line-height: 20px;
	text-align: center;
}

#courses-list .title h3 {
	color: var(--blue);
    margin-top: 5px;
    margin-bottom: 15px;
}

#courses-list .info {
	display: flex;
    align-items: center;
    justify-content: space-between;
}

#main #schedule .owl-dots {
	height: 30px;
	border-bottom: 2px solid #eaeaea;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	bottom: 0;
}

#main .owl-dots .owl-dot {
	background-color: #ccc;
}

#main .owl-nav > button {
	height: 100%;
	padding: 0 10px !important;
	font-size: 24px;
	color: #fff;
	background-color: rgba(0, 0, 0, 0);
	transition: all 560ms ease;
	justify-content: center;
	align-items: center;
	display: flex;
	position: absolute;
	top: 0;
	z-index: 3;
}

#main .owl-carousel:hover .owl-nav > button {
	background-color: rgba(0, 0, 0, 0.5);
}

.home #main .owl-nav > button {
	width: 40px;
	height: calc(100% - 32px);
	font-size: 18px;
	padding: 0 !important;
	background-color: #fff;
	color: var(--main);
	top: 0;
	top: 0;
}

.home #main .owl-carousel:hover .owl-nav > button,
.home #main .owl-nav > button:hover {
	background-color: #fff;
}

#main .owl-nav .owl-prev {
	left: 0;
}

#main .owl-nav .owl-next {
	right: 0;
}

.home #main .owl-nav .owl-prev {
	border-right: 2px solid #eaeaea;
}

.home #main .owl-nav .owl-next {
	border-left: 2px solid #eaeaea;
}

.home #main .owl-nav button i {
	transition: all 560ms ease;
}

.home #main .owl-nav .owl-prev:hover i {
	transform: translateX(-10px);
}

.home #main .owl-nav .owl-next:hover i {
	transform: translateX(10px);
}

/* Pagination */

.pagination {
	transform: translateX(-50%);
	float: left;
	position: relative;
	left: 50%;
}

.pagination a,
.pagination span {
	width: 40px;
	height: 40px;
	margin: 0 5px;
	color: var(--grey);
	border-radius: 3px;
	font-weight: 600;
	justify-content: center;
	align-items: center;
	display: flex;
	border: 2px solid;
	float: left;
}

.pagination a:hover,
.pagination span {
	color: var(--main);
}

/* Google Reviews */

.google-reviews-wrapper {
	width: 100%;
	height: 350px;
	text-align: center;
	background-color: #fafafa;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	float: left;
	position: relative;
	padding: 0;
    display: flex;
    align-items: center;
}

.google-reviews-wrapper::after {
	content: '';
	width: 100%;
	height: 100%;
	background-color: var(--blue);
	mix-blend-mode: multiply;
	opacity: 0.75;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
}

#google-reviews {
	width: 50%;
	float: left;
	overflow: hidden;
	transform: translateX(-50%);
	transition: all 570ms ease;
	color: #fff;
	position: relative;
	left: 50%;
	z-index: 2;
}

#google-reviews h3 {
	font-size: 32px;
	color: white;   
	margin: 0 0 20px;
}

#google-reviews p {
	color: #fff;
}

#google-reviews .reviews-slider {
	width: 100%;
	float: left;
}

.google-reviews-wrapper h4 {
	text-transform: uppercase;
	font-size: 28px;
	color: var(--blue);
}

#google-reviews .reviews-slider div.owl-stage-outer {
	float: left;
}

#google-reviews .review-item {
	width: 100%;
	border: 1px solid #eee;
	border-radius: 5px;
	background-color: #fff;
	float: left;
}

#google-reviews .review-item .review-meta {
	width: 100%;
	padding: 20px;
	font-weight: 600;
	justify-content: space-between;
	align-items: center;
	display: flex;
	float: left;
}

#google-reviews .review-item .review-meta .review-author {
	align-items: center;
	display: flex;
	float: left;
}

#google-reviews .review-item .review-meta a {
	color: var(--blue);
	align-items: center;
	display: flex;
}

#google-reviews .review-item .review-meta .avatar {
	width: 50px;
	float: left;
}

#google-reviews .review-item .review-meta .avatar img {
	width: 100%;
	height: auto;
	float: left;
}

#google-reviews .review-item .review-meta .name {
	margin-top: 5px;
	margin-left: 10px;
	float: left;
}

#google-reviews .review-item .review-meta .review-stars {
	margin-top: 5px;
	float: right;
}

#google-reviews .review-item .review-meta .review-stars ul {
	margin-bottom: 0;
}

#google-reviews .review-item .review-meta .review-stars li {
	margin-left: 2px;
	float: left;
}

#google-reviews .review-item .review-meta .review-stars li i {
	color: #ffd150;
}

#google-reviews .review-item .review-meta .review-stars li i.inactive {
	color: #eee;
}

#google-reviews .review-item .review-text {
	width: calc(100% - 40px);
	padding-top: 10px;
	margin: 0 20px 20px;
	border-top: 1px solid #eee;
	font-size: 15px;
	line-height: 24px;
	text-align: left;
	float: left;
}

#google-reviews .review-item .review-text:empty {
	display: none;
}

.reviews-links {
	width: 30%;
	margin-top: 40px;
	transform: translateX(-50%);
	clear: both;
	float: left;
	position: relative;
	left: 50%;
}

.reviews-links a {
	width: calc(50% - 10px);
	padding-top: 16px;
	font-size: 16px;
	float: left;
}

.reviews-links a:first-child {
	margin-right: 20px;
}

/* 404 */

.error404 #main {
	height: calc(100vh - 82px);
	background-image: url('images/404.jpg');
	background-position: center;
	background-repeat: no-repeat;
	background-color: #febf03;
}

.error404 .contact a {
	opacity: 1;
}

/* Misc */

.owl-carousel .owl-item img {
	max-width: max-content;
}

#cookie-law-info-bar {
	box-shadow: 0 0 0;
	border-top: 2px solid #f6f6f6;
	z-index: 999999999999999 !important;
}

.students-area #main .page-title {
	margin-top: 0;
} 