/* STYLE ---> */

:root {
	/* fonts */
	--font-main: Quicksand;
	--font-alt: Arial;
	--font-weight-text: 400;
	--font-weight-h0: 800;
	--font-weight-h1: 700;
	--font-weight-h2: 700;
	--font-weight-h3: 700;
	--font-weight-h4: 700;
	--font-weight-h5: 400;
	--font-weight-h6: 400;
	--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: 48px;
	--font-size-h1: 28px;
	--font-size-h2: 28px;
	--font-size-h3: 24px;
	--font-size-h4: 24px;
	--font-size-h5: 22px;
	--font-size-h6: 22px;
	/* colors */
	--text-dark-1-color: #000000;
	--text-dark-10-color: #63807c;
	--text-light-1-color: #ffffff;
	--text-light-10-color: #f2efeb;
	--background-dark-1-color: #000000;
	--background-dark-10-color: #63807c;
	--background-light-1-color: #ffffff;
	--background-light-10-color: #f2efeb;
	--background-light-20-color: #d2d9d8;
}

@media (max-width: 860px) {
	:root {
		--font-size-text: 16px;
		--font-size-little-text: 12px;
		--font-size-h0: 34px;
		--font-size-h1: 24px;
		--font-size-h2: 24px;
		--font-size-h3: 22px;
		--font-size-h4: 22px;
		--font-size-h5: 20px;
		--font-size-h6: 20px;
	}
}	

.hide {
	display: none;
}

@media (min-width: 861px) {
	.hide-on-desktop {
		display: none;
	}
}

@media (max-width: 860px) {
	.hide-on-phone {
		display: none;
	}
}

body, h1, h2, h3, h4, h5, h6, p, ul, textarea {
	margin: 0;
	padding: 0;
}

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);
}

button {
	border: none;
	background: none;
}

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;
	border-radius: 0;
	outline: none;
	background-color: unset;
}

input::placeholder {
	color: currentColor;
	opacity: 0.8;
}

textarea {
	resize: none;
}

textarea::placeholder {
	color: currentColor;
	opacity: 0.8;
}

p + p {
	margin-top: 15px;
}

section {
	padding: 100px 0;
}

iframe {
	border: 0;
	width: 100%;
	aspect-ratio: 16 / 9;
	box-shadow: 1px 1px 5px rgb(0,0,0,.2), -1px -1px 5px rgb(0,0,0,.2);
}

.doctoralia iframe {
	aspect-ratio: 6 / 16;
	max-width: 380px;
	box-shadow: none;
}

.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-light-1 {
	color: var(--text-light-1-color);
}

.text-light-10 {
	color: var(--text-light-10-color);
}

.bg-dark-1 {
	background-color: var(--background-dark-1-color);
}

.bg-dark-10 {
	background-color: var(--background-dark-10-color);
}

.bg-light-1 {
	background-color: var(--background-light-1-color);
}

.bg-light-10 {
	background-color: var(--background-light-10-color);
}

.bg-light-20 {
	background-color: var(--background-light-20-color);
}

.border-radius-low {
	border-radius: 10px;
}

.border-radius-med {
	border-radius: 20px;
}

.border-radius-high {
	border-radius: 50px;
}

.border-radius-circle {
	border-radius: 100%;
}

.margin-left {
	margin-left: 30px;
}

.hover {
	border-radius: 10px;
}

.hover:hover, .hover:focus-within {
	background-color: color-mix(in srgb, currentColor 15%, transparent);
}

.button {
	padding: 10px 20px;
	color: var(--text-light-10-color);
	background-color: var(--background-dark-10-color);
	text-align: center;
	border-radius: 10px;
	transition: all 0.2s ease-in-out;
}

.button:hover, .button:focus-within {
	background-color: var(--background-light-20-color);
	color: var(--text-dark-10-color);
	transform: scale(1.1);
	box-shadow: 1px 1px 5px var(--background-dark-10-color), -1px -1px 5px var(--background-dark-10-color);
}

.zoom-in img {
	transition: transform 0.2s ease-in-out;
}

.zoom-in:hover img,
.zoom-in:focus-within img {
	transform: scale(1.1);
}

.zoom-out img {
	transform: scale(1.1);
	transition: transform 0.2s ease-in-out;
}

.zoom-out:hover img,
.zoom-out:focus-within img {
	transform: scale(1);
}

.no-overflow {
	overflow: hidden;
}

.width img {
	width: 100%;
}

.height img {
	height: 100%;
}

.with-icon {
	display: flex;
	align-items: center;
	column-gap: 5px;
	width: fit-content;
}

.strong {
	font-weight: bold;
}

.pointer {
	cursor: pointer;
}

.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);
}

.heading {
	text-align: center;
	margin-bottom: 40px;
}

.heading .title + .title {
	margin-top: 5px;
}

.transition.up {
	transform: translateY(5px);
}

.transition.down {
	transform: translateY(-5px);
}

.transition svg {
	width: 100%;
	height: 15vh;
}

.menu .segment {
	background-color: currentColor;
	height: 4px;
	width: 30px;
	border-radius: 50px;
	margin: 6px 0;
	transition: transform 0.2s ease-in-out;
}

.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: 1200px;
	width: 100%;
	box-sizing: border-box;
}

/* <--- STYLE */

/* INC ---> */

:root {
	--tooltip-font-size: var(--font-size-little-text);
	--tooltip-border-radius: 20px;
	--tooltip-padding: 10px 20px;
	--tooltip-background-color: var(--background-dark-10-color);
	--tooltip-text-color: var(--text-light-1-color);
	--tooltip-box-shadow: 1px 1px 1px rgb(0,0,0,.2), -1px -1px 1px rgb(0,0,0,.2);
	--tooltip-transition-time: 0.2s;
}

.toastify {
	background: var(--background-dark-10-color);
	color: var(--text-light-1-color);
	padding: 20px;
	border-radius: 20px;
	box-shadow: 1px 1px 1px rgb(0,0,0,.2), -1px -1px 1px rgb(0,0,0,.2);
	z-index: 110;
}

/* <--- INC */

/* SECTIONS ---> */

#banner {
	padding: 10px 0;
}

#banner .contact {
	column-gap: 10px;
	row-gap: 10px;
}

#banner .contact .email {
	word-break: break-all;
}

#header {
	position: sticky;
	top: 0;
	padding: 5px 0;
	box-shadow: 1px 1px 1px rgb(0,0,0,.2);
	z-index: 70;
}

#header .main {
	column-gap: 30px;
	row-gap: 10px;
}

#header .main .logo {
	flex-basis: 250px;
}

#header .nav-element:hover .lucide-chevron-down,
#header .nav-element:focus-within .lucide-chevron-down {
	transform: rotate(180deg) ease-in-out;
}

#header .nav-element:hover .subnav,
#header .nav-element:focus-within .subnav {
	display: block;
}

#header .nav-element a,
#header .nav-element span.pointer {
	width: 100%;
}

@media (min-width: 861px) {
	
	#header .main .logo {
		flex-shrink: 0;
	}
	
	#header .nav {
		display: flex;
		align-items: center;
		justify-content: center;
		flex-wrap: wrap;
		column-gap: 30px;
		row-gap: 20px;
	}
	
	#header .nav-element {
		position: relative;
	}
	
	#header .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,.2), -1px -1px 1px rgb(0,0,0,.2);
		border-radius: 20px;
		padding: 20px;
		width: max-content;
		z-index: 71;
	}
	
	#header .subnav.left {
		left: 0;
		margin-top: 10px;
		margin-left: -10px;
	}
	
	#header .subnav.right {
		right: 0;
		margin-top: 10px;
		margin-right: -10px;
	}
	
	#header .subnav-element + .subnav-element {
		margin-top: 10px;
	}
	
}

@media (max-width: 860px) {
	
	#header .main {
		flex-wrap: wrap;
	}
	
	#header .nav.opened {
		display: block;
		width: 100%;
	}
	
	#header .nav-element,
	#header .subnav-element {
		margin: 10px 0;
	}
	
	#header .subnav {
		margin-left: 10px;
	}
	
}

#welcome {
	background-repeat: no-repeat;
	background-size: cover;
	background-position-y: bottom;
	height: 500px;
}

#welcome .box {
	max-width: 600px;
	padding: 20px;
	margin-top: 100px;
	box-shadow: 1px 1px 5px rgb(0,0,0,.2), -1px -1px 5px rgb(0,0,0,.2);
}

#welcome .title:nth-child(1) {
	margin-bottom: 5px;
}

#welcome .title:nth-child(2) {
	margin-bottom: 20px;
}

#welcome .text {
	margin-bottom: 20px;
}

@media (min-width: 861px) {
	#welcome {
		background-attachment: fixed;
	}
}

#services .spec-list {
	column-gap: 20px;
	row-gap: 40px;
	margin-bottom: 40px;
}

#services .spec {
	flex-basis: 280px;
	padding: 20px;
	row-gap: 20px;
	box-shadow: 1px 1px 5px rgb(0,0,0,.2), -1px -1px 5px rgb(0,0,0,.2);
}

#services .spec .image {
	max-width: 100px;
}

#services .spec .title {
	text-align: center;
}

#modalities .spec-list {
	column-gap: 20px;
	row-gap: 40px;
	margin-bottom: 40px;
}

#modalities .spec {
	flex-basis: 300px;
	padding: 20px;
	row-gap: 20px;
}

#modalities .spec .title {
	text-align: center;
}

#therapies .spec-list {
	row-gap: 40px;
	margin-bottom: 40px;
}

#therapies .spec {
	column-gap: 100px;
	row-gap: 40px;
}

#therapies .spec .left {
	flex-basis: 500px;
	flex-grow: 1;
}

#therapies .spec .left .title {
	margin-bottom: 20px;
}

#therapies .spec .right {
	flex-basis: 150px;
	flex-grow: 1;
	max-width: 300px;
}

#therapies .spec .right .image {
	box-shadow: 1px 1px 1px rgb(0,0,0,.2), -1px -1px 1px rgb(0,0,0,.2);
}

@media (min-width: 861px) {
	#therapies .spec:nth-child(even) .left {
		order: 1;
	}
}

#treatments {
	background-repeat: no-repeat;
	background-size: cover;
}

@media (min-width: 861px) {
	#treatments {
		background-attachment: fixed;
	}
}

#treatments .heading {
	filter: drop-shadow(1px 1px 5px black);
}

#treatments .spec-list {
	column-gap: 80px;
	row-gap: 40px;
	margin-bottom: 40px;
}

#treatments .spec {
	flex-basis: 200px;
	padding: 20px;
	box-shadow: 1px 1px 5px rgb(0,0,0,.2), -1px -1px 5px rgb(0,0,0,.2);
}

#book .calendar {
	margin-bottom: 40px;
}

#pricing .spec-list {
	column-gap: 40px;
	row-gap: 40px;
}

#pricing .spec {
	flex-basis: 275px;
	padding: 20px;
	row-gap: 20px;
	box-shadow: 1px 1px 5px rgb(0,0,0,.2), -1px -1px 5px rgb(0,0,0,.2);
}

#pricing .spec.big {
	flex-basis: 400px;
}

#pricing .spec .image {
	max-width: 100px;
}

#pricing .spec .title,
#pricing .spec .price {
	text-align: center;
}

#pricing .spec .text {
	align-self: flex-start;
}

#pricing .spec .call-to-action {
	margin-top: auto;
}

#technology .spec-list {
	column-gap: 80px;
	row-gap: 40px;
}

#technology .spec {
	flex-basis: 125px;
}

#technology .spec.little {
	flex-basis: 75px;
}

#technology .spec.big {
	flex-basis: 150px;
}

#projects .spec-list {
	column-gap: 80px;
	row-gap: 40px;
}

#projects .spec {
	flex-basis: 300px;
}

#projects .spec .image img {
	box-shadow: 1px 1px 5px rgb(0,0,0,.2), -1px -1px 5px rgb(0,0,0,.2);
}

#faq .spec-list {
	row-gap: 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: unset;
}

#video .youtube {
	flex-basis: 700px;
	margin-bottom: 40px;
}

#contact .main {
	column-gap: 40px;
	row-gap: 20px;
	margin-bottom: 40px;
}

#contact .main .info {
	flex-basis: 500px;
	flex-grow: 1;
}

#contact .main .info > .text {
	margin-bottom: 20px;
}

#contact .main .info .data {
	width: fit-content;
	margin: 0 auto;
	padding: 20px;
}

#contact .main .info .data a {
	width: 100%;
}

#contact .main .info .data .location,
#contact .main .info .data .phone,
#contact .main .info .data .whats {
	margin-bottom: 20px;
}

#contact .main .info .data .email {
	word-break: break-all;
}

#contact .main .form .inputs {
	row-gap: 10px;
	max-width: 600px;
	width: 100%;
	margin-bottom: 10px;
}

#contact .main .form input.name,
#contact .main .form input.email {
	width: 100%;
	border-bottom: solid 4px var(--background-dark-10-color);
}

#contact .main .form .textarea {
	max-width: 600px;
	width: 100%;
	margin-bottom: 20px;
	height: 200px;
}

#contact .main .form textarea.message {
	width: 100%;
}

#contact .main .form .checkbox {
	margin-bottom: 20px;
}

#contact .main .form .checkbox input {
	width: 24px;
	height: 24px;
}

#contact .google-maps {
	flex-basis: 500px;
}

#pre-blog .title,
#pre-case .title {
	margin-bottom: 20px;
}

#pre-blog .text {
	margin-bottom: 20px;
}

#pre-blog .search {
	max-width: 500px;
	width: 100%;
}

#pre-blog .search form {
	position: relative;
}

#pre-blog .search input.query {
	width: 100%;
	padding-left: 60px;
}

#pre-blog .search button.submit {
	position: absolute;
	left: 10px;
}

#blog .search-query {
	margin-bottom: 10px;
}

#blog .num-results {
	margin-bottom: 40px;
}

#blog .spec-list {
	column-gap: 40px;
	row-gap: 40px;
}

#blog .spec {
	flex-basis: 300px;
	box-shadow: 1px 1px 5px rgb(0,0,0,.2), -1px -1px 5px rgb(0,0,0,.2);
}

#blog .spec .image {
	max-height: 200px;
}

#blog .spec .box {
	padding: 20px;
	flex-grow: 1;
}

#blog .spec .box .title {
	margin-bottom: 10px;
}

#blog .spec .box .title a {
	width: 100%;
}

#blog .spec .box .text {
	margin-bottom: 10px;
}

#blog .spec .box .show-more {
	margin-top: auto;
}

#blog .spec .box .show-more a {
	width: 100%;
}

#blog .pagination {
	gap: 10px;
	margin-top: 40px;
}

#pre-post .title {
	text-align: center;
}

#post .main {
	column-gap: 40px;
	row-gap: 20px;
}

#post .main .left {
	flex-basis: 800px;
	flex-grow: 1;
}

#post .main .left .content {
	margin-bottom: 20px;
}

#post .main .left .content h2 {
	margin-top: 40px;
	margin-bottom: 20px;
}

#post .main .left .content h3 {
	margin-top: 30px;
	margin-bottom: 15px;
}

#post .main .left .date {
	text-align: right;
}

#post .main .right {
	flex-basis: 300px;
	flex-grow: 1;
}

#post .main .right .box {
	position: sticky;
	top: 75px;
}

#post .main .right .share {
	margin-bottom: 20px;
}

#post .main .right .archive {
	padding: 20px;
}

#post .main .right .archive > .title {
	margin-bottom: 20px;
}

#post .main .right .archive .posts .post + .post {
	margin-top: 10px;
}

#post .main .right .archive .posts .post a {
	width: 100%;
	flex-wrap: wrap;
}

#post .main .right .archive .posts .post .title {
	width: 100%;
}

#steps .spec-list {
	gap: 40px;
}

#steps .spec {
	flex-basis: 250px;
	padding: 20px;
}

#steps .spec .title {
	margin-bottom: 20px;
}

#steps .spec .number,
#steps .spec .title {
	text-align: center;
}

#case .image {
	flex-basis: 600px;
}

#case .content {
	margin-top: 40px;
}

#case .content h2 {
	margin-top: 40px;
	margin-bottom: 20px;
}

#case .content h3 {
	margin-top: 30px;
	margin-bottom: 15px;
}

#whatsapp-chat {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 100;
}

#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,.2), -1px -1px 1px rgb(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;
}

#footer {
	padding: 40px 0;
	margin-top: 80px;
	padding-bottom: 100px;
	box-shadow: -1px -1px 1px rgb(0,0,0,.2);
}

#footer .main {
	column-gap: 40px;
	row-gap: 40px;
}

#footer .main .meta {
	flex-basis: 450px;
	flex-grow: 1;
}

#footer .main .meta .logo {
	max-width: 250px;
	margin-bottom: 20px;
	filter: brightness(0) invert(1);
}

#footer .main .meta .text {
	margin-bottom: 20px;
}

#footer .main .meta .social-networks {
	column-gap: 20px;
	row-gap: 10px;
	margin-bottom: 20px;
}

#footer .main .links {
	flex-basis: 200px;
	flex-grow: 1;
}

#footer .main .links .title {
	margin-bottom: 20px;
}

#footer .main .links .site-link + .site-link {
	margin-top: 10px;
}

#footer .main .links .site-link a,
#footer .main .links .site-link span.pointer {
	width: 100%;
}

#footer .funding {
	border-top: solid 1px currentColor;
	margin-top: 40px;
	padding-top: 10px;
}

#footer .funding .text {
	margin-bottom: 20px;
}

#footer .funding .images {
	gap: 20px;
}

#footer .funding .images .image {
	flex-basis: 250px;
}

#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;
}

/* <--- SECTIONS */
