*,
*::after,
*::before {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

:root {

  --font-serif: "Lora", serif;
  --font-sans-serif: "Manrope", sans-serif;

  --color-white: #fff;
  --color-light-gray: #e7e7e7;

  --color-darker: #2F184B;
  --color-dark: #532B88;
  --color-primary: #6937aa;
  --color-secondary: #9B72CF;
  --color-accent: #b96eff;
  --color-light: #C8B1E4;
  --color-lighter: #F4EFFA;
  --color-clean: #f7f5fa;
  --color-800: #2F184B;
  --color-700: #532B88;
  --color-600: #6937aa;
  --color-500: #9B72CF;
  --color-400: #b96eff;
  --color-300: #C8B1E4;
  --color-200: #F4EFFA;
  --color-100: #f7f5fa;

  --color-light-gray: #e7e7e7;
  --color-gray: #9b9b9b;

  --color-light-default: #f8f9fa;

}

html {
  font-size: 62.5%;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

body {
  font-size: 1.6rem;
  overflow-x: hidden;
  font-family: var(--font-sans-serif);

}

main {
  display: block;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

b,
strong {
  font-weight: bolder;
}

p {
  line-height: 1.65;
}

a {
  text-decoration: none;
  color: var(--color-dark-default);
}

img {
  max-width: 100%;
  height: auto;
}

ul {
  list-style: none;
}

a {
  text-decoration: none;
}

.--bg-clean {
  background-color: var(--color-clean);
}

.--bg-100,
.--bg-light {
  background-color: var(--color-light-default);
}

.--pad-0 {
  padding: 0 !important;
}

.--pad-t {
  padding-top: 8dvh;
}

.--pad-b {
  padding-bottom: 8dvh;
}

.--pad-t-b {
  padding-top: 8dvh;
  padding-bottom: 8dvh;
}

.--rounded {
  border-radius: 9999px !important;
}

.--rounded-sm {
  border-radius: 1.6rem;
}

/* >>> containers */

._container {
  width: 100%;
  padding: 0 5vw;
}

@media(min-width:1580px) {
  ._container {
    padding: 0 18vw;
  }
}

.--container-fluid {
  padding: 0 2rem;
}

/* containers <<< */

/* >>> paddings */

.--padding-0 {
  padding: 0 !important;
}

.--section-pad {
  padding: 4rem 0 0 0;
}

.--section-pad-bottom{
  padding-bottom: 4rem;
}

@media(min-width:820px) {
  .--section-pad {
    padding: 10rem 0 0 0;
  }
  .--section-pad-bottom{
    padding-bottom: 10rem;
  }
}

/* paddings <<< */

/* >>> backgrounds */

.--bg-transparent {
  background: transparent !important;
  background-color: transparent !important;
}

/* backgrounds <<< */

.--align-self-start {
  align-self: start !important;
}

.--aspect-ratio-3-4 {
  aspect-ratio: 3/4 !important;
}

.--aspect-ratio-1-1 {
  aspect-ratio: 1/1 !important;
}

.--aspect-ratio-3-35 {
  aspect-ratio: 3/3.5 !important;
}

.--aspect-ratio-16-9 {
  aspect-ratio: 16/9 !important;
}

.--aspect-ratio-9-16 {
  aspect-ratio: 9/16 !important;
}

.--text-align-justify {
  text-align: justify;
}

/* >>> animations */

@keyframes bounce {

  0%,
  20%,
  50%,
  80%,
  100% {
    transform: translateY(0);
  }

  40% {
    transform: translateY(-8px);
  }

  60% {
    transform: translateY(-10px);
  }
}

/* animations <<< */









/* >>> ALERT1 component */
._alert1 {
  display: flex;
  background-color: #f3f3f3;
  border-radius: 2.2rem;
  padding: 2.2rem;
  font-size: 1.6rem;
}

._alert1-icon {
  font-size: 1.85rem;
}

._alert1-content {
  position: relative;
  margin-left: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
}

._alert1-body ul {
  display: flex;
  flex-direction: column;
  padding-left: 1.85rem;
}

._alert1-body ul li {
  margin: .4rem 0;
}

._alert1-footer {
  display: flex;
  gap: 1.2rem;
}

._alert1-footer a {
  background-color: #222222;
  color: #fff;
  padding: 0 1.6rem;
  height: 3.8rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 1.2rem;
}

.--alert-error {
  color: rgb(248 113 113 / 1);
  background-color: rgb(254 242 242 / 1);
}

.--alert-attention {
  color: rgb(161 98 7 / 1);
  background-color: rgb(254 252 232 / 1);
}

.--alert-attention i {
  color: rgb(250 204 21 / 1);
}

.--alert-success {
  color: rgb(74 222 128 / 1);
  background-color: rgb(240 253 244 / 1);
}

.--alert-success i {
  color: rgb(74 222 128 / 1);
}

.--alert-error ._alert1-header {
  color: rgb(153 27 27 / 1);
}

.--alert-error i {
  color: rgb(248 113 113 / 1);
}

.--alert-attention ._alert1-header {
  color: rgb(133 77 14 / 1);
}

.--alert-success ._alert1-header {
  color: rgb(22 101 52 / 1);
}

.--alert1-text {
  padding: 0;
  background-color: transparent;
}

.--alert1-text ._alert1-content {
  margin-left: .8rem;
}

/* ALERT1 component <<< */

/* >>> SECTION-TITLE1 component */
._section-title1 {
  display: flex;
  gap: 1rem;
  padding: 0;
  flex-direction: column;
  margin-bottom: 4rem;
}

._section-title1 h6 {
  font-size: 1.3rem;
  font-weight: 300;
  background-color: var(--color-clean);
  color: var(--color-primary);
  margin-right: auto;
  padding: .7rem 1.2rem .5rem 1.2rem;
  line-height: 120%;
  border-radius: 5rem;
  letter-spacing: 1px;
  text-transform: uppercase;
}

._section-title1 h2 {
  position: relative;
  font-size: clamp(2.8rem, 4vw, 4rem);
  padding-bottom: 1.2rem;
  width: fit-content;
}

._section-title1 h2::after {
  content: '';
  position: absolute;
  width: 4rem;
  height: 4px;
  border-radius: 50px;
  left: 0;
  bottom: 0;
  background-color: var(--color-primary);
}

._section-title1 p {
  font-size: 1.6rem;
  margin-top: 2rem;
}

._section-title1.--center {
  text-align: center;
  align-items: center;
}

._section-title1.--center h6 {
  margin: 0 auto;
}

._section-title1.--center h2::after {
  content: '';
  position: absolute;
  width: 4rem;
  height: 4px;
  border-radius: 50px;
  left: 50%;
  transform: translateX(-50%);
  bottom: 0;
  background-color: var(--color-primary);
}

._section-title1.--right {
  text-align: right;
  align-items: right;
}

._section-title1.--right h2 {
  margin: 0 0 0 auto;
}

._section-title1.--right h6 {
  margin: 0 0 0 auto;
}

._section-title1.--right h2::after {
  left: 100%;
  transform: translateX(-100%);
}

._section-title1.--light {
  color: var(--color-light-default);
}

/* SECTION-TITLE1 component <<< */



._contact1-field span{
  font-size: 14px;
  color: red;
  padding: 4px 0 16px 12px;
}