/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

:root {
  --clr-white: #fff;
  --clr-main: #42bbc5;
  --clr-main-dk: #077f82;
  --ff-lato: "Poppins", sans-serif;
  --ff-roboto: "Roboto", sans-serif;
  --ff-montserrat: "Montserrat", sans-serif;
  --ff-caveat: "Caveat", cursive;
  --fs-xs: clamp(1rem, 0.8846rem + 0.5128vw, 1.15rem);
  --fs-md: clamp(1.3125rem, 1.1797rem + 0.625vw, 1.625rem);
  --fs-lg: clamp(1.625rem, 1.4055rem + 1.0976vw, 2.1875rem);
  --fs-xlg: clamp(2.1875rem, 1.5234rem + 3.125vw, 3.75rem);
  --fs-xxlg: clamp(3rem, 2.2195rem + 3.9024vw, 5rem);
  --shadow-xs: rgba(0, 0, 0, 0.1) 0px 0.25rem 0.375rem -0.0625rem,
    rgba(0, 0, 0, 0.06) 0px 0.125rem 0.25rem -0.0625rem;
  --shadow-md: rgba(0, 0, 0, 0.1) 0px 0.625rem 0.9375rem -0.1875rem,
    rgba(0, 0, 0, 0.05) 0px 0.25rem 0.375rem -0.125rem;
  --shadow-lg: rgba(0, 0, 0, 0.1) 0px 1.25rem 1.5625rem -0.3125rem,
    rgba(0, 0, 0, 0.04) 0px 0.625rem 0.625rem -0.3125rem;
  --shadow-xlg: rgba(0, 0, 0, 0.1) 0px 1.25rem 1.5625rem -0.3125rem,
    rgba(0, 0, 0, 0.04) 0px 0.625rem 0.625rem -0.3125rem;
  --select-border: rgb(170, 170, 170);
  --select-focus: var(--clr-bronze);
  --select-arrow: var(--select-border);
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--ff-lato);
}

p {
  font-size: 100%;
  line-height: 1.75;
  letter-spacing: -0.0027777778rem;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role="list"],
ol[role="list"] {
  list-style: none;
}

/* Set core root defaults */
html:focus-within {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  overflow-x: hidden;
  font-family: var(--ff-roboto);
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  -webkit-text-decoration-skip: ink;
  text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img,
picture {
  display: block;
  max-width: 100%;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    transition-duration: 0.01ms !important;
    -webkit-animation-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
  }
}
/* end of default reset/styling */
section {
  padding: 11vh 0 11vh 0;
}

h4 {
  font-family: var(--ff-montserrat);
  font-size: var(--fs-xlg);
  font-weight: 300;
  text-align: center;
}

h4 span {
  display: block;
  margin-right: clamp(0rem, -0.1951rem + 0.9756vw, 0.5rem);
  font-size: var(--fs-xxlg);
  color: #2b2b2b;
}

@media screen and (min-width: 600px) {
  h4 span {
    display: inline;
  }
}
.section-center {
  width: 90%;
  max-width: 1140px;
  margin: 0 auto;
}

.clr-main {
  color: var(--clr-main);
}

.clr-main-dk {
  color: var(--clr-main-dk);
}

.cursive {
  font-family: var(--ff-caveat);
}

.pt-0.pt-0.pt-0.pt-0.pt-0 {
  padding-top: 0;
}

.pb-05.pb-05.pb-05.pb-05.pb-05 {
  padding-bottom: 0.5rem;
}

@-webkit-keyframes afl {
  0% {
    opacity: 0;
    transform: translateX(-3.125rem);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes afl {
  0% {
    opacity: 0;
    transform: translateX(-3.125rem);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@-webkit-keyframes afr {
  0% {
    opacity: 0;
    transform: translateX(3.125rem);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes afr {
  0% {
    opacity: 0;
    transform: translateX(3.125rem);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@-webkit-keyframes afb {
  0% {
    opacity: 0;
    transform: translateY(3.125rem);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes afb {
  0% {
    opacity: 0;
    transform: translateY(3.125rem);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@-webkit-keyframes aft {
  0% {
    opacity: 0;
    transform: translateY(-3.125rem);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes aft {
  0% {
    opacity: 0;
    transform: translateY(-3.125rem);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@-webkit-keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fade-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes fade-out {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes fade-out {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.btn {
  display: flex;
  gap: 0.5em;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 25rem;
  padding: 0.325em 0.6em;
  font-family: var(--ff-caveat);
  font-size: clamp(1.25rem, 1.1524rem + 0.4878vw, 1.5rem);
  font-size: var(--fs-lg);
  font-weight: 600;
  color: var(--clr-white);
  text-decoration: none;
  cursor: pointer;
  background: var(--clr-main-dk);
  border: 0.375rem solid transparent;
  border-radius: 0.25em;
  box-shadow: rgba(50, 50, 93, 0.25) 0px 0.375em 0.75em -0.125em,
    rgba(0, 0, 0, 0.3) 0px 0.1875em 0.4375em -0.1875em;
  transition: opacity 250ms ease-in;
  -webkit-animation: pulse-main-dk 2s infinite;
  animation: pulse-main-dk 2s infinite;
}

.btn:hover {
  opacity: 0.8;
}

.btn:focus-visible {
  border: 0.375rem solid var(--clr-black);
  outline: none;
  transform: scale(1.025);
}

@-webkit-keyframes pulse-main-dk {
  0% {
    box-shadow: 0 0 0 0 rgba(34, 136, 155, 0.7);
    transform: scale(0.99);
  }
  70% {
    box-shadow: 0 0 0 0.3125em rgba(34, 136, 155, 0);
    transform: scale(1);
  }
  100% {
    box-shadow: 0 0 0 0.3125em rgba(34, 136, 155, 0);
    transform: scale(0.99);
  }
}

@keyframes pulse-main-dk {
  0% {
    box-shadow: 0 0 0 0 rgba(34, 136, 155, 0.7);
    transform: scale(0.99);
  }
  70% {
    box-shadow: 0 0 0 0.3125em rgba(34, 136, 155, 0);
    transform: scale(1);
  }
  100% {
    box-shadow: 0 0 0 0.3125em rgba(34, 136, 155, 0);
    transform: scale(0.99);
  }
}
.btn--section {
  margin: 0 auto;
  margin-top: 11vh;
}

.cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
  gap: 1.5em;
  justify-items: center;
}

.cards__item {
  display: grid;
  grid-template-rows: 6rem 1fr;
  gap: 1em;
  align-content: center;
  justify-items: center;
  width: 100%;
  height: auto;
  padding: 2.5rem 1.25rem;
  text-align: center;
  background-color: var(--clr-white);
  border-bottom: 0.125rem solid var(--clr-main-dk);
  border-radius: 0.5rem;
  box-shadow: var(--shadow-xlg);
  transition: transform 0.2s ease-in-out;
}

.cards__item:hover {
  transform: scale(1.03);
}

.cards__item h3 {
  font-family: var(--ff-montserrat);
  font-weight: 600;
  line-height: 2;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.cards__item p {
  font-family: var(--ff-montserrat);
}

.cards__item .img-wrapper {
  width: 100%;
  height: auto;
}

.slider {
  width: 100%;
}

/*  padding-bottom is based on the width. It calcs the padding-bottom (height)
    based on the aspect ratio (1/2) then it multiplies by 100% to keep the ratio.
    The max-width is 2000px.

    ps: the padding-bottom is based on the WIDTH and NOT on the HEIGHT
*/
.slider .flickity-viewport {
  padding-bottom: min(calc((1 / 2) * 100%), 400px);
}

.slider__cell {
  top: 50%;
  width: 100%;
  max-width: 600px;
  height: 100%;
  max-height: 300px;
  margin-right: 4rem;
  border-radius: 0.5rem;
  transition: box-shadow 0.2s ease;
  transform: translateY(-50%);
}

@media screen and (min-width: 56.25rem) {
  .slider {
    margin-top: -2rem;
  }

  .slider__cell.is-selected {
    width: 630px;
    max-width: -webkit-max-content;
    max-width: -moz-max-content;
    max-width: max-content;
    height: 315px;
    box-shadow: rgba(0, 0, 0, 0.2) 0px 20px 30px;
  }
}
.slider__cell img {
  width: 100%;
  height: auto;
  border-radius: 0.5rem;
}

.depoimentos {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));
  gap: 1.5em;
  justify-items: center;
  width: 100%;
}

.depoimentos.flickity-viewport {
  padding: 0;
}

.depoimento {
  display: grid;
  grid-template-rows: 3rem 1fr;
  gap: 1em;
  align-content: center;
  justify-items: center;
  width: 100%;
  height: auto;
  padding: 2.5rem 1.25rem;
  text-align: center;
  background-color: var(--clr-white);
  border-radius: 0.5rem;
  transition: transform 0.2s ease-in-out;
  transition: box-shadow 0.25s cubic-bezier(0.62, 0.3, 0.83, 0.67);
}
.depoimento .stars {
  display: flex;
  justify-content: center;
  width: 80%;
}
.depoimento img {
  max-width: 100%;
  height: auto;
}
.depoimento img + img {
  margin-left: 0.25rem;
}
.depoimento .title {
  font-size: var(--fs-md);
  color: var(--clr-main-dk);
  text-align: left;
  text-transform: uppercase;
}
.depoimento .desc {
  font-weight: 300;
  text-align: left;
}
.depoimento .author {
  padding-top: 0.5rem;
  font-size: 0.8125rem;
  font-weight: 600;
  text-align: left;
  text-transform: uppercase;
}

.depoimento:hover {
  box-shadow: var(--shadow-xs);
}

.ac {
  box-shadow: var(--shadow-xs);
}

.ac li + li {
  padding-top: 0.35rem;
}

.ac .ac-header.ac-header {
  font-size: var(--fs-xs);
}

.ac .ac-trigger.ac-trigger::after {
  color: var(--clr-main-dk);
}

.ac .ac-trigger.ac-trigger:focus {
  color: #000;
}

.ac .ac-panel .ac-text.ac-text,
.ac .ac-trigger.ac-trigger {
  padding: 1.5rem;
}

.exit-form__trigger {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2000;
  width: 100%;
  height: 2vh;
  background: transparent;
}

.exit-form__trigger-activator {
  position: fixed;
  top: 2vh;
  left: 0;
  z-index: 2000;
  width: 100%;
  height: 3vh;
}

.modal {
  /* background */
  position: fixed;
  /* Stay in place */
  top: 0;
  left: 0;
  z-index: 1000;
  /* Sit on top */
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  background-color: black;
  /* Fallback color */
  background-color: rgba(0, 0, 0, 0.9);
  /* Black w/ opacity */
}

.modal__image-wrapper {
  display: none;
  width: 50%;
  height: 90%;
}

.modal__image-wrapper img {
  -o-object-fit: cover;
  object-fit: cover;
  height: 100%;
  border-top-left-radius: 0.5em;
  border-bottom-left-radius: 0.5em;
}

.form {
  position: relative;
  z-index: 1000;
  display: flex;
  align-items: center;
  height: 90%;
}
.form .wrapper {
  position: relative;
  width: 90%;
  max-width: 31.25rem;
  height: 100%;
  padding: 2.25rem;
  margin: 0 auto;
  overflow-y: auto;
  background-color: #fff;
  border-radius: 0.5em;
  box-shadow: rgba(0, 0, 0, 0.35) 0px 0.3125em 0.9375em;
}

.btn--close {
  position: absolute;
  top: 0.5em;
  right: 0.5em;
  max-width: 2rem;
  padding: 0;
  font-size: var(--ff-sm);
  color: var(--clr-white);
  box-shadow: rgba(0, 0, 0, 0.1) 0px 0.25em 0.375em -0.0625em,
    rgba(0, 0, 0, 0.06) 0px 0.125rem 0.25em -0.0625em;
  -webkit-animation: none;
  animation: none;
}

.form h6 {
  margin-bottom: 0.5em;
  font-size: var(--fs-lg);
  text-align: left;
}

.form p {
  margin-bottom: 1.5em;
}

/* Style the input fields */
.form input {
  width: 100%;
  padding: 0.625rem;
  font-family: var(--ff-montserrat);
  font-size: 1.0625rem;
  border: 0.0625rem solid #aaaaaa;
  border-radius: 0.25rem;
}

.form__field-wrapper {
  margin-top: 1em;
}

.form select {
  width: 100%;
  padding: 0 1em 0 0;
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  cursor: inherit;
  /* Additional resets for further consistency */
  background-color: transparent;
  border: none;
  outline: none;
  /* A reset of styles, including removing the default dropdown arrow */
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.form__select-wrapper {
  display: grid;
  grid-template-areas: "select";
  align-items: center;
  width: 100%;
  padding: 0.625em;
  font-size: 1.25rem;
  line-height: 1.1;
  cursor: pointer;
  background-color: #fff;
  background-image: linear-gradient(to top, #f9f9f9, #fff 33%);
  border: 0.0625em solid var(--select-border);
  border-radius: 0.25em;
}

.form__select-wrapper:focus-within {
  border: 0.0625em solid var(--select-focus);
}

.form__select-wrapper::after {
  justify-self: end;
  width: 0.8em;
  height: 0.5em;
  -webkit-clip-path: polygon(100% 0%, 0 0%, 50% 100%);
  clip-path: polygon(100% 0%, 0 0%, 50% 100%);
  content: "";
  background-color: var(--select-arrow);
}

select,
.form__select-wrapper::after {
  grid-area: select;
}

.form .btn--submit {
  max-width: 100%;
  margin-top: 1em;
  font-size: var(--fs-md);
}

@media screen and (min-width: 56.25rem) {
  .modal__image-wrapper {
    display: block;
  }

  .form .wrapper {
    margin: 0;
    border-radius: 0;
    border-top-right-radius: 0.5em;
    border-bottom-right-radius: 0.5em;
  }
}
.form--exit {
  color: #fff;
}
.form--exit .wrapper {
  background-color: #d21b1b;
}
.form--exit h6 {
  font-weight: 800;
  text-align: center;
  text-transform: uppercase;
}
.form--exit p {
  font-weight: 600;
  text-align: center;
}
.form--exit .btn {
  background-color: #5e1717;
}

.strip-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 1000;
  display: none;
  width: 100%;
  max-height: 5rem;
  background-color: #e6f2f3;
  box-shadow: rgba(149, 157, 165, 0.2) 0px 8px 24px;
  justify-content: center;
}
.strip-banner .img-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 7%;
  padding: 0.5em 2rem;
}
.strip-banner .img-wrapper img {
  height: auto;
  max-height: 3.125rem;
}
.strip-banner .information {
  display: flex;
  gap: 2em;
  width: 100%;
  padding: 1em 2em;
  background-color: #e6f2f3;
}
.strip-banner .information input {
  width: 50%;
  padding: 1em;
  font-family: var(--ff-roboto);
  font-size: 1rem;
  border: 0;
  border-radius: 0.5em;
  box-shadow: var(--shadow-xs);
}
.strip-banner .btn {
  width: 50%;
  font-size: clamp(1rem, 0.8214rem + 0.8929vw, 1.625rem);
}

@media screen and (min-width: 48rem) {
  .strip-banner {
    display: flex;
    justify-content: center;
  }
}
.section-hero {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100vh;
  background-image: url("./public/images/hero.png");
  background-position-x: center;
  background-position-y: top;
  background-size: cover;
  box-shadow: rgba(50, 50, 93, 0.25) 0px 6px 12px -2px,
    rgba(0, 0, 0, 0.3) 0px 3px 7px -3px;
}
.section-hero .section-center {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  text-align: center;
}
.section-hero .logo {
  max-width: clamp(6.25rem, 5.0305rem + 6.0976vw, 9.375rem);
  margin: 0 auto;
  margin-bottom: 1rem;
}
.section-hero .hero__text {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-bottom: 4rem;
}
.section-hero h1 {
  font-size: var(--fs-xlg);
  font-weight: 900;
  color: var(--clr-white);
}
.section-hero p {
  font-size: var(--fs-md);
  color: white;
}
.section-hero .btn {
  margin: 0 auto;
}

.section-hero::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background-color: #000;
  opacity: 0.6;
}

.section-revolution {
  padding: 5.5vh 0 11vh 0;
  text-align: center;
}
.section-revolution .section-center {
  display: flex;
  justify-content: center;
}
.section-revolution h2 {
  max-width: 20ch;
  font-family: var(--ff-roboto);
  font-size: var(--fs-xlg);
  font-weight: 400;
  color: var(--clr-main-dk);
}
.section-revolution b {
  text-shadow: 0.125rem 0.0625rem 0.1875rem rgba(0, 0, 0, 0.2);
}

.section-cards {
  padding: 0 0 11vh 0;
}

.footer {
  padding: 5.5vh 0 2.75vh 0;
  text-align: center;
}
.footer h6 {
  font-size: var(--fs-xs);
}

.alert {
  padding: 0.5em;
  font-size: 1rem;
  font-weight: 300;
  color: #c83030;
  text-align: center;
  background-color: #fff5f5;
  border: 0.125rem solid #c83030;
  border-radius: 0.5rem;
}

.is-hidden {
  display: none;
}


.colorw {
    color: #ffff;
    text-decoration: none;
}

.colorblack {
    color: black;
    text-decoration: none;
}

/*# sourceMappingURL=to.css.map */
