html{
    overflow-x:hidden;
  
    padding: 0;
    margin: 0;
    height: 100%;
    

}



.leftPadding{
    padding-left:10%;
}

body {
    padding: 0;
    margin: 0;
    font-family: var(--mainFont), serif;
    color: #242424;
    background-color: #fbfbfb;



    height: 100%;

    min-height: -webkit-fill-available;

    overflow-x:hidden;
    overflow-y: scroll;


}

.bold{
    font-weight: bolder;
}


.boldish{
    font-weight:900;
}




.buttonSize{
    font-size:var(--CTAFontSize);
    font-weight: bolder;
}


.buttonhref{
    text-decoration: none;
    color: #ededed;
    font-size: var(--CTAFontSize);
    margin-left: auto;
    margin-right: auto;
}

.noPadding{
    padding: 0;
}




:root {
    --highlightColour:  #ca0405;
    --highlightHover:  #b80909;
    --highlightActive:  #961d1d;
    --secondaryColour: 	#ca0405;
    --secondaryColour2:#b80909;
    --secondaryColour3:#961d1d;

    --mainFont: 'IBM Plex Sans', sans-serif;
    --highlightFont: 'IBM Plex Sans';
    
    --mainFontSize: calc(16px + 0.3vw);
    --CTAFontSize: calc(16px + 0.7vw);
    --hightlightFontSize: calc(16px + 0.4vw);
    --subtitleFontSize: calc(16px + 2vw);
    --navFontSize: calc(16px + 0.4vw);
    --brandFontSize: calc(16px + 1.5vw);
  }

.Highlight{
    color: var(--highlightColour);
}

p{
    font-size: var(--mainFontSize);;
}

.ctaSize{
    font-size: var(--CTAFontSize);
}


/*navbar*/
.navbar{
    width: 100vw;
    height: 50px;
    z-index: 100;
    top:15px;
   position:relative;
}

.nav-right{
            position:absolute;
            right:0;
            top:-15px;
            width:80%;
            height:95px;
            background:var(--highlightColour);

            border-bottom-left-radius:220px;
        }

.navBackground{
    background-color: #fbfbfb;
    height: 95px;
}

@media screen and (max-width: 576px){
    .navbar{
        top: 0;
    }
    .nav-right{
            width:60%;
            height:110px;
        }
}

.navbar-nav{
    position: absolute;
    transform: translateY(5px);
}



@media (max-width:700px) {
  .navbar-collapse {
    background-color: #1f1f1f; /*your desired dropdown colour*/
    position: absolute;       /* Makes it overlay the screen */
    top: 100%;                /* Directly under the navbar */
    left: 0;
    width: 100%;
    z-index: 999;             /* Keeps it on top */
    padding: 1rem 0;          /* Optional: spacing */
  }

  .navbar-nav{
    position: relative;
    transform: translateY(0px);
    float: right;
  }
}





.navbar-brand{
    color: #f1f1f1;
    font-size: var(--brandFontSize);
    
}
.navbar-brand:hover{
    color: #cacaca;
}

.navWave{
    background-color: transparent;
    position: absolute;
}

.extraListSpacing li{
    padding-left: 3%;
    padding-right: 3%;

}

.inlineList{
    padding: 0;
    margin: 0;
}

.inlineList li{
    margin: 0;
    display: inline-block;
}

.inlineIcon{
    transform: translateY(18%);
}

@media screen and (max-width: 800px){
    .inlineIcon{
    transform: translateY(10%);
}
}

.noDecoration{
    text-decoration: none;
}


.list2{
    list-style-type: none;
}

.navIMG{
    background-image: url('../images/ressocLogo-removebg-preview.webp');
    background-repeat: no-repeat;
    background-size:contain;
    background-position: center;
    width: 115px;
    height: 115px;
}

.navVertCenter{
    -ms-transform: translateY(45%);
    transform: translateY(45%);
}

.navVertCenter2{
    -ms-transform: translateY(35%);
    transform: translateY(35%);
}

.navIMGRight{
    margin-left: 2vw;
}

.FAQIMG{
    width:30vw;
    height: auto;
    border-radius: 30px;
}

@media screen  and (min-width: 500px) and (max-width: 700px) and (min-height:700px) and (max-height:900px) {
    
    .FAQIMG{
    width:85vw;
    height: auto;
    border-radius: 30px;
}
}

.FAQQuestion{
    font-family: calc(16px + 0.02vw);
}

.faqAnswer{
    display: flex;
    flex-direction: column;
}

.FAQdropdown{
    width: 80%;
    height: auto;
    background-color: rgb(252, 252, 252);
    border-radius: 10px;
    box-shadow: -0px 0px 3px  #10101099;
}

.aboutIMG{
    width:20vw;
    height: auto;
    border-radius: 10px;
}
.aboutIMG2{
    width:20vw;
    height: auto;
    border-radius: 10px;
}

@media screen and (max-width: 600px) {
    .navbar{
        height: auto;
        margin: 0;
        padding: 0;
    }
    .navIMG{
        background-repeat: no-repeat;
        background-size:contain;
        width: 70px;
        height: 70px;
    }


  }

  @media screen and (min-width: 601px) and (max-width: 900px) {
    
    .navIMG{
        background-repeat: no-repeat;
        background-size:contain;
        width: 70px;
        height: 70px;
    }

   
    }

.container-fluid {
    padding-left: 20px;
}

.nav-item {
    display: flex;
    justify-content: center;
    font-style: 'Cormorant Garamond';
    
}

.nav-item a {
    font-size: var(--navFontSize);
    font-style: 'Cormorant Garamond';
    color: #f1f1f1;
    
    border-radius: 20px;
}

@media screen and (min-width: 600px) and (max-width: 800px) {
    
    .nav-item a {
        font-size: calc(16px + 0.5vw);
    }
    }



.nav-item a:hover {
    color: #bbbbbb;
}


.nav-item a:active {
    color: var(--highlightActive);
}

.preventOverflow{
    width: 100vw;
}

.fact{
    color: var(--highlightColour);
}


.fact p{
    color: var(--highlightColour);
    
}

.factPara{
    width: 50%;
}


.navDetector{
    position:absolute;
    height: 50px;
    width: 100%;
    background-color: transparent;
}


.navbar-toggler-icon {
    width: 5vh;
    height: 5vh;
}

.navbar-toggler {
    color: transparent;
    background-color: transparent;
    border-color: transparent;
}

.navbar-toggler:hover {
    background-color: transparent;
    border-color: transparent;
}

.navbar:has(.navbar-toggler[aria-expanded="true"]){
    transition: background-color 0.3s ease-in-out;
}

.navbar:has(.navbar-toggler[aria-expanded="false"]){
    transition: background-color 0.3s ease-in-out;
}




@media screen and  (max-width: 600px) {
    .mobileHide{
        display: none;
    }
    
  }



.desktopHide{
    display: none;
}




@media screen and (min-width: 600px) and (max-width: 1040px) and (min-height:1000px) and (max-height:1400px) {
    .ipadHide{
       display: none;
    }
  }


@media screen and (min-width: 600px) and (max-width: 1040px) and (min-height:1000px) and (max-height:1400px) {
    /*Ipad parameters*/
    .ipadShow{
       display: flex;
    }

    .subtitleFix{
        font-size: calc(16px + 1vw);
        transform: translateY(.5vh);
    }

     .mobileLandingText{
        -ms-transform: translate(0,25vh);
        transform: translate(0,25vh);
    }

  }



@media screen and (min-width: 700px) and (max-width: 802px) and (min-height:1000px) and (max-height:1400px) {
    .nav-item a {
        font-size: calc(16px + 0.1vw);
    }

    .navbar-nav{
        position: absolute;
        transform: translateY(10px);
    }
  }

  @media screen and (min-width: 600px) and (max-width: 1040px)  {
    .fixShow{
       display:contents;
    }
  }


@media screen and  (max-width: 1023px) {
    .desktopHide{
        display:flex;
    }
  }

  @media screen and  (max-width: 1040px) and (min-height: 700px){
    .strangeHideFix{
        display:flex;
    }
  }




    


  @media screen and  (min-width: 500px) and (max-width: 999px) and (min-height: 600px){
    .sidePhoneHide{
        display: none;
    }
  }

  
  @media screen and  (min-width: 500px) and (max-width: 999px) and (min-height: 300px){
    .sidePhoneFix{
        display: none;
    }
  }







/*COntent*/

.landingPadding{
    padding-top: 0%;
}

.landingSection{
    position: relative;
    height: 100%;
}



.landingCopy{
    width: 35vw;
}

.heroVertCenter {
    margin: 0;
    position: absolute;
    top: 50%;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
}


@media screen and (min-width: 601px) and (max-width: 1000px) and (min-height:300px)  and (max-height:699px){
    .landingCopy{
        width: 60vw;
        text-align: left;
    }
}



.red{
    background-color: red;
}

.landingImg{
    position: absolute;
    bottom: -1px;
    right:0;


    height: 60%;
}

.landingText{
    width: 50%;
}

.heroLogoImg{
    margin: 0;
    position: absolute;
    width:30vw;
    height: auto;
    top: 50%;
    right: 5%;
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    border-radius: 30px;
}

.landingPostioning{
  margin: 0;
  position: absolute;
  top: 30%;
  -ms-transform: translateY(-30%);
  transform: translateY(-30%);
}


.landingBottomPositioning{
  margin: 0;
  position: absolute;
  bottom: 10%;
}

.landingButton{
    background-color: var(--secondaryColour);
    
    width: 100%;
    
    border-radius: 30px;
    font-size: var(--CTAFontSize);

}

.landingButton2{
    background-color: transparent;
    
    width: 100%;
    
    border-radius: 30px;
    font-size: var(--CTAFontSize);
    border-color: #ededed;
    border-width: 2px;
    border-style: solid;

}
.aboutCard{
    padding: 0;
    border-radius: 10px;
    border: none;
    width:20vw;
    height: auto;
}

    .ipadOnlyShow{
        display:none;

    }

  

.IpadLandingText{
    -ms-transform: translate(0,18vh);
    transform: translate(0,18vh);
}


  @media screen and (max-width: 600px) and (min-height:851px) and (max-height:1000px)  {
    .heroLogoImg{
        margin: 0;
        position: relative;
        top: 0%;
        right: 0%;
        width: 70vw;
        height: auto;

        -ms-transform: translate(0,15vh);
        transform: translate(0,7vh);
    }

    .landingPostioning{
        position: relative;
        top: 0%;
        -ms-transform: translateY(0%);
        transform: translateY(0%);
        padding-top: 15%;
    }
    
    .landingText{
        width: 90%;
    }
  }




@media screen and (min-width: 600px) and (max-width: 1040px) and (min-height:1000px) and (max-height:1400px) {


       .highlightLandingText{
        -ms-transform: translate(0,2vh);
        transform: translate(0,2vh);
    }
  }

  @media screen and (max-width: 600px)  and (max-height: 850px)  {
    .heroLogoImg{
        margin: 0;
        position: relative;
        top: 0%;
        right: 0%;
        width: 70vw;
        height: auto;

        -ms-transform: translate(0,15vh);
        transform: translate(0,7vh);
    }

    


    .landingPostioning{
        position: relative;
        top: 0%;
        -ms-transform: translateY(0%);
        transform: translateY(0%);
        padding-top: 15%;
    }

    .landingBottomPositioning{
         margin: 0;
        position: relative;
        padding-top: 15%;
    }

    
    .landingText{
        width: 90%;
    }


    .mobileLandingText{
        -ms-transform: translate(0,15vh);
        transform: translate(0,15vh);
    }

    .highlightLandingText{
        -ms-transform: translate(0,2vh);
        transform: translate(0,2vh);
    }
  }

@media screen and (max-width: 600px)  and (max-height: 850px)  {


        .FAQIMG{
        width:70vw;
        height: auto;
        border-radius: 30px;
        
    }
}

  @media screen and (max-width: 600px)  and (min-height: 850px) and (max-height: 1000px)  {


        .FAQIMG{
        width:70vw;
        height: auto;
        border-radius: 30px;
        
    }
    

    .mobileLandingText{
        -ms-transform: translate(0,40vw);
        transform: translate(0,40vw);
    }

    .highlightLandingText{
        -ms-transform: translate(0,3vw);
        transform: translate(0,3vw);
    }
  }



.landingImgMobile{
    position: absolute;
    bottom: 0;
    left: 0; 
    right: 0; 
    margin-inline: auto; 
    width: fit-content;


    height: 40%;


}

.landingImgIpad{
    position: absolute;
    bottom: 0;
    right: 0; 
    margin-inline: auto; 
    width: fit-content;


    height: 45%;


}



.heroCopy{
    color: #101010;
    font-size:calc(16px + 1.5vw) ;
}



    

    



@media screen and (min-width: 600px) and (max-width:1100px) and (min-height:300px) and (max-height:599px) {
   
    .landingImgIpad{
    height: 0%;
    }
}



.bubbleVertCenter{
    top: 40%;
}

.landingBubble{
    background-color: transparent;
    background-repeat: no-repeat;
    background-position: center;
    background-size:contain;

    border-radius: 100%;
    width: 35vw;
    height: 35vw;
}
.bubbleTextPosition{
    top: 30%;
    -ms-transform: translateY(20%);
    transform: translateY(20%);
}

.bubbleSubtitle{
    font-size: var(--subtitleFontSize);
}
.bubbleTitle{
    font-size: calc(16px + 3vw);;
}


@media screen and (min-width: 800px) and (max-width: 999px) {
    
    .bubbleTextPosition{
        top: 16%;
        -ms-transform: translateY(16%);
        transform: translateY(16%);
    }
    .bubbleSubtitle{
        font-size: calc(16px + 1.8vw);
    }
    .bubbleTitle{
        font-size: calc(16px + 2.3vw);;
    }
    }

    

.aboutSection{
    background-color: var(--highlightColour);
}

.FAQDrop{
    width: 100%;
}

.FAQBtn{
    border-radius: 100px;
}

.heroSubcopy{
    color: #f1f1f1;
    font-size:calc(16px + 1vw) ;
    text-align: left;
    width: 80%;
}

.qw{
    background-color: rebeccapurple;
}




  @media screen and (max-width: 800px) {
   


    
    .heroOverlay{
        width: 100vw;
        height: 35vh;
    }
   
    
    .c{
        display: none;
    }
  }
  @media screen and (min-width: 801px) and (max-width: 1000px) {
 
    .heroOverlay{
        width: 100vw;
        height: 35vh;
    }

    
    .c{
        display: none;
    }

  }




   

   





.black{
    color: #101010;
}



.grey{
    color: #333333;
}

.visitLinkText{
    color: var(--highlightColour);
    text-decoration: none;
    
    font-size: calc(16px + 0.9vw);
}
.visitLinkTextCard{
    color: var(--highlightColour);
    text-decoration: none;
    
    font-size: calc(16px + 0.3vw);
}

.visitLinkText:hover, .visitLinkTextCard:hover{
    color: var(--highlightHover);
}

.visitLinkText:active, .visitLinkTextCard:active{
    color: var(--highlightActive);
    
}

 .ContactButton{
    background-color: var(--highlightColour);
    color: #101010;
    
    padding-left: 3vw;
    padding-right: 3vw;
    border-color: #0e0e0e;
    border-radius: 3px;
    font-size: var(--CTAFontSize);
}
.ContactButton:hover{
    background-color: var(--highlightHover);
}
.ContactButton:active{
    background-color: var(--highlightActive);
}



/* Have to fix this for mobile, just change the values for the width, and left values. THE LEFT VALUES DEPEND ON THE WIDTH */

.serviceText{
    width: 30%;
    position: absolute;
    top: 53%;

    transform: translateY(-50%);
  }

  .brickText{
    left: 10%;
  }

  .blockText{
    left: 60%;
  }

.brickwork{
    background-color: #cd5746;
    height: 35vw;
}

.blockwork{
    background: #3e3e3e;
    height: 35vw;
}

.certificateImg{
    width: 8vw;
    height: 8vw;
}
















.serviceButton{
    background-color: var(--secondaryColour);
    color: #101010;
    
    padding-left: 2vw;
    padding-right: 2vw;
    border-color: #0e0e0e;
    border-radius: 50px;
    font-size: var(--CTAFontSize);
}

.serviceButton:hover{
    background-color: var(--secondaryColour2);
}
.serviceButton:active{
    background-color: var(--secondaryColour3);
}

.testButton{
    background-color: var(--secondaryColour);
    
    width: 60%;
    
    border-radius: 50px;
    font-size: var(--CTAFontSize);

}

.aboutContactButton{
    background-color: white;
    
    width: 40%;
    
    border-radius: 30px;
    border-style: solid;
    border-width: 2px;
    border-color: #000;
    font-size: var(--CTAFontSize);

}




.page-link{
    color: var(--highlightActive);
}
.page-link:hover{
    color: var(--highlightHover);
}
.page-link:active{
    color: var(--highlightColour);
}

.currentPage .page-link{
color: rgb(255, 255, 255);
background-color: var(--highlightActive);
border-color: transparent;
}

.paperButton{
    background-color: var(--secondaryColour);
    
    width: auto;
    
    border-radius: 30px;
    font-size: var(--CTAFontSize);

}

.paperButton:hover{
    
    background-color: var(--secondaryColour2);
}



.landingButton:hover{
    
    background-color: var(--secondaryColour2);
}



  @keyframes fadeout {
    from {
        background-color: #ededed;
    }

    to {
         background-color: transparent;
    }

    
}

@keyframes fadeIn {
    from {
        background-color: transparent;
    }

    to {
        background-color: #ededed;
    }
}

.landingButton2:hover{
    animation-name: fadeIn;
    animation-duration: 0.3s;
    background-color: #ededed;
}

.landingButton2:hover h3{
    color: #1e1e1e;
}

.landingButton2:active{
    background-color: #c9c9c9;
    border-color: #c9c9c9;
}





.vertical-center {
  margin: 0;
  position: absolute;
  top: 50%;
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}





/*Mobile*/
@media screen and (max-width:999px) and  (max-height:999px) {
    .landingCopy{
        width: 80vw;
    }

    .heroVertCenter{
        top: 0;
        bottom: 0;
        margin: auto 0;
    }

    .landingContactButton{
        width: 50%;
    }
}

.landingContactButton:hover{
    background-color: var(--secondaryColour2);
    color: #101010;
    
 

}

.landingContactButton:active{
    background-color: var(--secondaryColour3);
    color: #f1f1f1;
    
 

}

.landingContactButton a{
    color: rgb(236, 236, 236);
    

}

.extraSidesPadding{
    padding-left: 8%;
    padding-right: 8%;
}

.navContactButton{
    background-color: white;
    color: #292929;
    
    border-style: solid;

    border-width: 1px;
    border-radius: 30px;

    
    font-size: var(--CTAFontSize);
}

.navButton{
    background-color: transparent;
    color: #f1f1f1;
    
    border-style: solid;
    border-color: #e3e3e3;
    border-width: 2px;
    border-radius: 30px;

    
    font-size: var(--CTAFontSize);
}



@media screen and (max-width: 575.98px) {
  .scroller-colored {
    background-color: #1f1f1f !important; /* or any color you want */
    transition: background-color 0.05s ease;
  }
}

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

@media screen and (max-width:576px) and (max-height: 999px) {
        .titleCopy{
        position: relative;
        margin-top: 300px;
        transform: translate(-50%, -430%);
    }
}

.navContactButton:hover{
    background-color: var(--secondaryColour2);
}
.navContactButton:active{
    background-color: var(--secondaryColour3);
}

.navContactButton a{
    margin-top: 1%;
    color: #f1f1f1;
   
}

@media screen and (max-width: 800px) {
    .ProductsButton, .ContactButton{
        width: 40vw;
    }
  }

  @media screen and (min-width: 801px) and (max-width: 1100px) {
    .ProductsButton, .ContactButton{
        width: 30vw;
        
        
    }
   
  }




.test{
    width: 1200px;
    height: 100px;
    background-color: red;
    z-index: 50;

    position: -webkit-sticky; /* Safari */
    position: sticky;
    top: 10%;
}






.regularButton{
    display: flex;
    margin-top: 2vh;
    margin-left: auto;
    margin-right: auto;

    background-color: var(--highlightColour);
    color:#ededed;
    padding: 13px;
    border-style: none;
    border-radius: 25px;
    font-size: var(--CTAFontSize);
}


.map{
    width: 100%;
    height: 65vh;
    border: #a1a1a1;
    border-style: solid;
    border-width: 1px;
}



@media screen and (max-width: 500px) {
    .map{
        width: 100%;
        height: 90vw;
    }
  }

  @media screen and (min-width: 501px) and (max-width: 1100px) {
    .map{
        width: 100%;
        height: 45vh;
    }
  }

.middle{
    text-align: center;
}

.lineageSection{
    background-color: #1e1e1e;
}

.lineageImg{
    height: 500px;
    width: auto;
}

@media screen and (max-width: 500px) and (max-height:1000px){
    
   .lineageImg{
        width: 100%;
        height: auto;
    }
}


.smallerFont{
   font-size:105%;
}



.decorativeArrow{
   color: var(--highlightColour);
   padding-left: 25px;
}

@media screen and (max-width: 500px) and (max-height:900px){
    
    .decorativeArrow{
    color: var(--highlightColour);
    padding-left: 5px;
    }
    .FAQdropdown{
        width: 90%;
    }

}

.stars{
    background-image: url('../images/stars.png');
    background-repeat: no-repeat;
    background-position: center;
    background-size:contain;
    margin: 0;
    padding: 0;
    width: calc(16px + 8vw);
    height: calc(16px + 1vw);

}

.reviewerTitle{
    color: #1a1a1a;
}

.review{
    width: 100%;
}

@media screen and (min-width: 501px) and (max-width: 1000px) {
    .stars{
        width: calc(16px + 13vw);
        height: calc(16px + 3vw);
    
    }
    
  }

@media screen and (max-width: 500px) {
    .stars{
        width: calc(16px + 20vw);
        height: calc(16px + 3vw);
    
    }
  }


  .websiteOverlay{
    background-color: #0e0e0e;
    width: 100%;
    height: auto;
    z-index: 2;
  }

  @keyframes lift {
    from {
        transform: translateY(0);
    }

    to {
        transform: translateY(-5px);
    }

    
}

@keyframes fall {
    from {
        transform: translateY(-5px);
    }

    to {
        transform: translateY(0);
    }
}



.cardAnimation{
    animation-name: fall;
    animation-duration: 0.2s;
    transform: translateY(0);

  }

  .cardAnimation:hover{
    animation-name: lift;
    animation-duration: 0.2s;
    transform: translateY(-5px);

  }

  .instructorImg{
    height: 500px;
    width: auto;
  }

  
  @media screen and (max-width: 900px)  and (max-height: 1200px)  {
    /*mobile and ipad vertical*/
    .instructorImg{
        height: auto;
        width: 100%;
    }

  }

  





  .instructorDescription{
    font-size: calc(16px + 0.1vw);
  }


  .paperCard{
    box-shadow: -0px 0px 3px  #10101099;
    width: 200vw;
  }

  .cardDescription{
    font-size: calc(16px + 0.05vw);
    text-align: left;
  }

  .card-img-top{
    width: 100%;
    height: 50%;
  }


  .cardOverlay {
    display: flex;
    align-items: flex-end; /* vertically pushes content to bottom */
    padding: 0;
    padding-left: 5%;
    margin: 0;
}

.aboutCardTitle{
    font-size: calc(16px + 0.75vw); ;
    text-align: left;
}

  .seperatorCard{
    margin-left: auto;
    margin-right: auto;
    width:100%;
    height: 5px;
    margin-bottom: 1vh;
}


  @keyframes lift2 {
    from {
        transform: translateY(-15%);
    }

    to {
        transform: translateY(-16%);
    }

    
}

@keyframes fall2 {
    from {
        transform: translateY(-16%);
    }

    to {
        transform: translateY(-15%);
    }
}

  .cardAnimation2{
    animation-name: fall2;
    animation-duration: 0.2s;
    transform: translateY(-15%);


  }

  .cardAnimation2:hover{
    animation-name: lift2;
    animation-duration: 0.2s;
    transform: translateY(-16%);

  }

  


  



/*Carousel*/

.carouselImage{
    width: 20vw;
}
.bestSellerName{
    width:80%;
}


.inline{
    display: inline-flex;
}





.carousel-control-prev-icon{
    background-color: var(--highlightColour) ;
    width: 4vw;
    height: 4vw;
    padding: 0;
    opacity: 1;
    border-radius: 5%;
}



.carousel-control-next-icon{
    background-color: var(--highlightColour) ;
    width: 4vw;
    height: 4vw;
    opacity: 1;
    border-radius: 5%;
}

@media screen and (max-width: 1000px) {
    .carousel-control-prev-icon{
        background-color: var(--highlightColour) ;
        width: 8vw;
        height: 8vw;
        padding: 0;
        
    }
    
    
    
    .carousel-control-next-icon{
        background-color: var(--highlightColour) ;
        width: 8vw;
        height: 8vw;
    }
}


.third{
    padding: 0;
    margin: 0;
    flex: 0 0 33.33%; /* Ensure each item takes up one-third of the available space */
    width: auto;
}

@media screen and (min-width:301px) and (max-width: 500px) {
    .carouselImage{
        width: 25vw;
    }

    .bestSellerName{
        font-size: calc(16px + 0.5vw);
        width:80%;
    }
  }


  @media screen and (min-width:501px) and (max-width: 800px)  {
    .carouselImage{
        width: 26vw;
    }

    .bestSellerName{
        font-size: calc(16px + 1.5vw);
        width:80%;
    }
  }

  @media screen and (max-width: 300px)  {
    .carouselImage{
        width: 25vw;
    }

   

    .bestSellerName{
        font-size: calc(13px + .0vw);
        width:80%;
    }
  }

.triangle{
    
    background-color:var(--highlightColour);
  }

.timetableSection{
    background-color:#1e1e1e;

    color: #f1f1f1;
}

.additionalText{
    width: 80%;
}





.yearsSection{
    z-index: 0;
    position: relative;
    background-color:  #F6F6F6;
   
    border: none;
    color: #1e1e1e;
}

.copyPieceTitle{
    color: var(--highlightColour);
    font-weight: bolder;
    font-size: calc(16px + 1vw);
}



.txtBorder{
    text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;

}






/*Banner*/

.banner{
background-color:#f1ead9;
}

.bannerSubtitle{
    font-size: calc(16px + 1.8vw);
    margin: 0;
    padding: 0;
}

.bannerCopy{
    font-size: calc(16px + 1.2vw);;
}

.rocketIcon{
    background-image: url('../images/rocket-removebg-preview.png');
    background-repeat: no-repeat;
    background-position: center;
    background-size:cover;

    width: calc(16px + 6vw);
    height: calc(16px + 6vw);
}
.gaugeIcon{
    background-image: url('../images/gauge-removebg-preview.png');
    background-repeat: no-repeat;
    background-position: center;
    background-size:cover;

    width: calc(16px + 8vw);
    height: calc(16px + 6vw);
}
.copywriteIcon{
    background-image: url('../images/copywrite-removebg-preview.png');
    background-repeat: no-repeat;
    background-position: center;
    background-size:cover;

    width: calc(16px + 6vw);
    height: calc(16px + 6vw);
}

@media screen and (max-width: 800px) and (max-height: 900px){
    .rocketIcon{
      
    
        width: calc(16px + 15vw);
        height: calc(16px + 15vw);
    }
    .gaugeIcon{
        width: calc(16px + 15vw);
        height: calc(16px + 13vw);
    }
    .copywriteIcon{
        width: calc(16px + 15vw);
        height: calc(16px + 15vw);
    }

   
    
  }

@media screen and (min-width: 650px) and (max-width: 899px) {
    
    .bannerSubtitle{
        font-size: var(--subtitleFontSize);
    }
    
    .bannerCopy{
        font-size: calc(16px + 1.8vw);;
    }
}

.bannerTitle{
    padding-top: 3vh;
    padding-left: 2vw;
    color: #ededed;
    padding-bottom: 1vh;
}

.bannerContent{
    padding-left: 2vw;
}


.bannerItemTitle{
    font-family: var(--highlightFont), sans-serif;
    font-size: calc(16px + 2.5vw);
}

.bannerItemPara{
    color: white;
    text-align: center;
}

.GalleryPhoto{
    width: 25vw;
}

@media screen and (max-width: 600px)  and (max-height: 900px)  {
    .GalleryPhoto{
        width: 40vw;
    }
}

.productImg{
    width: 10px;
    height: 10px;
}

.productInfo{
    width:80%;
    
}

.content{
    color:#f1f1f1;
    position: absolute;
    bottom: 10%;
    left: 50%;
    transform: translate(-50%, 0);
}

.cardOverlay{
    background-color: #080808d3;
}

.card{
    padding: 0;
    border-radius: 2%;
    border: none;
    height: 100%;

    width: 95%;
}

.aboutCard{
    padding: 0;
    border-radius: 10px;
    border: none;
    width:20vw;
    height: auto;
}

.aboutCardTitle{
    font-size: calc(16px + 0.75vw); ;
    text-align: left;
}

@media screen and (max-height: 1000px) and (max-width: 740px)  {

    .aboutCard{
        width:40vw;
    }
    
}



.cardArrow{
    color: #f1f1f1;
}

.cardInteractive{
     margin-left: 3%;
}



.projectCard{
    background-color: red;
}



.stuff{
    margin: 0;
    padding-bottom: 5%;
}

.siteDescription{
    width:80%;
    text-align: left;
}




@media screen and (min-height: 400px) and (max-height: 1130px) and (max-width: 740px) {

    
    .siteDescription{
        width:100%;
    }

    
    .stuff{
        padding-bottom: 0%;
    }

    .siteTitle{
        font-size: calc(16px + 5.0vw);
    }

    
    .visitLinkText{
        font-size: calc(16px + 3vw);
    }
  }









.blackBack{
    background-color: #101010;
}

.blackBack:hover{
    background-color: #333333;
}

.whiteTxt{
   color: #f1f1f1;
}

.blackTxt{
    color: #101010;
}

.whiteBack{
    background-color: #cacaca;
}

.whiteBack:hover{
    background-color: var(--highlightHover);
}




.liftCard{
    transform: translateY(-15%);
}

@media screen and (max-width: 700px) {
    .liftCard{
        transform: translateY(0%);
    }
  }

.social a{
    color: #f1f1f1;
}




@media screen and (max-width: 600px) {
    .social{
        width:12vw;
        height: 12vw;
    }
  }

  @media screen and (min-width: 600px) and (max-width: 800px) {
    .social{
        width:10vw;
        height: 10vw;
    }
  }

  

  @media screen and (min-width: 800px) and (max-width: 1000px) {
    .social{
        width:10vw;
        height: 10vw;
    }
  }



.social:active{
    background-color: var(--highlightActive);
}

.right{
    float: right;
}


.left{
    margin-left:0; 
    margin-right:auto;
    float: left;
}


.textLeft{
    text-align: left;
}

.textCenter{
    text-align: center;
}

.textRight{
    text-align: right;
}


.back {
    z-index: 0;
}


/* Controller Buttons */
button {
    border: none;
    background-color: transparent;
    cursor: pointer;
    margin: 10px;
    transition: transform 0.5s;
}

button:focus {
    outline: none;
}

button:hover i {
    color: #636363;
}





.galleryImgMobile{
    width: 80%;
}


@media screen and (min-width: 501px) and (max-width: 1100px) {
    .aboutSideImage{
        background-size:cover;
        width: 100%;
        height: 70vh;
    }
   
  }



  @media screen and (max-width: 500px) {
    .aboutSideImage{
        width: 100%;
        height: 70vh;
    }
    
  }

.bookImage2{
    background-image: url('../images/book1.webp');
    background-repeat: no-repeat;
    background-position: center;
    background-size:contain;

    width: 100%;
    height: 50vh;
}



.bookArrow{
    padding: 0;
}

.arrowPara{
    display: inline;
}

.fa-arrow-right{
    padding-left: 3px;
}

@media screen and (max-width: 1000px) {
    .fa-arrow-right{
        margin-top: 30%;
        padding-left: 3px;
    }
  }


.testImg{
    width: 80%;
    height: 100%;
}


.mindImg{
    width: 80%;
    height: 100%;
}

.mobileFullDesktopHalf{
    width: 100%;
  }

@media screen and (min-width: 900px) {
    .mindImg{
        width: 50%;
        height: 100%;
    }

    .mobileFullDesktopHalf{
        width: 50%;
      }
  }





.aboutVertCenter{
    transform: translateY(0%);
}

@media screen and (min-width: 999px) and (min-height:700px) and (max-height:1500px) {
    .aboutVertCenter{
        transform: translateY(15%);
    }
}

.sectionImg{
    width: 90%;
    height: 100%;
    margin-left: auto;
    margin-right: auto;
    text-align: center;

}

.toddlerSectionImg{
    width: 80%;
    height: 90%;
}

.sectionImgDesk{
    width: 100%;
    height: 60%;
    margin-left: auto;
    margin-right: auto;
    text-align: center;

}

@media screen and (min-width: 600px) and (max-width: 1000px)  {
    .sectionImg{
        width: 100%;
        height: 90%;
    }

    .babySectionImg{
        height: 45%; 
        width: 102%;
    }

    .babyEnrollImg{
        height: 60%; 
        width: 102%;
    }

    .preschoolenrollImage{
        height: 60%; 
        width: 100%;
    }
  }
  @media screen and (min-width: 700px) and (max-width: 750px) and (min-height:300px) {
    
    .babySectionImg{
        height: 100%; 
        width: 102%;
    }

  }

.bookMobileImg{
    width: 80%;
    height: 20%;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.recruitSection{
    background-color: #FAEEE7;
}



.horizontalSeperator{
    background-color: #3a3a3a;
    width:2px;
    height: 6vh;
    top: 40%;
    display: inline-block;
    margin-left: 5vw;
}

.moveRight{
    animation-duration: 1.7s;
    animation-name: right;
}

.NoOpacity{
    opacity: 0;
}

@keyframes right {
    from {
        translate: -20vw 0;
        opacity: 0;
    }

    to {
        translate: 0vw 0;
        opacity: 1;
    }
}



.riseItem{
    animation-duration: 2s;
    animation-name: riseMation;
}

@keyframes riseMation {
    from {
        translate: 0 6vw;
        opacity: 0;
    }

    to {
        translate: 0 0vw;
        opacity: 1;
    }
}






.list li{
    list-style:disc;
}
.listItem{
    font-size: var(--mainFontSize);
}




.icon{
    background-repeat: no-repeat;
    background-position: center;
    background-size:contain;
    padding: 0;
    width: calc(20px + 5vw);
    height: calc(20px + 5vw);
    display: inline-block;
}









.fontSize{
    font-size: var(--mainFontSize);
}

.biggerFont{
    font-size: calc(var(--mainFontSize) + .6vw);
}

.subtitleSize{
    font-size: var(--subtitleFontSize);
}

.subtitleFixLanding{
    font-size: calc(16px + 1.5vw);
    transform: translateY(3.5vh);
}

.landingBottomgSubtitle{
    font-size: calc(16px + 2vw);
    transform: translateY(2.5vh);
}

.subtitleFix{
    font-size: calc(16px + 1vw);
    transform: translateY(3.5vh);
}

@media screen and (max-width: 1000px) {
    .mobileLargerFont{
        font-size: calc(16px + 2vw);
        font-weight: bold;
    }

    .subtitleFix{
        transform: translateY(2vh);
    }   

    .subtitleFixLanding{
    font-size: calc(16px + 1.5vw);
    transform: translateY(2vh);
}

  }

  @media screen and (min-width: 600px) and (max-width: 1040px) and (min-height:1000px) and (max-height:1400px) {
 
    .subtitleFix{
        font-size: calc(16px + 1vw);
        transform: translateY(1vh);
    }

  }

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

.titleSize{
    font-size: calc(16px + 3vw);;
}

.titleSize2{
    font-size: calc(16px + 5vw);;
}

.titleSize3{
    font-size: calc(16px + 2vw);;
}


@media screen and (max-width: 1000px) {
    .mobileCenter{
        margin-left: auto;
        margin-right: auto;
        text-align: center;
    }
    .mobileleft{
        margin-left:0; 
        margin-right:auto;
        float: left;
    }
  }

.aboutTitle{
    padding-top: 5vh;
   text-align: center;
   font-family: var(--highlightFont), sans-serif;
   position: relative;
   z-index: 2;
}
.aboutTitle2{
    padding-top: 10vh;
}

.aboutPara{
    font-size: var(--mainFontSize);;
    width: 50%;
}

.aboutParaImg{
    width: 45%;
}


.aboutPara2{
    font-size: var(--mainFontSize);;
    text-align: center;
    width: 90%;
}
.aboutPara3{
    font-size: var(--mainFontSize);;
    text-align: center;
    width: 80%;
}








.class{
    padding-top: 10%;
    border-radius: 15%;
    z-index: -1;
    width: 60%;
}

.processSection{
    background-color: #ffffff;
}

.relative{
    position: relative;
}

.designImg{
    width: 60%;

    left: 45%;


    position: absolute;
}

@media screen and (min-width: 900px) and (max-width:1400px) and (min-height:800px) and (max-height:1100px) {
    .designImg{
        width: 70%;
    }
    
}



@media screen and (min-width: 700px) and (max-width:1000px) and (min-height:900px) and (max-height:1400px) {
    .designImgMobile{
        width: 110%;
    }
}

.buildImg{
    width: 50%;

    position: absolute;
}

.buildImgMobile{
    width: 100%;

}


.optimiseImg{
    width: 50%;
    left: 50%;

    position: absolute;
}

.optimiseImgMobile{
    width: 100%;

}



.noPadding{
    padding: 0;
    margin: 0;
}

.definitionHighlight{
    display: inline;
    color: var(--highlightActive);
}

@media screen and (max-width: 1000px) {
    .seperator6{
        background-color: #53535339;
        margin-left: auto;
        margin-right: auto;
     
        width:80%;
        height: 0.2vh;
    }
  }




.seperatorL{
    background-color: #202D60;
    margin-left: auto;
    margin-right: auto;
    width:35vw;
    height: 0.4vh;
}

.seperator{
    background-color: #a8a8a8;
    margin-left: 0;
    margin-right: auto;
    width:70vw;
    height: 0.15vh;
    margin-top: 4vh;
}

.seperator2{
    background-color: #6b6b6b;
    width:10vw;
    height: 0.2vh;
    margin-bottom: 2vh;
}

.seperator3{
    background-color: #6b6b6b;
    margin-left: auto;
    margin-right: auto;
    width:10%;
    height: 0.2vh;
    transform: translateY(-5px);
}




.seperatorHighlight{
    background-color: var(--highlightColour);
    margin-left: auto;
    margin-right: auto;
    width:50%;
    height: 0.4vh;
    margin-bottom: 1vh;
}

.goToContactButton{
    display: flex;
    margin-top: 5vh;
    margin-left: auto;
    margin-right: auto;

    background-color: var(--highlightColour);
    color: #ffffff;
    padding: 15px;
    border-style: none;
    border-radius: 20px;
    font-size: var(--CTAFontSize);
}
.goToContactButton:hover{
    background-color: var(--highlightHover);
}
.goToContactButton:active{
    background-color: var(--highlightActive);
}








.white{
    color: white;
}

.buffer{
    padding-top: 20px;
}
.bottomPadding{
    padding-bottom: 10vh;
}
.bottomPadding2{
    padding-bottom: 5vh;
}
.bottomPadding3{
    padding-top: 7vh;
}
.topPadding{
    padding-top: 10vh;
}
.topPadding2{
    padding-top: 15vh;
}
.topPadding3{ 
    padding-top: 5vh;
}
.topPadding4{
    padding-top: 2vh;
}

.topPadding5{
    padding-top: 40px;
}

.topPadding6{
    padding-top: 15px;
}

.topPadding7{
    padding-top: 10px;
}
.topPadding8{
    padding-top: 25px;
}
.topPadding9{
    padding-top: 5px;
}

.processPaddingFix{
    padding-top: 0%;
}

@media screen and (min-width: 700px) and (max-width:850px) and (min-height:1000px) {
    .processPaddingFix{
        padding-top: 0;
    }
    
}
@media screen and (min-width: 700px) and (max-width:900px) and (min-height:300px) and (max-height:700px) {
    .processPaddingFix{
        padding-top: 20%;
    }
    
}

@media screen and (min-width: 1000px)  and (min-height:524px) {
    .processPaddingFix{
        padding-top: 52%;
    }
    
}

.processPaddingFix2{
    padding-top: 0%;
}



@media screen and (min-width: 1400px)  and (min-height:524px) {
    .processPaddingFix2{
        padding-top: 12%;
    }
    
}

.landingPadding1{
    padding-top: 50%;
}

.landingPadding2{
    padding-top: 100px;
}


.cardPadding{
    padding-top: 18%;
}

.cardPadding2{
    padding-top: 5%;
}
.cardPadding3{
    padding-top: 15%;
}

@media screen and (min-width: 1px) and (max-width: 699px) {
    .cardPadding2{
        padding-top: 5%;
    }
    
}

@media screen and (min-width: 901px) and (max-width: 999px) {
    .cardPadding{
        padding-top: 20%;
    }
    
}
@media screen and (min-width: 701px) and (max-width: 899px){
   
    .class{
        width: 70%;
    }
    
}
@media screen and (min-width: 501px) and (max-width: 999px) and (max-height: 500px){
   
    .cardPadding{
        padding-top: 7%;
    }
  
    
}
@media screen and (min-width: 900px) and (max-width: 999px) {
   
    .class{
        width: 80%;
    }
    
}

@media screen and (min-width: 1000px) and (max-width: 1100px) {
   
    .class{
        width: 80%;
    }
    
}






.topWave{
    transform: translateY(10%);
}

.openingHours{
    background-color: #FAEEE7;
}

.bottomWave{
    transform: translate(0%, -10%) rotate(180deg) ;
}

.classCopy{
    color: #f6f6f6;
    width: 90%;

}

.underline{
    text-decoration: underline;
    text-decoration-color: var(--highlightColour);
    text-decoration-thickness: 4px;

}


@media screen and (max-width: 600px) and (max-width: 1040px)  {
    .underline{
    text-decoration-thickness: auto;

}
  }

.contactSection{
    background-color: #1f1f1f;
    color: #f1f1f1;
}


.foot-nav-item {
     display: block;
    justify-content: center;
    font-style: 'Cormorant Garamond';
    
}

.foot-nav-item a {
    font-size: var(--navFontSize);
    font-style: 'Cormorant Garamond';
    color: #f1f1f1;
    
    border-radius: 20px;
}

@media screen and (min-width: 600px) and (max-width: 800px) {
    
    .foot-nav-item a {
        font-size: calc(16px + 0vw);
    }
    }



.foot-nav-item a:hover {
    color: #bbbbbb;
}


.foot-nav-item a:active {
    color: var(--highlightActive);
}

.whiteBackgrnd{
    background-color: #ffffff;
}

.footerSection{
    color: #f1f1f1;
}

.logoFooter {
    background-image: url('../images/Lgo.png');
    background-repeat: no-repeat;
    background-position: center;
    background-size:contain;
    padding: 0;
    width: calc(16px + 22vw);
    height: calc(16px + 8vw);
    
    margin-left: auto; 
    margin-right: auto; 
}

@media screen and (max-width: 1000px) {
    .logoFooter {
        width: calc(16px + 30vw);
        height: calc(16px + 25vw);
        
    }
  }


.contactRow2{
    padding-top: 5vh;
}

.fixfont{
    font-family: var(--mainFont);
    font-size: var(--mainFontSize);
    display: inline;
    text-align: left;
}

.envelopeDiv{
    width: 50%;
    height: auto;
}

.contactSubtitle{
    width: 60%;
}

.smallButton{
    background-color: var(--highlightColour);
    color: #e9e9e9;
    
    padding-left: 1vw;
    padding-right: 1vw;
    border-radius: 3px;
    font-size: calc(16px + 0.3vw);
}

.smallButton:hover{
    background-color: var(--highlightHover);
}

.smallButton:active{
    background-color: var(--highlightActive);
}

.captcha-container {
  display: flex;
  justify-content: center;
  margin: 1em 0;
}

.message{
    width: 25vw;
    border-style: solid;
    height: 7vw;
}

.message:hover{
    border-color: var(--highlightHover);
 }

 .message:active{
    border-color: var(--highlightActive);
 }

.formMember{
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.formEmail{
    width: 15vw;
    border-style: solid;
}

.submitButton{
    font-size: var(--mainFontSize);
}


.emailText{
    width: 90%;
    overflow-wrap:break-word;
    /* or */
    word-wrap: break-word;

    text-decoration: none;
}

.emailLink{
    text-decoration: none;
}



.formEmail:hover{
   border-color: var(--highlightHover);
}

.formEmail:active{
    border-color: var(--highlightActive);
 }

.formSubject{
    width: 15vw;
    border-style: solid;
}

.formSubject:hover{
    border-color: var(--highlightHover);
 }

.formSubject:active{
    border-color: var(--highlightActive);
 }

 @media screen and (max-width: 500px) {
    .formEmail{
        width: 40vw;
    }
    .formSubject{
        width: 40vw;
    }
    .message{
        width: 90vw;
    }
    
  }

  @media screen and (min-width: 501px) and (max-width: 1000px) {
    .formEmail{
        width: 20vw;
    }
    .formSubject{
        width: 20vw;
    }
    .message{
        width: 40vw;
    }
    
  }


.footerRow .footerItem{
    display: inline-block;
}

.footerItem{
    font-size: var(--mainFontSize);
    color: #a2a2a2;
}

.termsLink{
    color: #6b6b6b;
    text-decoration: none;
}
.termsLink:hover{
    color: #7c7c7c;
    text-decoration: nne;
}
.termsLink:active{
    color: #373636;
    text-decoration: nne;
}

.footerCopy{
    color: #101010;
    font-size: calc(16px + 0.2vw);
}

@media screen and (min-width: 700px) and (max-width: 1100px) and (min-height: 950px) and (max-height: 1400px)  {
    /*IPads*/
        .message{
        width: 20vw;
        border-style: solid;
        height: 7vw;
    }

    .landingBottomPositioning{
        margin: 0;
        position: absolute;
        bottom: 5%;
        }


    
    .aboutCardTitle{
        font-size: calc(16px + 0.45vw); ;
        text-align: left;
    }

    .ipadCenter{
        margin-left: auto;
        margin-right: auto;
        text-align: center;
    }

    .ipadOnlyShow{
        display: flex;

    }
    
    .landingButton{
        width: 80%;
    }

    .landingButton2{
        width: 80%;
    }

    .heroLogoImg{
        margin: 0;
        position: relative;
        top: 0%;
        right: 0%;
        width: 50%;
        height: auto;
         -ms-transform: translateY(20%);
        transform: translateY(20%);

    }

     .landingText{
        width: 70%;
    }

    .landingPostioning{
        margin: 0;
        position: relative;
        top: 40%;
        -ms-transform: translateY(0%);
        transform: translateY(0%);
    }


  }


@media screen and (max-width: 600px) {
    .footerCopy{
        color: #101010;
        width: 100%;
        font-size: calc(16px + 0.2vw);
    }

   
    
  }


.footerItem a {
    color: f2f2f2;
    
    border-radius: 20px;
}

.footerItem a:hover {
    color: var(--highlightHover);
    
    border-radius: 20px;
}

.hoverGrey:hover{
    color: rgb(220, 220, 220);
}

.contactInfo{
    font-size: var(--mainFontSize);
}

.contactIcon{
    color: #565656;
}



.center{
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.absoluteCenter{
    
        left: 0; 
        right: 0; 
        margin-inline: auto; 
        width: fit-content;
}

.g-recaptcha{
    margin-left: auto;
    margin-right: auto;
    text-align: center;
    transform:scale(0.77);
    transform-origin:0 0;
}

.vertCenter{
    transform: translateY(-20%);
}


.right{
    margin-left: auto;
    margin-right: 0;
}

.TnC:hover{
    color: var(--highlightHover);
}

.socialMedia{
    margin-right: 2vw;
}
.socialMedia:hover{
    color: #8d8d8d;
}
.socialMedia:active{
    color: var(--highlightColour);
}

.websiteAuthor{
    font-size: calc(16px + 0.08vw);
}

.websiteAuthor a{
    text-decoration: none;
    color: var(--highlightColour);
    padding: 2px;
}

.websiteAuthor a:hover{
    color: var(--highlightHover);
}

.websiteAuthor a:active{
    color: var(--highlightActive);
}






.hoverHighlight:hover{
    color: var(--highlightHover);
}









.navbar-toggler-icon {
  display: inline-block;
  width: 30px;
  height: 22px;
  position: relative;
  background: none;
  border: none;
}

.navbar-toggler-icon::before,
.navbar-toggler-icon::after,
.navbar-toggler-icon div {
  content: '';
  position: absolute;
  left: 0;
  width: 100%;
  height: 3px;
  background-color: #f1f1f1; /* line color */
  transition: all 0.3s ease;
  border-radius: 2px;
}

/* Top bar */
.navbar-toggler-icon::before {
  top: 0;
}

/* Middle bar */
.navbar-toggler-icon div {
  top: 50%;
  transform: translateY(-50%);
}

/* Bottom bar */
.navbar-toggler-icon::after {
  bottom: 0;
}

/* When open (aria-expanded="true") → animate to X */
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon::before {
  transform: rotate(45deg);
  top: 50%;
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon div {
  opacity: 0;
}

.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon::after {
  transform: rotate(-45deg);
  bottom: auto;
  top: 50%;
}
