* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Manrope', Arial, sans-serif;
}
body {
    background-image: linear-gradient(to top, #111933 0%, #5C068C 100%);
    color: #fff;
    display: flex;
    min-height: 100vh;
    align-items: flex-start;
    justify-content: center;
}
.container {
    display: flex;
    max-width: 1920px;
    width: 95%;
    padding-top: 2rem;
    flex-direction: row;
}

.sidebar {
    flex: 1;
    width: 80%;
    padding: 2rem;
}

.logo {
    max-width: 300px;
    cursor: pointer;
}

.availability {
    font-size: 12px;
    color: #888;
    margin-top: 10px;
    font-weight: 500;
}

.tagline {
    font-size: calc(0.6em + 1vw);
    color: #fff;
    font-weight: 500;
    margin-top: 20px;
}

h1 {
    font-size: 32px;
    margin-top: 10px;
    font-weight: 700;
}
.description {
    font-size: 14px;
    margin-top: 10px;
    font-weight: 400;
    line-height: 1.5;
}
.contact {
    display: inline-block;
    margin-top: 20px;
    color: #fff;
    text-decoration: none;
    border-bottom: 1px solid #fff;
    font-weight: 500;
}



.grid {
    flex: 2;
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 2px;
    padding: 2rem;
}

.grid-index {
    grid-gap: 10px;
}


.grid-item {
    display: grid;
    gap: 10px;
    text-align: left;
    transition: grid-template-columns 0.3s ease-in-out;
}
.grid-item .left, .grid-item .right {
    min-height: 250px;
    padding: 20px;
    display: flex;
    align-items: flex-end;
    justify-content: flex-start;
    font-weight: bold;
    transition: all 0.3s ease-in-out;
    border-radius: 20px;
    text-align: left;
}
.grid-item .left {
    background: #333;
}
.grid-item .right {
    background: #444;
}
.grid-item.split {
    grid-template-columns: 20% 80%;
}
.grid-item.split-alt {
    grid-template-columns: 80% 20%;
}
.grid-item.split:hover {
    grid-template-columns: 40% 60%;
    cursor: pointer;
}
.grid-item.split-alt:hover {
    grid-template-columns: 60% 40%;
    cursor: pointer;
}
.grid-item:nth-child(1):hover .left {
    /* # background: #111933; */
    background: #FFA202;
}
.grid-item:nth-child(2):hover .right {
    background: #5C068C;
}
.grid-item:nth-child(3):hover .left {
    background: rgb(181, 128, 209);
}
.grid-item:nth-child(4):hover .right {
    background: rgb(72, 92, 199);
}

.grid-item.split .right {
    position: relative;
    overflow: hidden;
} 

.grid-item.split .left {
    position: relative;
    overflow: hidden;
} 

.grid-item.split .one {
    background: url('https://images.pexels.com/photos/3137073/pexels-photo-3137073.jpeg');
    background-size: cover;
    background-position: center;
}

.grid-item.split-alt .two {
    background: url('https://images.pexels.com/photos/430207/pexels-photo-430207.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2');
    background-size: cover;
    background-position: center;
    position: relative;
    overflow: hidden;
}

.grid-item.split .three {
    background: url('https://images.pexels.com/photos/532563/pexels-photo-532563.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2');
    background-size: cover;
    background-position: center;
}

.grid-item.split-alt .four {
    background: url('https://images.pexels.com/photos/29751269/pexels-photo-29751269/free-photo-of-vivid-abstract-red-and-purple-pyramid-render.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=2');
    background-size: cover;
    background-position: center;
    position: relative;
    overflow: hidden;
}



.medium-text {
        font-size: 18px;
    }

.grid-item.split:hover .one::before,
.grid-item.split:hover .three::before,
.grid-item.split-alt:hover .two::before,
.grid-item.split-alt:hover .four::before {
background: rgba(0, 0, 0, 0);

transition: all 0.3s ease-in-out;
position: absolute;
bottom: -120px;
left: -60px;
font-size: 300px;
}

.grid-item.split:hover .one::before { 
color: rgba(255, 162, 2, 1); 
}

.grid-item.split-alt:hover .two::before {
color: rgba(92, 8, 140, 1);  
}


.grid-item.split:hover .three::before { 
color: rgba(181, 128, 209, 1);
}


.grid-item.split-alt:hover .four::before  {
color: rgb(72, 92, 199, 1);
}

.grid-item.split .one::before {
content: "01";
position: absolute;
bottom: -120px;
left: -60px;
font-size: 196px;
font-weight: lighter;
color: rgba(255, 162, 2, 0.5);
transition: opacity 0.3s ease-in-out;
overflow: hidden;
}

.grid-item.split-alt .two::before {
content: "02";
position: absolute;
bottom: -120px;
left: -60px;
font-size: 196px;
font-weight: lighter;
color: rgba(92, 8, 140, 0.5);  
transition: opacity 0.3s ease-in-out;
overflow: hidden;
}

.grid-item.split .three::before {
content: "03";
position: absolute;
bottom: -120px;
left: -60px;
font-size: 196px;
font-weight: lighter;
color: rgba(181, 128, 209, 0.5);
transition: opacity 0.3s ease-in-out;
overflow: hidden;
}


.grid-item.split-alt .four::before {
content: "04";
position: absolute;
bottom: -120px;
left: -60px;
font-size: 196px;
font-weight: lighter;
color: rgb(72, 92, 199, 0.5);
transition: opacity 0.3s ease-in-out;
overflow: hidden;
}


.services-section {
    height: 95px;
    padding: 15px 38px;
    border-radius: 22px;
    width: 100%;
    font-weight: 600;
    display: flex;
    align-items: center;
    font-family: 'Clash Display', sans-serif; 
    font-size: 28px;

}

.content-section {
    height: auto;
    min-height: 500px;
    padding: 20px;
    border-radius: 20px;
    width: 100%;
    margin-top: 10px;
    display: flex;
    flex-direction: column;
    background-color: rgb(228, 228, 228);
    color: #111933;
    
}

.rounded-image {
    border-radius: 1%;
    width: 100%;
}
       
/*--Colours for section headers--*/

.what-we-do {
    background: rgb(255, 162, 2);
    color: #111933;
}

.who-are-we {
background: #111933;
color: #FFA202;
}

.how-we-help{
background:   #B580D1;
color: #111933;
}

.talk-to-us {
background: rgb(72, 92, 199);
color: #FFf;

}

/*----------------*/

.row {
    display: flex;
    flex-direction: row;
    width: 100%;
    margin-bottom: 20px;
    position: relative; /* Added position relative to the row */
}
.row:last-child {
    margin-bottom: 0;
}
.content-left, .content-right {
    flex: 1;
    padding: 20px;
    display: flex;
    align-items: center;
    
}

.header-left {
    flex: 1;
    padding: 0px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.header-right {
    flex: 1;
    padding: 0px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}

.header-text {
    font-size: 18px;
    text-decoration: underline;
    transition: text-decoration 0.3s ease;
    color: #fff;
    font-weight: 500;
}

.header-text:hover {
    text-decoration: none;
}


/* Modified content-left-small to extend into the image area */
.content-left-small {      
    padding: 15px;
    width: 38%; /* Increased width to extend over the image */
    position: absolute; /* Positioned absolutely within the row */
    z-index: 10; /* Higher z-index to appear over the image */
    left: 0; /* Aligned to the left */
    top: 50%; /* Centered vertically */
    transform: translateY(-50%); /* Vertical centering trick */  
    background-color: rgb(255, 162, 2, 0.8)
}

.content-right-large {
    flex: auto;
    padding: 20px;
    display: flex;
    align-items: center;
}

.big-text {
    font-size: 40px;
    line-height: 1.2;
    font-weight: 400;
    /* color: #2A063E; */
    font-family: 'Clash Display', sans-serif; 
}

.bigger-text {
    font-size: 60px;
    line-height: 1.2;
    font-weight: 400;
    /* color: #2A063E; */
    font-family: 'Clash Display', sans-serif; 
}

.medium-text {
    font-size: 20px;
    line-height: 1.5;
    font-weight: 500;
    /* color: #2A063E; */
}

.content-title {
    font-family: 'Clash Display', sans-serif; 
    font-size: 32px;
}

.content-numbers {
    font-family: 'Clash Display', sans-serif; 
    font-size: 24px;
}

.body-title {
    font-size: 24px;
    font-weight: 300;
}

.highlight {
    color: #FFA202;
 
}

@keyframes rotate {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

.course-container {
    display: flex;
    flex-direction: row;
    max-width: 1200px;
    width: 100%;
    gap: 40px;
}

.image-container {
    flex: 1;
    max-width: 50%;
}

.image-container img {
    width: 100%;
    height: auto;
    border-radius: 10px;
    object-fit: cover;
    max-height: 600px;
}

.steps-container {
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.step {
    display: flex;
    margin-bottom: 30px;
    position: relative;
}

.step:last-child {
    margin-bottom: 0;
}

.step-indicator {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 40px;
    height: 40px;
    background-color: #B580D1;
    color: white;
    border-radius: 50%;
    font-weight: bold;
    margin-right: 20px;
    flex-shrink: 0;
    font-size: 14px;
}

.step-content {
    flex: 1;
}

.step-title {
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 12px;
    color: #333;
    text-transform: uppercase;
}

.step-description {
    color: #666;
    line-height: 1.5;
}

.step-number {
    color: #999;
    font-size: 16px;
    margin-bottom: 8px;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 700;
}

.step:last-child .vertical-line {
    display: none;
}

  .dashed-vertical-line {

    width: 2px;
  }
  
  .dashed-vertical-line::before {
    content: "";
    position: absolute;
    left: 20px;
    top: 40px;
    width: 2px;
    height: calc(100% + 10px);
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2 140"><line x1="1" y1="0" x2="1" y2="140" stroke="%23B580D1" stroke-width="2" stroke-dasharray="10 10"/></svg>');
    background-repeat: repeat-y;
  }

.centered-logos{
    justify-content: center;
    display: grid;
    width: 100%;
}
.step-indicator {
    font-size: 24px; /* Larger font size */
}

/* Making sure we use the right font and color */
.step-content, .step-title, .step-description, .step-number {
    font-family: 'Manrope', Arial, sans-serif;
    color: #111933;
}



/*-- Form Container -- */

/* Contact Form Styles */
.form-container {
    width: 100%;
    padding: 20px 0;
  }
  
  .contact-form {
    width: 100%;
  }
  
  .form-row {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
    width: 100%;
  }
  
  .form-group {
    flex: 1;
    display: flex;
    flex-direction: column;
  }
  
  .full-width {
    width: 100%;
    margin-bottom: 20px;
  }
  
  .form-group label {
    font-family: 'Manrope', Arial, sans-serif;
    margin-bottom: 8px;
    font-size: 14px;
    color: #111933;
  }
  
  .form-group input, 
  .form-group textarea {
    border: none;
    border-bottom: 1px solid #999;
    background-color: transparent;
    padding: 8px 0;
    font-family: 'Manrope', Arial, sans-serif;
    font-size: 16px;
    color: #111933;
    outline: none;
  }
  
  .form-group input::placeholder, 
  .form-group textarea::placeholder {
    color: #111933;
    opacity: 0.7;
  }
  
  .input-with-icon {
    position: relative;
    width: 100%;
  }
  
  .arrow-icon {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 20px;
    color: #111933;
  }
  
  textarea {
    resize: vertical;
    min-height: 100px;
    border: none;
    border-bottom: 1px solid #999;
    background-color: transparent;
  }
  
  .submit-btn {
    margin-top: 20px;
    background-color: #111933;
    color: white;
    border: none;
    padding: 12px 25px;
    border-radius: 5px;
    font-family: 'Manrope', Arial, sans-serif;
    font-size: 16px;
    cursor: pointer;
    transition: background-color 0.3s;
  }
  
  .submit-btn:hover {
    background-color: #5C068C;
  }
  