/*!
Theme Name: Esade Ecpol
Author: Vänster
Author URI: https://vanster.design
Description: Wordpress Theme for Esade Ecpol
Version: 1.4.3
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: ecpol
*/

/* Variables */
:root {
	--primary-color: #000b3d;
	--secondary-color: #0e1e63;
	--header-color: #1e4192;
	--danger-color: #ff5a5f;
	--tag-color: #767d8a;
	--tag-hover-color: #161616;
	--tag-light-color: #a8a8a8;
	--multiply-color: #505b8c;
	--h1-font-size: 3.15rem;
	--h2-font-size: 2.1rem;
}
@media (max-width: 767px) {
	:root {
		--h1-font-size: 2.15rem;
		--h2-font-size: 1.25rem;
	}
}

/* Fonts */
/*@font-face { font-family: 'MabryPro'; font-weight: normal; src: url('fonts/Mabry-Pro.otf'); } */
/*@font-face { font-family: 'MabryPro'; font-weight: 600; src: url('fonts/Mabry-Pro-Medium.otf'); }*/
@font-face { font-family: 'MabryPro'; src: url(fonts/mabry-regular-pro.woff2) format("woff2"), url(fonts/mabry-regular-pro.woff) format("woff"), url(fonts/mabry-regular-pro.ttf) format("truetype"); }
@font-face { font-family: 'MabryPro'; font-weight: 600; src: url(fonts/mabry-medium-pro.woff2) format("woff2"), url(fonts/mabry-medium-pro.woff) format("woff"), url(fonts/mabry-medium-pro.ttf) format("truetype"); }
@font-face { font-family: 'Esade'; font-weight: bold; src: url('fonts/Esade-Bold.otf'); }
/* @font-face { font-family: 'MabryPro Light'; font-style: normal; font-weight: normal; src: local('MabryPro Light'), url('fonts/Mabry-Pro-Light.otf') format('truetype'); } */
/* @font-face { font-family: 'MabryPro Bold'; font-style: normal; font-weight: normal; src: local('MabryPro Bold'), url('fonts/Mabry-Pro-Bold.otf') format('truetype'); } */
/* @font-face { font-family: 'MabryPro Black'; font-style: normal; font-weight: normal; src: local('MabryPro Black'), url('fonts/Mabry-Pro-Black.otf') format('truetype'); } */
/* @font-face { font-family: 'Esade'; font-weight: normal; src: url('fonts/Esade-Regular.otf'); } */
/* @font-face { font-family: 'Esade'; font-weight: 300; src: url('fonts/Esade-Light.otf'); } */

/* Main elements */

	/* General */
	body { font-family: 'MabryPro'; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
	::placeholder { color: var(--tag-color); }
	::-moz-placeholder { opacity: 1; }

	/* Headings */
	h1, h2, h3, h4, h5 { font-weight: bold; }
	h1, h2 { font-family: 'Esade'; }
	h1, .h1 { font-size: var(--h1-font-size); }
	h2, .h2 { font-size: var(--h2-font-size); }
	h6 { color: var(--tag-color); font-size: 0.8rem; letter-spacing: 0.5px; font-family: inherit; }

	/* Text */
	p { line-height: 1.6; }
	.semismall { font-size: 90%; }	

	/* Links */
	.underlined { background-image: linear-gradient(to right, var(--primary-color) 0%, var(--primary-color) 100%); transition: background-size 0.25s cubic-bezier(.785,.135,.15,.86) 0s !important; background-repeat: no-repeat; background-position: 0 calc(100% - 0.1em); background-size: 0 2px; display: inline; }
	.underlined:hover { background-size: 100% 2px; }
	.underlined.text-white { background-image: linear-gradient(to right, #fff 0%, #fff 100%); }
	.scaled { transition: transform 0.25s ease; }
	.scaled:hover { transform: scale(1.05); }

	/* SVG icons */
	svg { transition: fill 0.25s ease; }
	a > svg { fill: var(--secondary-color); }
	a:hover > svg { fill: var(--danger-color); }
	svg.fill-white { fill: white !important; }

/* Header & Footer */

	/* General */
	header { position: sticky; top: 0; z-index: 4; }
	header, footer { background: var(--primary-color); color: white; line-height: 1.4; }
	header li a, footer li a, #followUs { color: var(--tag-color); }
	header li a:not([href]):not([class]), footer li a:not([href]):not([class]) { color: var(--tag-color) !important; }
	header li a:hover, footer li a:hover, #followUs:hover { color: #ccc; }
	header li a { text-transform: uppercase; letter-spacing: 1px; }
	header li.current-menu-item > a, header li.current-menu-ancestor > a { color: white; }
	#navbarSupportedContent ul:not(.dropdown-menu) > li, #navbarSupportedContentFooter li { text-align: right !important; font-weight: bold; } /* Review, override with WP Admin bar */
	#followUs { letter-spacing: 1.5px; margin-top: .1rem; }
	@media (max-width: 991px) {
		header .navbar-collapse { position: fixed; left: 0; top: 90px; background: var(--primary-color); width: 100%; z-index: 5; padding: 0; }
		header .navbar-collapse > ul { max-width: 720px; padding: 1.5rem 15px; padding-bottom: 0; margin: auto; position: relative; }
		header .navbar-collapse > ul::before { content: ''; background: white; height: 1px; opacity: 0.2; position: absolute; width: calc(100% - 30px); top: 0; }
		header .navbar-collapse > ul > li:last-child { display: none; }
		#navbarSupportedContent ul:not(.dropdown-menu) > li { text-align: left !important; font-size: 90%; margin: .25rem 0; }
		#navbarSupportedContentFooter > ul { display: block; }
		#navbarSupportedContentFooter li:not(:last-child) { margin-bottom: 0.25rem; }
	}
	@media (max-width: 767px) {
		header .navbar-collapse > ul { max-width: 540px; }
	}
	@media (max-width: 379px) {
		header .navbar-toggler > span:last-child { display: none; }
	}

	/* Language selector */
	.wpml-ls-legacy-list-horizontal { clear: both; }
	.wpml-ls-legacy-list-horizontal > ul { padding: 0; margin: 0 !important; list-style-type: none; }
	.wpml-ls-legacy-list-horizontal .wpml-ls-item { padding: 0; margin: 0; list-style-type: none; display: inline-block; }
	.wpml-ls-legacy-list-horizontal a { display: inline-block; text-decoration: none; padding: 5px 10px; line-height: 1; }
	.wpml-ls-legacy-list-horizontal a span { vertical-align: middle; }
	.wpml-ls-legacy-list-horizontal.wpml-ls-statics-footer > ul { text-align: right; }
	.wpml-ls-legacy-list-horizontal.wpml-ls-statics-footer > ul > li:not(:last-child)::after { content: ''; display: inline-block; width: 1px; height: 10px; background: var(--tag-color); margin-bottom: -2px; }
	.wpml-ls-legacy-list-horizontal.wpml-ls-statics-footer > ul > li:last-child a { padding-right: 0 !important; }
	.wpml-ls-legacy-list-horizontal .wpml-ls-item.wpml-ls-current-language { font-weight: bold; }

	/* Dropdowns */
	.navbar-nav .dropdown-menu { min-width: 200px; padding-top: 30px; margin-top: 0; }
	.navbar-nav .dropdown-menu li a { letter-spacing: normal; font-size: 110%; }
	.navbar-nav .dropdown-toggle::after { display: none; }
	@media (min-width: 992px) {
		.navbar-nav .dropdown:hover > .dropdown-menu { display: block; }
	}
	@media (max-width: 991px) {
		.navbar-nav .dropdown > .dropdown-menu { display: block; padding-top: .25rem; }
		.navbar-nav .dropdown > .dropdown-menu li a { padding: .25rem 1rem; }
	}

	/* Search form */
	.searchForm { position: absolute; top: -4px; right: 2rem; width: 0; transition: width 0.25s ease; overflow: hidden; }
	.searchForm input { background: var(--primary-color); border: 1px var(--tag-color) solid; font-size: 0.8rem; padding: 4px 8px; width: 100%; color: white; outline: none; }
	.searchForm input:focus { border-color: white; }
	#menuBlock #navbarSupportedContent > ul > li,
	#menuBlock > div:first-child { transition: opacity 0.25s ease; }
	#menuBlock.isSearch .searchForm { width: 200px; }
	@media (min-width: 992px) {
		#menuBlock.isSearch #navbarSupportedContent > ul > li:not(:last-child) { opacity: 0; pointer-events: none; }
	}
	@media (max-width: 767px) {
		#menuBlock.isSearch > div:first-child { opacity: 0; }
	}

/* Content */

	/* General */
	.ecpolContent h1, .ecpolContent h2, .ecpolContent h3, .ecpolContent h4, .ecpolContent h5 { color: var(--primary-color); transition: all 0.2s ease; } /* Review this */
	.ecpolContent a:hover h4, .ecpolContent a:hover h5 { color: var(--danger-color); }
	.squaredImage { height: 0; position: relative; padding-top: 100%; overflow: hidden; }
	.squaredImage img { width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; transition: transform 0.15s ease; }
	.squaredImage.hdImage { padding-top: 56.25%; }
	.squaredImage.videoIcon::after { background: url(img/icon-play.svg) no-repeat; background-size: contain; width: 20%; height: 35%; left: 0; right: 0; top: 0; bottom: 0; margin: auto; content: ''; position: absolute; filter: drop-shadow( 3px 3px 2px rgba(0, 0, 0, .5)); }
	a.squaredImage:hover img { transform: scale(1.05); }

	/* Page header */
	.content-header { color: white; position: relative; padding-bottom: 120px; pointer-events: none; }
	.content-header > div { background: var(--header-color); }
	.content-header::before { position: absolute; border-bottom: 120px solid transparent; bottom: 0; left: 0; width: 100%; border-left: 100vw var(--header-color) solid; content: ''; }
	.content-header h1 { margin-bottom: -30px; position: relative; z-index: 2; }
	.tax-header h1 { font-family: inherit; color: white; }
	.tax-header h1 span { display: flex; position: relative; }
	.tax-header h1 span::after { content: ""; display: block; height: 1px; margin-left: 20px; margin-top: 2px; flex: auto; align-self: center; background: var(--tag-color); }
	body.home .content-header { position: absolute; z-index: 3; opacity: 0.8; /* mix-blend-mode: multiply; */ }
	body.home .content-header > div { background: var(--primary-color); }
	body.home .content-header::before { border-left-color: var(--primary-color); }
	@media (max-width: 767px) {
		.content-header { padding-bottom: 60px; }
		.content-header::before { border-bottom: 60px solid transparent; }
		.content-header h1 { margin-bottom: -10px; }
	}

	/* Post */
	#featuredImageHero { height: 380px; object-fit: cover; }
	.contentTitle { padding: 30px 50px 37px 50px; box-shadow: 0 3px 49px 0 rgba(0,0,0,.16); background: white; max-width: 900px; margin-top: -120px; position: relative; }
	.contentBody { max-width: 700px; }
	.contentBody h2, 
	.contentBody h4 { margin-bottom: 2rem; }
	.contentBody ul { list-style: none; padding-left: 1.25rem; }
	.contentBody ul li { margin-bottom: 1rem; position: relative; }
	.contentBody ul > li::before { content: ''; background: var(--header-color); display: block; position: absolute; width: .45rem; height: .45rem; top: .5rem; left: -1.25rem; border-radius: 50%; }
	.contentBody ul li > ul,
	.contentBody ul li > ol { margin-top: 1rem; padding-left: 2rem; }
	.contentTags a, .contentTags span { color: white !important; display: inline-block; margin: 5px; padding: 5px 10px; transition: background 0.2s ease; }
	.contentTags a:hover { background: var(--tag-hover-color) !important; }
	.contentText img { max-width: 100%; height: auto; }
	.contentAttachment .img-fluid { box-shadow: 4px 4px 10px rgba(0,0,0, .2); }
	.contentAuthors hr { border-color: var(--tag-color); opacity: 0.8; }
	.contentAuthors > div:last-child > div:last-child { display: none; }
	.separator::before { content: '·'; margin: 0 10px; }

	/* Authors / People */
	.contentAuthor p:last-child { margin-bottom: 0; }

	/* Archive */
	.contentTagsArchive { margin-top: -20px; position: relative; }
	.contentTagsArchive a, .contentTagsArchive span { margin: 0; margin-bottom: 3px; }
	#loadingMore { display: none; }

	/* Related posts */
	@media (max-width: 575px) {
		#relatedPosts .squaredImage { padding-top: 56.25%; }
	}

	/* Home */
	#temasClave .row { margin-left: -0.5rem; margin-right: -0.5rem; }
	#temasClave [class^="col-"] { padding-left: 0.5rem; padding-right: 0.5rem; }
	#temasClave span { min-width: 140px; position: relative; z-index: 1; transition: transform 0.25s ease; }
	#temasClave a { height: 19rem; background-size: cover; position: relative; }
	#temasClave a::before { content: ''; background: rgba(0, 0, 0, 0.25); width: 0; height: 0; position: absolute; transition: all 0.25s ease; }
	#temasClave a:hover::before { width: 100%; height: 100%; }
	#temasClave a:hover span { transform: scale(1.1); }
	#temasClave a.half { height: 9rem; }
	#proyectosColaboracion a { transition: transform 0.25s ease; }
	#proyectosColaboracion a:hover { transform: scale(1.05); }
	@media (max-width: 991px) {
		#temasClave a { height: 9rem; }
	}
	#conoceEquipo { background-position: top right !important; }
	@media (max-width: 575px) {
		#conoceEquipo { padding-top: 300px !important }
	}

	/* Excerpts */

		/* Horizontal */
		@media (max-width: 767px) {
			.ecpolHorizontal:not(:first-child):not(:nth-child(2)) { display: none; }
		}

		/* Horizontal teaser */
		.ecpolHorizontalTeaser:last-child > div { border: none !important; }
		@media (max-width: 767px) {
			.ecpolHorizontalTeaser:not(:first-child):not(:nth-child(2)) { display: none; }
			.ecpolHorizontalTeaser:nth-child(2) > div { border: none !important; }
		}

		/* Square */
		@media (max-width: 767px) {
			.postSquare { font-size: 1rem; }
		}

		/* Promoted posts */
		.ecPolPromoted a:hover h2 { color: var(--danger-color) !important; }

/* Shortcodes */

	/* Header with CTA */
	.ecpolHeader h6 span { display: flex; position: relative; }
	.ecpolHeader h6 span::after { content: ""; display: block; height: 1px; margin-left: 20px; margin-top: 2px; flex: auto; align-self: center; background: var(--tag-color); }
	.ecpolHeader i { margin-right: .5rem; }
	.ecpolHeader a i { margin: .5rem; transition: margin 0.2s ease; }
	.ecpolHeader a:hover i { margin-left: 1rem; margin-right: 0; }

	/* Home highlights */
	.ecpolHighlights h6 { letter-spacing: 2px; }
	.ecpolHighlights h6:last-child { letter-spacing: 3px; }
	.ecpolHighlights .squaredImage > div { position: absolute; top: 0; z-index: 2; }
	.ecpolHighlights .squaredImage::before { content: ''; display: block; background: rgba(0, 11, 61, 0.45); position: absolute; width: 100%; height: 100%; top: 0; z-index: 1; }
	.ecpolHighlights .text-center { max-width: 500px; text-shadow: 0px 0px 6px rgba(0, 0, 0, 0.5); }
	@media (min-width: 992px) {
		.ecpolHighlights .swiper-slide:first-child > .squaredImage { padding-top: 112.50%; }
	}
	@media (max-width: 1199px) and (min-width: 768px) {
		.ecpolHighlights h2, .ecpolHighlights .h2 { font-size: 1.5rem; }
		.ecpolHighlights .squaredImage { padding-top: 70%; }
		.ecpolHighlights .swiper-slide:first-child > .squaredImage { padding-top: 140%; }
	}
	@media (max-width: 767px) {
		.ecpolHighlights { margin-bottom: 2.5rem; }
		.ecpolHighlights .squaredImage { padding-top: 90%; }
		.ecpolHighlights .swiper { overflow: unset; }
		.ecpolHighlights .swiper-pagination-bullets { bottom: -2.5rem !important; }
		.ecpolHighlights .h1 { font-size: var(--h2-font-size); }
	}
	@media(max-width: 429px) {
		.ecpolHighlights .squaredImage > div { align-items: flex-end !important; padding: 1rem !important; }
	}

/* VC Overrides */

	/* CTA */
	.vc_general.vc_cta3.vc_cta3-style-custom { border: none; background: white; box-shadow: 0 3px 49px 0 rgba(0,0,0,.16); }
	.vc_general.vc_cta3.vc_cta3-style-custom header { background: none; }
	.vc_cta3-content-header h2 { font-size: var(--h1-font-size); }

	/* Tabs */
	.vc_tta-tabs-list { border-bottom: 2px var(--tag-light-color) solid; display: flex !important; width: 100%; }
	.vc_tta.vc_general .vc_tta-tab { flex-grow: 1; }
	.vc_tta-color-grey.vc_tta-style-flat .vc_tta-tab > a { color: var(--tag-light-color) !important; font-size: 1.25rem; background: none !important; display: inline-block !important; font-weight: bold; border: 0 !important; margin-bottom: -2px; border-bottom: 2px solid transparent !important; }
	.vc_tta-color-grey.vc_tta-style-flat .vc_tta-tab.vc_active > a { color: var(--danger-color) !important; border-color: var(--danger-color) !important; }

/* Boostrap overrides */

	/* Colors */
	.text-primary { color: var(--primary-color) !important; }
	.text-secondary { color: var(--secondary-color) !important; }
	.text-muted { color: var(--tag-color) !important; }
	.text-muted-light { color: var(--tag-light-color); }
	.text-twitter { color: #00acee; }
	.text-spotify { color: #1db954; }

	/* Backgrounds */
	.bg-primary { background-color: var(--primary-color) !important; }
	.bg-secondary { background-color: var(--secondary-color) !important; }

	/* Links */
	a { color: var(--secondary-color); transition: all 0.2s ease; }
	a:hover { color: var(--danger-color); text-decoration: none; }

	/* Dropdowns */
	.dropdown-menu { border-radius: 0; border: none; background: var(--primary-color); padding: 0; }
	.dropdown-menu li { text-align: left !important; }
	.dropdown-menu li a { text-transform: none; padding: 8px 15px 6px 20px; display: block; }

	/* Buttons */
	.btn { border-radius: 0; font-size: 80%; letter-spacing: .5px; }
	.btn.btn-primary { background: var(--primary-color); border-color: var(--primary-color); }
	.btn.btn-danger { background: var(--danger-color); border-color: var(--danger-color); }
	.btn-outline-secondary { border-color: var(--tag-color); color: var(--tag-color); }
	button:focus-visible { outline: 2px solid var(--danger-color); outline-offset: 2px; }
	a:focus-visible, .btn:focus-visible { outline: 2px solid var(--danger-color); outline-offset: 2px; }
	.skip-link { position: absolute; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden; z-index: 999; }
	.skip-link:focus { position: fixed; top: 10px; left: 10px; width: auto; height: auto; padding: 10px 20px; background: var(--danger-color); color: white; font-weight: bold; text-decoration: none; z-index: 9999; }

/* Meks social share plug-in overrides */

	/* General */
	.meks_ess_share_label { border-top: 1px var(--tag-color) solid; padding-top: 1.25rem; }
	.meks_ess_share_label > * { font-size: 80%; color: var(--tag-color); }

/* Twitter feed plug-in overrides */

	/* General */
	.ctf-tweet-content, .ctf-quoted-tweet-text, .ctf-quoted-author-screenname, #ctf .ctf-action-count { font-size: 80%; color: var(--tag-color); }
	.ctf-author-name, .ctf-quoted-author-name { font-size: 90%; }
	#ctf svg:not(:root).svg-inline--fa, #ctf_lightbox svg:not(:root).svg-inline--fa { width: 1rem; }
	.ctf-tweet-actions { display: none !important; }

/* Swiper */

	/* Pagination */
	.swiper-horizontal > .swiper-pagination-bullets { bottom: 0; }
	.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet { margin: 0 6px; background: var(--header-color); }
	.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet:first-child:last-child { display: none; }

/* Font Awesome 5 overrides */

	/* General */
	.fa-twitter:before { content: '\e959' !important; font-family: 'socicon' !important; }