@import url("https://fonts.googleapis.com/css2?family=Outfit:wght@100..900&display=swap");
* {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  text-decoration: none;
  font-family: "Outfit", sans-serif;
  scroll-behavior: smooth;
}

html {
  font-size: 10px;
}

ul {
  list-style: none;
}

a {
  text-decoration: none;
  color: #000;
  font-family: "Outfit", sans-serif;
}

h1, h2, h3 {
  font-family: "Outfit", sans-serif;
}

.row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

header {
  width: 100%;
  padding: 0.5rem 15rem;
  -webkit-box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
          box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
  background: #F8FAFC;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: fixed;
  z-index: 7;
}
header nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 5rem;
}
header nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 3rem;
}
header nav ul li {
  -webkit-transition: ease 0.3s all;
  transition: ease 0.3s all;
}
header nav ul li:hover {
  -webkit-transform: scale(0.95);
          transform: scale(0.95);
}
header nav ul li:hover a {
  color: rgb(37, 99, 235);
}
header nav ul li a {
  font-size: 2.5rem;
  font-weight: 400;
}
header nav ul li .btn {
  padding: 0.8rem 4.5rem;
  -webkit-box-shadow: none;
          box-shadow: none;
}
header nav .logo {
  width: 10rem;
  aspect-ratio: 1;
  -o-object-fit: contain;
     object-fit: contain;
  -webkit-transition: ease 0.3s all;
  transition: ease 0.3s all;
}
header nav .logo img {
  width: 100%;
}
header nav .logo:hover {
  -webkit-transform: scale(0.95);
          transform: scale(0.95);
}
header .socials {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 1rem;
}
header .socials svg {
  width: 4.5rem;
  height: 4.5rem;
  -webkit-transition: ease 0.3s all;
  transition: ease 0.3s all;
}
header .socials svg:hover {
  -webkit-transform: scale(0.95);
          transform: scale(0.95);
  fill: rgb(37, 99, 235);
}

.btn {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 2.5rem;
  color: #ffffff;
  background: rgb(37, 99, 235);
  border-radius: 25px;
  padding: 1.2rem 4.5rem;
  -webkit-box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
          box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
  -webkit-transition: ease 0.3s all;
  transition: ease 0.3s all;
}
.btn:hover {
  -webkit-transform: scale(0.95);
          transform: scale(0.95);
  color: #ffffff;
}

main {
  width: 100%;
  min-height: 100dvh;
  position: relative;
}
main .overlay {
  position: absolute;
  background: linear-gradient(108deg, rgba(56, 189, 248, 0.4) 0%, rgba(30, 41, 59, 0.4) 100%);
  width: 100%;
  height: 100%;
  padding: 10rem 15rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
main .overlay .hero {
  max-width: 80rem;
}
main .overlay .hero h3 {
  font-size: 2.5rem;
  text-transform: uppercase;
  color: #ffffff;
  text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}
main .overlay .hero h1 {
  font-size: 6rem;
  color: #ffffff;
  text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
}
main .overlay .hero h1 span {
  color: rgb(37, 99, 235);
}
main .overlay .hero p {
  font-size: 2.5rem;
  color: #ffffff;
  text-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
  margin-bottom: 3rem;
}

section {
  padding: 10rem 15rem;
}

#about {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 15rem;
}
#about .about-txt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-preferred-size: 50%;
      flex-basis: 50%;
}
#about .about-txt h3 {
  font-size: 2.5rem;
  text-transform: uppercase;
  color: #1E293B;
}
#about .about-txt h2 {
  font-size: 4.5rem;
  color: #1E293B;
  margin-bottom: 1rem;
}
#about .about-txt h2 span {
  color: rgb(37, 99, 235);
}
#about .about-txt p {
  font-size: 2.5rem;
  color: #1E293B;
  margin-bottom: 3rem;
}
#about .about-img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-preferred-size: 50%;
      flex-basis: 50%;
}
#about .about-img img {
  width: 100%;
  -webkit-box-shadow: 8px 8px 4px 0 rgba(0, 0, 0, 0.25);
          box-shadow: 8px 8px 4px 0 rgba(0, 0, 0, 0.25);
  border-radius: 20px;
  max-height: 75dvh;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top;
     object-position: top;
}

#toggle {
  display: none;
}

#services {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 5rem;
  padding-top: 0;
}
#services .services-txt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-preferred-size: 50%;
      flex-basis: 50%;
}
#services .services-txt h3 {
  font-size: 2.5rem;
  text-transform: uppercase;
  color: #1E293B;
  text-align: center;
}
#services .services-txt h2 {
  font-size: 4.5rem;
  color: #1E293B;
  margin-bottom: 1rem;
  text-align: center;
}
#services .services-txt h2 span {
  color: rgb(37, 99, 235);
}
#services .services-txt p {
  font-size: 2.5rem;
  color: #1E293B;
  text-align: center;
  max-width: 80rem;
}
#services .service-grid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 5rem;
}
#services .service-grid .service {
  width: 100%;
  padding: 3rem;
  -webkit-box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.25);
          box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.25);
  background: #ffffff;
  border-radius: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#services .service-grid .service img {
  width: 15rem;
  aspect-ratio: 1;
  margin-bottom: 1.5rem;
}
#services .service-grid .service h3 {
  color: rgb(37, 99, 235);
  font-size: 2.5rem;
  text-align: center;
  margin-bottom: 1rem;
}
#services .service-grid .service p {
  font-size: 2rem;
  text-align: center;
}

#reference {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 5rem;
  padding-top: 0;
}
#reference .reference-txt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-preferred-size: 50%;
      flex-basis: 50%;
}
#reference .reference-txt h3 {
  font-size: 2.5rem;
  text-transform: uppercase;
  color: #1E293B;
  text-align: center;
}
#reference .reference-txt h2 {
  font-size: 4.5rem;
  color: #1E293B;
  margin-bottom: 1rem;
  text-align: center;
}
#reference .reference-txt h2 span {
  color: rgb(37, 99, 235);
}
#reference .reference-txt p {
  font-size: 2.5rem;
  color: #1E293B;
  text-align: center;
  max-width: 80rem;
}
#reference .reference-grid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 3rem;
}
#reference .reference-grid .comparison-slider {
  position: relative;
  width: 100%;
  aspect-ratio: 3/4;
  border-radius: 10px;
  overflow: hidden;
  -webkit-box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
          box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
}
#reference .reference-grid .comparison-slider .zoom-wrap {
  position: absolute;
  top: 1rem;
  right: 1rem;
  z-index: 5;
}
#reference .reference-grid .comparison-slider .zoom-wrap .zoom-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 4rem;
  height: 4rem;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 5px;
  color: #1E293B;
  text-decoration: none;
  -webkit-box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
          box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
#reference .reference-grid .comparison-slider .zoom-wrap .zoom-btn svg {
  stroke: #1E293B;
  -webkit-transition: stroke 0.3s ease;
  transition: stroke 0.3s ease;
}
#reference .reference-grid .comparison-slider .zoom-wrap .zoom-btn:hover {
  background: rgb(37, 99, 235);
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
#reference .reference-grid .comparison-slider .zoom-wrap .zoom-btn:hover svg {
  stroke: #ffffff;
}
#reference .reference-grid .comparison-slider img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  pointer-events: none;
}
#reference .reference-grid .comparison-slider .image-after {
  z-index: 1;
}
#reference .reference-grid .comparison-slider .image-before {
  z-index: 2;
  -webkit-clip-path: polygon(0 0, var(--position) 0, var(--position) 100%, 0 100%);
          clip-path: polygon(0 0, var(--position) 0, var(--position) 100%, 0 100%);
}
#reference .reference-grid .comparison-slider .slider-handle {
  position: absolute;
  top: 0;
  bottom: 0;
  left: var(--position);
  width: 3px;
  background: #ffffff;
  z-index: 3;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  pointer-events: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#reference .reference-grid .comparison-slider .slider-handle .slider-btn {
  width: 3.5rem;
  height: 3.5rem;
  background: #ffffff;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
          box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}
#reference .reference-grid .comparison-slider .slider-handle .slider-btn.pulse-anim {
  -webkit-animation: pulseHint 2s infinite;
          animation: pulseHint 2s infinite;
}
#reference .reference-grid .comparison-slider .slider-handle .slider-btn svg {
  stroke: #1E293B;
}
#reference .reference-grid .comparison-slider .slider-input {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: ew-resize;
  z-index: 4;
  margin: 0;
  padding: 0;
}

@-webkit-keyframes pulseHint {
  0% {
    -webkit-box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7);
            box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7);
  }
  70% {
    -webkit-box-shadow: 0 0 0 15px rgba(255, 255, 255, 0);
            box-shadow: 0 0 0 15px rgba(255, 255, 255, 0);
  }
  100% {
    -webkit-box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
            box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
  }
}

@keyframes pulseHint {
  0% {
    -webkit-box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7);
            box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.7);
  }
  70% {
    -webkit-box-shadow: 0 0 0 15px rgba(255, 255, 255, 0);
            box-shadow: 0 0 0 15px rgba(255, 255, 255, 0);
  }
  100% {
    -webkit-box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
            box-shadow: 0 0 0 0 rgba(255, 255, 255, 0);
  }
}
#contact {
  width: 100%;
  padding-top: 0;
}
#contact .contact-container {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 10rem;
  margin: 0 auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#contact .contact-form-wrap .contact-text {
  margin-bottom: 2rem;
}
#contact .contact-form-wrap .contact-text h3 {
  font-size: 2.5rem;
  text-transform: uppercase;
  color: #1E293B;
}
#contact .contact-form-wrap .contact-text h2 {
  font-size: 4.5rem;
  color: #1E293B;
  margin-bottom: 1rem;
}
#contact .contact-form-wrap .contact-text h2 span {
  color: rgb(37, 99, 235);
}
#contact .contact-form-wrap .contact-text p {
  font-size: 2.5rem;
  color: #1E293B;
  max-width: 80rem;
}
#contact .contact-form-wrap .contact-form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2rem;
}
#contact .contact-form-wrap .contact-form .form-row {
  width: 100%;
}
#contact .contact-form-wrap .contact-form .form-row input, #contact .contact-form-wrap .contact-form .form-row textarea {
  width: 100%;
  padding: 1.5rem;
  border: none;
  border-radius: 12px;
  -webkit-box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.25);
          box-shadow: 0 4px 20px 0 rgba(0, 0, 0, 0.25);
  background: #ffffff;
  font-size: 2rem;
  font-family: inherit;
  outline: none;
  -webkit-transition: -webkit-box-shadow 0.3s ease;
  transition: -webkit-box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease;
  transition: box-shadow 0.3s ease, -webkit-box-shadow 0.3s ease;
}
#contact .contact-form-wrap .contact-form .form-row input::-webkit-input-placeholder, #contact .contact-form-wrap .contact-form .form-row textarea::-webkit-input-placeholder {
  color: #555;
  font-weight: 500;
}
#contact .contact-form-wrap .contact-form .form-row input::-moz-placeholder, #contact .contact-form-wrap .contact-form .form-row textarea::-moz-placeholder {
  color: #555;
  font-weight: 500;
}
#contact .contact-form-wrap .contact-form .form-row input:-ms-input-placeholder, #contact .contact-form-wrap .contact-form .form-row textarea:-ms-input-placeholder {
  color: #555;
  font-weight: 500;
}
#contact .contact-form-wrap .contact-form .form-row input::-ms-input-placeholder, #contact .contact-form-wrap .contact-form .form-row textarea::-ms-input-placeholder {
  color: #555;
  font-weight: 500;
}
#contact .contact-form-wrap .contact-form .form-row input::placeholder, #contact .contact-form-wrap .contact-form .form-row textarea::placeholder {
  color: #555;
  font-weight: 500;
}
#contact .contact-form-wrap .contact-form .form-row input:focus, #contact .contact-form-wrap .contact-form .form-row textarea:focus {
  -webkit-box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
          box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
}
#contact .contact-form-wrap .contact-form .form-row textarea {
  resize: vertical;
}
#contact .contact-form-wrap .contact-form .half-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}
#contact .contact-form-wrap .contact-form .form-checkbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.8rem;
  margin-top: 0.5rem;
}
#contact .contact-form-wrap .contact-form .form-checkbox input[type=checkbox] {
  width: 2.5rem;
  height: 2.5rem;
  cursor: pointer;
}
#contact .contact-form-wrap .contact-form .form-checkbox label {
  font-size: 2rem;
  color: #1E293B;
  cursor: pointer;
  font-weight: 500;
}
#contact .contact-form-wrap .contact-form .submit-btn {
  -ms-flex-item-align: center;
      align-self: center;
  background: rgb(37, 99, 235);
  color: #ffffff;
  padding: 1rem 4rem;
  border: none;
  border-radius: 30px;
  font-size: 2.5rem;
  cursor: pointer;
  -webkit-transition: -webkit-transform 0.3s ease, -webkit-filter 0.3s ease;
  transition: -webkit-transform 0.3s ease, -webkit-filter 0.3s ease;
  transition: transform 0.3s ease, filter 0.3s ease;
  transition: transform 0.3s ease, filter 0.3s ease, -webkit-transform 0.3s ease, -webkit-filter 0.3s ease;
  margin-top: 1rem;
}
#contact .contact-form-wrap .contact-form .submit-btn:hover {
  -webkit-transform: translateY(-3px);
          transform: translateY(-3px);
  -webkit-filter: brightness(0.9);
          filter: brightness(0.9);
}
#contact .contact-info {
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(56, 182, 255, 0.85)), to(rgba(56, 182, 255, 0.85))), url("img/contact-bg.jpg") center/cover no-repeat;
  background: linear-gradient(rgba(56, 182, 255, 0.85), rgba(56, 182, 255, 0.85)), url("img/contact-bg.jpg") center/cover no-repeat;
  border-radius: 30px;
  padding: 4rem 3rem;
  color: #ffffff;
}
#contact .contact-info ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.5rem;
}
#contact .contact-info ul li {
  position: relative;
  padding-left: 1.5rem;
}
#contact .contact-info ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6rem;
  width: 8px;
  height: 8px;
  background: #ffffff;
  border-radius: 50%;
}
#contact .contact-info ul li strong {
  display: block;
  font-size: 2rem;
  text-transform: uppercase;
  margin-bottom: 0.3rem;
}
#contact .contact-info ul li a, #contact .contact-info ul li span {
  color: #ffffff;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
  font-size: 2rem;
  font-weight: 700;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
#contact .contact-info ul li span {
  text-decoration: none;
}
#contact .contact-info ul li a:hover {
  opacity: 0.8;
}
#contact .contact-info ul li .social-icons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.5rem;
  margin-top: 2.5rem;
}
#contact .contact-info ul li .social-icons a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-decoration: none;
}
#contact .contact-info ul li .social-icons a svg {
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
  width: 4rem;
  height: 4rem;
}
#contact .contact-info ul li .social-icons a:hover svg {
  -webkit-transform: scale(1.15);
          transform: scale(1.15);
}

.footer {
  background-color: rgb(37, 99, 235);
  color: #ffffff;
  padding: 1.5rem 3rem;
  width: 100%;
  font-size: 2rem;
}
.footer .footer-container {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0 2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.footer .footer-container .footer-left,
.footer .footer-container .footer-center,
.footer .footer-container .footer-right {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.footer .footer-container .footer-left {
  text-align: left;
}
.footer .footer-container .footer-center {
  text-align: center;
}
.footer .footer-container .footer-right {
  text-align: right;
}
.footer .footer-container a {
  color: #ffffff;
  text-decoration: none;
}

.cookies {
  position: fixed;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  justify-self: center;
  bottom: 0;
  right: 0;
  background: rgba(255, 255, 255, 0.8);
  padding: 2rem;
  padding-bottom: 0;
  width: 42.5rem;
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  border-radius: 5px;
  z-index: 6;
}
.cookies p {
  font-size: 1.8rem;
}
.cookies a {
  color: rgb(37, 99, 235);
  font-weight: bold;
}
.cookies .row {
  width: 50%;
  margin: 2rem;
}
.cookies .row .btn-g {
  font-size: 1.8rem;
  margin: 0rem 2rem;
  color: #ffffff;
  background: rgb(37, 99, 235);
  padding: 0.5rem 2.5rem;
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  font-weight: 500;
  -webkit-transition: ease 0.3s all;
  transition: ease 0.3s all;
  border: 3px solid rgb(37, 99, 235);
  cursor: pointer;
  border-radius: 5px;
}
.cookies .row .btn-g:hover {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}
.cookies .row .btn-b {
  font-size: 1.8rem;
  margin: 0rem 2rem;
  color: #1E293B;
  background: transparent;
  padding: 0.5rem 2.5rem;
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
          box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  font-weight: 500;
  border: 3px solid #1E293B;
  -webkit-transition: ease 0.3s all;
  transition: ease 0.3s all;
  cursor: pointer;
  border-radius: 5px;
}
.cookies .row .btn-b:hover {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

#rules {
  width: 100%;
  min-height: 100dvh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  padding-top: 16rem;
}
#rules .rules-content {
  width: 80%;
  margin: 0 auto;
}
#rules .rules-content h1 {
  font-size: 5rem;
  text-transform: uppercase;
  font-weight: 800;
  margin-bottom: 5rem;
  text-align: center;
  color: #1E293B;
}
#rules .rules-content h2 {
  font-size: 3.5rem;
  text-transform: uppercase;
  margin-bottom: 1rem;
  color: #1E293B;
}
#rules .rules-content p {
  font-size: 2rem;
  margin-bottom: 3rem;
  color: #1E293B;
}

@media (min-width: 2560px) {
  html {
    font-size: 14px;
  }
}
@media (max-width: 1440px) {
  section {
    padding: 5rem 10rem;
  }
  html {
    font-size: 9px;
  }
  header {
    padding: 0.5rem 10rem;
  }
  main .overlay {
    padding: 5rem 10rem;
  }
  #about {
    gap: 10rem;
  }
  #rules .rules-content {
    width: 85%;
    margin: 0 auto;
  }
}
@media (max-width: 1336px) {
  section {
    padding: 5rem 8rem;
  }
  html {
    font-size: 8.5px;
  }
  header {
    padding: 0.5rem 8rem;
  }
  main .overlay {
    padding: 10rem 8rem;
  }
  #about {
    gap: 8rem;
  }
}
@media (max-width: 1024px) {
  html {
    font-size: 8px;
  }
  section {
    padding: 3rem 6rem;
  }
  header {
    padding: 0.5rem 6rem;
  }
  main .overlay {
    padding: 8rem 6rem;
  }
  #about {
    gap: 6rem;
  }
  #rules .rules-content {
    width: 100%;
  }
}
@media (max-width: 1000px) {
  #toggle {
    width: 100%;
    padding: 0.5rem 6rem;
    -webkit-box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
            box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.25);
    background: #F8FAFC;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    position: fixed;
    z-index: 8;
  }
  #toggle .logo {
    width: 9rem;
    aspect-ratio: 1;
    -o-object-fit: contain;
       object-fit: contain;
    -webkit-transition: ease 0.3s all;
    transition: ease 0.3s all;
  }
  #toggle .logo img {
    width: 100%;
  }
  #toggle .logo:hover {
    -webkit-transform: scale(0.95);
            transform: scale(0.95);
  }
  #toggle svg {
    width: 5.5rem;
    height: 5.5rem;
  }
  header {
    position: fixed;
    right: 0;
    width: 42rem;
    height: 100dvh;
    padding: 5rem 3rem;
    padding-top: 15rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 5rem;
  }
  header nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  header nav .logo {
    display: none;
    gap: 0;
  }
  header nav ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 2.5rem;
  }
  header nav ul li a {
    font-size: 3.2rem;
  }
  header nav ul li .btn {
    font-size: 3.2rem;
  }
  .active-menu {
    -webkit-transform: translateX(0%);
            transform: translateX(0%);
    -webkit-transition: ease 0.3s all;
    transition: ease 0.3s all;
  }
  .not-active-menu {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
    -webkit-transition: ease 0.3s all;
    transition: ease 0.3s all;
  }
  #about {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #services .service-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  #reference .reference-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }
  #contact .contact-container {
    grid-template-columns: 1fr;
    gap: 4rem;
  }
  #contact .contact-info {
    padding: 3rem 2rem;
  }
}
@media (max-width: 768px) {
  html {
    font-size: 7.5px;
  }
  section {
    padding: 3rem 5rem;
  }
  main .overlay {
    padding: 8rem 5rem;
  }
  #about {
    gap: 5rem;
  }
  #services .service-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  #reference .reference-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  #contact .contact-form-wrap .contact-form .half-row {
    grid-template-columns: 1fr;
  }
  .footer {
    padding: 2rem 0;
  }
  .footer .footer-container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 1.2rem;
  }
  .footer .footer-container .footer-left,
  .footer .footer-container .footer-center,
  .footer .footer-container .footer-right {
    text-align: center;
    width: 100%;
  }
}
@media (max-width: 425px) {
  section {
    padding: 5rem 3rem;
  }
  main .overlay {
    padding: 5rem 3rem;
  }
  #services .service-grid {
    grid-template-columns: repeat(1, 1fr);
  }
  #reference .reference-grid {
    grid-template-columns: repeat(1, 1fr);
    gap: 4rem;
  }
  .cookies {
    width: 100%;
  }
  #rules .rules-content h1 {
    font-size: 4rem;
  }
}