* {
   box-sizing: border-box;
   margin: 0;
   padding: 0;
   overflow-x: hidden;
}

:root {
   --overlayColor: rgba(0, 0, 0, 0.7);
   --rem2: 2rem;
   --rem1-3: 1.3rem;
   --rem1-1: 1.1rem;
   --rem1-05: 1.05rem;
}

img {
   width: 75px;
   height: 70px;
   border-radius: 10px;
}

html,
body {
   min-height: 100%;
}

body {
   font-family: "Chelsea Market", system-ui;
   display: flex;
   flex-direction: column;
   min-height: 100vh;
}

.swirl-bg {
   flex: 1 0 auto;
   display: flex;
   flex-direction: column;
}

p {
   color: gray;
}


/* Div one starts ========================== */
.coverDiv {
   width: 100%;
   min-height: 100vh;
   display: flex;
   flex-direction: column;
   background: url(../img/Rosyhills1.jpg) fixed no-repeat;
   background-position: center;
   background-size: cover;
}




.coverDiv .mainHeader {
   width: 100%;
   height: 85px;
   display: flex;
   justify-content: space-between;
   align-items: center;
   background-color: rgba(0, 0, 0, 0.4);
   padding-inline: max(5%, 50px);
   padding-top: 10px;
}

.coverDiv .mainHeader .logoSec {
   width: auto;
   height: auto;
   display: flex;
   justify-content: center;
   align-items: center;
}

.coverDiv .mainHeader .logoSec>i {
   font-size: xx-large;
   color: rgb(7, 139, 7);
   overflow: hidden;
}

.coverDiv .mainHeader .logoSec>span {
   font-family: "Chelsea Market", system-ui;
   font-weight: bold;
   color: white;
   padding-left: 5px;
   font-size: large;
}

.coverDiv .mainHeader .navItems {
   width: auto;
   height: auto;
   display: flex;
   align-items: center;
   justify-content: center;
   transition: width 0.5s ease;
}

.coverDiv .mainHeader .navItems>span {
   position: relative;
   width: auto;
   height: auto;
   display: flex;
   justify-content: center;
   align-items: center;
}

.coverDiv .mainHeader .navItems>span>a {
   color: white;
   text-decoration: none;
   padding: 10px 15px 10px;
   font-weight: bold;
}

.coverDiv .mainHeader .navItems>span>a::after {
   content: " ";
   width: 0%;
   height: 5%;
   background-color: rgb(7, 139, 7);
   position: absolute;
   bottom: 0;
   right: 0%;
   transition: 0.5s;
}

.coverDiv .mainHeader .navItems>span:hover>a::after {
   left: 0%;
   width: 95%;
   height: 95%;
}

.coverDiv .mainHeader .hamburgerIcon {
   display: none;
   width: auto;
   height: auto;
   color: white;
   overflow: hidden;
}

.coverDiv .mainHeader .hamburgerIcon>i {
   font-size: x-large;
}

.coverDiv .mainDiv {
   width: 100%;
   display: flex;
   justify-content: center;
   align-items: center;
   min-height: calc(100vh - 80px);
   background-color: rgba(0, 0, 0, 0.4);
   position: relative;
}

.coverDiv .mainDiv .mainSec {
   width: 80%;
   height: auto;
   display: flex;
   justify-content: center;
   align-items: center;
   flex-direction: column;
   color: white;
   animation: topSlide 1s ease-out;
}

@keyframes topSlide {
   from {
      margin-top: -20%;
      opacity: 0;
   }

   to {
      margin-top: 0%;
      opacity: 1;
   }


}

.coverDiv .mainDiv .mainSec>h1 {
   font-size: 70px;
   text-align: center;
}

.coverDiv .mainDiv .mainSec>p {
   width: 80%;
   font-size: 1.5rem;
   text-align: center;
   padding-block: 10px;
   font-weight: lighter;
   color: white;
}

.coverDiv .mainDiv .mainSec>a {
   text-decoration: none;
   font-family: "Chelsea Market", system-ui;
   ;
   font-weight: bold;
   position: relative;
   z-index: 2;
   color: white;
   padding: 10px 50px 10px;
   margin-top: 8px;
   text-decoration: none;
   color: white;
   border: 2px solid white;
}

.coverDiv .mainDiv .mainSec>a::before {
   content: " ";
   width: 0%;
   height: 100%;
   position: absolute;
   top: 0;
   left: 50%;
   background-color: white;
   z-index: -1;
   transition: 0.5s;
}

.coverDiv .mainDiv .mainSec>a::after {
   content: " ";
   width: 0%;
   height: 100%;
   position: absolute;
   top: 0;
   right: 50%;
   background-color: white;
   z-index: -1;
   transition: 0.5s;
}

.coverDiv .mainDiv .mainSec>a:hover {
   color: black;
}

.coverDiv .mainDiv .mainSec>a:hover::before,
.coverDiv .mainDiv .mainSec>a:hover::after {
   width: 50%;
}

/* Div one ends ========================== */


/* Div Two starts ========================== */
.divTwo {
   width: 100%;
   height: auto;
   display: flex;
   justify-content: center;
   align-items: center;
   flex-direction: column;
   padding-block: 50px;
   /* border: 1px solid red; */
}

.divTwo>section {
   width: 85%;
   /* border: 1px solid red; */
}


/* General Heading Sec ================== */
.headingSec {
   height: auto;
   display: flex;
   justify-content: center;
   align-items: center;
   flex-direction: column;
   text-align: center;
}

.headingSec>h1 {
   width: 100%;
   text-align: center;
   font-size: var(--rem2);
   font-family: "Chelsea Market", system-ui;
   ;
   margin-bottom: 5px;
}

.headingSec>h1 .highlight {
   color: rgb(7, 139, 7);
   /* background: linear-gradient(20deg, rgba(255, 0, 0, 1) , rgba(0, 0, 255, 1));
   -webkit-background-clip: text;
   color: transparent;
   transition: 0.5s; */
}

.headingSec>p {
   font-size: var(--rem1-1);
}

/* General Heading Sec ================== */


.divTwo .firstSec {
   height: auto;
   display: flex;
   justify-content: center;
   align-items: center;
   flex-wrap: wrap;
   margin-top: 30px;
}

.divTwo .firstSec .courseSec {
   width: 30%;
   height: 400px;
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: center;
   text-align: center;
   background-color: white;
   padding: 20px;
   padding-block: 30px;
   border: none;
   border-radius: 15px;
   margin: 1.66%;
   transition: 0.5s;
}

.divTwo .firstSec .courseSec:hover {
   box-shadow: 0px 5px 10px silver;
   margin-top: -1%;
}

.divTwo .firstSec .courseSec>h3 {
   font-size: var(--rem1-3);
   position: relative;
   padding-bottom: 8px;
   color: rgb(7, 139, 7);
}

.divTwo .firstSec .courseSec>h3::after {
   content: " ";
   width: 50%;
   height: 5%;
   position: absolute;
   bottom: 0%;
   left: 20%;

}

.divTwo .firstSec .courseSec>p {
   width: 95%;
   margin-top: 20px;
   text-align: center;
   font-size: var(--rem1-05);
}

/* Div Two ends ========================== */



/* Div Three starts ========================== */
.divThree {
   width: 100%;
   height: auto;
   display: flex;
   justify-content: center;
   align-items: center;
   flex-direction: column;
   padding-block: 50px;
}

.divThree>section {
   width: 85%;
}

.divThree .firstSec {
   height: auto;
   display: flex;
   justify-content: center;
   align-items: center;
   flex-wrap: wrap;
   margin-top: 30px;
}

.divThree .firstSec .imgSec {
   width: 30%;
   height: 450px;
   margin: 1.66%;
   border-radius: 10px;
   position: relative;
   overflow: hidden;
   transition: 0.5s;

}

.divThree .firstSec .imgSec>img {
   position: absolute;
   width: 200%;
   min-height: 100%;
   top: 0;
   left: -50%;
   transition: 0.5s;
}

.divThree .firstSec .imgSec::after {
   content: var(--university);
   width: 100%;
   height: 100%;
   position: absolute;
   top: 100%;
   left: 0%;
   background-color: rgba(0, 0, 0, 0.3);
   transition: 0.8s;
   opacity: 0;
   color: white;
   display: flex;
   justify-content: center;
   align-items: center;
   font-size: 1.5rem;
}

.divThree .firstSec .imgSec:hover::after {
   opacity: 1;
   top: 0%;
}


/* Div Three ends ========================== */


/* Div Four starts ========================== */
.divFour {
   width: 100%;
   height: auto;
   display: flex;
   justify-content: center;
   align-items: center;
   flex-direction: column;
   padding-block: 50px;
}

.divFour>section {
   width: 85%;
}

.divFour .firstSec {
   height: auto;
   display: flex;
   justify-content: center;
   align-items: flex-start;
   flex-wrap: wrap;
   margin-top: 30px;
}

.divFour .firstSec .subSec {
   width: 30%;
   height: auto;
   display: flex;
   flex-direction: column;
   justify-content: center;
   align-items: center;
   margin: 1.66%;
}

.divFour .firstSec .subSec .imgSec {
   width: 100%;
   height: 300px;
   border-radius: 10px;
   position: relative;
   overflow: hidden;
}

.divFour .firstSec .subSec .imgSec>img {
   position: absolute;
   width: 100%;
   min-height: 100%;
   top: 0;
   left: 0%;
   object-fit: cover;
}

.divFour .firstSec .subSec>h3 {
   width: 100%;
   text-align: left;
   padding-top: 15px;
   padding-bottom: 8px;
   font-size: var(--rem1-3);
}

.divFour .firstSec .subSec>p {
   font-size: var(--rem1-05);
   padding-bottom: 20px;
}

/* Div Four ends ========================== */


/* Div Five starts ========================== */
.divFive {
   width: 100%;
   height: auto;
   display: flex;
   justify-content: center;
   align-items: center;
   flex-direction: column;
   padding-block: 50px;
}

.divFive>section {
   width: 85%;
}

.divFive .firstSec {
   height: auto;
   display: flex;
   justify-content: center;
   align-items: flex-start;
   margin-top: 30px;

   flex-wrap: nowrap;
   overflow-x: auto;
   overflow-y: hidden;
   cursor: grab;

   scroll-snap-type: inline mandatory;
}

.divFive .firstSec>* {
   scroll-snap-align: center;
   /*or start */
}

.divFive .firstSec .subSec:first-child {
   margin-left: 85%;
}


.divFive .firstSec::-webkit-scrollbar {
   display: none;
}

.divFive .firstSec .subSec {
   width: 43%;
   height: auto;
   display: flex;
   justify-content: center;
   align-items: flex-start;
   margin: 1.5%;
   padding: 30px;
   border-radius: 20px;
   background-color: white;
   box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
   border: 1px solid rgba(7, 139, 7, 0.1);
   flex-shrink: 0;
   transition: transform 0.3s ease;
}

.divFive .firstSec .subSec:hover {
   transform: translateY(-5px);
   box-shadow: 0 15px 40px rgba(0, 0, 0, 0.1);
}

.divFive .firstSec .subSec .imgSec {
   width: 50px;
   height: 50px;
   margin-right: 15px;
   border-radius: 50%;
   overflow: hidden;
   position: relative;
}

.divFive .firstSec .subSec .imgSec>img {
   position: absolute;
   top: 0%;
   width: 100%;
   height: fit-content;
}

.divFive .firstSec .subSec .quoteSec {
   width: 80%;
   height: auto;
   display: flex;
   flex-direction: column;
}

.divFive .firstSec .subSec .quoteSec>p {
   font-style: italic;
   font-weight: 350;
}

.divFive .firstSec .subSec .quoteSec .name {
   font-weight: bold;
   margin-top: 8px;
}

.divFive .firstSec .subSec .quoteSec .rating {
   font-size: x-small;
   margin-top: 5px;
}

/* Div Five ends ========================== */


/* Div Six starts ========================== */

/* Div Seven ends ========================== */













/* IMAGE TRANSITION BASE */
.changeable {
   width: 100%;
   height: 100%;
   object-fit: contain;
   transition:
      opacity 0.8s ease-in-out,
      transform 1.2s ease,
      filter 0.8s ease;
}

/* FADE OUT STATE */
.changeable.fade-out {
   opacity: 0;
   transform: scale(1.08);
   filter: blur(3px);
}

/* FADE IN STATE */
.changeable.fade-in {
   opacity: 1;
   transform: scale(1);
   filter: blur(0);
}







/* SLIDE-IN BASE STATE */
.courseSec,
.divTwo .headingSec {
   opacity: 0;
   transform: translateX(-80px);
   transition:
      transform 0.8s ease-out,
      opacity 0.8s ease-out;
}

/* ACTIVE STATE */
.courseSec.show,
.divTwo .headingSec.show {
   opacity: 1;
   transform: translateX(0);
}



.courseSec {
   transition-delay: 0.1s;
}

.courseSec:nth-child(2) {
   transition-delay: 0.2s;
}

.courseSec:nth-child(3) {
   transition-delay: 0.3s;
}




/* SWIRL BACKGROUND LAYER */
.swirl-bg {
   flex: 1 0 auto;
   display: flex;
   flex-direction: column;
   position: relative;
   z-index: 1;

   background:
      radial-gradient(circle at 20% 30%, rgba(0, 128, 0, 0.4), transparent 40%),
      radial-gradient(circle at 80% 70%, rgba(0, 128, 0, 0.35), transparent 45%),
      radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.95), transparent 60%);

   background-size: 200% 200%;
   animation: swirlFlow 20s linear infinite;
   background-attachment: fixed;
}

/* ANIMATION */
@keyframes swirlFlow {
   0% {
      background-position: 0% 0%;
   }

   50% {
      background-position: 100% 50%;
   }

   100% {
      background-position: 0% 100%;
   }
}



.divTwo,
.divFour,
.divFive,
.divSeven {
   background: transparent !important;
}

/* FOOTER */
.site-footer {
   width: 100%;

   color: #333;
   font-family: inherit;
}

.footer-top {
   display: flex;
   justify-content: space-between;
   gap: 60px;
   padding: 60px 8%;
   flex-wrap: wrap;
}

.footer-left {
   flex: 1;
   min-width: 280px;
}



.footer-left p {
   line-height: 1.7;
   font-size: 0.95rem;
   color: #555;
   max-width: 600px;
}

.social-icons {
   margin-top: 20px;
   display: flex;
   gap: 14px;
}

.social-icons a {
   width: 40px;
   height: 40px;
   border-radius: 50%;
   background: #f2f2f2;
   display: flex;
   align-items: center;
   justify-content: center;
   color: #333;
   transition: background 0.3s ease, color 0.3s ease;
}

.social-icons a:hover {
   background: rgb(7, 139, 7);
   color: #fff;
}

/* RIGHT SIDE */
.footer-right {
   flex: 1;
   min-width: 260px;
}

.footer-right h3 {
   font-size: 1.1rem;
   margin-bottom: 20px;
   position: relative;
}

.footer-right h3::before {
   content: "";
   width: 60px;
   height: 4px;
   background: rgb(7, 139, 7);
   position: absolute;
   top: -10px;
   left: 0;
}

.contact-list {
   list-style: none;
   padding: 0;
   margin: 0;

   display: grid;
   grid-template-rows: repeat(3, auto);
   row-gap: 20px;
}

.contact-list li {
   display: grid;
   grid-template-columns: 30px 1fr;
   column-gap: 15px;
   align-items: start;
}

.contact-list i {
   font-size: 18px;
   color: rgb(7, 139, 7);
}


/* BOTTOM BAR */
.footer-bottom {
   background: #000;
   padding: 18px 8%;
   text-align: center;
}

.footer-bottom p {
   color: #fff;
   font-size: 0.9rem;
}

.footer-bottom span {
   color: rgb(7, 139, 7);
}

/* RESPONSIVE */
@media (max-width: 768px) {
   .footer-top {
      flex-direction: column;
      padding: 40px 6%;
   }
}


.courseSec {
   width: 100%;
   height: 400px;
   /* REQUIRED */
   perspective: 1000px;
   position: relative;
}

.card-inner {
   width: 100%;
   height: 100%;
   position: relative;
   transition: transform 0.8s ease;
   transform-style: preserve-3d;
}

.courseSec:hover .card-inner {
   transform: rotateY(180deg);
}

/* BOTH faces */
.card-face {
   position: absolute;
   width: 100%;
   height: 100%;
   backface-visibility: hidden;
   /* CRITICAL */
   -webkit-backface-visibility: hidden;
   top: 0;
   left: 0;
}

/* FRONT */
.card-front {
   background: #fff;
   padding: 20px;
   z-index: 2;
}

/* BACK */
.card-back {
   transform: rotateY(180deg);
   z-index: 1;
   background-color: #000;
}

.card-back img {
   width: 100% !important;
   height: 100% !important;
   object-fit: cover;
}




.courseWrap {
   opacity: 0;
   transform: translateX(-80px);
   transition: 0.8s ease-out;
}

.courseWrap.show {
   opacity: 1;
   transform: translateX(0);
}