/*
Theme Name:     Johannes Child (La nostra...)
Theme URI:      https://mekshq.com/theme/johannes/
Description:    Child theme for Johannes WordPress theme
Author:         meks
Author URI:     https://mekshq.com
Template:       johannes
Version:        0.1.0
*/

/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v7.0.29,
* Autoprefixer: v9.7.6
* Browsers: last 4 version
*/

/* GLOBAL */

.campaign-2019-green {
	color: #b2cf8f;
}

.campaign-2019-red {
	color: #ff553e;
}

h5,
h6,
.h5,
.h6 {
	font-weight: 700;
	line-height: 1.4;
}

h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6,
.section-head .section-title,
.section-title,
.wpcf7-form label,
.johannes-post .entry-title a,
.header-middle a,
.header-mobile a,
.johannes-sidebar .johannes-menu-mobile .widget-inside li a {
	color: #111 !important;
}

.header-middle a:hover,
.johannes-mega-menu .sub-menu li:hover a,
.header-mobile a:hover,
.johannes-sidebar .johannes-menu-mobile .widget-inside li a:hover {
	color: #ff553e !important;
}

@media (min-width: 359px) and (max-width: 599px) {
	.container {
		max-width: 100%;
	}
	.alignwide {
		max-width: 100%;
	}
}

@media (max-width: 599px) {
	.mobile-center figure {
		margin-top: 35px !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}
}


/* HEADER */

.header-middle>.container {
	height: auto;
}

.johannes-header {
	padding: 14px 0 15px 0;
}

.johannes-header.header-sticky {
	padding: 14px 0 15px 0;
}

.header-sticky-contextual {
	margin-top: 15px;
	margin-bottom: -15px;
	background: #ff553e;
	font-size: 12px;
	font-weight: 700;
}

@media (min-width: 1200px) {
	.header-sticky-contextual {
		margin-top: 20px;
		margin-bottom: -20px;
	}
}

@media (min-width: 600px) {
	.header-sticky-contextual>.container {
		height: auto;
		padding-top: 10px;
		padding-bottom: 10px;
	}
}

@media (min-width: 900px) {
	.header-sticky-contextual>.container {
		height: auto;
		padding-top: 10px;
		padding-bottom: 10px;
	}
}

.header-sticky-contextual a {
    font-weight: 700;
}

.header-sticky-contextual .johannes-hamburger .header-el-label {
    font-size: 14px;
}

@media (min-width: 641px) {
	.johannes-header {
		padding: 20px 0 20px 0;
	}
}

@media (min-width: 1200px) {
	.johannes-header {
		padding: 30px 0 30px 0;
	}
	.johannes-header.header-sticky {
		padding: 19px 0 20px 0;
	}
}

.slot-r>div>nav>ul>li,
.slot-r>nav>ul>li {
	padding-left: 12px;
	padding-right: 12px;
}

@media (min-width: 1200px) {
	.slot-r>div>nav>ul>li,
	.slot-r>nav>ul>li {
		padding-left: 15px;
		padding-right: 15px;
	}
}

.johannes-header.header-sticky {
	background: white;
}

.header-sticky-main .johannes-site-branding .site-title a img,
.header-mobile .site-title a img,
.johannes-sidebar .johannes-sidebar-branding .site-title .johannes-logo img {
	width: 120px;
}

.johannes-sidebar-branding {
	height: 120px;
}

@media (max-width: 1024px) {
	.johannes-header.header-sticky .site-title a img {
		width: 100px;
	}
}

.johannes-header li.social+li {
	padding-left: 2px;
}

.johannes-header li.social.youtube {
	padding-left: 1px;
}

.johannes-header li.social i {
	font-size: 20px;
}

.johannes-sidebar .johannes-menu-mobile .widget-title,
.johannes-sidebar li.social {
	display: none;
}

.johannes-sidebar .johannes-menu-mobile {
	margin-top: 10px;
}

.johannes-sidebar .johannes-menu-mobile .widget-inside {
	padding: 0 0 0 3px;
	background: none;
}

.johannes-sidebar .johannes-menu-mobile .widget-inside li a,
.johannes-sidebar .johannes-menu-mobile .widget-inside .johannes-accordion-nav {
	background: none;
}

.johannes-sidebar .johannes-menu-mobile .sub-menu {
	margin: 20px 0 22px 15px;
}

.johannes-sidebar .johannes-menu-mobile .widget-inside li a {
	font-size: 16px;
	font-weight: 700;
}

.johannes-sidebar .johannes-menu-mobile .widget-inside .sub-menu li a {
	font-size: 14px;
	font-weight: 400;
}

@media (min-width: 641px) {
	.johannes-sidebar .johannes-menu-mobile .widget-inside li a {
		font-size: 18px;
	}
	.johannes-sidebar .johannes-menu-mobile .widget-inside .sub-menu li a {
		font-size: 14px;
	}
}

.johannes-menu-mobile nav+ul {
	margin: 30px 0 0 0;
}

.johannes-menu-social li {
	margin: 0 16px 0 0;
}

.johannes-menu-mobile li.header-el-label {
	display: none;
}

.johannes-sidebar .johannes-menu-mobile .widget-inside .johannes-menu-social li a:after {
	font-size: 22px;
}

li.desktop>a {
	white-space: pre;
}

@media (min-width: 900px) and (max-width: 1080px) {
	li.desktop span {
		display: none;
	}
}

.header-middle .johannes-site-branding .site-title a .johannes-logo img {
	width: 120px;
}

@media (min-width: 1025px) {
	.header-middle .johannes-site-branding .site-title a .johannes-logo img {
		width: 130px;
	}
}

@media (min-width: 1200px) {
	.header-middle .johannes-site-branding .site-title a .johannes-logo img {
		width: 150px;
	}
}

@media (min-width: 1367px) {
	.header-middle .johannes-site-branding .site-title a .johannes-logo img {
		width: 160px;
	}
}

@media (min-width: 1600px) {
	.header-middle .johannes-site-branding .site-title a .johannes-logo img {
		width: 180px;
	}
}

.johannes-header .sub-menu {
	width: 245px;
	padding-bottom: 15px;
	left: 0;
}

.johannes-header .sub-menu a {
	padding-bottom: 10px;
	font-size: 12px;
	font-weight: 400;
}


/* HOME */

.home .section-head-alt .entry-header .entry-title {
	display: none;
}

.home .johannes-header+.johannes-section .entry-media {
	margin-bottom: 0;
}

/*
#banner-refugi {
	 margin-top: -90px; 
}
*/

.thumbs-actividades {
	margin: 0;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.thumbs-actividades .wp-block-column {
	padding-right: 0;
	padding-left: 0;
	-ms-flex-preferred-size: 47.5% !important;
	flex-basis: 47.5% !important;
	-webkit-box-flex: 0;
	-ms-flex-positive: 0;
	flex-grow: 0;
}

@media (min-width: 641px) {
	.thumbs-actividades .wp-block-column {
		-ms-flex-preferred-size: 31% !important;
		flex-basis: 31% !important;
	}
}

figure#banner-refugi {
	margin-top: 20px;
}

@media (min-width: 641px) {
	figure#banner-refugi {
		margin-top: 0;
	}
}

figure#banner-refugi,
.thumbs-actividades figure {
	position: relative;
	margin-bottom: 0;
}

figure#banner-refugi:after,
.thumbs-actividades figure:after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.33);
	background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, 0.5)), color-stop(66%, rgba(0, 0, 0, 0)));
	background: -o-linear-gradient(bottom, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 66%);
	background: linear-gradient(0deg, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0) 66%);
}

figure#banner-refugi figcaption,
.thumbs-actividades figure figcaption {
	margin: 0;
	opacity: 1;
}

figure#banner-refugi figcaption a,
.thumbs-actividades figure figcaption a {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 4;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	width: 100%;
	height: 100%;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.4;
	color: white;
	text-decoration: none;
	-webkit-transition: all .15s ease-in-out;
	-o-transition: all .15s ease-in-out;
	transition: all .15s ease-in-out;
}

@media (min-width: 641px) {
	figure#banner-refugi figcaption a,
	.thumbs-actividades figure figcaption a {
		font-size: 20px;
	}
}

@media (min-width: 900px) {
	figure#banner-refugi figcaption a,
	.thumbs-actividades figure figcaption a {
		font-size: 24px;
	}
}

figure#banner-refugi figcaption a span,
.thumbs-actividades figure figcaption a span {
	position: absolute;
	bottom: 20px;
	left: 0;
	width: 100%;
	padding: 0 10px;
	-webkit-transition: all .15s ease-in-out;
	-o-transition: all .15s ease-in-out;
	transition: all .15s ease-in-out;
}

@media (min-width: 641px) {
	figure#banner-refugi figcaption a span,
	.thumbs-actividades figure figcaption a span {
		bottom: 30px;
		padding: 0 15px;
	}
}

figure#banner-refugi figcaption a:hover span,
.thumbs-actividades figure figcaption a:hover span {
	bottom: 34px;
}

#la-nostra-en-video {
	margin-bottom: 0.25em;
}

@media (min-width: 900px) {
	#la-nostra-en-video {
		font-size: 4.0rem;
	}
}

.home .wp-block-latest-posts .wp-block-latest-posts__featured-image+a {
	display: inline-block;
	margin: 1em 0 0.5em 0;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.4;
	color: #424851;
	text-decoration: none;
}

.home .wp-block-latest-posts .wp-block-latest-posts__featured-image+a:hover {
	color: #ff553e;
}

.home .wp-block-latest-posts .wp-block-latest-posts__post-excerpt {
	opacity: 0.6;
	padding-right: 2em;
}

#social-youtube li.wp-social-link {
	width: auto;
	height: auto;
	margin: 0;
	padding: 0;
}

#social-youtube li.wp-social-link:before {
	display: none;
}

#social-youtube li.wp-social-link a {
	margin: 0;
	padding: 0;
}

#social-youtube li.wp-social-link svg {
	width: 50px;
	height: 50px;
}


/* #social-youtube li.wp-social-link svg path { fill: #424851; } */

#social-youtube-link {
	/* margin-top: -40px; */
	font-size: 12px;
}

#social-youtube-link a {
	text-decoration: none;
}


/* HOME 1.3.1 */

.section-title:after {
	margin: 11px auto 0;
	background: none;
}

.home .johannes-items.johannes-posts>div,
.blog .johannes-items.johannes-posts>div {
	margin-bottom: 30px;
}

@media (min-width: 600px) {
	.home .johannes-items.johannes-posts>div,
	.blog .johannes-items.johannes-posts>div {
		margin-bottom: 20px;
	}
}

@media (min-width: 900px) {
	.home .johannes-items.johannes-posts>div,
	.blog .johannes-items.johannes-posts>div {
		margin-bottom: 10px;
	}
}

.home .johannes-post.johannes-layout-a h2.entry-title,
.home .johannes-post.johannes-layout-d h2.entry-title,
.single .johannes-post.johannes-layout-d h2.entry-title,
.blog .johannes-post.johannes-layout-b h2.entry-title {
	font-size: 22px;
	font-weight: 700;
}

@media (min-width: 600px) {
	.home .johannes-post.johannes-layout-a h2.entry-title,
	.blog .johannes-post.johannes-layout-b h2.entry-title {
		font-size: 24px;
	}
}

@media (min-width: 900px) {
	.home .johannes-post.johannes-layout-a h2.entry-title,
	.blog .johannes-post.johannes-layout-b h2.entry-title {
		font-size: 32px;
	}
}

.blog .johannes-post.johannes-layout-d h2.entry-title {
	font-size: 22px;
	font-weight: 700;
}

@media (min-width: 900px) {
	.blog .johannes-post.johannes-layout-d h2.entry-title {
		font-size: 24px;
	}
}

.home .johannes-post.johannes-layout-a .entry-content>p,
.blog .johannes-post.johannes-layout-a .entry-content>p {
	margin-bottom: 0;
}


/* PRESUPUESTO */

#presupuesto h6 {
	font-size: 20px;
}


/* CONTACTO */

@media (max-width: 899px) {
	div[role="form"].wpcf7 {
		margin-top: 60px;
	}
}

.wpcf7-form p {
	margin-bottom: 40px;
}

.wpcf7-form input[type=text],
.wpcf7-form input[type=email] {
	margin-top: 0;
}

.wpcf7-acceptance span.wpcf7-list-item {
	margin: 0;
}

.wpcf7-acceptance span.wpcf7-list-item label {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	margin: 0;
}

.wpcf7-form input[type=checkbox] {
	margin: 4px 10px 0 0;
}

.wpcf7-form label {
	margin-bottom: 15px;
	font-size: 16px;
	font-weight: 700;
}

@media (min-width: 600px) {
	.wpcf7-form label {
		font-size: 18px;
	}
}

.wpcf7-form .wpcf7-acceptance label {
	font-size: 14px;
	font-weight: 400;
	line-height: 1.625;
}

input[type=color],
input[type=date],
input[type=datetime-local],
input[type=datetime],
input[type=email],
input[type=month],
input[type=number],
input[type=password],
input[type=range],
input[type=search],
input[type=tel],
input[type=text],
input[type=time],
input[type=url],
input[type=week],
select,
textarea {
    height: auto;
    padding: 10px;
	font-size: 14px;
	line-height: 1.625;
}

.small-text {
	font-size: 14px;
	line-height: 1.625;
}

span.wpcf7-not-valid-tip {
	position: static;
	top: initial;
	right: initial;
	left: initial;
	display: block;
	margin-top: 10px;
	padding: 0;
	background: none;
	border: none;
	font-size: 14px;
	line-height: 1.625;
	color: #ff553e;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
	margin: 40px 0 0 0;
	padding: 0;
	border: none;
	font-size: 14px;
	line-height: 1.625;
	color: #cccccc;
}

input[type=email].wpcf7-not-valid,
input[type=number].wpcf7-not-valid,
input[type=password].wpcf7-not-valid,
input[type=tel].wpcf7-not-valid,
input[type=text].wpcf7-not-valid,
input[type=url].wpcf7-not-valid,
textarea.wpcf7-not-valid {
	border-color: #ff553e;
}

div.wpcf7 .ajax-loader {
	display: none !important;
}

input[type=submit]:focus {
	outline: none;
}

.wpcf7-form input[type=submit],
.wp-block-button .wp-block-button__link {
	font-size: 14px;
}

.wpcf7-form input[type=submit]:focus,
.wpcf7-form input[type=submit]:active {
    background: #CCC;
    color: #EEE;
    cursor: default;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.wpcf7 form.sent .wpcf7-response-output,
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
    margin: 30px 0 0 0;
    padding: 15px;
    background: #f2f3f3;
    border: none;
    color: #424851;
}


/* ARCHIVE */

.category-pill .entry-meta {
	display: none;
}

.widget_recent_entries a {
	font-weight: 700;
}

.category-pill .entry-category a,
.category-pill-small .entry-category a {
	font-size: 12px;
	font-weight: 700;
}

.widget_recent_entries a {
	font-weight: 400;
}


/* SINGLE */

.johannes-related .entry-meta .meta-date {
	display: none;
}

.johannes-bg-alt-2.johannes-related {
	background-color: #f2f3f3;
}

@media (min-width: 600px) {
	.johannes-bg-alt-2.johannes-related {
		margin-top: 60px;
		padding-top: 60px;
		padding-bottom: 30px;
	}
}

@media (min-width: 900px) {
	.johannes-bg-alt-2.johannes-related {
		padding-bottom: 60px;
	}
}


/* FOOTER */

.johannes-footer .widget.widget_text {
	text-align: center;
}

.johannes-footer .widget-title {
	font-weight: 900;
}

.johannes-footer .widget.widget_text a {
	display: inline-block;
	margin-top: 0.66em;
	color: #f13b3b;
}

.johannes-footer .widget.widget_text a:hover {
	color: #424851;
}

.johannes-copyright {
	display: block;
}

.johannes-copyright p {
	padding: 0 20px;
}

#legal {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-direction: column;
	flex-direction: column;
	margin: 40px 0;
	line-height: 2.225;
}

@media (min-width: 1025px) {
	#legal {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-direction: row;
		flex-direction: row;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		line-height: 1.625;
	}
}

#legal a {
	display: inline-block;
}

#legal a+a {
	margin: 0;
}

@media (min-width: 1025px) {
	#legal a+a {
		margin-left: 30px;
	}
}


/* COOKIE NOTICE */

.cookie-notice-container {
	padding: 1.5rem;
	font-family: 'Muli', Arial, sans-serif !important;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.5 !important;
}

.cookie-notice-container strong {
	color: white !important;
}

#cookie-notice .cn-button {
	margin-left: 20px;
	font-family: 'Muli', Arial, sans-serif !important;
	font-size: 14px;
	font-weight: 700;
	color: white;
	text-decoration: underline;
	opacity: 0.6;
	-webkit-transition: all .25s ease-in-out;
	-o-transition: all .25s ease-in-out;
	transition: all .25s ease-in-out;
}

#cookie-notice .cn-button:hover {
	opacity: 1;
	-webkit-box-shadow: none;
	box-shadow: none;
}

.cn-text-container {
	margin: 0;
}


/* 404 */

.error404 .title-404,
.container-404 .search-alt {
	display: none;
}

.error404 .h0 {
	display: block;
	margin: 60px 0;
	text-align: center;
}