@import url('https://fonts.googleapis.com/css2?family=Prompt:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');

@import 'fonts.css';
/* 1. Use a more-intuitive box-sizing model */
*, *::before, *::after {
  box-sizing: border-box;
}
/* 2. Remove default margin */
* {
  margin: 0;
}
/* 3. Enable keyword animations */
@media (prefers-reduced-motion: no-preference) {
  html {
    interpolate-size: allow-keywords;
  }
}
body {
  /* 4. Add accessible line-height */
  line-height: 1.5;
  /* 5. Improve text rendering */
  -webkit-font-smoothing: antialiased;
}
/* 6. Improve media defaults */
img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
}
/* 7. Inherit fonts for form controls */
input, button, textarea, select {
  font: inherit;
}
/* 8. Avoid text overflows */
p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}
/* 9. Improve line wrapping */
p {
  text-wrap: pretty;
}
h1, h2, h3, h4, h5, h6 {
  text-wrap: balance;
}
/*
  10. Create a root stacking context
*/
#root, #__next {
  isolation: isolate;
}


:root {
  --primary-font: 'Proxima Nova';
  --secondaty-font: 'Prompt';

  --default-font-size: '16px';

  --white: #fff;
  --white-10: #D7D7D9;
  --gray: #EEF1F5;
  --black: #313A44;
  --orange: #F7AF13;
  --purple: #54378D;


}

body {
  font-family: var(--primary-font), sans-serif;
  font-size: var(--default-font-size);
  color: var(--black);
}

.align-center {
  text-align: center;
}
.flex-1 {
  flex: 1;
}
.flex-2 {
  flex: 2;
}

.wrapper {
  width: 100%;
  max-width: 1224px;
  margin: 0 auto;
  padding: 0 10px;
}

.relative {
  position: relative;
}

.title-banner {
  color: var(--white);
  font-weight: 500;
  font-family: var(--secondaty-font), sans-serif;
  font-size: 3.4375rem;
  line-height: 4.375rem;
}
.title-banner span {
  background-color: var(--black);
  box-shadow: -23px 0 0 7px var(--black),
  23px 0 0 7px var(--black),
  0 0 0 7px var(--black);
  box-decoration-break: clone;
}

/* BUTTON */
.button {
  background: transparent;
  border: none;
  outline: none;
  border-radius: 6px;
  font-size: 1rem;
  font-weight: 700;
  cursor: pointer;
}
.button.small {
  padding: 8px 15px;
}
.button.medium {
  padding: 14px 32px;
}
.button.button-white {
  background: var(--white);
  color: var(--black);
}
.button.button-orange {
  background: var(--orange);
  color: var(--black);
}

/* END BUTTON */

.title {
  font-family: var(--secondaty-font), sans-serif;
  font-weight: 500;
  text-transform: uppercase;
  font-size: 4rem;
}

.title.color-purple {
  color: var(--purple);
}

.tag {
  padding: 8px 20px;
  border-radius: 8px;
  background: var(--gray);
  font-size: 1.125rem;
  display: inline-block;
}
.tag.purple {
  background: var(--purple);
  color: var(--white);
}

.main-header {
  position: fixed;
  z-index: 4;
  top: 45px;
  left: 0;
  right: 0;
  padding: 16px 36px;
  color: var(--white);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.29);
  box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
  backdrop-filter: blur(11px);
  -webkit-backdrop-filter: blur(11px);
  border: 1px solid rgba(255, 255, 255, 0.43);
  display: flex;
  gap: 46px;
  align-items: center;
  justify-content: center;
}
.main-header nav ul {
  display: flex;
  gap: 50px;
  align-items: center;
  justify-content: center;
  list-style: none;
  padding: 0;
  height: 100%;
}
.main-header nav ul li a {
  text-decoration: none;
  font-weight: 700;
  color: var(--white);
  display: flex;
  align-items: center;
  gap: 5px;
}
.main-header nav ul li a > span {
  width: 10px;
  transition: .3s;
  transform: rotate(0);
  transform-origin: right;
}
.main-header nav ul li:hover a > span {
  transform: rotate(180deg);
}

.container-search {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: none;
  border: none;
  color: var(--white);
  cursor: pointer;
}


/* --- BANNER HOME --*/
.banner {
  width: 100%;
  height: 100dvh;
  padding: 18px;
}

.main-banner {
  height: 100%;
}

.banner .banner-content {
  overflow: hidden;
  border-radius: 16px;
  height: 100%;
}

.main-banner .swiper-pagination {
  right: 0;
  left: inherit !important;
  text-align: right;
  display: flex;
  align-items: center;
  gap: 16px;
  position: absolute;
  bottom: 64px !important;
  width: auto !important;
}
.custom-bullet .swiper-pagination .swiper-pagination-bullet {
  width: 24px;
  height: 24px;
  transition: .3s;
  border: 4px solid var(--white);
  border-radius: 50%;
  background: transparent;
  margin: 0;
}
.custom-bullet .swiper-pagination .swiper-pagination-bullet:hover {
  opacity: 1;
}

.custom-bullet .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background: var(--white);
}

.banner-item {
  height: 100%;
}

.banner-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.banner-item__content {
  position: absolute;
  bottom: 95px;
  left: 0;
  max-width: 720px;
  width: 100%;
  opacity: 0;
  transition: 1s;
  transform: translateX(-5%);
}
.banner-item__content p {
  margin-bottom: 82px;
}

.swiper-slide.swiper-slide-active .banner-item__content {
  opacity: 1;
  transform: translateX(0);
}
/* --- END BANNER HOME --*/

/* --- SECTION PURPLE --*/
.section-purple {
  background: var(--purple);
  border-radius: 20px;
  margin: 0 20px;
  color: var(--white);
}


.purple-content {
  min-height: 520px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.purple-content > div {
  display: flex;
  align-items: flex-start;
  gap: 28px;
}
.purple-content h2 {
  text-transform: uppercase;
  font-family: var(--secondaty-font), sans-serif;
  letter-spacing: 2px;
  font-size: 80px;
  line-height: 80px;
  font-weight: 500;
}
.purple-content > div p {
  margin-bottom: 28px;
  font-weight: 400;
}
/* --- SECTION PURPLE --*/

/* --- SECTION PURPLE SMALL --*/
.section-purple-small {
  background: var(--purple);
  border-radius: 20px;
  margin: 0 20px;
  color: var(--white);
}


.purple-small-content {
  min-height: 325px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.purple-small-content > div {
  display: flex;
  align-items: center;
  gap: 28px;
}
.purple-small-content h5 {
  text-transform: uppercase;
  font-family: var(--secondaty-font), sans-serif;
  letter-spacing: 2px;
  font-size: 60px;
  line-height: 80px;
  font-weight: 500;
}
.purple-small-content > div p {
  margin-bottom: 28px;
  font-weight: 400;
}
/* --- SECTION PURPLE --*/

.horizontal-scroll {
  margin: 96px 0;
}
.horizontal-scroll__content {
  display: flex;
  gap: 62px;
}

.card {
  display: grid;
  width: 100%;
  height: 390px;
  overflow: hidden;
  max-width: 745px;
  border-radius: 16px;
  background: var(--gray);
  grid-template-columns: 1fr 1fr;
  flex-shrink: 0;
}
.card.big {
  height: 454px;
  max-width: 100%;
}
.card.purple {
  background: var(--purple);
  color: var(--white);
}
.wrapper-horizontal-scroll {
  overflow: hidden;
  padding: 50px;
}
.card-content {
  padding: 0 42px;
  display: flex;
  align-items: center;

}
.card-content strong {
  font-family: var(--secondaty-font), sans-serif;
  font-weight: 500;
  font-size: 2rem;
  line-height: 2.25rem;
  display: block;
  margin-bottom: 24px;
}

.card-content button {
  margin-top: 26px;
}

.card-image {
  height: 100%;
}
.card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
/* --- END SECTION HORIZONTAL SCROLL --*/

/* --- BIG TEXT --*/

.big-text {
  font-family: var(--secondaty-font), sans-serif;
  font-size: 5.625rem;
  line-height: 5.875rem;
  text-transform: uppercase;
  font-weight: 500;
}
.big-text__content {
  padding-bottom: 92px;
  border-bottom: 1px solid var(--purple);
}
.big-text p {
  padding: 0 70px;
}
.big-text p span {
  color: var(--purple);
}
.big-text__content {

}

/* --- END BIG TEXT --*/


/* --- PARTNERS --*/

.partners {
  padding: 100px 0;
  text-align: center;
}
.slider-partners {
  margin-top: 82px;
}
.slider-partners .swiper-wrapper {
  align-items: center;
}

.slider-partners .slider-partners__item {
  border-right: 1x solid var(--black);
}

.slider-partners .slider-partners__item img {
  max-height: 90px;
}
/* --- END PARTNERS --*/

/* --- SLIDER CUSTOM --*/

.slider-custom {
  padding: 100px 0;
  background: #EEF1F5;
  background: linear-gradient(180deg,rgba(238, 241, 245, 0) 0%, rgba(238, 241, 245, 1) 8%, rgba(238, 241, 245, 1) 36%, rgba(238, 241, 245, 1) 100%);
  border-radius: 0 0 40px 40px;
}
.slider-custom__content {
  margin-top: 52px;
}

.slider-custom__content .swiper-pagination {
  bottom: 28px !important;
}

/* --- END SLIDER CUSTOM --*/

/* --- BANNER CROSS --*/

.banner-cross {
  margin: 14px 20px;
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  min-height: 520px;
  position: relative;
}
.banner-cross img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
}

.banner-cross__content {
  position: absolute;
  bottom: 74px;
  left: 0;
  max-width: 80%;
}

  /* --- END BANNER CROSS --*/

/* --- SECTION EVENT --*/
.section-event {
  padding: 80px 0 140px 0;
}
.section-event.border-event {
  border-bottom: 1px solid var(--purple);
}
/* --- END SECTION EVENT --*/

/* --- ARTICLE CROSS --*/
.article-cross {
  display: grid;
  grid-template-columns: 1fr 1fr;
  flex-shrink: 0;
  gap: 50px;
}
.container-articles {
  display: flex;
  flex-direction: column;
  gap: 108px;
}
.article-cross__content {
  display: flex;
  align-items: center;
  height: 100%;
  flex: 1;
}

.article-cross__content h6 {
  font-family: var(--secondaty-font), sans-serif;
  font-weight: 500;
  color: var(--purple);
  font-size: 2rem;
  line-height: 2.875rem;
  margin-bottom: 10px;
}
.article-cross__content p {
  margin: 24px 0 34px 0;
  color: var(--black);
}

.article-cross__img {
  height: 376px;
  border-radius: 16px;
  position: relative;
  overflow: hidden;
  flex: 1;
}
.article-cross__img img {
  position: absolute;
  height: 100%;
  width: 100%;
  object-fit: cover;
}

  /* --- END ARTICLE CROSS --*/

  /* --- FOOTER --*/

.footer {
  background: var(--black);
}

.footer-content {
  padding: 80px 0 164px 0;
  margin-top: 50px;
}

.footer-content img {
  height: 115px;
}
.footer-menu {
  margin: 45px 0;
  border-top: 1px solid var(--white-10);
  list-style: none;
  display: flex;
  gap: 100px;
  padding: 45px 0 0 0;
}
.footer-menu a {
  text-decoration: none;
  color: var(--white);
  font-weight: 700;
}
.footer-menu a:hover {
  text-decoration: underline;
}
.footer-menu__extra {
  display: flex;
  align-items: flex-end;
  flex-direction: column;
  gap: 10px;
}
.footer-menu__extra a {
  color: var(--white);
  font-weight: 400;
  text-decoration: none;
}
.footer-menu__extra a:hover {
  text-decoration: underline;
}

/* END FOOTER --*/
