:root {
	/* Colors*/
	/* Primary Color */
	--primary-color-50: #D9D9F0;
	--primary-color-300: #0000FF;
	--primary-color-400: #0000CC;
	--primary-color-500: #0C0C7A;
	--primary-color-600: #000066;
	--primary-color-700: #000033;

	/* Secondary Color */
	--secondary-color: #DF5B11;

	/* Text Colors */
	--text-color-50: #F5F5F5;
	--text-color-100: #EAEAEA;
	--text-color-150: #E0E0E0;
	--text-color-200: #B3B3B3;
	--text-color-300: #999999;
	--text-color-400: #808080;
	--text-color-450: #606060;
	--text-color-500: #101010;

	/* Border Colors */
	--border-white-300: #999999;

	/* Button Colors */
	--whatsapp-color: #16a34a;

	/* Font Families */
	--title-font: "Manrope", sans-serif;
	--body-font: "Quicksand", sans-serif;
}

/* Base */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html, body {
  scroll-behavior: smooth;
}

body {
	font-size: 62.5%;
	font-family: var(--body-font);
}

address {
	font-style: normal;
}

main {
	font-size: 1rem;
	line-height: 1.5rem;
	color: var(--text-color-500);
}

li {
	list-style: none;
}

a {
	text-decoration: none;
	color: inherit;
	cursor: pointer;
}

button {
	background: none;
	color: inherit;
	box-shadow: none;
	border: none;
	cursor: pointer;
}

/* Components */

.next, .prev {
	color: var(--text-color-400);
}

.next:hover, .prev:hover {
	color: var(--text-color-500);
}

/* AppBar */
.appbar {
	position: fixed;
	z-index: 50;
	top: 0;
	left: 0;
	right: 0;
	padding: 0 1rem;
	transition: all .5s;
	background-color: var(--primary-color-700);
	color: white;
	box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
}

.appbar__content {
	padding: 0.5rem 2rem;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	align-items: center;
}

.appbar__menu {
	white-space: nowrap;
	transition: all;
	position: absolute;
	top: 4rem;
	left: 0;
	width: 100%;
	display: flex;
	flex-direction: column;
	background-color: var(--primary-color-700);
}

	.appbar__menu--hidden {
		display: none;
	}

.appbar__menu-list {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
	padding: 1rem 0;
	font-family: var(--title-font);
	font-weight: bold;
	font-size: 0.875rem;
	line-height: 1.25rem;
}

.appbar__menu-list li:last-child {
	font-family: var(--body-font);
	font-weight: normal;
	border-top: thin solid var(--border-white-300);
	padding-top: 1rem;
	text-align: center;
}

.appbar__menu-list li:last-child p {
	font-size: 0.875rem;
	line-height: 1.25rem;
}

.appbar__menu-list li:last-child a {
	font-size: 1.125rem;
	line-height: 1.75rem;
	color: var(--secondary-color);
}

.section-title {
	font-family: var(--title-font);
	font-weight: bold;
	color: var(--primary-color-600);
	font-size: 1.5rem;
	line-height: 2rem;
}

.section-subtitle {
	text-transform: uppercase;
	font-family: var(--title-font);
	font-weight: 500;
	font-size: 0.875rem;
	line-height: 1.25rem;
	position: relative;
	padding-bottom: 0.5rem;
	margin-bottom: 0.5rem;
}

.section-subtitle::after {
	content: '';
	display: block;
	width: 2rem;
	border-bottom: 2px solid;
	border-radius: 9999px;
}

/* Whatsapp Fab */
.whatsapp-fab {
	position: fixed;
	bottom: 2rem;
	right: 2rem;
	z-index: 40;
	width: 4rem;
	display: flex;
	gap: 0.5rem;
	padding: 1rem;
	align-items: center;
	border-radius: 1.5rem;
	transition: all .150s ease-in;
	background-color: var(--whatsapp-color);
	color: white;
	box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
}

.whatsapp-fab:hover {
	width: 12rem;
}

.whatsapp-fab__icon {
	flex-shrink: 0;
}

.whatsapp-fab__text {
	overflow: hidden;
	white-space: nowrap;
}

/* Hero */
.hero {
	display: grid;
	grid-template-rows: repeat(4, minmax(0, 1fr));
	min-height: 100vh;
	color: white;
	background-color: var(--primary-color-700);
}

.hero__content {
	grid-area: 1 / 1 / 5 / 2;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
	text-align: center;
	padding: 6rem 4rem 2rem;
}

.hero__image {
	grid-area: 1 / 1 / 5 / 2;
	width: 100%;
	height: 100%;
	max-height: 100vh;
}

.hero__image img {
	object-position: 65% 80%;
	pointer-events: none;
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.hero__title {
	font-family: var(--title-font);
	font-weight: bold;
	font-size: 1.5rem;
	line-height: 2rem;
	text-shadow: #333 1px 0 10px;
}

.hero__title strong {
	z-index: 1;
	display: inline-block;
	transform: rotate(1deg);
	padding: 0 0.25rem;
	background-color: var(--secondary-color);
}

.hero__title strong span {
	display: inline-block;
	transform: rotate(-1deg);
}

/* Call To Action */
.cta-button {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.75rem 1rem;
	transition: all .3s linear;
	font-family: var(--title-font);
	font-weight: bold;
	border-radius: 9999px;
	background-color: var(--primary-color-500);
	color: white;
	box-shadow: 0 4px 6px -1px var(--primary-color-700), 0 2px 4px -2px var(--primary-color-700);
}

.cta-button:hover {
	opacity: 0.85;
	box-shadow: 0 4px 6px -1px var(--primary-color-600), 0 2px 4px -2px var(--primary-color-600);
}

/* Tratamentos Section */
.tratamentos-section {
	min-height: 100vh;
	display: flex;
	align-items: center;
	padding: 5rem 1.5rem;
	text-align: center;
}

.tratamentos-section__content {
	margin: auto;
	max-width: 72rem;
}

.tratamentos-section__content > * + * {
	margin-top: 1rem;
}

.tratamentos-section__text {
	color: var(--text-color-450);
	max-width: 36rem;
	margin: auto;
}

.tratamentos-section__list {
	display: grid;
	grid-template-columns: repeat(1, minmax(0, 1fr));
	column-gap: 4rem;
	text-align: start;
	font-size: 1.125rem;
	line-height: 1.75rem;
}

.circle-marker li {
	background-repeat: no-repeat;
	background-position: left top;
	background-image: url('./assets/images/list-marker.png');
	padding-left: 2.5rem;
	min-height: 32px;
}

.tratamentos-section__list > * + * {
	margin-top: 0.5rem;
}

.tratamentos-carousel-section__subtitle {
	color: var(--primary-color-500);
}

.tratamentos-carousel-section__subtitle::after {
	margin: auto;
}

/* Tratamentos Carousel Section */
.tratamentos-carousel-section {
	background-color: var(--text-color-50);
	min-height: 100vh;
	padding: 3rem 0;
	font-family: var(--body-font);
	text-align: center;
}

.tratamentos-carousel-section > * + * {
	margin-top: 1rem;
}

.tratamentos-carousel__item {
	width: 100%;
}

.tratamentos-carousel__item-container {
    width: 100%;
    max-width: 72rem;
    display: flex;
    flex-direction: column;
	margin: auto;
}

.tratamentos-carousel__item-container > *{
    flex: 1;
}

.tratamentos-carousel__item-container img {
	position: relative;
	left: -40px;
}

.tratamentos-carousel__tratamento {
	text-align: start;
	margin: 1.5rem 0;
	padding: 0 2.5rem;
}

.tratamentos-carousel__tratamento h3 {
    font-size: 1.25rem;
	line-height: 1.75rem;
    font-family: var(--title-font);
    font-weight: bold;
    color: var(--primary-color-600);
}

.tratamentos-carousel__tratamento p {
	text-align: justify;
}

/* Sobre A Clínica Section */
.sobre-a-clinica-section {
    min-height: 100vh;
    display: flex;
    align-items: center;
    padding: 3rem 0;
    font-family: var(--body-font);
    text-align: center;
}

.sobre-a-clinica-section__content {
    width: 100%;
    max-width: 72rem;
    margin: 0 auto;
	padding: 0 2rem;
}

.sobre-a-clinica-section__content > * + * {
    margin-top: 1rem;
}

.sobre-a-clinica-section__grid {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.sobre-a-clinica-section__image {
    max-width: 24rem;
	width: 100%;
}

.sobre-a-clinica-section__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
    border-radius: 1rem;
}

.sobre-a-clinica-section__text-container {
    text-align: justify;
}

.sobre-a-clinica-section__text-container > * + * {
    margin-top: 1rem;
}

.sobre-a-clinica-section__cta {
    text-align: center;
}

/* Equipamentos Section */
.equipamentos-section {
    background-color: var(--text-color-50);
    min-height: 100vh;
    padding: 3rem 0;
    font-family: var(--body-font);
    text-align: center;
}

.equipamentos-section > * + * {
    margin-top: 1rem;
}

.equipamentos-section__text {
	color: var(--text-color-450);
	margin: auto;
	max-width: 36rem;
}

.equipamentos-carousel__item {
	padding: 0 2.5rem;
	width: 100vw;
	height: 100%;
}

.equipamentos-carousel__item-container {
    width: 100%;
    max-width: 72rem;
    height: 100%;
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 1.5rem;
	text-align: justify;
	margin: auto;
}

.atendimentos-carousel img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.atendimentos-section {
	text-align: center;
}

/* Sobre Mim Section */

.sobre-mim-section {
	font-family: var(--body-font);
}

.sobre-mim-section__subtitle {
	color: var(--primary-color-500);
}

.sobre-mim-container {
	padding: 2rem 2rem;
	max-width: 90rem;
	margin: 0 auto;
}

.sobre-mim-section__content {
    display: flex;
    flex-direction: column;
}

.sobre-mim-section__image-container {
    order: 2;
	margin: auto;
}

.sobre-mim-section__image-container img {
	object-fit: contain;
	width: 100%;
	height: 100%;
}

.sobre-mim-section__text-container {
    order: 1;
}

.sobre-mim-section__especialidades-section {
    order: 3;
	margin: 0.5rem 0;
}

/* Depoimentos Section */
.depoimentos-section {
    background-color: var(--text-color-50);
    min-height: 100vh;
    padding-top: 5rem;
    padding-bottom: 5rem;
    font-family: var(--body-font);
    text-align: center;
}

.depoimentos-section > * + * {
    margin-top: 1rem;
}

.depoimento-card {
    position: relative;
    padding-top: 4rem;
    padding-bottom: 4rem;
    padding-left: 2rem;
    padding-right: 2rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.depoimento-card::after, .depoimento-card::before {
    font-family: var(--font-title);
    position: absolute;
    color: var(--text-color-100);
    font-size: 8rem;
    height: 4rem;
    display: block;
}

.depoimento-card::before {
    content: open-quote;
}

.depoimento-card::after {
    right: 0;
    content: close-quote;
}

.depoimento-card p {
	flex: 1;
	text-align: justify;
}

.depoimento-card h3 {
	font-family: var(--title-font);
	font-weight: bold;
	font-size: 1.125rem;
	line-height: 1.75rem;
}

/* Contatos Section */
.contatos-section {
    min-height: 100vh;
	display: flex;
	flex-direction: column;
	gap: 1rem;
    font-family: var(--body-font);
}

.contatos-section__info {
	display: flex;
	gap: 2rem;
}

.contatos-section__subtitle {
	color: var(--primary-color-500);
}

.contatos-section__address {
	flex: 2;
	padding: 5rem 1.5rem;
}

.contatos-section__address > * + * {
	margin-top: 1rem;
}

.contatos-section__map-container {
	height: 24rem;
}

.contatos-section__map {
	border: none;
	width: 100%;
	height: 100%;
}

.card-icon {
	background-color: var(--primary-color-50);
	padding: 0.5rem;
	border-radius: 0.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
}

.contatos-section__card-title {
	font-family: var(--title-font);
	font-weight: bold;
}

.contatos-section__card {
	display: flex;
	align-items: center;
	color: var(--primary-color-500);
	gap: 0.5rem;
}

.contatos-section__social-media {
	display: flex;
	gap: 0.5rem;
	color: var(--primary-color-500);
}

/* Footer */
.footer {
    box-shadow: 0 1px 2px 0 rgb(0 0 0 / 0.05);
    background-color: var(--primary-color-700);
    color: white;
    text-align: center;
	line-height: 1.5rem;
}

.footer__content {
    width: 100%;
    max-width: 72rem;
    padding: 3rem 1rem 3rem 1rem;
    font-size: 0.875rem;
    display: flex;
    flex-direction: column;
    gap: 2rem;
	margin: auto;
}

.footer__title {
	font-family: var(--title-font);
	font-weight: bold;
	font-size: 1.125rem;
	line-height: 1.75rem;
}

.footer__sobre-mim {
	text-align: justify;
	max-width: 20rem;
	margin: auto;
}

.footer__social-media {
	margin-top: 1rem;
}

.footer__social-media > * + * {
	margin-left: 1rem;
}

.footer__social-media > * {
	vertical-align: middle;
}

.footer__contato {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 1.5rem;
}

/* 'sm': '640px' */
@media (min-width: 640px) {
	.hero__title {
		font-size: 2.25rem;
		line-height: 2.5rem;
	}
}

/* 'md': '768px' */
@media (min-width: 768px) {
	.appbar__menu {
		position: static;
		width: auto;
		flex-direction: row;
		background-color: transparent;
	}

	.appbar__menu-list {
		flex-direction: row;
		padding: 0;
	}

	.appbar__menu-list li:last-child {
		border-top: none;
		border-left: thin solid var(--border-white-300);
		padding-top: 0;
		text-align: start;
		padding-inline-start: 1rem;
	}

	.whatsapp-fab {
		bottom: 3rem;
		right: 3rem;
	}

	.hero__content {
		align-items: start;
		justify-content: center;
		gap: 1.5rem;
		max-width: 28rem;
		text-align: start;
	}

	.tratamentos-section__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.contatos-section__address {
		padding-left: 4rem;
		padding-right: 4rem;
	}

	.footer__content {
        justify-content: space-between;
    }
}

/* 'lg': '1024px' */
@media (min-width: 1024px) {
	.appbar__content {
		flex-direction: row;
	}

	.appbar__menu--hidden {
		display: flex;
	}

	.appbar__toggle-button {
		display: none;
	}

	.hero__content {
		max-width: 36rem;
		padding-left: 8rem;
		padding-right: 8rem;
	}

	.tratamentos-carousel__item-container {
        flex-direction: row;
        gap: 3rem;
    }

	.equipamentos-carousel__item-container {
        flex-direction: row;
        gap: 3rem;
    }

	.equipamentos-carousel__item-container > * {
		flex: 1;
	}

	.sobre-a-clinica-section__grid {
        flex-direction: row;
        gap: 3rem;
    }

	.sobre-a-clinica-section__image-container {
		flex: 1;
		order: 1;
	}

	.sobre-a-clinica-section__text-container {
        flex: 1;
        order: 0;
    }

	.contatos-section {
		flex-direction: row;
		gap: 0;
	}
	
	.sobre-mim-section__content {
        display: flow-root;
    }

	.sobre-mim-container {
		padding-left: 6rem;
		padding-right: 6rem;
    }

	.sobre-mim-section__image-container {
		float: right;
	}

	.contatos-section__map-container {
		flex: 2;
		height: auto;
	}

	.footer {
		text-align: start;
	}

	.footer__content {
        flex-direction: row;
        padding-right: 2rem;
        padding-left: 2rem;
    }

	.footer nav li {
		background-repeat: no-repeat;
		background-position: left top;
		background-image: url('./assets/images/chevron-marker.png');
		padding-left: 2rem;
		min-height: 32px;
	}
}

/* 'xl': '1280px' */
@media (min-width: 1280px) {

}

/* '2xl': '1536px' */
@media (min-width: 1536px) {
	.hero__content {
		max-width: none;
	}

	.tratamentos-section {
		min-height: auto;
		padding: 12rem 1.5rem;
	}

	.tratamentos-carousel-section {
		min-height: auto;
		padding: 12rem 0;
	}

	.sobre-a-clinica-section {
		min-height: auto;
        padding: 12rem 0;
	}

	.equipamentos-section {
		min-height: auto;
        padding: 12rem 0;
	}

	.depoimentos-section {
		min-height: auto;
		padding: 12rem 0;
	}

	.contatos-section {
		min-height: auto;
	}
}