:root {
	/* fonts */
	--font-main: Quicksand;
	--font-alt: Arial;
	--font-weight-text: 400;
	--font-weight-h0: 700;
	--font-weight-h1: 700;
	--font-weight-h2: 700;
	--font-weight-h3: 700;
	--font-weight-h4: 700;
	--font-weight-h5: 700;
	--font-weight-h6: 700;
	--line-height-high: 1.5em;
	--line-height-low: 1.2em;
	--letter-spacing: 1px;
	--font-size-text: 18px;
	--font-size-little-text: 14px;
	--font-size-h0: 34px;
	--font-size-h1: 28px;
	--font-size-h2: 22px;
	--font-size-h3: 22px;
	--font-size-h4: 20px;
	--font-size-h5: 20px;
	--font-size-h6: 18px;
	/* colors */
	--text-dark-1-color: #000000;
	--text-dark-10-color: #1c3f60;
	--text-dark-20-color: #41729f;
	--text-light-1-color: #ffffff;
	--background-dark-1-color: #000000;
	--background-dark-10-color: #1c3f60;
	--background-dark-20-color: #41729f;
	--background-dark-30-color: #5885af;
	--background-light-1-color: #ffffff;
	--background-light-10-color: #f3f6fa;
}

@media (max-width: 860px) {
	:root {
		--font-size-text: 16px;
		--font-size-little-text: 12px;
		--font-size-h0: 32px;
		--font-size-h1: 26px;
		--font-size-h2: 20px;
		--font-size-h3: 20px;
		--font-size-h4: 18px;
		--font-size-h5: 18px;
		--font-size-h6: 16px;
	}
}	

.hide {
	display: none;
}

@media (min-width: 861px) {
	.hide-on-desktop {
		display: none;
	}
}

@media (max-width: 860px) {
	.hide-on-phone {
		display: none;
	}
}

/* default browser */
body, h1, h2, h3, h4, h5, h6, p, ul, textarea {
	margin: 0;
	padding: 0;
}

/* default browser */
button {
	margin: 0;
	padding: 0;
	border: none;
	background-color: transparent;
}

body, input, textarea {
	font-family: var(--font-main), var(--font-alt);
	font-size: var(--font-size-text);
	font-weight: var(--font-weight-text);
	line-height: var(--line-height-high);
	letter-spacing: var(--letter-spacing);
}

h0, .h0 {
	font-size: var(--font-size-h0);
	font-weight: var(--font-weight-h0);
	line-height: var(--line-height-low);
}

h1, .h1 {
	font-size: var(--font-size-h1);
	font-weight: var(--font-weight-h1);
	line-height: var(--line-height-low);
}

h2, .h2 {
	font-size: var(--font-size-h2);
	font-weight: var(--font-weight-h2);
	line-height: var(--line-height-low);
}

h3, .h3 {
	font-size: var(--font-size-h3);
	font-weight: var(--font-weight-h3);
	line-height: var(--line-height-low);
}

h4, .h4 {
	font-size: var(--font-size-h4);
	font-weight: var(--font-weight-h4);
	line-height: var(--line-height-low);
}

h5, .h5 {
	font-size: var(--font-size-h5);
	font-weight: var(--font-weight-h5);
	line-height: var(--line-height-low);
}

h6, .h6 {
	font-size: var(--font-size-h6);
	font-weight: var(--font-weight-h6);
	line-height: var(--line-height-low);
}

a {
	color: currentColor;
	text-decoration: none;
}

svg, img {
	vertical-align: middle;
}

input, textarea {
	padding: 10px;
	border: none;
	outline: none;
	background-color: unset;
}

input::placeholder {
	color: var(--text-light-1-color);
	opacity: 1;
}

textarea {
	resize: none;
}

textarea::placeholder {
	color: var(--text-light-10-color);
	opacity: 1;
}

p + p {
	margin-top: 15px;
}

section {
	padding: 80px 0;
}

iframe {
	border: 0;
	width: 100%;
	aspect-ratio: 16 / 9;
}

.google-maps iframe {
	aspect-ratio: 4 / 3;
}

.text-dark-1 {
	color: var(--text-dark-1-color);
}

.text-dark-10 {
	color: var(--text-dark-10-color);
}

.text-dark-20 {
	color: var(--text-dark-20-color);
}

.text-light-1 {
	color: var(--text-light-1-color);
}

.bg-dark-1 {
	background-color: var(--background-dark-1-color);
}

.bg-dark-10 {
	background-color: var(--background-dark-10-color);
}

.bg-dark-20 {
	background-color: var(--background-dark-20-color);
}

.bg-dark-30 {
	background-color: var(--background-dark-30-color);
}

.bg-light-1 {
	background-color: var(--background-light-1-color);
}

.bg-light-10 {
	background-color: var(--background-light-10-color);
}

.border-radius-low {
	border-radius: 5px;
}

.border-radius-med {
	border-radius: 10px;
}

.border-radius-high {
	border-radius: 50px;
}

.border-radius-circle {
	border-radius: 100%;
}

.hover {
	border-radius: 10px;
}

.hover:hover, .hover:focus-within {
	background-color: color-mix(in srgb, currentColor 15%, transparent);
}

.button {
	padding: 14px 20px;
	color: var(--text-light-1-color);
	background-color: var(--background-dark-10-color);
	border-radius: 50px;
	transition: all 0.2s;
	text-align: center;
}

.button:hover,
.button:focus-within {
	background-color: var(--background-dark-20-color);
}

.button.alt {
	background-color: var(--background-light-1-color);
	color: var(--text-dark-10-color);
}

.button.alt:hover,
.button.alt:focus-within {
	background-color: #e2e6ea;
}

.zoom-in img {
	transition: transform 0.2s;
}

.zoom-in:hover img,
.zoom-in:focus-within img {
	transform: scale(1.1);
}

.zoom-out img {
	transform: scale(1.1);
	transition: transform 0.2s;
}

.zoom-out:hover img,
.zoom-out:focus-within img {
	transform: scale(1);
}

.no-overflow {
	overflow: hidden;
}

.with-icon {
	display: flex;
	align-items: center;
	column-gap: 5px;
	width: fit-content;
}

.strong {
	font-weight: bold;
}

.cover {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	z-index: -1;
}

.pointer {
	cursor: pointer;
}

.width img {
	width: 100%;
}

.height img {
	height: 100%;
}

.easy {
	display: flex;
	width: fit-content;
	padding: 10px;
	margin: -10px;
}

.uppercase {
	text-transform: uppercase;
}

.lowercase {
	text-transform: lowercase;
}

.little-text {
	font-size: var(--font-size-little-text);
}

.entitled {
	text-align: center;
	margin-bottom: 40px;
}

.entitled .heading {
	margin-bottom: 5px;
}

.menu .segment {
	background-color: currentColor;
	height: 4px;
	width: 30px;
	border-radius: 50px;
	margin: 6px 0;
	transition: transform 0.2s;
}

.menu .segment.up.opened {
	transform: translateY(10px) rotate(45deg);
}

.menu .segment.middle.opened {
	transform: rotate(45deg);
}

.menu .segment.down.opened {
	transform: translateY(-10px) rotate(-45deg);
}

.loader svg {
	animation: loader 1s linear infinite;
}

@keyframes loader {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}

.flex {
	display: flex;
}

.flex.row {
	flex-direction: row;
}

.flex.column {
	flex-direction: column;
}

.flex.wrap {
	flex-wrap: wrap;
}

.flex.justify-start {
	justify-content: flex-start;
}

.flex.justify-end {
	justify-content: flex-end;
}

.flex.justify-center {
	justify-content: center;
}

.flex.justify-between {
	justify-content: space-between;
}

.flex.justify-around {
	justify-content: space-around;
}

.flex.align-start {
	align-items: flex-start;
}

.flex.align-end {
	align-items: flex-end;
}

.flex.align-center {
	align-items: center;
}

.wrapper {
	display: flex;
	flex-direction: column;
	overflow-x: clip;
}

.container {
	margin: 0 auto;
	padding: 0 20px;
	max-width: 1300px;
	width: 100%;
	box-sizing: border-box;
}

#banner {
	padding: 10px 0;
}

#banner .social-networks-contact {
	column-gap: 20px;
	row-gap: 20px;
}

#banner .social-networks {
	column-gap: 20px;
	row-gap: 20px;
}

#banner .contact {
	column-gap: 20px;
	row-gap: 20px;
}

#banner .contact .email {
	word-break: break-all;
}

#header {
	position: sticky;
	top: 0;
	box-shadow: 1px 1px 1px rgb(0, 0, 0, 0.1);
	transition: background-color 0.2s;
	padding: 5px 0;
	z-index: 70;
}

#header.scrolling,
#header.painted {
	background-color: var(--background-light-10-color);
}

#header .main {
	column-gap: 30px;
}

#header .main .logo {
	max-width: 60px;
	margin-right: 10px;
}

#header .lucide-chevron-down {
	transition: transform 0.2s;
}

#header .nav-element:hover .lucide-chevron-down,
#header .nav-element:focus-within .lucide-chevron-down {
	transform: rotate(180deg);
}

@media (min-width: 861px) {
	
	#header .nav.desktop {
		display: flex;
		align-items: center;
		justify-content: center;
		flex-wrap: wrap;
		column-gap: 30px;
		row-gap: 20px;
	}
	
	#header .nav.desktop .nav-element {
		position: relative;
	}
	
	#header .nav.desktop .subnav {
		position: absolute;
		color: var(--text-dark-10-color);
		background-color: var(--background-light-10-color);
		box-shadow: 1px 1px 1px rgb(0, 0, 0, 0.1), -1px -1px 1px rgb(0, 0, 0, 0.1);
		border-radius: 10px;
		padding: 20px;
		width: max-content;
		z-index: 79;
	}
	
	#header .nav.desktop .nav-element:hover .subnav,
	#header .nav.desktop .nav-element:focus-within .subnav {
		display: block;
	}
	
	#header .nav.desktop .subnav .subnav-element + .subnav-element {
		margin-top: 10px;
	}
	
	#header .nav.desktop .subnav .subnav-element a,
	#header .nav.desktop .subnav .subnav-element span.pointer {
		width: 100%;
	}
	
	#header .nav.desktop .subnav.left {
		left: 0;
	}
	
	#header .nav.desktop .subnav.right {
		right: 0;
	}
		
}

@media (max-width: 860px) {
	
	#header .nav.phone.opened {
		display: block;
		padding-top: 5px;
	}
	
	#header .nav.phone .nav-element {
		margin-top: 10px;
	}
	
	#header .nav.phone .language-switcher {
		margin-bottom: 15px;
	}
	
	#header .nav.phone .nav-element a,
	#header .nav.phone .nav-element span.pointer {
		width: 100%;
	}
	
	#header .nav.phone .subnav {
		margin-left: 10px;
	}
	
	#header .nav.phone .subnav-element {
		margin-top: 10px;
	}
	
	#header .nav.phone .nav-element:hover .subnav,
	#header .nav.phone .nav-element:focus-within .subnav {
		display: block;
	}
	
}

#inicio {
	background-repeat: no-repeat;
	background-size: cover;
	background-position-y: top;
	height: 500px;
}

@media (min-width: 861px) {
	#inicio {
		background-attachment: fixed;
	}
}

#inicio .box {
	max-width: 600px;
	padding: 20px;
	margin-top: 150px;
}

#inicio .title {
	margin-bottom: 20px;
}

#inicio .text {
	margin-bottom: 20px;
}

@media (max-width: 860px) {
	#inicio {
		background-position-x: right;
	}
}

#acompanamiento-familiar .main {
	gap: 40px;
}

#acompanamiento-familiar .main .image {
	flex-basis: 450px;
	box-shadow: 5px 5px 0px var(--background-dark-30-color);
}

#acompanamiento-familiar .main .text {
	flex-basis: 500px;
	flex-grow: 1;
}

#acompanamiento-familiar .main .text .call-to-action {
	margin-top: 40px;
}

#acompanamiento-familiar .asesoramiento-familiar {
	margin-bottom: 60px;
}

@media (min-width: 1050px) {
	#acompanamiento-familiar .crianza-consciente .main .text {
		order: -1;
	}
}

#a-quien .titling {
	column-gap: 50px;
	row-gap: 40px;
	margin-bottom: 40px;
}

#a-quien .entitled {
	margin-bottom: 0;
}

#a-quien .divider {
	width: 1px;
	height: 50px;
}

#a-quien .text {
	flex-basis: 700px;
	flex-grow: 1;
}

@media (max-width: 860px) {
	#a-quien .titling {
		flex-wrap: wrap;
	}
}

#a-quien .spec-list {
	gap: 40px;
	margin-bottom: 40px;
}

#a-quien .spec .image {
	max-width: 150px;
	margin-bottom: 20px;
}

#beneficios .spec-list,
#metodo .spec-list {
	gap: 40px;
	margin-bottom: 40px;
}

#beneficios .spec,
#metodo .spec {
	flex-basis: 300px;
	padding: 40px 20px;
	text-align: center;
}

#metodo .intro {
	margin-bottom: 40px;
	text-align: center;
}

#metodo .text {
	margin-bottom: 40px;
	margin-left: auto;
	margin-right: auto;
	max-width: 700px;
	text-align: center;
}

#modalidad .titling {
	column-gap: 50px;
	row-gap: 40px;
	margin-bottom: 40px;
}

#modalidad .entitled {
	margin-bottom: 0;
}

#modalidad .divider {
	width: 1px;
	height: 50px;
}

#modalidad .text {
	flex-basis: 700px;
	flex-grow: 1;
}

@media (max-width: 860px) {
	#modalidad .titling {
		flex-wrap: wrap;
	}
}

#modalidad .spec-list {
	gap: 40px;
	margin-bottom: 40px;
}

#modalidad .spec .image {
	max-width: 200px;
	margin-bottom: 20px;
}

#modalidad .spec .title {
	text-align: center;
}

#precios .spec-list {
	gap: 40px;
	margin-bottom: 40px;
}

#precios .spec {
	flex-basis: 300px;
	row-gap: 10px;
	padding: 20px;
}

#precios .free .spec {
	flex-basis: 400px;
}

#precios .spec .image {
	max-width: 75px;
	margin-bottom: 10px;
}

#precios .spec .title,
#precios .spec .pricing,
#precios .spec .button {
	text-align: center;
}

#precios .spec .pricing {
	margin-bottom: 10px;
	margin-top: auto;
}

#talleres .entitled + .text {
	margin-bottom: 40px;
}

#talleres .spec-list {
	gap: 40px;
	margin-top: 40px;
	margin-bottom: 40px;
}

#talleres .spec {
	flex-basis: 275px;
}

#talleres .spec .image {
	max-height: 150px;
}

#talleres .spec .box {
	padding: 20px;
	flex-grow: 1;
}

#talleres .spec .box .title {
	text-align: center;
	margin-bottom: 10px;
}

#talleres .spec .box .text {
	margin-bottom: 20px;
}

#talleres .spec .box .date {
	text-align: center;
	margin-top: auto;
}

#faq .spec-list {
	row-gap: 40px;
	margin-bottom: 40px;
}

#faq .question {
	margin-bottom: 5px;
}

#faq .question .lucide-chevron-right {
	transition: transform 0.2s ease-in-out;
}

#faq input:checked ~ .question .lucide-chevron-right {
	transform: rotate(90deg);
}

#faq input:checked ~ .answer {
	display: block;
}

#sobre-mi .main .image {
	flex-basis: 250px;
	box-shadow: 5px 5px 0px var(--background-dark-30-color);
}

#sobre-mi .main .text {
	flex-basis: 500px;
	flex-grow: 1;
}

#sobre-mi .main .first, #sobre-mi .main .second {
	gap: 40px;
	margin-bottom: 40px;
}

@media (min-width: 861px) {
	#sobre-mi .main .first .text {
		order: -1;
	}
}

#posts .spec-list {
	gap: 40px;
	margin-bottom: 40px;
} 

#posts .spec {
	flex-basis: 275px;
}

#posts .spec .image {
	max-height: 150px;
}

#posts .spec .box {
	padding: 20px;
	flex-grow: 1;
}

#posts .spec .box .date {
	text-align: right;
	margin-bottom: 10px;
}

#posts .spec .box .title {
	text-align: center;
	margin-bottom: 10px;
}

#posts .spec .box .text {
	margin-bottom: 20px;
}

#posts .spec .show-more {
	text-align: center;
	margin-top: auto;
}

#contacto .main {
	gap: 40px;
	margin-bottom: 40px;
}

#contacto .main .text {
	flex-basis: 500px;
	flex-grow: 1;
}

#contacto .main .data .box {
	row-gap: 20px;
	padding: 20px;
}

#contacto .main .data a {
	width: 100%;
}

#contacto .main .data .email {
	word-break: break-all;
}

#contacto .google-maps {
	flex-basis: 500px;
}

#contacto .google-maps iframe {
	box-shadow: 1px 1px 1px rgb(0, 0, 0, 0.1), -1px -1px 1px rgb(0, 0, 0, 0.1);
}

#inicio-blog,
#inicio-post,
#inicio-blog {
	background-repeat: no-repeat;
	background-size: cover;
	background-position-x: center;
	background-position-y: center;
	height: 300px;
}

@media (min-width: 861px) {
	#inicio-blog,
	#inicio-post,
	#inicio-blog {
		background-attachment: fixed;
	}
}

#inicio-crianza-consciente .title,
#inicio-post .title,
#inicio-blog .title {
	margin-top: 100px;
	text-align: center;
	filter: drop-shadow(1px 1px 5px black);
}

#crianza-consciente .image {
	flex-basis: 350px;
	box-shadow: 5px 5px 0px var(--background-dark-30-color);
}

#crianza-consciente .text {
	flex-basis: 500px;
	flex-grow: 1;
}

#crianza-consciente .first,
#crianza-consciente .second,
#crianza-consciente .third {
	gap: 40px;
	margin-bottom: 40px;
}

@media (min-width: 861px) {
	#crianza-consciente .second .text {
		order: -1;
	}
}

#pasos .spec-list {
	gap: 40px;
}

#pasos .spec {
	flex-basis: 200px;
	padding: 20px;
}

#pasos .spec .title {
	margin-bottom: 20px;
}

#pasos .spec .number,
#pasos .spec .title {
	text-align: center;
}

#inicio-post,
#inicio-blog {
	height: 200px;
}

#post .main {
	column-gap: 40px;
	row-gap: 20px;
}

#post .main .post {
	flex-basis: 800px;
	flex-grow: 1;
}

#post .main > .post .title {
	margin-bottom: 10px;
}

#post .main > .post .date {
	margin-bottom: 10px;
	text-align: right;
}

#post .main .share-archive,
#blog .main .share-archive {
	flex-basis: 300px;
	flex-grow: 1;
}

#post .main .share,
#blog .main .share {
	margin-bottom: 20px;
}

#post .main .archive,
#blog .main .archive {
	padding: 20px;
	margin-bottom: 20px;
}

#post .main .archive .posts,
#blog .main .archive .posts {
	margin-top: 10px;
}

#post .main .archive .posts .post,
#blog .main .archive .posts .post {
	padding: 10px;
}

#post .main .search input,
#blog .main .search input {
	width: 100%;
	margin-right: 10px;
}

#inicio-blog {
	background-position-y: top;
}

#blog .main {
	column-gap: 20px;
	row-gap: 20px;
}

#blog .main .posts {
	flex-basis: 800px;
	flex-grow: 1;
}

#blog .main .spec-list {
	margin-bottom: 20px;
}

#blog .main .spec {
	flex-basis: 250px;
	box-shadow: 1px 1px 5px rgb(0, 0, 0, 0.1), -1px -1px 5px rgb(0, 0, 0, 0.1);
}

#whatsapp-chat {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 100;
}

#whatsapp-chat .icon svg {
	width: 70px;
	height: 70px;
}

#cookies-consent {
	position: fixed;
	bottom: 10px;
	left: 10px;
	right: 10px;
	padding: 10px 0;
	max-width: 700px;
	box-shadow: 1px 1px 1px rgb(0, 0, 0, 0.2), -1px -1px 1px rgb(0, 0, 0, 0.2);
	line-height: var(--line-height-low);
	z-index: 80;
}

#cookies-consent .text {
	text-align: center;
	margin-bottom: 10px;
}

#cookies-consent .buttons {
	gap: 10px;
}

#cookies-consent .button {
	background-color: var(--background-dark-20-color);
}

#cookies-consent .button:hover,
#cookies-consent .button:focus-within {
	background-color: var(--background-dark-20-color);
	background-color: var(--text-light-1-color);
	color: var(--background-dark-20-color);
}

#footer {
	padding: 40px 0;
	padding-bottom: 100px;
	box-shadow: -1px -1px 1px rgb(0, 0, 0, 0.1);
}

#footer .main {
	column-gap: 40px;
	row-gap: 40px;
}

#footer .main .meta {
	flex-basis: 450px;
	flex-grow: 1;
	row-gap: 20px;
}

#footer .main .meta .logo {
	max-width: 60px;
	margin-right: 10px;
}

#footer .main .meta .social-networks {
	column-gap: 20px;
	row-gap: 10px;
}

#footer .main .links .site-link + .site-link {
	margin-top: 10px;
}

#footer .main .links .title {
	margin-bottom: 20px;
}

#legal {
	margin-top: 40px;
	margin-bottom: 40px;
}

#legal .part {
	margin-top: 30px;
}

#legal .title + .text {
	margin-top: 15px;
}

#not-found .image {
	max-width: 600px;
	margin: 0 auto;
}

#inicio-coaching-vida {
	background-repeat: no-repeat;
	background-size: cover;
	background-position-y: center;
	height: 500px;
}

@media (min-width: 861px) {
	#inicio-coaching-vida {
		background-attachment: fixed;
	}
}

#inicio-coaching-vida .box {
	max-width: 600px;
	padding: 20px;
	margin-top: 50px;
}

#inicio-coaching-vida .title {
	margin-bottom: 20px;
}

#inicio-coaching-vida .text {
	margin-bottom: 20px;
}

@media (max-width: 860px) {
	#inicio-coaching-vida {
		background-position-x: right;
	}
	#inicio-coaching-vida .box {
		margin-top: 0;
	}
}

#inicio-coaching-infantil-juvenil {
	background-repeat: no-repeat;
	background-size: cover;
	background-position-y: center;
	height: 600px;
}

@media (min-width: 861px) {
	#inicio-coaching-infantil-juvenil {
		background-attachment: fixed;
	}
}

#inicio-coaching-infantil-juvenil .box {
	max-width: 600px;
	padding: 20px;
	margin-top: 50px;
}

#inicio-coaching-infantil-juvenil .title {
	margin-bottom: 20px;
}

#inicio-coaching-infantil-juvenil .text {
	margin-bottom: 20px;
}

@media (max-width: 860px) {
	#inicio-coaching-infantil-juvenil {
		background-position-x: center;
	}
	#inicio-coaching-infantil-juvenil .box {
		margin-top: 0;
	}
}

#acompanamiento-coaching .main {
	gap: 40px;
}

#acompanamiento-coaching .main .image {
	flex-basis: 450px;
	box-shadow: 5px 5px 0px var(--background-dark-30-color);
}

#acompanamiento-coaching .main .text {
	flex-basis: 500px;
	flex-grow: 1;
}

#acompanamiento-coaching .main .text .call-to-action {
	margin-top: 40px;
}

#acompanamiento-coaching .una-mirada-diferente {
	margin-bottom: 60px;
}

#acompanamiento-coaching .a-quien .image {
	flex-basis: 300px;
}

@media (min-width: 1050px) {
	#acompanamiento-coaching .a-quien .main .text {
		order: -1;
	}
}

#beneficios {
	background-repeat: no-repeat;
	background-size: cover;
	background-position-y: center;
}

#servicios .main {
	margin-bottom: 40px;
}

#servicios .main .subtitle,
#servicios .main .text {
	margin-bottom: 20px;
}
