@font-face {
  font-family: 'montserrat-bold';
  src: url('../fonts/Montserrat-ExtraBold.woff') format('truetype');
}
@font-face {
  font-family: 'montserrat';
  src: url('../fonts/Montserrat-Regular.woff') format('truetype');
}
@font-face {
  font-family: 'wilton';
  src: url('../fonts/Wilton.ttf') format('truetype');
}
@font-face {
  font-family: 'inter';
  src: url('../fonts/Inter.ttc') format('truetype');
}
@font-face {
  font-family: 'oswald';
  src: url('../fonts/Oswald-Regular.ttf') format('truetype');
}
body{
    font-family: 'montserrat',sans-serif;
    font-size: 16px;
    color: #333;
}
.font-montserrat-bold{
    font-family: 'montserrat-bold',sans-serif;
}
.font-oswald{
    font-family: 'oswald',sans-serif;
}
.font-wilton{
    font-family: 'wilton',sans-serif;
}
.font-inter{
    font-family: 'inter',sans-serif;
}
.font-32{
    font-size: 32px;
}
.font-40{
    font-size: 40px;
}
.font-54{
    font-size: 54px;
}
.font-18{
    font-size: 18px;
}
.font-14{
    font-size: 14px;
}
.lheight-52{
    line-height: 52px;
}
.lheight-40{
    line-height: 40px;
}
.font-22{
    font-size: 22px;
}
.width-100{
    width: 100%;
}
.width-90{
    width: 90%;
}
.dark-green{
    color: #204721;
}
/* --- Burger Icon Animation --- */
.burger-icon {
    width: 30px;
    height: 24px;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    border: none;
    background: none;
    z-index: 1060;
}

.burger-icon span {
    display: block;
    height: 3px;
    background: #204721;
    border-radius: 2px;
    transition: all 0.4s ease-in-out;
}

.burger-icon.open span:nth-child(1) {
    transform:rotate(51deg) translate(7px, 7px);
    background-color: #3E803D;
}

.burger-icon.open span:nth-child(2) {
    opacity: 0;
}

.burger-icon.open span:nth-child(3) {
    background-color: #3E803D;
    transform: rotate(-55deg) translate(6px, -6px);
}

/* --- Fullscreen Menu --- */
#fullscreenMenu {
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    width: 100vw;
    background: white;
    display: flex;
    flex-direction: column;
    justify-content: center;
    transform: translateY(-100%);
    opacity: 0;
    transition: all 0.5s ease;
    z-index: 2;
}

#fullscreenMenu.show {
    transform: translateY(0);
    opacity: 1;
}

.fullscreen-links a {
    text-decoration: none;
    margin: 1rem 0;
    display: block;
}

.fullscreen-links a:hover {
    color: #28a745;
}
#fullscreenMenu img{
    width: 100%;
    position: absolute;
    bottom: 80px;
}
#menuToggle{
    z-index: 3;
}
.navbar {
    --bs-navbar-padding-y: 1rem !important;
    position: sticky;
    top: 0;
    z-index: 3;
}
.navbar img{
    width: 70%;
}
.hero-section{
    height: 80vh;
}
.home-hero{
    background: url('../images/header-bg.png') bottom/cover no-repeat;
}
.about-hero-section{
    background: url('../images/about-banner.png') bottom/cover no-repeat;
}
.privacypolicy-hero{
    height: 60vh;
    background: url('../images/pp-bg.png') bottom/cover no-repeat;
}
.terms-hero{
    height: 60vh;
    background: url('../images/terms-bg.png') bottom/cover no-repeat;
}
.green-bg{
    background-color: #3E803D !important;
}
.text-white{
    color: white;
}
.hero-title{
    font-family: 'wilton',sans-serif;
}
.hero-text{
    position: absolute;
    top:50%;
}
.about-hero-text{
    position: absolute;
    top:40%;
}
.medium{
    font-weight: 500;
}
.btn-white{
    background-color: white;
    padding: 0.5rem 2rem;
    color: #3e803d;
    margin-right: 1rem;
}
.btn-white:hover{
    color: white;
    background-color: #3e803d;
}
.btn-green:hover{
    background-color: white;
    color: #3e803d;
    border: 1px solid #3e803d;
}
.btn-green{
    color: white;
    padding: 0.5rem 2rem;
    background-color: #3e803d;
}
.green{
    color: #3e803d;
}
.white{
    color:white;
}
.green-bg{
    background-color: #3e803d;
}
.home-section-one{
    position: relative;
}
.home-section-one .container{
    padding-bottom: 10rem;
}
.home-blocks{
    position: relative;
    background-color: #3e803d;
    padding-top: 6rem;
    padding-left: 1rem;
    padding-right: 1rem;
    box-shadow: 10px 10px 8px rgba(0, 0, 0, 0.2);
}
.block-image{
    position: absolute;
    top: -20%;
    left: 35%;
}
.strong{
    font-weight: 600;
}
.home-section-one-design{
    position: absolute;
    bottom: 0;
    left: 0;
}
.team{
    background-color: #20211D;
    padding-top: 4rem;
}
.submit-btn{
    background-color: #3e803d;
    color: white;
    padding: 1rem 2rem;
    box-shadow: 5px 5px 8px rgba(255, 255, 255, 0.25);
    border-radius: 3px;
    text-decoration: none;
}
.football-agency{
    position: relative;
    padding-top: 7rem;
}
.agency-image-design{
    position: absolute;
    top: 0;
    right: 0;
}

.service-container {
  display: flex;
  gap: 20px;
  justify-content: center;
  flex-wrap: wrap;
  margin-top: 40px;
}

.service-card {
  position: relative;
  padding: 5rem 20px 20px;
  border: 3px solid green;
  background-color: white;
  box-shadow: 7px 7px 10px rgba(0, 0, 0, 0.25);
  transition: border-color 0.3s, background-color 0.3s;
  text-align: center;
  min-height: 20rem;
  margin: 1rem;

}

.service-card:hover {
  border-color: #cccccc30;           /* Light grey border */
}

.service-number {
  position: absolute;
  top: -25px;
  left: -22px;
  background: white;
  color: white;
  -webkit-text-stroke: 2px #006838;
  font-size: 75px;
  font-weight: 700;
  font-family: 'oswald',sans-serif;
  padding: 0 10px 10px 0;
  line-height: 1;   
  z-index: 1;
  border-radius: 5px;
}
.logo-image{
    width: 14rem;
    max-height: 7rem;
    object-fit: contain;
}
.football-section{
    background-image: url(../images/football-bg.png);
    background-size: cover;
    min-height: 30rem;
    padding-top: 10rem;
    position: relative;
    background-repeat: no-repeat;
}
.form-control.custom-input {
    background-color: #f5f5f9;
    border: none;
    border-radius: 8px;
    padding: 15px;
}

.form-control.custom-input:focus {
    background-color: #fff;
    border: 1px solid #ced4da;
    box-shadow: none;
}

textarea.custom-input {
    min-height: 200px;
}

.btn-submit {
    background-color: #2e7d32;
    color: white;
    border: none;
    padding: 10px 30px;
}

.btn-submit:hover {
    background-color: #256429;
}
.contactus{
    padding-top: 6rem;
    padding-bottom: 6rem;
}
.footer{
    background-color: #3e803d;
    padding-top: 5rem;
    padding-bottom: 3rem;
}
a{
    text-decoration: none !important;
    cursor: pointer;
}
    .process-section {
    position: relative;
    padding-top: 60px;
    background: white;
    }

 .process-container {
  position: relative;
  margin: 0 auto;
  height: 200px;
  /* background-image: url('../images/green-road.svg'); */
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  z-index: 1;
}


 .wave {
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: contain;
  z-index: 0;
}


.step {
position: absolute;
text-align: center;
width: 150px;
}

.step-number {
color: #3e803d;
font-size: 48px;
font-weight: 700;
margin-bottom: 5px;
font-family: 'inter',sans-serif;
}

.step-label {
font-size: 18px;
color: #20211D;
}

/* Positioning each step manually based on the wave */
.step-1 { top: 20%; left: 2%; }
.step-2 { top: 80%; left: 20%; }
.step-3 { top: 100%; left: 38%; }
.step-4 { top: 20%; left: 53%; }
.step-5 { top: 0; left: 70%; }
.step-6 { top: 60px; left: 86%; }

.mission{
    position: relative;
}
.mission-line{
    position: absolute;
    z-index: 0;
    top: 50%;
}
    .mission .container{
    border: 2px solid #3e803d;
    padding: 2rem 5rem;
    z-index: 1;
    position: inherit;
    border-radius: 5px;
    background-color: white;
    box-shadow:  10px 10px 8px rgba(0, 0, 0, 0.2);
    margin-top: 5rem;
    margin-bottom: 5rem;
}
.vision{
    min-height: 35rem;
    padding: 3rem 5rem;
    height: 100%;
}
.values{
    position: relative;
    z-index: 1;
    margin-top: -200px;
}
.values .container{
    border-radius: 5px;
    background-color: white;
    box-shadow: 1px 5px 10px 10px rgba(0, 0, 0, 0.2) ;
    padding:  3rem 5rem;
}
.football-section-img{
    position: absolute;
    right: 10%;
    top: 0;
    height: 100%;
}
.tc-section1-design{
    background-image: url(../images/t&c-bg.png);background-size: 100% 100%;
    padding-right: 3rem;
    padding-bottom: 3rem;
}
.mobile{
    display: none;
}
.footer-logo{
    width: auto;
}
        /* Modal overlay */
    .modal-overlay {
      display: none;
      position: fixed;
      z-index: 999;
      left: 0;
      top: 0;
      width: 100%;
      height: 100%;
      background-color: rgba(0,0,0,0.5);
    }

    /* Modal box */
    .modal-content {
      background-color: #fff;
      margin: 5% auto;
      padding-top: 2rem;
      width: 90%;
      max-width: 800px;
      border-radius: 8px;
      position: relative;
        height: 80vh;
    }

    /* Close button */
    .close-modal {
      position: absolute;
      top: 10px;
      right: 15px;
      font-size: 24px;
      cursor: pointer;
    }
@media (min-width: 2000px) {
    .font-54 {
        font-size: 70px;
    }
    .lead {
        font-size: 2.25rem;
    }
    .btn {
        --bs-btn-font-size: 1.5rem !important;
    }
    .font-18 {
        font-size: 25px;
    }
    .font-22 {
        font-size: 32px;
    }
    body {
        font-size: 20px;
    }
    .font-14 {
        font-size: 18px;
    }
    .service-card {
        min-height: 30rem;
    }
    .service-card:last-child {
        min-height: 20rem;
    }
    .step-1 {
        top: 70%;
        left: 0;
    }
    .step-2 {
        top: 200%;
        left: 20%;
    }
    .step-3 {
        top: 120%;
        left: 45%;
    }
    .step-4 {
        top: 25%;
        left: 60%;
    }
    .step-5 {
    top: 0;
    left: 79%;
    }
    .step-6 {
    top: 40%;

    left: 100%;
    }
}
@media (max-width: 1200px) {
    .logo-image {
        width: 100%;
    }
    .football-section{
        min-height: 20rem;
    }
}
@media (max-width: 768px) {
    .step-1 { top: 20px; left: 2%; }
    .step-2 { top: 80px; left: 20%; }
    .lheight-40 {
        line-height: 30px;
    }
    .font-18 {
        font-size: 16px;
    }
    .font-22 {
        font-size: 20px;
    }
    .lheight-52 {
        line-height: 35px;
    }
    .block-image {
        position: absolute;
        top: 0;
        transform: translateX(-1%);
        margin-top: 1rem;
    }
    .home-blocks {
        padding-top: 9rem;
    }
    .home-section-one .green-bg.mt-5{
        margin-top: 0 !important;
    }
    .width-90 {
        width: 70%;
    }
    .team .col-md-5{
        text-align: center;
    }
    .team .order-1{
        text-align: center;
    }
    .team .pt-5{
        padding-top: 0 !important;
    }
     .logo-image {
        width: 80%;
        margin: auto;
        margin-bottom: auto;
        margin-bottom: 1rem;
    }
    #openModal{
        margin-bottom: 0.5rem;
    }
    .font-40 {
        font-size: 30px;
    }
    .home-section-one-design{
        width: 100%;
    }
    .home-blocks{
        box-shadow: 0 10px 8px rgba(0, 0, 0, 0.2);
    }
    .football-section{
        padding-top: 5rem;
    }
    .font-32 {
        font-size: 26px;
    }
    .desktop{
        display: none !important;
    }
    .mobile{
        display: block !important;
    }
    .football-section-img {
        right: 2%;
    }
    .footer-logo{
        width: 10rem;
        margin-bottom: 2rem;
    }
    .font-54 {
        font-size: 40px;
    }
}
