@import url('https://fonts.googleapis.com/css2?family=Lato&family=Ubuntu&display=swap');
:root

{

    --cp-primary:#2A2F4F;
    --cp-secondary: #f13450;
    --cp-dark: #252525;
    --cp-black: #000;
    --cp-off-black:#282828;
    --cp-background-color: #f4f4f4;
    /* --cp-background-color: #efefef;*/
    --cp-text-dark: #414141;
    --cp-marquee: #2d4573;


}
html
{
    scroll-behavior: smooth !important;
}
body {
    /*margin-top: 75px !important;*/
    background-color: var(--cp-background-color) !important;
    font-family: 'Lato','Ubuntu', sans-serif;


}
/* site main colors */
.cp-bg

{
    background-color: var(--cp-background-color) !important;
}
.cp-bg-primary
{
    background-color: var(--cp-primary) !important;
    color: white !important;
}
.cp-bg-secondary
{
    background-color: var(--cp-secondary) !important;
    color: white !important;
}
.cp-bg-dark
{
    background-color: var(--cp-dark) !important;
    color: white !important;
}
.cp-text-dark
{
    color: var(--cp-text-dark) !important;
}


.cp-btn-primary
{
    background-color: var(--cp-primary) !important;
    color: #FFF !important;

}

.cp-btn-primary:hover, .cp-btn-secondary:hover
{

    filter: saturate(50%) !important;

}

.cp-btn-secondary
{
    background-color: var(--cp-secondary) !important;
    color: #FFF !important;

}
.cp-btn-outline-primary
{
    color: var(--cp-primary) !important;
    border-color: var(--cp-primary)!important;
}
.cp-btn-outline-primary:hover
{
    background-color: var(--cp-primary) !important;
    color: white !important;
     border-color: var(--cp-primary) !important;
}
.cp-btn-outline-secondary
{
    color: var(--cp-secondary) !important;
    border-color: var(--cp-secondary)!important;
}
.cp-btn-outline-prima:hover
{
    background-color: var(--cp-secondary) !important;
    color: white !important;
     border-color: var(--cp-secondary) !important;
}
.cp-text-primary
{
    color: var(--cp-primary) !important;
}

.cp-text-secondary
{
    color: var(--cp-secondary) !important;
}

.cp-marquee
{
    background-color: var(--cp-marquee);
}
.post-card
{
    overflow: hidden;
}

.post-card-bg {
background: linear-gradient(60deg, #2a2f4f, #2b3152, #2b3355, #2c3559, #2c375c, #2d395f, #2d3b62, #2d3d66, #2d3f69, #2d416c, #2d4370, #2d4573);
}

@media all and (min-width: 992px) {
    .navbar .nav-item .dropdown-menu {
        display: none;
    }

    .navbar .nav-item:hover .nav-link {
    }

    .navbar .nav-item:hover .dropdown-menu {
        display: block;
    }

    .navbar .nav-item .dropdown-menu {
        margin-top: 0;
    }
}



ul.navbar-nav > li.nav-item {
    margin-left: 5px;
}

ul.navbar-nav > li.nav-item > a.nav-link {
    color: white !important;
    font-size: 1rem;

    text-transform: capitalize;
}

/*ul.navbar-nav > li.nav-item > a.nav-link:hover {
    color: yellow !important;

}*/
.nav-link {
  text-transform: uppercase;
  text-decoration: none;
  display: inline-block;
  position: relative;
  opacity: 0.70;
}
.nav-link:hover {
  opacity: 1;
}
.nav-link::before {
  transition: 300ms;
  height: 5px;
  content: "";
  position: absolute;
  background-color: #031D44;
}
.nav-link::before {
  width: 0%;
  bottom: 10px;
}
.nav-link-ltr:hover::before {
  width: 100%;
}

.nav-link.active {
  opacity: 1 !important;
    position: relative;
}



div.carousel-image-container {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;

}

div.carousel-image-container::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;

}

div.carousel-image-container img {
    display: block;
    max-width: 100%;
    height: auto;
}

div.carousel-caption {

    position: absolute;
    top: 80%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    width: min(100% - 50px, 600px);
    background-color: rgba(0, 0, 0, 0.6);
    border-radius: 5px;
    display: flex;
    align-items: center;
    justify-content: center;



}
div.carousel-caption > h1
    {
        font-size: 1.5em;
        font-weight: bold;


    }


@media only screen and (max-width: 792px)
{
    div.carousel-image-container > img {
    max-height: 700px;
    aspect-ratio: 9 / 10;
    object-fit: cover;
    object-position: center;
}
    div.carousel-caption {
    position: absolute;
    top:80% !important;;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
        max-width: 350px;
        padding: 0 10px;

}
    div.carousel-caption > h1
    {
        font-size: 1em !important;
        font-weight: bold;


    }

}

.carousel-caption {
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
}

.carousel-item.active .carousel-caption,
.carousel-item:first-of-type.active .carousel-caption {
  opacity: 1;
}
/* slider image */
div.carousel-image-container > img {
    max-height: 800px;
    aspect-ratio: 19 / 9 /*1900*900 */;
    object-fit: cover;
    object-position: center;
}


/*carousel text */
div.carousel-caption > h1
{
    color: #ececec !important;
}

/* small screen slider size */
@media only screen and (max-width: 792px)
{
    div.carousel-image-container > img {
    max-height: 700px;
    aspect-ratio: 9 / 10;
    object-fit: cover;
    object-position: center;
}
    div.carousel-caption {
    font-size: 0.82em !important;
    position: absolute;
    top:60%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    width: min(100% - 50px, 800px);!important;
    margin-inline: auto;

}
    div.carousel-caption > h1
    {
        font-size: 2.2em;
        font-weight: bold;


    }
}
div.about-text > p
{
    text-align: center !important;
    color: var(--cp-dark);
    font-weight: lighter;

}

div.dean-image > img
{
    display: block;
    object-fit: cover;
    object-position: center;
    max-width: 180px;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
}
@media screen and (max-width: 576px){
    div.dean-image > img
    {
        max-width: 150px;
    }

}
.tns-slider
{
    display: flex !important; ;
}


/* card  hover */
div.card-image-container
{
    overflow: hidden;
    position: relative;


}
span.event-type{
    position: absolute;
    top: 0;
    left: 0;
    border-bottom-right-radius: 10px;
    font-size: 0.9rem;

}

img.post-img
{
    display: block;
    width: 100%;
    max-height: 300px;
    aspect-ratio: 5 / 3;
    object-fit: cover;
    object-position: center;
    transition: 300ms;
}

div.post-card:hover >a.card-linked > div.card-image-container > img.post-img
{
    transform: scale(1.1) !important;
    transition: 300ms ease-in-out;
}

h5.post-title
{
    font-size: 1.05em !important;

}

.post-cover-img
{
    max-height: 500px;
    object-fit: contain;
    object-position: left;

}
.form-shadow

{
    box-shadow: rgba(0, 0, 0, 0.09) 0px 2px 1px, rgba(0, 0, 0, 0.09) 0px 4px 2px, rgba(0, 0, 0, 0.09) 0px 8px 4px, rgba(0, 0, 0, 0.09) 0px 16px 8px, rgba(0, 0, 0, 0.09) 0px 32px 16px;
}

.cp-shadow
{
     box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 1px 3px 1px;
}

a{
    text-decoration: none!important;
}
/* button */
a.learn-more {
 position: relative;
 display: inline-block;
 cursor: pointer;
 outline: none;
 border: 0;
 vertical-align: middle;
 text-decoration: none;
 background: transparent;
 padding: 0;
 font-size: inherit;
 font-family: inherit;
}

a.learn-more {
 width: 12rem;
 height: auto;
}

a.learn-more .circle {
 transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
 position: relative;
 display: block;
 margin: 0;
 width: 3rem;
 height: 3rem;
 background: var(--cp-primary);
 border-radius: 1.625rem;
}

a.learn-more .circle .icon {
 transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
 position: absolute;
 top: 0;
 bottom: 0;
 margin: auto;
 background: #fff;
}

a.learn-more .circle .icon.arrow {
 transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
 left: 0.625rem;
 width: 1.125rem;
 height: 0.125rem;
 background: none;
}

a.learn-more .circle .icon.arrow::before {
 position: absolute;
 content: "";
 top: -0.29rem;
 right: 0.0625rem;
 width: 0.625rem;
 height: 0.625rem;
 border-top: 0.125rem solid #fff;
 border-right: 0.125rem solid #fff;
 transform: rotate(45deg);
}

a.learn-more .button-text {
 transition: all 0.45s cubic-bezier(0.65, 0, 0.076, 1);
 position: absolute;
 top: 0;
 left: 0;
 right: 0;
 bottom: 0;
 padding: 0.75rem 0;
 margin: 0 0 0 1.85rem;
 color: var(--cp-primary);
 font-weight: 700;
 line-height: 1.6;
 text-align: center;
 text-transform: uppercase;
}

a.learn-more:hover .circle {
 width: 100%;
}

a.learn-more:hover .circle .icon.arrow {
 background: #fff;
 transform: translate(1rem, 0);
}

a.learn-more:hover .button-text {
 color: #fff;
}

/* button */


/*footer */
.ftco-footer-social li {
  list-style: none;
  margin: 0 10px 0 0;
  display: inline-block; }
  .ftco-footer-social li a {
    height: 40px;
    width: 40px;
    display: block;
    background: rgba(0, 0, 0, 0.05);
    border-radius: 50%;
    position: relative; }
    .ftco-footer-social li a span {
      position: absolute;
      font-size: 20px;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%); }
    .ftco-footer-social li a:hover {
      color: #fff; }



.ftco-section {
  padding: 12em 0; }
  .ftco-section h2 {
    margin-bottom: 0; }

footer {
  padding: 2em 0; }

.footer-04 {
  background: var(--cp-primary);
  padding-bottom: 0; }
  .footer-04 .border-top {
    border-color: #b7b7b7 !important;
    background: var(--cp-primary); }
  .footer-04 .footer-heading {
    font-size: 1.2rem;
    color: #fff;
    margin-bottom: 30px;
    text-transform: uppercase;
    font-weight: 600;
    letter-spacing: 1px; }
    .footer-04 .footer-heading .logo {
      letter-spacing: none;
      font-size: 16px;
      color: #fff;
      text-transform: capitalize; }
  .footer-04 p {
    color: rgba(255, 255, 255, 0.3); }
  .footer-04 a {
    color: #f7b633; }
  .footer-04 .ftco-footer-social li a {
    color: #fff; }
  .footer-04 .tagcloud a {
    border: 1px solid rgba(255, 255, 255, 0.1);
    color: #fff; }
  .footer-04 .list-unstyled li a {
    color: rgba(255, 255, 255, 0.7); }
  .footer-04 .list-unstyled a {
    color: rgba(255, 255, 255, 0.7); }
  .footer-04 .ftco-footer-social li a {
    border-radius: 4px;
    border: 1px solid rgba(255, 255, 255, 0.1); }

  .footer-04 .copyright a {
    color: rgba(255, 255, 255, 0.5); }
/*footer */


/*youtube video */
 .video-container {
      position: relative;
      padding-bottom: 56.25%; /* Set padding-bottom based on 16:9 aspect ratio (9/16 * 100) */
      overflow: hidden;
      max-width: 100%;
    }
    .video-container iframe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 90%;
        border-radius: 10px;
    }
/*youtbe video ends */


/* marquee */

#latest_marquee
 {
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    overflow: hidden;
    /*background: #27496D;*/
    background-color: var(--cp-marquee);
}
@media screen and (max-width: 1200px){
    #latest_marquee
 {
    height: auto;

}
    .title
    {
        width: 15% !important;
    }

    .title h5
    {
        font-size: 12px!important;
    }

    .news-content p {
    font-size: 0.8em !important;

}


}

.ticker {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto
}

.news {
    width: 85%;
   /* background: #27496D;*/
    background-color: var(--cp-marquee);
    padding: 0 0.5%;

}

.title {
    width: 15%;
    text-align: center;
    background: #27496D;


}
.title h5 {
    font-size: 18px;
    margin: 8% 0
}

.news marquee {
    font-size: 18px;
    margin-top: 12px
}

.news-content p {
    margin-right: 41px;
    display: inline;
    font-size: 0.9em;

}
/*breadcrumb */
.text-justify
{
    text-align: justify!important;
}

a.card-linked
{
    text-decoration: none;

}
/*photo album */

.photo-album-card {
    position: relative;
    z-index: 3;
    max-width: 250px;
}
.photo-album-card::before,
.photo-album-card::after
{
    content:" ";
    position: absolute;
    height: 100%;
    width: 100%;
    background-color: #d7d7d7;
    transform-origin:top center;
    border: 6px solid #ffffff;
}
.photo-album-card::before
{
    transform: rotate(4deg);
    z-index: -2;
    box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 1px 3px 1px;

}

.photo-album-card::after
{
    transform: rotate(-4deg);
    z-index: -3;
     box-shadow: rgba(0, 0, 0, 0.09) 0px 2px 1px, rgba(0, 0, 0, 0.09) 0px 4px 2px, rgba(0, 0, 0, 0.09) 0px 8px 4px, rgba(0, 0, 0, 0.09) 0px 16px 8px, rgba(0, 0, 0, 0.09) 0px 32px 16px;

}
img.album-cover
{
    border: 6px solid white;
     transition: 500ms all;
    position: relative;
    aspect-ratio:  1 / 1;
    object-fit: cover;
}

.photo-album-card:hover + .card-album-name h6 {
  transform: scale(1.1); /* Adjust the value as desired */
  transition: transform 0.3s ease; /* Add a smooth transition effect */
}

.card-album-name h6
{
      transition: transform 0.3s ease;
}

h5.gallery-type
{
    position: relative;
    font-weight: bold;
}
h5.gallery-type::before
{
    position: absolute;
    content: "";
    width: 50px;
    height: 4px;
    background-color: var(--cp-primary);
    bottom: -10px;
    left: 1px;

}

.nav-link.gallery-nav-link.active
{
    background-color: var(--cp-primary) !important;
    color: white !important;
}

.nav-link.gallery-nav-link
{
    color: var(--cp-primary) !important;
}



/* gallery thumbnail */
.image-gallery-container{
    display: flex;
    justify-content: center;
    gap:8px;
    flex-wrap: wrap;


}
@media only screen and (max-width: 768px)
{
    .image-gallery-container > a > img
{
    display: block;
    max-width: 100px !important;

}
}

.image-gallery-container > a > img
{
    display: block;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    max-width: 300px;
    transition: 600ms;
    border-radius: 1%;

}

.image-gallery-container > a > img:hover
{
    transform: scale(1.01);
    filter: saturate(0.5%);
    transition: 600ms;
}

/* video gallery */


/* video gallery */
a.card-linked
{
    text-decoration: none;
    color: #212529;
}



ul.post-list > a.card-linked:last-child > li {
  border-bottom: none !important;
}
ul.post-list > a.card-linked:hover > li.media > div.media-body > h5
{
    color: var(--cp-primary) !important;
    font-weight: bold;
}

h4.recent-title
{
    position:relative;
}

h4.recent-title::after
{
    content: "";
    position:absolute;
    width: 50px;
    height: 4px;
    background-color: var(--cp-secondary);
    bottom: -8px;
    left:2px;
}

p > img
{
    display: block!important;
    width: 100% !important;
    height: auto !important;
    object-fit: contain !important;

}

.videos-container {
  position: relative;
  width: 100%;
  padding-top: 56.25%; /* 16:9 aspect ratio (height/width) */
}

.videos-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
    border-radius: 10px;
}

.border-cp-primary {
    border-color: var(--cp-primary)!important
}
.border-cp-secondary {
    border-color: var(--cp-secondary)!important
}
.border-cp-dark {
    border-color: var(--cp-dark)!important
}

li.course-date
{
    font-size: 0.9rem;
}

.course-shadow
{
    box-shadow: rgba(0, 0, 0, 0.19) 0px 10px 20px, rgba(0, 0, 0, 0.23) 0px 6px 6px;
}

.staff-body
{
    position: relative;
}

img.staff-image
{
    position: absolute;
    display: block;
    max-width: 100px;
    aspect-ratio:  1 / 1;
    object-fit: cover;
    border-radius: 50%;
    border: 4px solid white;
    left: 60px;
    top:0;
    transform: translate(-50%,-50%);
    box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px, rgba(60, 64, 67, 0.15) 0px 1px 3px 1px;
}
@media screen and (min-width:576px) {
    img.staff-image {
        left: 50%;
        top: 0;

    }
}

.staff-description
{
    padding-top: 4rem;
}

span.staff-detail
{
    min-width: 70px;
}

.fb-bg
{
    color: white;
    background-color: #3b5998;
}

.google-bg
{
    color: white !important;
    background-color: #DB4437 !important;
}

.linkedin-bg
{
    color: white !important;
    background-color:  #0072b1 !important;
}

.twitter-bg
{
    color: white !important;
    background-color: #00acee !important;
}

.youtube-bg
{
     color: white !important;
    background-color: #FF0000;
}
a.fb-bg:hover
{
    color: white;
}
div.social-media > a
{
    padding: .24rem .8rem !important;
    font-size: 0.7rem;
}
div.social-media > a:hover
{
    box-shadow: rgba(0, 0, 0, 0.07) 0px 1px 1px, rgba(0, 0, 0, 0.07) 0px 2px 2px, rgba(0, 0, 0, 0.07) 0px 4px 4px, rgba(0, 0, 0, 0.07) 0px 8px 8px, rgba(0, 0, 0, 0.07) 0px 16px 16px;
}

ul.description > li > *
{
    font-size: 0.90rem !important;
}

@media screen and (min-width: 992px){
   .staff-card
{
    min-width: 18rem;
}
}


.card-lower
{
    padding: 0.2rem 0;
}

.pab-1
{

    aspect-ratio: 1 / 1 !important;
    width: 500px;
    border-radius: 50%;
    border: 4px solid blue;

}

/* contact form */
.container-form {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  border-radius: 3px;
  border: 1px solid #396afc;
  box-shadow: rgba(0, 0, 0, 0.24) 0px 3px 8px;
}

.form-container form .descr {
  font-size: 20px;
  font-weight: 500;
  color: #e8e8e8;
  margin-bottom: 25px;
  margin-top: 25px;
  text-align: center;
}

.form-container {
  display: flex;
  flex-direction: column;

}


.contact-input, textarea {
  margin: 1em 0 1em 0;
  width: 100%;
  position: relative;
}

.contact-input input, textarea {
  font-size: 100%;
  padding: 0.7em;
  outline: none;
  color: #e8e8e8;
  border: none;
  border-bottom: 2px solid #e8e8e8;
  background: transparent;
  width: 100%;
  resize: none;
}

.contact-input label {
  font-size: 100%;
  position: absolute;
  left: 0;
  color: #e8e8e8;
  padding: 0.7em;
  margin-left: 0.1em;
  pointer-events: none;
  transition: all 0.5s ease;
  text-transform: uppercase;
}

.contact-input :is(input:focus, input:valid)~label {
  transform: translateY(-50%) scale(.9);
  margin: 0em;
  padding: 0.4em;
  background: transparent;
}

.contact-input textarea:focus ~ label,
.contact-input textarea:valid ~ label {
  transform: translateY(-50%) scale(.9);
  margin: 0em;
  padding: 0.4em;
  background: transparent;
}

.inputGroup :is(input:focus, input:valid) {
  border-color: rgb(37, 37, 211);
}

.contact-form button {
  color: #e8e8e8;
  background-color: var(--cp-secondary);
  font-size: 15px;
  align-self: flex-start;
  padding: 0.5rem 0.9rem;
  border: none;
  cursor: pointer;
  position: relative;
  overflow: hidden;
    border-radius: 5px;
}
.contact-form button:hover {
     box-shadow: 0 0px 2px 2px rgba(255, 255, 255, 0.7);

}

.map-outer
{
    position:relative;
    text-align:right;
    max-height: 490px;
    width:100%;
}
@media screen and (max-width: 1200px) {
    .map-outer
    {
        height: 500px;
    }

}
.gmap_canvas
    {
    overflow:hidden;
    background:none!important;
    height:100%;
    width:100%;
}
.map-outer iframe
{
    border-radius: 10px;
}

span.contact-title
{
    min-width: 100px;
}

h6.social-media-title
{
    position: relative;
    display: inline-block;

}
h6.social-media-title::before
{
    position: absolute;
    content: "";
    background-color: var(--cp-text-dark);
    left: -35%;
    top: 50%;
    width: 60%;
    height: 1px;
    transform: translate(-50%,-50%);

}
h6.social-media-title::after
{
    position: absolute;
    content: "";
    background-color: var(--cp-text-dark);
    right: -95%;
    top: 50%;
    width: 60%;
    height: 1px;
    transform: translate(-50%,-50%);

}

.contact-form-shadow
{
    box-shadow: rgb(38, 57, 77) 0px 20px 30px -10px;
}


div.course-container > p
{
    color: rgba(255, 255, 255, 0.8) !important;

}




@media (max-width: 576px) {
    .container, .container-sm {
        max-width: calc(100% - 10px);
    }
}

.highlight {
    background-color: var(--cp-secondary) !important;
    color: white;
    font-weight: bold;
}

.table-calendar {
  overflow-x: auto;
}

.calendar-border {
  border: 1px solid #dee2e6;
}

.calendar-border th,
.calendar-border td {
  border: 1px solid #dee2e6;
  padding: 10px;
}

.btn-link {
  padding: 0;
  color: var(--cp-primary);
  text-decoration: none;
  background-color: transparent;
  border: none;
    font-size: 1.3rem;
}

.fb-page {
  position: relative;
}

.fb-page iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
}

.course-container
{
    width: 300px!important;

}

ul.dropdown-menu
{
    position: relative;


}
ul.dropdown-menu li
{

   color: whitesmoke;
   margin-bottom: 6px ;

}

/*ul.dropdown-menu li:not(:last-child) {
   border-bottom: 1px solid rgba(0, 0, 0, 0.3);
    padding: 5px 0;
}*/

ul.dropdown-menu li a {
    padding-left: 35px;
    display: block;


}

ul.dropdown-menu li a::before {
    position: absolute;
    content: "➤";
    display: inline-block;
    margin-left: -25px;
    transform: translate(0,0);

}

.fc-col-header-cell-cushion, .fc-daygrid-day-top>a
{
    color: var(--cp-primary) !important  ;
}

label.required::after {
    content: ' *';
    color: red;
}


.error {
    color: red !important;
    font-size: 1rem !important;
    position: relative !important;
    line-height: 1 !important;
    width: 12.5rem !important;
}

.errorlist{
    color:red;
}