@import url("https://fonts.googleapis.com/css2?family=Abril+Fatface&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap");
/* @import url("https://fonts.googleapis.com/css2?family=Abril+Fatface&family=Bebas+Neue&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Abril+Fatface&family=Bebas+Neue&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Lora:ital,wght@0,400..700;1,400..700&family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap"); */
@font-face {
  font-family: 'Bebas Neue';
  src: url('../../fonts/bebas.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
:root {
  --color-gray-light: #ededed;
  --color-gray-normal: #edededcc;
  --color-blue-primary: #00509d;
  --color-blue-secondary: #11296b;
  --color-blue-tertiary: #192559;
  --color-yellow-primary: #ffcb05;
  --color-yellow-secondary: #ffdb5799;
  --color-yellow-tertiary: #ffdb57cc;
}

html {
  font-size: 100%;
  font-weight: 400;
  line-height: 100%;
  letter-spacing: 0%;
}

body {
  min-height: 100vh;
  position: relative;
  display: grid;
  grid-template-rows: auto 1fr auto;
  background-color: #ededed !important;
}

.container-wrapper {
  width: 100%;
  /* 1420px on font size 100% */
  max-width: min(88.75rem, 90%) !important;
  margin-inline: auto !important;
  /* padding-inline: 3rem; */
}

@media screen and (max-width: 1024px) {
  .container-wrapper {
    padding-inline: 1.5rem;
  }
}

button {
  background-color: transparent;
  border: none;
}

.secondary-heading,
.tertiary-heading {
  color: var(--color-blue-primary);
  font-family: Bebas Neue;
}

.paragraph-primary,
.button-secondary,
.button-tertiary {
  font-family: Lora;
}

.primary-heading {
  font-family: Bebas Neue;
  font-size: 6.25em;
  line-height: 150%;
  color: white;
}

.secondary-heading {
  font-weight: 400;
  font-size: 4.375em;
}

.tertiary-heading {
  font-size: 2.375em;
  line-height: 170%;
  margin-bottom: 0;
}

.paragraph-primary {
  font-size: 1.25rem;
  line-height: 170%;
  letter-spacing: -5%;
  color: var(--color-blue-secondary);
  margin-bottom: 0;
}

.button-secondary {
  background-color: var(--color-yellow-primary);
  color: var(--color-blue-secondary);
  width: 11.5em;
  height: 3.9em;
  border-radius: 2.3em;
  font-weight: 600;
  font-size: 1.25em;
  line-height: 170%;
  letter-spacing: -5%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

.button-tertiary {
  background-color: var(--color-yellow-primary);
  color: var(--color-blue-secondary);
  width: 11em;
  height: 4rem;
  border-radius: 2.25em;
  font-weight: 600;
  font-size: 1.125em;
  line-height: 170%;
  letter-spacing: -5%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

.rounded-custom {
  border-radius: 0.8rem;
}

@media screen and (max-width: 1400px) {
  .secondary-heading {
    font-size: 3.5em;
  }

  .tertiary-heading {
    font-size: 2em;
  }

  .paragraph-primary {
    font-size: 1.1em;
  }
}

@media screen and (max-width: 1200px) {
  .secondary-heading {
    font-size: 3em;
  }

  .primary-heading {
    font-size: 5em;
  }

  .tertiary-heading {
    font-size: 1.8em;
  }

  .paragraph-primary {
    font-size: 1em;
  }
}

@media screen and (max-width: 768px) {
  .primary-heading {
    font-size: 3.9em;
  }
}

@media screen and (max-width: 576px) {
  .tertiary-heading {
    font-size: 1.4em;
  }

  .primary-heading {
    font-size: 3em;
  }
}

@media screen and (max-width: 576px) {
  .primary-heading {
    font-size: 2.5em;
  }
}

.center-abs {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.logo {
  font-family: Montserrat;
  font-weight: 600;
  font-size: 2.8rem;
  line-height: 121%;
  letter-spacing: 10%;
  color: white;
}

.nav {
  font-family: Lora;
  font-weight: 600;
  font-size: 1.25rem;
  line-height: 170%;
  color: var(--color-gray-normal);
}

.link__active {
  color: var(--color-gray-light);
}

.header__link {
  text-decoration: none;
  color: var(--color-gray-light);
}

.header__logo {
  margin-block: 1rem;
}

.mobile__header-modal {
  background-color: rgb(190, 190, 190, 0.4);
  animation: addBlur 0.05s ease-out;
  display: none;
}

.mobile__header-modal.show-menu {
  display: flex;
  justify-content: flex-end;
}

.mobile__header-modal.removing {
  background-color: rgb(190, 190, 190, 0);
  animation: removeBlur 0.5s ease-out;
}

.mobile__header-modal.show-menu .mobile__header {
  position: relative;
  animation: slideInRight 0.3s ease-out;
}

.mobile__header-modal.show-menu .mobile__header.removing {
  animation: slideOutRight 0.3s ease-in;
  right: -15rem;
}

.burger__button > img {
  width: 20px;
}

@keyframes slideInRight {
  0% {
    right: -10rem;
  }
  100% {
    right: 0;
  }
}

@keyframes slideOutRight {
  0% {
    right: 0rem;
  }
  100% {
    right: -15rem;
  }
}

@keyframes removeBlur {
  0% {
    background-color: rgb(190, 190, 190, 0.4);
  }

  100% {
    background-color: rgb(190, 190, 190, 0);
  }
}

@keyframes addBlur {
  0% {
    background-color: rgb(190, 190, 190, 0);
  }

  100% {
    background-color: rgb(190, 190, 190, 0.4);
  }
}

.mobile__header {
  width: 15rem;
  padding: 1.2rem 1.2rem 4rem 2rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  background-color: white;
}

.mobile__header .header__link {
  color: #354a86;
}

.mobile__header .header__link.link__active {
  color: var(--color-blue-secondary);
}

.mobile__header .tertiary-heading {
  font-size: 1.4rem;
}

.mobile__header .paragraph-primary {
  font-size: 0.75rem;
}

/* small header in some pages */
.header__desktop.header-small {
  position: static !important;
  background: linear-gradient(
    264.32deg,
    rgba(237, 237, 237) 2.65%,
    #ededed 30.52%,
    rgba(0, 80, 157) 86.98%,
    rgba(17, 41, 107) 99.01%
  );
}

@media screen and (max-width: 1200px) {
  .header__logo {
    height: 5rem;
  }
}

@media screen and (max-width: 1200px) {
  .header__logo {
    height: 4rem;
    margin-block: 0.5rem;
  }
}

@media screen and (max-width: 768px) {
  .logo {
    font-size: 1.8rem;
  }

  .nav {
    font-size: 1rem;
  }

  .mobile__header .header__link {
    font-size: 1.25rem;
  }

  .header__desktop nav {
    display: none !important;
  }

  .header__desktop .burger__button {
    display: block !important;
    height: fit-content;
    margin-top: 1rem;
  }
}

@media screen and (max-width: 576px) {
  .header__logo {
    height: 3rem;
  }
}

.footer {
  font-family: Lora;
  background-color: var(--color-blue-primary);
  color: white;
  padding-block: 6rem 0.5rem;
  width: 100%;
  margin-top: auto;
}

.footer__heading {
  font-family: Bebas Neue;
  font-size: 2.5rem;
}

@media screen and (max-width: 1200px) {
  .footer__heading {
    font-size: 1.75rem;
  }
}

@media screen and (min-width: 992px) {
  .footer .footer__center {
    transform: translateX(17%);
  }
}
