:root {
  --main-purple: #564787;
  --dark-blue: #101935;
  --black-color: #000000;
  --white-text: #FFFFFF;
  --bg-white: #FFFFFF;
}

* {
        margin    :     0;
	 padding: 0;
	 box-sizing: border-box;

}

body {
  font-family: 'Montserrat', sans-serif; 
	  line-height: 1.6; 
	  color: var(--black-color); 
	   overflow-x: hidden;
}

.wrapper_content {
  max-width: 1200px;
   margin: 0 auto;
    padding: 0 15px;
}

.container {
   max-width: 1200px;
      margin: 0 auto;
    padding: 0 15px;
}

.container-fluid {
  max-width: 1600px;

  width: 100%;

		padding: 0 15px;

    margin  :        0 auto; 

}

.row, .row_main {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -15px;
}
/* Development only */

/* Component styles */


.col-4, .col-8, .col-md-6, .col-md-12, .col-xl-3, .col-xl-12, .col-lg-3, .left_part, .right_side {
  padding: 0 15px;
}



.col-4 {
  width: 33.333333%;
	
}

.col-8 {
    width: 66.666667%;
}

.col-md-6 {
     width: 50%;
}

.col-md-12 {
  width: 100%;
}

.col-xl-3, .col-lg-3{
  width  :       25%;
}

.col-xl-12 {
    width: 100%;
}

.left_part    {
        width : 66.666667%;
}

.right_side  
  {
    width: 33.333333%;
}
@media (max-width: 768px) {
  .col-4, .col-8, .col-md-6, .col-xl-3, .col-lg-3, .left_part, .right_side {
    width: 100%;
      margin-bottom: 20px;
  }
}.site-header {
   position: absolute;
					top   :        0;
	 width:      100%;
      padding: 60px 0;
	z-index: 2;
	
}

.menu-open .site-header {
       position: fixed;
	}

.site-logo a  {
    font-size: 30px;
     color: #fff;
     font-weight: bold;
     line-height: 1;
     font-family: "Montserrat", sans-serif;
       text-decoration: none;
}

.site-navbar {
  position    :     fixed;
               display    :       none;
 top :0;
   left: 0;
    right: 0;
               bottom: 0;
  background: #fff;
  min-height: 300px;
  overflow-y :  scroll;
   z-index: 999; 
	
}

.site-navbar nav {
   text-align: left; 

}

.site-navbar nav .menu {
  font-family: "Montserrat", sans-serif;
  list-style: none;
      padding: 0;
}

.site-navbar nav .menu li a {

    color: #000;
	 font-size: 40px;
  padding    :      5px 10px;
    position   :     relative;
    text-decoration  :    none;
    display: block;}


.site-navbar nav .menu li a:before {

  content: "";
   position: absolute;
   bottom: 0;
   height: 50%;
  width: 0%;
    z-index: -1;
  background: var(--main-purple);
   transition: .3s all ease-in-out;

}



.site-navbar nav .menu li a:hover:before {
  width: 100%;
}

.site-navbar nav .menu li.active a:before {
         width: 100%;
}

.full-height {
         height: 50vh;
      min-height: 400px;
}  

.align-items-center {
	 align-items: center;
}

.mx-auto		{
    margin-left    :        auto;
   margin-right: auto;
}

.text-center    {
       text-align: center;
	}

.list-unstyled {
     list-style   :   none;
   padding: 0;
}

.menu-open .site-menu-toggle span {
   background: #000;
}

.site-menu-toggle {
   float : right;
   width: 40px;
  height: 45px;
   position: relative;
                    margin: 0px auto;
    z-index: 200;
  transform: rotate(0deg);
	transition: .5s ease-in-out;
      cursor: pointer;
}

.site-menu-toggle span {
  display: block;
  position: absolute;
  height: 2px;
  width: 100%;
       background: #fff;
   border-radius: 9px;
  opacity: 1;
  left: 0;
  transform: rotate(0deg);
               transition: .25s ease-in-out;

}

.site-menu-toggle span:nth-child(1) {
   top: 0px;
}

.site-menu-toggle span:nth-child(2) {
   top    :10px;
}

.site-menu-toggle span:nth-child(3) {
  top: 20px;
}

.site-menu-toggle.open span:nth-child(1) {
    top: 13px;
  transform: rotate(135deg);
}

.site-menu-toggle.open span:nth-child(2) {
   left: -60px;
    opacity: 0;
}

.site-menu-toggle.open span:nth-child(3) {
  top: 13px;
  transform: rotate(-135deg);
}

.hero-wrap {

	    width: 100%;
  height     : 50vh;
    min-height     : 400px;
  position: relative;
    background: #564787;
	


}@media (max-width: 1199.98px) {
    .hero-wrap {
    min-height: 400px;
  } 
}.slider-text	{
   position: relative;
   height: 50vh;
    display: flex;
   align-items   :  center;
    justify-content:  center;
}

.no-gutters {
      margin: 0;


}  

.js-fullheight {
   height: 50vh;
    min-height: 400px;
}

.justify-content-center {
    justify-content: center;
}

.slider-text h1 {
 font-size: 3.5rem;
   color: white;
    line-height :       1.25;
   font-weight: 700;
  text-transform: none;
  letter-spacing: 1px;
  font-family: "Montserrat", sans-serif;
  margin-bottom: 20px;
}

.hero_subtitle {
    font-size: 1.3rem; 
	    margin-bottom: 0; 
	  font-weight: 400; 
	  opacity     :0.9; 
	  color    :        white;
}@media (max-width: 991.98px) {
    .slider-text h1 {
    font-size: 2.5rem; 
  }
  
  .hero_subtitle {
      font-size: 1.1rem;
  }
}.slider-text .text {
   position: relative;
}

.d-flex {
    display: flex;
}

.mt-5 {
   margin-top: 3rem;
}

.mb-4 {


  margin-bottom: 1.5rem;

}

.main_stuff {
     padding: 80px 0;
  background: var(--bg-white);
}

.main_stuff h2 {
  color: var(--main-purple);
   font-size: 2.5rem;
    margin-bottom: 30px;
  font-weight     :    700;
}

.main_stuff h3 {

  color: var(--dark-blue);
  font-size: 1.8rem;
	 margin: 30px 0 20px 0;
   font-weight: 600;

}

.main_stuff p {
    font-size: 1.1rem;
         line-height: 1.8;
   margin-bottom: 20px;
       color: #333;
}

.services_box ul {

    padding-left: 20px;
    margin :   20px 0;

}

.services_box li {
  font-size: 1.1rem;
   margin-bottom: 10px;
  color: #444;
}

.contact_area {
    background: #f8f9fa;
    padding: 30px;
       border-radius: 8px;
  border-left: 4px solid var(--main-purple);
    margin-top: 20px;
}

.contact_area h3 {
  color: var(--main-purple);

	   margin-bottom: 20px;
}

.contact_area p {

    margin-bottom     :       15px;
    font-size: 1rem;


}

.contact_area a {
  color: var(--dark-blue);
    text-decoration: none;
}

.contact_area a:hover


{
    text-decoration: underline;
}

.cta_btn {
   margin-top: 25px;
}

.cta_btn a {
  background: var(--main-purple);
   color     :   white;
     padding: 12px 25px;
    text-decoration: none;
  border-radius: 5px;
   display: inline-block;
  font-weight: 600;
   transition:      background 0.3s ease;
}

.cta_btn a:hover {
  background: var(--dark-blue); 
	
}

.footer {
    background-repeat  :no-repeat;
   background-position     :       center center;
    background-size: cover;
    background: #F6FCFF;
}

.footer .footer_top {
    padding-top: 118px;
    padding-bottom: 105px;
}@media (max-width: 767px) {
    .footer .footer_top {
    padding-top: 63px;
    padding-bottom: 32px;
    }
}

@media (max-width: 767px) {
  .footer .footer_top .footer_widget {
      margin-bottom: 32px;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
    .footer .footer_top .footer_widget {
    margin-bottom: 32px;
  }
}.footer .footer_top .footer_widget .footer_title {
   font-size   : 25px; 
	   font-weight: 720; 
	  color  :     #1C0E02; 
	    text-transform: capitalize; 
	  margin-bottom: 41px;
}

.footer .footer_top .footer_widget .footer_title.pos_margin {
    margin-bottom: 36px;
}@media (max-width: 767px) {
  .footer .footer_top .footer_widget .footer_title.pos_margin {
      margin-bottom: 22px;
  }
}@media (max-width: 767px) {
    .footer .footer_top .footer_widget .footer_title {
    margin-bottom: 22px;
  }
}.footer .footer_top .footer_widget p {

   color: #727272;

	   font-size: 17px;

	  font-weight: 420;

	   line-height: 30px;
}

.footer .footer_top .footer_widget p a {
    color  :        #727272;
       text-decoration: none;
}

.footer .footer_top .footer_widget p a:hover {
  color: var(--main-purple);
}

.footer .footer_top .footer_widget p.footer_text {
    font-size: 17px;
   color:        #B8B8B8;
      margin-bottom    :    25px;
   font-weight: 420;
    line-height     :    30px;
}

.footer .footer_top .footer_widget ul {
    list-style: none;
	padding: 0;
}

.footer .footer_top .footer_widget ul li {
   color: #969696;
  font-size: 14px;
	line-height: 44px; 
	
}

.footer .footer_top .footer_widget ul li a {
   color  :    #969696;
    font-weight: 420;
   text-decoration: none;

}

.footer .footer_top .footer_widget ul li a:hover {
  color: var(--main-purple);
}

.footer .copy-right_text {
  padding-bottom   :  32px;
}

.footer .copy-right_text .footer_border {
    border-top: 1px solid #EAEAE7;
  padding-bottom: 32px;
}

.footer .copy-right_text .copy_right {
    font-size    : 16px;
	color: #969696;
               margin-bottom: 0;
  font-weight: 520;
}@media (max-width: 767px) {
  .footer .copy-right_text .copy_right {
      font-size: 14px;
  }
}.footer .copy-right_text .copy_right a {
  color: var(--main-purple);
}@media (max-width: 991px) {
  .main_stuff h2 {
      font-size: 2rem;
  }
  
  .contact_area {
    margin-top: 40px;
    }
}

@media (max-width: 768px) {
  .hero-wrap {
      min-height: 350px;
      height: 50vh;
  }
  
  .slider-text {
      height: 50vh;
  }
  
  .js-fullheight {
      height: 50vh;
      min-height: 350px;
  }
  
  .slider-text h1 {
    font-size: 2rem;
      letter-spacing: 1px;
  }
  
  .hero_subtitle {
      font-size: 1rem;
  }
  
  .main_stuff {
      padding: 50px 0;
  }
  
  .main_stuff h2 {
    font-size: 1.8rem;
    }
}.about_us_area {

	padding: 3em 0;
   background: #FFFFFF;



}@media (min-width: 768px) {
    .about_us_area {
    padding: 7em 0;
  }
}.about_us_area .section-heading h2 {
          position: relative;

	  display: inline-block;

	  font-size: 4rem;

	  font-weight: bold;

	    color: #564787;

	  font-family: "Montserrat", sans-serif;
	}@media (max-width: 991.98px) {
    .about_us_area .section-heading h2 {
    font-size: 2.5rem;
  }
}.about_us_area .text-uppercase {
    text-transform: uppercase !important;
}

.about_us_area .regular-font-size {
   font-size: 1rem !important;
   color: #101935;
	font-weight     :  600;
}

.about_image_box {
    text-align: center;
    margin: 20px 0;
}

.about_image_box img		{
   max-width: 100%;
 height    :    auto;
   border-radius   :    8px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
}



.about_us_area p {
   margin-bottom   : 1rem;
  font-size: 1.1rem;
   line-height:        1.7;
      color     :     #333;
  font-family: "Montserrat", sans-serif;
}



.about_us_area .btn{
    position  :     relative; 
    top: 0; 
    text-decoration: none; 
  display: inline-block; 
	 border-radius: 5px; 
    transition: all 0.3s ease;
}

.about_us_area .btn.btn_primary {
        background-color: #564787;
  border: 2px solid #564787;
    color: #fff;
  padding  :       12px 25px;
   font-weight:  600;
  font-family: "Montserrat", sans-serif;
}

.about_us_area .btn:hover {

	   background-color: #101935;
    border-color: #101935;
  box-shadow: 0 5px 20px -7px rgba(0, 0, 0, 0.3);



}

.about_us_area .col-7 {
  width: 58.333333%;
}@media (max-width: 768px) {
  .about_us_area .col-7 {
      width: 100%;
  }
  
  .about_us_area .section-heading h2 {
      font-size: 2rem;
  }
  
  .about_us_area p {
      font-size: 1rem;
  }
}.about_us_area .mb-3 {
      margin-bottom   :       1rem !important;
}

.about_us_area .mb-4	{
  margin-bottom:      1.5rem !important; 
	
}

.about_us_area .mb-5 {
	margin-bottom: 3rem !important;
}

.section {

	    padding: 7em 0;


}

.bg_light {


   background-color: #f8f9fa;
}

.heading {
   color: #564787;
	line-height: 1.5;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
}

.mb-4 {
  margin-bottom: 1.5rem;
}

.mb-5 {
    margin-bottom : 3rem;
}

.mb-3 {
    margin-bottom:      1rem;
}

.text-center {
	 text-align: center;
}

.d-flex {
    display: -webkit-box;
                    display   :     -ms-flexbox;
   display: flex;
}

.align-self-center {
  align-self   :      center;
	
}

.h-100

{
    height     : 100%;
}

.block_33 {
    background: #fff;
  max-width:700px;
   margin-left   :  auto;
   margin-right: auto;
   padding: 40px;
   margin-bottom: 30px;
    border-left   : 4px solid #564787;
   border-radius: 8px;
}

.block_33 .vcard .name_text .heading {
    padding: 0;
   font-weight: 600;
	color     :#101935;
    line-height: 1.5;
	 margin: 0;
    font-size: 18px;
	
}

.block_33 .vcard .name_text .meta {
    color: #564787;
  display: block;
   font-weight: 500;
    font-size :        0.9rem;
}

.block_33 .text blockquote {
   padding: 0;
  margin-bottom: 0;
   border: none;
   font-size: 16px;
  line-height: 1.7;
   color: #333;
  font-family: "Montserrat", sans-serif;
}

.block_33 .text blockquote p:last-child {
    margin-bottom: 0;
}

.nonloop_block_11
	{
   display: grid;
  grid-template-columns: repeat(2, 1fr);
    gap:   20px;
  padding-top: 30px;
    padding-bottom: 30px;
	
}@media (max-width: 768px) {
    .nonloop_block_11 {
    grid-template-columns: 1fr;
  }
  
  .section {
      padding: 5em 0;
  }
  
  .block_33 {
    padding: 30px;
    }
  
  .heading {
    font-size: 1.8rem;
    }
}.services_area {
    padding: 7em 0;
	background: #FFFFFF;
}

.services_area .heading{
	 color: #564787;
    line-height  : 1.5;
  font-family: "Montserrat", sans-serif;
    font-weight: 700;
	 font-size: 2.5rem;
}

.services_area .sub_heading {
  color: #101935;
   font-size  : 1.2rem;
    margin-top: 15px;
     font-weight: 400;
}

.services_area .mb-4 {
   margin-bottom: 1.5rem;
}

.services_area .mb-5 {
   margin-bottom: 3rem;
}

.services_area .mt-5 {
      margin-top: 3rem;
     }

.services_area .text-center  
  {


   text-align: center;
	


}

.services_area .h-100 {
    height: 100%;
}

.services_grid {

	   display: grid;

	  grid-template-columns: repeat(3, 1fr);

	    gap: 30px;

	   margin-top:       50px;

}
@media (max-width: 992px) {
    .services_grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 25px;
    }
}

@media (max-width: 768px) {
  .services_grid {
      grid-template-columns: 1fr;
    gap: 20px;
  }
}.service_card
	{
    background: #fff;
    border: 1px solid #e6e6e6;
  border-radius: 10px;
   overflow: hidden;
   transition: all 0.3s ease;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}

.service_card:hover {
  transform: translateY(-5px);
  box-shadow: 0 5px 25px rgba(86, 71, 135, 0.15);
}

.service_img {
    width: 100%;
    overflow: hidden;
    height: 200px;
}

.service_img img {
     width: 100%;
    height     :    100%;
  object-fit: cover;


}

.service_content {
  padding: 30px;
}

.service_title {
    color: #101935;
  font-size: 1.5rem;
   font-weight:        700;
  margin-bottom: 20px;
  font-family: "Montserrat", sans-serif; 
	
}

.price_box {
  background: #564787;
   color: white;
  padding: 15px 20px;
  border-radius: 8px;
  text-align: center;
  margin-bottom: 25px;
}

.price_box .price {
 font-size: 2rem;
 font-weight: 700;
    display: block; 
	
}

.price_box .duration {
   font-size   :      0.9rem;
    opacity     :0.8;
}

.service_features {
  list-style: none;
    padding: 0;
	 margin: 0 0 25px 0;
}

.service_features li {
        padding: 8px 0;
   border-bottom: 1px solid #f0f0f0;
    color: #333;
  font-size: 0.95rem;
   position: relative;
   padding-left: 20px;
}

.service_features li:before {
	  content: "✓";
   color: #564787;
	font-weight: bold;
  position: absolute;
               left: 0;
    top: 8px;


}

.service_features li:last-child {
   border-bottom: none; 
	
}

.service_btn {
  text-align :      center;
}

.service_btn .btn {
   background  :    #564787;
   color: white;
  padding: 12px 25px;
  border: none;
   border-radius: 5px;
    text-decoration: none;
    font-weight:        600;
  font-family: "Montserrat", sans-serif;
   transition: background 0.3s ease; 

}

.service_btn .btn:hover {
   background  :   #101935;
}

.additional_info
	{
   color: #666;
	   font-size: 0.9rem;
	  font-style: italic;
		 margin-top: 20px;
}@media (max-width: 991px) {
  .services_area .heading {
      font-size: 2rem;
  }
  
  .services_area {
    padding: 5em 0;
    }
  
  .service_content {
    padding: 25px;
    }
}

@media (max-width: 768px) {
    .services_area .heading {
    font-size: 1.8rem;
  }
  
  .service_title {
      font-size: 1.3rem;
  }
  
  .price_box .price {
    font-size: 1.7rem;
    }
}.simple_page_content {

	  padding :  120px 0 80px 0;
         background: #FFFFFF;

}

.page_wrapper {
  max-width: 800px;
    margin: 0 auto;
   padding: 0 20px;

}

.page_title {
  color: #564787;

	   font-size: 2.5rem;

	  font-weight: 700;

	  margin-bottom: 10px;

	  font-family: "Montserrat", sans-serif;
}

.last_updated {
	   color: #666;
   font-size     :       0.9rem;
    margin-bottom: 40px;
   font-style    :   italic;
}

.simple_page_content h2 {
   color: #101935;
    font-size: 1.8rem;
    font-weight: 600;
  margin: 40px 0 20px 0;
  font-family: "Montserrat", sans-serif;
}

.simple_page_content h3 {
    color: #564787;
   font-size: 1.3rem;
   font-weight: 600;
    margin: 30px 0 15px 0;
  font-family: "Montserrat", sans-serif;
}

.simple_page_content p {
  font-size: 1rem;
   line-height: 1.7;
    margin-bottom  :       15px;
    color: #333;
  font-family: "Montserrat", sans-serif;
}

.simple_page_content ul{
    margin: 15px 0 20px 20px;
   padding-left: 20px;
}

.simple_page_content li {
   margin-bottom: 8px;
   font-size: 1rem;
   line-height: 1.6;
   color: #333;
}

.simple_page_content a {

  color: #564787;
               text-decoration: none;
  font-weight: 500;
	
}

.simple_page_content a:hover {
  color: #101935;
    text-decoration: underline;
}@media (max-width: 768px) {
    .simple_page_content {
    padding: 100px 0 60px 0;
  }
  
  .page_wrapper {
      padding: 0 15px;
  }
  
  .page_title {
    font-size: 2rem;
    }
  
  .simple_page_content h2 {
      font-size: 1.5rem;
  }
  
  .simple_page_content h3 {
    font-size: 1.2rem;
    }
}.simple_page_content {
  padding: 120px 0 80px 0;
   background: #FFFFFF; 
	
}

.page_wrapper {
        max-width: 800px;
      margin  :        0 auto;
  padding     :   0 20px;
}

.page_title {
  color: #564787;
  font-size:     2.5rem;
  font-weight: 700;
    margin-bottom: 10px;
  font-family: "Montserrat", sans-serif;
}

.last_updated {
      margin-bottom: 40px;
   font-style  :       italic;
    color :   #666;
   font-size: 0.9rem; 

}

.simple_page_content h2 {
   font-size: 1.8rem;
   margin: 40px 0 20px 0;
  color   :#101935;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
}

.simple_page_content h3 {
    color: #564787;
    font-size: 1.3rem;
       font-weight: 600;
	margin: 30px 0 15px 0;
  font-family: "Montserrat", sans-serif;


}

.simple_page_content p {
  font-size: 1rem;
               line-height: 1.7;
  margin-bottom: 15px;
  color: #333;
  font-family: "Montserrat", sans-serif;
}

.simple_page_content ul {
  margin: 15px 0 20px 20px; 
	    padding-left: 20px;
}

.simple_page_content li {
	margin-bottom: 8px;
   font-size: 1rem;
    line-height: 1.6;
    color: #333;
}

.simple_page_content a {
	  color: #564787;
  text-decoration: none;
	font-weight     :  500;


}

.simple_page_content a:hover {
	   text-decoration: underline;
  color   :#101935;



}

.about_image_section {
     text-align: center;
   margin:  30px 0 40px 0;
}

.about_main_image {
	  max-width: 100%;
   height    :auto;
          border-radius: 10px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.1);


}

.simple_page_content {


   padding: 120px 0 80px 0;
  background: #FFFFFF;
     }

.page_wrapper {
  max-width: 800px; 
   margin: 0 auto; 
    padding: 0 20px;
}

.page_title {
   font-weight: 700;
   font-size: 2.5rem;
  color: #564787;
  margin-bottom: 10px;
  font-family: "Montserrat", sans-serif;
}

.last_updated {
   color: #666;
  font-size: 0.9rem;
       margin-bottom: 40px;
	font-style: italic;
}
	/* Animation and transitions */

	/* Component styles */
.simple_page_content h2 {
   color: #101935;
    font-size: 1.8rem;
   font-weight: 600;
    margin: 40px 0 20px 0;
  font-family: "Montserrat", sans-serif;
}

.simple_page_content h3 {
    color: #564787;
    font-size: 1.3rem;
  font-weight: 600;
    margin: 30px 0 15px 0;
  font-family: "Montserrat", sans-serif;
}

.simple_page_content p {
	font-size: 1rem;
    line-height: 1.7;
    margin-bottom: 15px;
         color: #333;
  font-family: "Montserrat", sans-serif;
}

.simple_page_content ul {
  padding-left: 20px;
  margin   : 15px 0 20px 20px;
}  

.simple_page_content li {
  margin-bottom: 8px;
   line-height: 1.6;
  color: #333;
    font-size: 1rem;
}

.simple_page_content a {
  color     :#564787;
    text-decoration: none;
    font-weight: 500;
}

.simple_page_content a:hover {
    text-decoration  :      underline;
   color   :#101935;
}

.about_image_section {
 text-align: center;
               margin: 30px 0 40px 0;
}

.about_main_image {
  max-width: 100%;
  height: auto;
    border-radius: 10px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.1);
}

.course_contact_section	{
   padding: 25px;
      border-radius: 8px;
  border-left     :        4px solid #564787;
    background: #f8f9fa;
    margin-top :   40px;
}

.course_contact_section h3 {
  margin-top    :0;

    color     : #564787;
}
@media (max-width: 768px) {
    .simple_page_content {
    padding: 100px 0 60px 0;
  }
  
  .page_wrapper {
      padding: 0 15px;
  }
  
  .page_title {
    font-size: 2rem;
    }
  
  .simple_page_content h2 {
      font-size: 1.5rem;
  }
  
  .simple_page_content h3 {
    font-size: 1.2rem;
    }
  
  .course_contact_section {
      padding: 20px;
  }
}