@charset "UTF-8";
:root {
  --height-header: 3.8rem;
  --height-section: 2rem;
}

:root {
  --color-hover: #fff;
  --color-hover-second: #fff;
  --color-hover-third: #6a7477;
}
@media screen and (min-width: 1024px) {
  :root {
    --color-hover: #646464;
    --color-focus: #3399ff;
    --color-hover-second: #333333;
    --color-hover-third: #333333;
    --color-focus-alt: #62e884;
  }
}

:root {
  --border-color-input: #00bfff;
}
@media screen and (min-width: 1024px) {
  :root {
    --border-color-input: #80bdff;
  }
}

:root {
  --border-radius-link: .3125rem;
}
@media screen and (min-width: 1024px) {
  :root {
    --border-link: 0.125rem solid transparent;
  }
}

:root {
  --background-color-nav: #2a3b47;
}
@media screen and (min-width: 1024px) {
  :root {
    --background-color-nav: transparent;
  }
}

/* ------------------ base.scss ---------------------- */
html {
  scroll-behavior: unset;
}

html:focus-within {
  scroll-behavior: unset;
}

section[id] {
  scroll-margin-top: 1.5rem;
}

body {
  padding: 0;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
  margin-top: 0;
  margin-bottom: 0;
  color: #444;
}

h1 {
  line-height: 100%;
  font-size: calc(3.1em + 1vw);
}

h2 {
  font-weight: 600;
  font-size: calc(2em + 1vw);
}

h1,
h2 {
  margin-bottom: 0.2em;
  font-family: "Poppins", sans-serif;
}

h1,
h3 {
  font-weight: 500;
}

h2,
h3 {
  line-height: 120%;
}

p,
h3 {
  font-family: "Roboto", sans-serif;
}

img {
  width: 100%;
  display: block;
  max-width: 100%;
}

hr {
  margin: 0;
}

p {
  font-weight: 400;
  line-height: 140%;
  font-size: 1.25rem;
}
@media screen and (min-width: 1024px) {
  p {
    font-size: 1.125rem;
  }
}

ul {
  margin-top: 0;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}

button {
  padding: 0;
  border: none;
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
  background: transparent;
}

a {
  cursor: default;
  text-decoration: none;
}
@media screen and (min-width: 1024px) {
  a {
    cursor: pointer;
  }
}

a,
i,
button {
  outline: none;
}

input:focus,
button:focus,
textarea:focus {
  outline: none;
}

fieldset {
  margin: 0;
  padding: 0;
  border: none;
}

.subtitle {
  font-weight: 500;
  line-height: 115%;
  margin-bottom: 0.8em;
  font-size: calc(1.2em + 1vw);
}

.modal {
  top: 0;
  left: 0;
  opacity: 0;
  width: 100%;
  height: 100%;
  position: fixed;
  z-index: 1000;
  visibility: hidden;
  background-color: rgba(0, 0, 0, 0.9);
}

/**********************************************/
small {
  font-family: "Lato", sans-serif;
}

label {
  font-size: 1.0625rem;
  color: #333333;
}

label,
input,
textarea {
  font-family: "Lato", sans-serif;
}

input,
textarea {
  font-size: 1rem;
  color: #495057;
}

/*********************************************/
/* ------------------ _layout.scss ---------------------- */
.main-header-layout {
  height: 100%;
}

.main-header-layout,
.youtube-layout,
.cards-layout,
.schools-layout,
.social-bar-layout,
.main-footer-layout {
  width: 90%;
  margin-left: auto;
  margin-right: auto;
  max-width: 1430px;
}

.youtube-layout,
.cards-layout,
.schools-layout {
  padding: calc(3rem + 2vw) 0;
}

.banner-layout {
  padding-top: 1rem;
  padding-bottom: 2.5rem;
  margin-top: var(--height-header);
}

.main-footer-layout {
  padding-top: 2rem;
  padding-bottom: 2rem;
}
@media screen and (min-width: 1024px) {
  .main-footer-layout {
    padding-top: 0;
  }
}

/* ----------------- button-whatsapp.scss ---------------- */
.btn-whatsapp {
  display: flex;
  right: 0.625rem;
  width: 3.75rem;
  bottom: 3.5rem;
  height: 3.75rem;
  position: fixed;
  font-size: 3.75rem;
  align-items: center;
  z-index: 10000;
  color: #1bd741;
  justify-content: center;
  background-color: transparent;
  border-radius: var(--border-radius-link);
  box-shadow: 0 0.0625rem 0.625rem rgba(0, 0, 0, 0.3);
}
.btn-whatsapp:hover {
  color: #32cd32;
  background-color: #f5f8ff;
}

/* -------------------- button.scss ---------------------- */
.button {
  color: #fff;
  padding: 0.3em 0;
  font-weight: 500;
  position: relative;
  border: 0.125em solid;
  font-family: "Poppins", sans-serif;
  text-transform: uppercase;
  text-shadow: 0.0625rem 0.0625rem rgba(0, 0, 0, 0.3);
}
.button-short {
  min-width: 12em;
  font-size: 1.1em;
}
.button-long {
  min-width: 14em;
  font-size: 1.25em;
}
@media screen and (min-width: 412px) {
  .button-long {
    padding: 0.15em 0;
    font-size: 1.5em;
  }
}
@media screen and (min-width: 1280px) {
  .button-long {
    padding: 0.2em 0;
    font-size: 1.4em;
  }
}
.button-round {
  border-radius: 2em;
}
.button-green {
  border-color: #00bb2d;
  background-color: #00bb2d;
}
.button-blue {
  border-color: #0080ff;
  background-color: #0080ff;
}
.button-orange-red {
  border-color: #ff6227;
  background-color: #ff6227;
}
@media screen and (min-width: 1024px) {
  .button-green:hover {
    border-color: #009100;
    background-color: #009100;
  }
  .button-blue:hover {
    border-color: #1f51ff;
    background-color: #1f51ff;
  }
  .button-orange-red:hover {
    border-color: #e63e00;
    background-color: #e63e00;
  }
}
.button:active {
  top: 0.125rem;
}
.button-green:active {
  border-color: #006d00;
  background-color: #006d00;
}
.button-blue:active {
  border-color: #002fd2;
  background-color: #002fd2;
}
.button-orange-red:active {
  border-color: #b33000;
  background-color: #b33000;
}

.link {
  width: 90%;
  color: #fff;
  font-weight: 500;
  text-align: center;
  transition: all 0.3s;
  max-width: 21.875rem;
  font-family: "Poppins", sans-serif;
  border: 0.0625rem solid;
  text-transform: uppercase;
  text-shadow: 0.0625rem 0.0625rem rgba(0, 0, 0, 0.3);
}
.link__large {
  padding: 0.2em 0;
  font-size: 1.6em;
}
.link__card {
  padding: 0.4em 0;
  font-size: 1.4em;
}

/* ----------------- burger-button.scss ------------------ */
.burger-button {
  --display-button: visibility;
}
@media screen and (min-width: 1024px) {
  .burger-button {
    --display-button: none;
  }
}

.burger-button {
  width: 2rem;
  height: 2rem;
  position: relative;
  cursor: var(--cursor-button);
  display: var(--display-button);
}
.burger-button__line, .burger-button__line::before, .burger-button__line::after {
  width: 100%;
  height: 0.25rem;
  position: absolute;
  border-radius: 1.25rem;
  background-color: #6a7477;
}
.burger-button__line {
  top: 50%;
  transform: translateY(-50%);
}
.burger-button__line::before, .burger-button__line::after {
  content: "";
  right: 0;
}
.burger-button__line::before {
  top: -200%;
}
.burger-button__line::after {
  top: 200%;
}

.cruz {
  transform: rotateZ(45deg);
  top: 43%;
}
.cruz::before {
  transform: rotateZ(90deg);
}
.cruz::before, .cruz::after {
  top: 0;
}

/* ------------------ header.scss ---------------------- */
.main-header {
  --margin-right-link-logo: .3rem;
  --font-weight-title: 600;
  --font-size-title: 2.25rem;
}
@media screen and (min-width: 1024px) {
  .main-header {
    --margin-right-link-logo: 0;
    --padding-link-logo: .2rem .1rem .2rem 0;
    --padding-title-link: 0 .2rem;
  }
}

.main-header {
  top: 0;
  width: 100%;
  position: fixed;
  z-index: 100;
  height: var(--height-header);
  background-color: #fff;
  border-top: 1px solid #e7e7e7;
  border-bottom: 1px solid #e7e7e7;
}
.main-header__container {
  display: flex;
  align-items: center;
}
.main-header__link-logo {
  padding: var(--padding-link-logo);
  margin-right: var(--margin-right-link-logo);
}
.main-header__link-logo, .main-header__title-link {
  border: var(--border-link);
  border-radius: var(--border-radius-link);
}
.main-header__logo {
  width: var(--width-logo);
}
.main-header__title {
  margin-right: auto;
  font-family: "Poppins", sans-serif;
  font-size: var(--font-size-title);
  font-weight: var(--font-weight-title);
}
.main-header__title-link {
  color: #6a7477;
  padding: var(--padding-title-link);
}
.main-header__title-link:hover {
  color: var(--color-hover-third);
}

/* --------------------- menu.scss ------------------------ */
.main-nav {
  --width-main-nav: 100vw;
  --position-main-nav: fixed;
  --overflow-y-main-nav: scroll;
  --transition-main-nav: left .6s;
  --flex-direction-main-nav: column;
  --border-top-menu: .0625rem solid #11191e;
  --border-bottom-menu: .125rem solid #485761;
  --border-top-item: .125rem solid #485761;
  --border-bottom-item: .0625rem solid #11191e;
  --color-link: #fff;
  --padding-link: .7rem;
  --font-weight-link: 300;
  --line-height-link: 140%;
  --font-size-link: 1.375rem;
}
@media screen and (min-width: 1024px) {
  .main-nav {
    --width-main-nav: auto;
    --position-main-nav: static;
    --overflow-y-main-nav: auto;
    --transition-main-nav: none;
    --flex-direction-main-nav: row;
    --align-items-main-nav: center;
    --display-menu: flex;
    --border-top-menu: none;
    --border-bottom-menu: none;
    --border-top-item: none;
    --border-bottom-item: none;
    --margin-right-item: .625rem;
    --margin-right-item-last-child: 1.5rem;
    --color-link: #6a7477;
    --font-weight-link: 400;
    --line-height-link: 145%;
    --font-size-link: 1.125rem;
    --padding-link: .1rem .5rem;
  }
}

.contact-bar {
  --order-contact-bar: -1;
  --padding-contact-bar: 1.5rem 1.5rem;
  --justify-content-contact-bar: flex-end;
  --color-contact-bar-mail: #fff;
}
@media screen and (min-width: 1024px) {
  .contact-bar {
    --padding-contact-bar: 0;
    --order-contact-bar: unset;
    --justify-content-contact-bar: unset;
    --color-contact-bar-mail: #9b9b9b;
    --padding-contact-bar-mail: 0 .3125rem;
  }
}

.social-bar {
  --margin-top-social-bar: auto;
  --background-color-social-bar: unset;
  --padding-wrapper: 1rem 0 1.2rem;
  --font-size-icons: 1.6rem;
}
@media screen and (min-width: 540px) {
  .social-bar {
    --padding-wrapper: 1rem 1rem 1.2rem;
    --font-size-icons: 1.8rem;
  }
}
@media screen and (min-width: 960px) {
  .social-bar {
    --padding-wrapper: 1rem 5rem 1.2rem;
  }
}
@media screen and (min-width: 1024px) {
  .social-bar {
    --margin-top-social-bar: 0;
    --background-color-social-bar: #cc000;
    --padding-wrapper: 2rem 10rem;
    --font-size-title: 2.625rem;
    --margin-bottom-title: 2rem;
    --display-social-bar-a: flex;
    --width-social-bar-a: 3.125rem;
    --height-social-bar-a: 3.125rem;
    --align-items-social-bar-a: center;
    --justify-content-social-bar-a: center;
  }
}
@media screen and (min-width: 1280px) {
  .social-bar {
    --padding-wrapper: 2rem 15rem;
  }
}
@media screen and (min-width: 1440px) {
  .social-bar {
    --padding-wrapper: 2rem 20rem;
  }
}

.main-nav {
  left: -100vw;
  display: flex;
  top: var(--height-header);
  width: var(--width-main-nav);
  position: var(--position-main-nav);
  overflow-y: var(--overflow-y-main-nav);
  transition: var(--transition-main-nav);
  align-items: var(--align-items-main-nav);
  background-color: var(--background-color-nav);
  flex-direction: var(--flex-direction-main-nav);
}
.main-nav__move {
  left: 0;
}
.main-nav__menu {
  display: var(--display-menu);
  border-top: var(--border-top-menu);
  border-bottom: var(--border-bottom-menu);
}
.main-nav__item {
  border-top: var(--border-top-item);
  margin-right: var(--margin-right-item);
  border-bottom: var(--border-bottom-item);
}
.main-nav__item:last-child {
  margin-right: var(--margin-right-item-last-child);
}
.main-nav__item:hover {
  border-top: none;
  border-bottom: none;
}
.main-nav__link {
  display: block;
  color: var(--color-link);
  border: var(--border-link);
  padding: var(--padding-link);
  line-height: var(--line-height-link);
  border-radius: var(--border-radius-link);
  font-family: "Roboto", sans-serif;
  font-size: var(--font-size-link);
  font-weight: var(--font-weight-link);
}
.main-nav__link:hover {
  color: var(--color-hover-second);
}

.contact-bar {
  display: flex;
  order: var(--order-contact-bar);
  padding: var(--padding-contact-bar);
  justify-content: var(--justify-content-contact-bar);
}
.contact-bar__mail {
  line-height: 0;
  font-size: 2.5rem;
  border: var(--border-link);
  color: var(--color-contact-bar-mail);
  padding: var(--padding-contact-bar-mail);
  border-radius: var(--border-radius-link);
}
.contact-bar__mail:hover {
  color: var(--color-hover);
}

.social-bar {
  margin-top: var(--margin-top-social-bar);
  background-color: var(--background-color-social-bar);
}
.social-bar__wrapper {
  padding: var(--padding-wrapper);
}
.social-bar__title {
  color: #fff;
  font-size: var(--font-size-title);
  margin-bottom: var(--margin-bottom-title);
}
.social-bar__icons {
  display: flex;
  justify-content: space-around;
  font-size: var(--font-size-icons);
}
.social-bar a {
  color: #fff;
  border: var(--border-link);
  width: var(--width-social-bar-a);
  height: var(--height-social-bar-a);
  display: var(--display-social-bar-a);
  border-radius: var(--border-radius-link);
  align-items: var(--align-items-social-bar-a);
  justify-content: var(--justify-content-social-bar-a);
}
.social-bar a:focus {
  border-color: var(--color-focus-alt);
}

/* ------------------ banner.scss --------------------- */
.banner {
  --objet-position-hero-image: 10% top;
  --width-banner-flag: 2.8125rem;
  --height-banner-flag: 1.625rem;
}
@media screen and (min-width: 360px) {
  .banner {
    --width-banner-flag: 3rem;
    --height-banner-flag: 1.8125rem;
  }
}
@media screen and (min-width: 540px) {
  .banner {
    --objet-position-hero-image: center 12%;
  }
}
@media screen and (min-width: 541px) {
  .banner {
    --objet-position-hero-image: 70%;
  }
}
@media screen and (min-width: 1024px) {
  .banner {
    --objet-position-hero-image: 90%;
  }
}
@media screen and (min-width: 1600px) {
  .banner {
    --width-banner-flag: 3.25rem;
    --height-banner-flag: 2.0625rem;
  }
}

.banner {
  display: flex;
  min-height: 75vh;
  position: relative;
  flex-direction: column;
  justify-content: flex-end;
  background-color: rgba(0, 0, 0, 0.8);
}
.banner__hero-image {
  top: 0;
  left: 0;
  opacity: 0.6;
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  object-position: var(--objet-position-hero-image);
}
.banner__content {
  display: flex;
  font-size: 1rem;
  position: relative;
  align-items: center;
  flex-direction: column;
}
.banner__title {
  max-width: 95%;
  text-align: center;
}
.banner__subtitle {
  margin-bottom: 0.6em;
  font-family: "Lato", sans-serif;
  font-size: calc(2.1em + 1vw);
}
.banner__title, .banner__subtitle, .banner__phone {
  color: #fff;
}
.banner__title::before, .banner__subtitle::before {
  content: "¡";
}
.banner__title::after, .banner__subtitle::after {
  content: "!";
}
.banner__wrapper-address {
  display: flex;
  align-items: center;
  margin-bottom: 4rem;
}
.banner__flag {
  margin-right: 0.9375rem;
  border-radius: 0.0625rem;
  border: 0.0625rem solid #fff;
  width: var(--width-banner-flag);
  height: var(--height-banner-flag);
}
.banner__phone {
  font-style: normal;
  font-family: "Lato", sans-serif;
  font-size: calc(1.4em + 1vw);
}
.banner__link {
  border-radius: 2em;
  text-transform: none;
  border-color: #00bb2d;
  background-color: #00bb2d;
}
.banner__link:hover {
  border-color: #31df11;
  background-color: #31df11;
}
.banner__link:active {
  border-color: #2abf0f;
  background-color: #2abf0f;
}

/* ------------------ youtube.scss --------------------- */
.youtube {
  background-color: #ececec;
}
.youtube__container {
  display: flex;
  align-items: center;
  flex-direction: column;
}
.youtube__header {
  max-width: 64rem;
  text-align: center;
}
.youtube__subtitle span {
  color: #cc0000;
}
.youtube__subtitle::before {
  content: "¡";
}
.youtube__subtitle::after {
  content: "!";
}
.youtube__video-wrapper {
  width: 100%;
  max-width: 640px;
  margin-bottom: calc(1.1rem + 1.5vw);
}
.youtube__video {
  display: grid;
  position: relative;
  grid-template-columns: repeat(16, 1fr);
  grid-template-rows: repeat(9, 1fr);
  border: 0.0625rem solid #e7e7e7;
}
.youtube__video::before {
  content: "";
  display: block;
  padding-bottom: 100%;
}
.youtube__video > iframe,
.youtube__video > video {
  width: 100%;
  height: 100%;
  position: absolute;
}
.youtube__description-wrapper {
  columns: 3 20rem;
  column-gap: 4rem;
  max-width: 68.75rem;
  column-rule: 0.0625rem solid #fff;
}
.youtube__description {
  margin-bottom: 1rem;
}

/* ---------------- cards.scss -------------------- */
.cards {
  --ar-image: 1 / .7;
  --bg-cards: #fafbfa;
  --fw-footer-text: 400;
  --mw-footer-text: none;
  --fw-footer-title: 700;
  --c-footer-text: #444;
  --c-footer-title: #444;
  --fw-footer-text-span: 700;
}
@media screen and (min-width: 676px) {
  .cards {
    --ar-image: 1 / .5;
  }
}
@media screen and (min-width: 1040px) {
  .cards {
    --mw-footer-text: 70%;
    --fw-footer-text: 300;
    --fw-footer-title: 500;
    --c-footer-text: #fff;
    --c-footer-title: #fff;
    --fw-footer-text-span: 400;
    --bg-cards: linear-gradient(180deg, #fafbfa 47%, #1a2040 47%);
  }
}

.cards {
  background: var(--bg-cards);
}
.cards__title, .cards__subtitle, .cards__footer {
  text-align: center;
}
.cards__title::before, .cards__footer-title::before, .cards__template-button::before, .cards__template-button::before {
  content: "¡";
}
.cards__title::after, .cards__footer-title::after, .cards__template-button::after, .cards__template-button::after {
  content: "!";
}
.cards__title span, .cards__title::after, .cards__subtitle span {
  color: #cc0000;
}
.cards__article-title, .cards__footer-title {
  text-transform: uppercase;
}
.cards__articles {
  gap: 3rem;
  flex-wrap: wrap;
  padding-top: 1rem;
  margin-bottom: calc(3em + 1vw);
}
.cards__articles, .cards__article, .cards__modal, .cards__template-content {
  display: flex;
}
.cards__articles, .cards__modal {
  justify-content: center;
}
.cards__article {
  font-size: 1rem;
  flex-basis: 17.5rem;
  max-width: 28.125rem;
  box-shadow: 0 0 0.375rem rgba(0, 0, 0, 0.5);
}
.cards__article, .cards__template-content {
  flex-direction: column;
  background-color: #fff;
}
.cards__article, .cards__article-header {
  flex-grow: 1;
}
.cards__subtitle, .cards__article-header, .cards__article-footer, .cards__template-content {
  width: 90%;
}
.cards__subtitle, .cards__article-header, .cards__article-footer {
  margin-left: auto;
  margin-right: auto;
}
.cards__figure {
  bottom: 1rem;
}
.cards__figure, .cards__template-content {
  position: relative;
}
.cards__image {
  object-fit: cover;
  object-position: left 40%;
  aspect-ratio: var(--ar-image);
}
.cards__logo, .cards__template-close {
  position: absolute;
}
.cards__logo--bcs {
  width: 65%;
  left: 0.625rem;
  top: 0.0625rem;
}
.cards__logo--cibc {
  width: 35%;
  left: 0.5rem;
  top: 0.1875rem;
}
.cards__article-title {
  color: #cc0000;
  font-size: 1.375rem;
  margin-bottom: 0.5rem;
}
.cards__article-footer {
  padding: 1.5rem 0;
}
.cards__footer-title {
  margin-bottom: 0.4em;
  color: var(--c-footer-title);
  font-size: calc(1.7em + 0.8vw);
  font-weight: var(--fw-footer-title);
}
.cards__footer-text {
  margin: 0 auto 3rem;
  color: var(--c-footer-text);
  max-width: var(--mw-footer-text);
  font-weight: var(--fw-footer-text);
}
.cards__footer-text span:first-child, .cards__footer-text span:nth-child(2), .cards__footer-text span:nth-child(3) {
  font-weight: var(--fw-footer-text-span);
}
.cards__modal {
  align-items: center;
}
.cards__template-content {
  max-width: 60rem;
  transform: scale(0);
  border-radius: 0.625rem;
  transition: transform 400ms;
  padding: calc(1.25em + 1.5vw);
}
.cards__template-close {
  right: 0;
  color: #fff;
  top: -3.75rem;
  font-size: 3rem;
}
.cards__template-info, .cards__template-list {
  margin-bottom: calc(2em + 1vw);
}
.cards__template-info span {
  font-weight: 700;
}
.cards__template-button {
  align-self: center;
  text-transform: none;
}
.cards__template-list {
  list-style: disc;
  line-height: 125%;
  font-size: 1.25em;
  font-family: "Roboto", sans-serif;
}
.cards__template-list li {
  margin-bottom: 0.5rem;
}
.cards__template-list li:last-child {
  margin-bottom: 0;
}

/* ---------------- schools.scss -------------------- */
.schools {
  --flg-schools-d: 0;
  --mxw-schools-d: none;
  --flb-schools-d: auto;
  --wdh-schools-iw: 80%;
  --gap-schools-dw: unset;
  --dpl-schools-dw: block;
  --jfc-schools-dw: unset;
  --bgc-schools: #ececec;
}
@media screen and (min-width: 1024px) {
  .schools {
    --flg-schools-d: 1;
    --wdh-schools-iw: 60%;
    --mxw-schools-d: 25rem;
    --dpl-schools-dw: flex;
    --jfc-schools-dw: center;
    --gap-schools-dw: 1.5rem;
    --flb-schools-d: 17.5rem;
  }
}
@media screen and (min-width: 1040px) {
  .schools {
    --bgc-schools: #fafbfa;
  }
}

.schools {
  background-color: var(--bgc-schools);
}
.schools__header {
  text-align: center;
}
.schools__articles {
  gap: 3rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: calc(3rem + 1vw);
}
.schools__article {
  flex-grow: 1;
  max-width: 28rem;
  overflow: hidden;
  flex-basis: 18rem;
  border-radius: 1.25rem;
  padding-bottom: 1.25rem;
  background-color: #fff;
  box-shadow: 0 0.5rem 0.625rem -0.25rem rgba(0, 0, 0, 0.8);
}
.schools__background-wrapper {
  padding-bottom: 1.5rem;
}
.schools__background-wrapper--ilac {
  background-color: #c72127;
}
.schools__background-wrapper--ilsc {
  background-color: #f98012;
}
.schools__image-wrapper {
  margin: 0 auto;
  width: var(--wdh-schools-iw);
}
.schools__image {
  object-fit: fill;
  aspect-ratio: 1/0.6;
}
.schools__content {
  width: 90%;
  display: flex;
  margin: 0 auto;
  flex-direction: column;
}
.schools__link {
  translate: 0 -50%;
  align-self: center;
  display: inline-block;
  box-shadow: 0 0 0.375rem rgba(0, 0, 0, 0.7);
}
.schools__link--ilac {
  border-color: #e00000;
  background-color: #e00000;
}
.schools__link--ilac:hover {
  border-color: #e00000;
  background-color: #f80000;
}
.schools__link--ilac:active {
  border-color: #b81206;
  background-color: #b81206;
}
.schools__link--ilsc {
  border-color: #ffa500;
  background-color: #ffa500;
}
.schools__link--ilsc:hover {
  border-color: #ffbd2c;
  background-color: #ffbd2c;
}
.schools__link--ilsc:active {
  border-color: #f19900;
  background-color: #f19900;
}
.schools__title-article {
  color: #444;
  text-align: center;
  font-size: 1.625rem;
  margin-bottom: 1rem;
}
.schools__description-wrapper {
  gap: var(--gap-schools-dw);
  display: var(--dpl-schools-dw);
  justify-content: var(--jfc-schools-dw);
}
.schools__description {
  flex-grow: var(--flg-schools-d);
  max-width: var(--mxw-schools-d);
  flex-basis: var(--flb-schools-d);
}
.schools__description p:first-child {
  font-weight: 600;
  font-size: calc(1.625rem + 0.4vw);
  margin-bottom: calc(0.5rem + 0.6vw);
}
.schools__description p:first-child::before {
  content: "";
  padding: 0.25rem;
  margin-right: 0.8125rem;
  background-color: #1bd741;
  border: 0.0625rem solid #1bd741;
}
.schools__description--last p:last-child span {
  font-weight: 600;
}

/* ------------------ form.scss ---------------------- */
.form {
  line-height: normal;
  font-size: 1rem;
}
.form__container {
  width: 100%;
  height: 100%;
  overflow-y: scroll;
  background-color: #fff;
  transition: transform 1s;
  transform: translateY(-200%);
}
.form__container-height {
  display: flex;
  margin: 0 auto;
  max-width: 465px;
  align-items: center;
  flex-direction: column;
}
.form__title {
  margin-bottom: 0;
  font-size: calc(2.5em + 0.8vw);
}
.form__subtitle {
  margin-bottom: 1.5rem;
  font-size: calc(1.25em + 0.2vw);
}
.form__fieldset {
  width: 90%;
  border: none;
  position: relative;
  padding-bottom: calc(1em + 1.5vw);
}
.form__icon-close {
  right: 0;
  top: -1.75rem;
  color: #444;
  position: absolute;
  font-size: calc(2.5em + 0.2vw);
}
.form__box {
  margin-bottom: 1.25rem;
}
.form__box:last-child {
  display: flex;
  margin-bottom: 0;
  align-items: center;
}
.form__label {
  position: relative;
  margin-bottom: 0.5rem;
  display: inline-block;
}
.form__label::before {
  content: "*";
  right: -0.625rem;
  font-size: 1.25rem;
  position: absolute;
  color: #cc0000;
}
.form__error-message {
  font-size: 1.0625rem;
  line-height: 1.125rem;
  color: #cc0000;
  font-family: "Ubuntu", sans-serif;
}
.form__wrapper-input {
  position: relative;
}
.form__wrapper-input i {
  top: 0.625rem;
  left: 0.4375rem;
  font-size: 1.25rem;
  position: absolute;
  color: #6a7477;
}
.form__wrapper-input-email i, .form__wrapper-input-emailconfirm i {
  top: 0.75rem;
}
.form__input {
  height: 2.5rem;
  padding: 0.625rem 0.375rem 0.625rem 2.125rem;
}
.form__textarea {
  resize: none;
  min-height: 5.625rem;
  padding: 0.5625rem 0.375rem 0.625rem 1.875rem;
}
.form__input, .form__textarea {
  width: 100%;
  border-style: solid;
  border-width: 0.0625rem;
  border-radius: 0.1875rem;
  border-color: #cbd6e2;
  transition: 0.2s ease all;
  background-color: #f5f8fa;
}
.form__input:focus, .form__textarea:focus {
  border-color: var(--border-color-input);
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}
.form__input-emailconfirm {
  padding-left: 2.375rem;
}
.form__input-terms {
  width: 1.125rem;
  height: 1.125rem;
  margin-left: 0.5rem;
  margin-right: 0.625rem;
}
.form__button {
  margin-bottom: 1.875rem;
}
.form__button:disabled {
  color: lightgrey;
  border-color: transparent;
  background-color: #eeeeee;
}
.form__copyright {
  font-style: normal;
  font-family: "Roboto", sans-serif;
  font-size: calc(0.9em + 0.15vw);
}
.form__modal {
  display: flex;
  align-items: center;
  justify-content: center;
}
.form__modal-content {
  position: relative;
  transition: transform 1s;
  transform: translateY(-100vh);
  width: 90%;
  margin: 0 auto;
  max-width: 60rem;
  border-radius: 0.625rem;
  background-color: #fff;
  padding: calc(1.25em + 2vw);
}
.form__modal-content i {
  right: 0;
  top: -3.75rem;
  color: #fff;
  font-size: 3rem;
  position: absolute;
}
.form__modal-content p:first-of-type {
  font-weight: 700;
  text-align: center;
  margin-bottom: 0.5em;
  font-size: calc(1.8em + 0.5vw);
}
.form__modal-content p:first-of-type ~ p {
  margin-bottom: 0.75rem;
}
.form__modal-content p:last-of-type span {
  font-weight: 700;
}
.form--show {
  transform: translateY(0);
}
.form--modal-open {
  transform: translateY(0);
}

/* ------------------ footer.scss ---------------------- */
.main-footer {
  --lh-p: 1.255em;
  --d-span: block;
  --h-separator: unset;
  --mb-separator: unset;
}
@media screen and (min-width: 540px) {
  .main-footer {
    --lh-p: 1.516em;
    --d-span: inline;
  }
}
@media screen and (min-width: 1024px) {
  .main-footer {
    --mb-separator: 2rem;
    --h-separator: 0.0625rem;
  }
}

.main-footer {
  text-align: center;
  background-color: #cc0000;
}
.main-footer__separator {
  border: 0;
  height: var(--h-separator);
  background-color: #e00000;
  margin-bottom: var(--mb-separator);
}
.main-footer__info {
  font-style: normal;
}
.main-footer__info p {
  color: #fff;
  margin-bottom: 0.5em;
  line-height: var(--lh-p);
  font-size: calc(1em + 0.2vw);
}
.main-footer__info p:last-child {
  margin-bottom: 0;
}
.main-footer__info span {
  display: var(--d-span);
}

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