@charset "utf-8";
/* CSS Document */

/******* import fonts *********/

@import url('../fonts/roboto_stylesheet.css');
@import url('../fonts/poppins_stylesheet.css');

/******* import fonts *********/

/*======= root variables ========== */

:root {
    /* ===== Brand Colors ===== */
    --color-primary: #032854;
    --color-secondary: #E8602C;
    --color-light: #ffffff;

    /* brand light colors */
    --color-primary-light: #EAF6FB;
    --color-secondary-light: #FDF3EC;

    /* font colors */
    --main-heading-color: #032854;
    --sub-heading-color: #323232;
    --highlight-color: #E8602C;
    --paragraph-color: #333333;
    --mute-text-color: #616161;
    --text-light: #ffffff;


    /* ===== Font Families ===== */
    --font-heading: 'Roboto Condensed', Arial, Helvetica, sans-serif;
    --font-paragraph: 'Poppins', sans-serif;
}

/******************************/
/*******common css*************/
/******************************/

html{
    overflow-x: hidden;
}

body {
    font-family: var(--font-paragraph);
    color: var(--paragraph-color);
    overflow-x: hidden;
}

h1, h2 {
    font-family: var(--font-heading);
    color: var(--main-heading-color);
}

h1 {
    font-size: 28px;
}

h2 {
    font-size: 32px;
    font-weight: 600;
}

h3 {
    font-size: 26px;
    font-weight: 600;
}

h4 {
    font-family: var(--font-heading);
    font-size: 24px;
}

h5 {
    font-family: var(--font-paragraph);
    font-size: 18px;
}

p {
    font-family: var(--font-paragraph);
    color: var(--paragraph-color);
    font-size: 13px;    
}

a {
    text-decoration: none;
    color: var(--paragraph-color);
    transition: all 0.3s ease;
}

.text-light {
    color: var(--text-light) !important;
}

.sec_padding{
    padding-top: 70px;
    padding-bottom: 70px;
}

.text-secondary{
    color: var(--color-secondary) !important;
}

/* ============================== */
/* ============================== */
/* common css*/

.light_org_bg{
    background-color: var(--color-secondary-light);
}


/* button styles */

.btn {
  font-family: var(--font-paragraph, sans-serif);
  font-size: 13px;
  line-height: 1;
  text-decoration: none;
  display: inline-flex;
  border: none;
  cursor: pointer;
  align-items: center;
  gap: 0.75rem;
  border-radius: 10rem;
  padding: 5px;
  padding-left: 19px;
  white-space: nowrap;
  overflow: hidden;
  transition: all 0.3s;
}

.btn__icon-wrapper {
  flex-shrink: 0;
  width: 34px;
  height: 34px;
  position: relative;
  border-radius: 50%;
  display: grid;
  place-items: center;
  overflow: hidden;
}

.btn__icon-svg--copy {
  position: absolute;
  transform: translate(-180%, 180%);
}

/* Shared Animation */
.btn:hover .btn__icon-svg:first-child {
  transition: transform 0.3s ease-in-out;
  transform: translate(180%, -180%);
}

.btn:hover .btn__icon-svg--copy {
  transition: transform 0.3s ease-in-out 0.1s;
  transform: translate(0);
}

/* --- Variant 1: Original (Primary) --- */
.btn--primary {
  background-color: var(--color-primary);
  color: #fff;
}

.btn--primary .btn__icon-wrapper {
  color: #fff;
  background-color: var(--color-secondary);
}

.btn--primary:hover {
  color: var(--text-light);
  background-color: var(--color-secondary);
}

.btn--primary:hover .btn__icon-wrapper {
  color: var(--color-secondary);
  background-color: var(--color-light);
}

/* --- Variant 2: New (Outline/Transparent) --- */
.btn--outline {
  background-color: transparent;
  color: #43474F;
  padding: 0;
}

.btn--outline .btn__icon-wrapper {
  background-color: var(--color-secondary);
  color: #fff;
}

.btn--outline:hover {
  color: var(--color-secondary); /* Optional: highlight color on hover */
}

.btn--outline:hover .btn__icon-wrapper {
  background-color: var(--color-secondary);
  color: #fff;
}



/* ============================== */
/* ============================== */
/* ============================== */

/* header css */

header{
    height: 102px;
}

.nav_con{
    position: fixed;
    background-color: #ffffff;
    z-index: 9;
    width: 100%;
}

.logo_col{
    background-color: var(--color-light);
    box-shadow: rgba(0, 0, 0, 0.1) 0 2px 4px;
}

.navbar-brand{
    width: 160px;
    display: block;
}

.top_nav{
    padding: 10px 15px;
}

.nav_contact a{
    color: var(--paragraph-color);
    font-size: 13px;
}

.nav_contact a:hover{
    color: var(--highlight-color);
}

.social_link{
    color: var(--paragraph-color);
    font-size: 13px;
    margin-left: 10px;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: all 0.3s ease;
    background-color: #EEEEEE;
}

.social_link:hover{
    background-color: var(--color-secondary);
    color: var(--text-light);
}

.btm_nav_btn{
    padding: 20px 35px;
    background-color: var(--color-secondary);
    color: var(--text-light);
    border: none;
    font-size: 13px;
    transition: all 0.3s ease;
    border-radius: 0;
}

.btm_nav_btn:hover{
    background-color: #f84904;
}

.bottom_nav{
    background-color: var(--color-primary);
}

.nav-link{
    font-size: 13px;
    color: var(--text-light) !important;
}

.nav-link:hover{
    color: var(--color-secondary-light) !important;
}

.navbar-nav{
    gap: 22px;
    margin-right: 22px;
}

.nav-link.active{
    font-weight: 700;
}

/* ideas sec */

.idea_heading{
    font-size: 26px;
    color: var(--sub-heading-color);
    font-weight: normal;
    margin-bottom: 0;
}

.idea_heading span{
    color: var(--color-secondary);
}

.idea_right_col{
    background-image: url(../images/dark_skyline.png);
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: 345px;
}

/* swiper */

.quick_links_sec{
    background-image: url(../images/map.png);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 600px;
    background-position: left center;
}

.quick_links_swiper {
    width: 100%;
}

.quick_links_swiper .swiper-slide {
    background-position: center;
    background-size: cover;
    height: 350px;
    border-radius: 10px;
    padding: 12px;
    display: flex;
    flex-direction: column;
    justify-content: end;
}

.quick_links_swiper .swiper-pagination-bullet-active{
    background-color: var(--color-primary);
}

.custom-card {
  position: relative;
  height: 400px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 30px;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  transition: all 1s ease-in-out;
}

.custom-card:after{
    position: absolute;
    content: '';
    bottom: -20px;
    width: 150%;
    left: -20px;
    height: 400px;
    background-image: linear-gradient(rgba(251, 0, 0, 0) 65%, rgba(0, 0, 0, 0.8) 75%);
    transition: 1s ease-in-out;
}

.custom-card:hover:after{
    height: 800px;
}

/* Container for all text */
.content-container {
  transition: transform 0.4s ease;
  width: 100%;
  position: relative;
  z-index: 9;
}

/* Initially hide the P tag and Button */
.reveal-content {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height 1s ease-in-out, opacity 1s ease-in-out;
}

.custom-card:hover .reveal-content {
  max-height: 200px; /* Adjust based on content size */
  opacity: 1;
}

/* Text Fade Animation */
.carousel-item.active .animate-fade-in {
  animation: fadeInUp 0.8s ease-in-out forwards;
}

/* Ensure the carousel container is the reference for the absolute button */
#ideaCarousel {
  position: relative;
}
.btn-close-carousel {
  position: absolute;
  top: 15px;
  right: 20px;
  z-index: 1050; /* Higher than carousel content */
  background: rgba(0, 0, 0, 0.2); /* Semi-transparent background */
  color: white;
  border: none;
  border-radius: 50%;
  width: 30px;
  height: 30px;
  line-height: 28px;
  text-align: center;
  font-size: 20px;
  cursor: pointer;
  transition: background 0.3s ease;
  z-index: 2;
}

.btn-close-carousel:hover {
  background: rgba(0, 0, 0, 0.5);
  color: #ffedda; /* Or any highlight color */
}

/* about us sec */

.about_con{
    background-color: #031D3D;
    border-radius: 0 0 150px 0;
    padding-top: 80px;
    padding-bottom: 200px;
    background-image: url(../images/white_skyline.png);
    background-repeat: no-repeat;
    background-position: left bottom;
    background-size: 700px;
}

.about_left_col p{
    font-size: 22px;
}

/* accordion */

.top_border_accordion .accordion-button{
    box-shadow: none !important;
    padding: 25px 30px 25px 190px;
    font-size: 26px;
    font-weight: 500;
    background-color: var(--color-light);
    border: none;
    color: var(--sub-heading-color);
}

.top_border_accordion .accordion-button .item-number{
    font-size: 18px;
    margin-right: 20px;
}

.top_border_accordion .accordion-item{
    border: none;
    border-top: 1px solid #d4d4d4;
    border-radius: 0;
}

.top_border_accordion .accordion-body{
    padding-top: 0;
}
.accordion-body p{
    font-size: 15px;
}

.accor_img img{
    border-radius: 10px;
}

/* 1. Default State: Closed (Plus Icon) */
.top_border_accordion .accordion-button.collapsed::after {
    background-image: url(../images/plus.png);
    border: 1px solid #032854;
    padding: 10px;
    width: 36px;
    height: 36px;
    background-position: center;
    border-radius: 50px;
    background-size: 16px;
}

/* 2. Active State: Open (Minus Icon) */
.top_border_accordion .accordion-button:not(.collapsed)::after {
    background-image: url(../images/minus.png);
    background-color: var(--color-primary);
    padding: 10px;
    width: 36px;
    height: 36px;
    background-position: center;
    border-radius: 50px;
    background-size: 16px;
}

/* who we work with sec start */

.work_with_con{
    background-image: url(../images/who_wrok_bg.jpg);
    background-size: cover;
    background-position: bottom;
    background-repeat: no-repeat;
    border-radius: 0 0 150px 0;
}

.light_hover_card{
    background-color: var(--color-secondary-light);
    padding: 30px 50px;
    border-radius: 10px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    transition: .3s ease-in-out all;
    height: 100%;
}

.light_hover_card .icon{
    width: 65px;
    height: 65px;
    padding: 15px;
    background-color: #FDE8DC;
    border-radius: 100px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 10px;
}

.light_hover_card h5{
    font-family: var(--font-heading);
    text-align: center;
    margin-bottom: 0;
}

.light_hover_card:hover{
    background-color: var(--color-secondary);
}

.light_hover_card:hover h5{
    color: var(--text-light);
}

/* contact us sec */

.contact_con{
    background-image: url(../images/map.png);
    background-position: left bottom;
    background-size: 730px;
    background-repeat: no-repeat;
}

.contact_form{
    background-color: var(--color-primary-light);
    padding: 50px;
    border-radius: 10px;
}

.form-floating input{
    background-color: transparent !important;
    border: none;
    border-bottom: 1px solid #666666;
    border-radius: 0;
    font-size: 13px;
    box-shadow: none !important;
}

.form-floating textarea{
    background-color: transparent !important;
    border: none;
    border-bottom: 1px solid #666666;
    border-radius: 0;
    font-size: 13px;
    box-shadow: none !important;
}

.form-floating>label{
    font-size: 13px;
    color: #333333;
}

.form-floating>textarea:focus~label::after, .form-floating>textarea:not(:placeholder-shown)~label::after {
    background-color: var(--color-primary-light);
}

.send_btn{
    background-color: var(--color-primary);
    color: var(--text-light);
    padding: 17px 20px;
}

.send_btn:hover{
    background-color: #E8602C;
    color: var(--text-light);
}

.form-control:focus{
    border-color: var(--color-secondary);
}

/* news sec */

.news_card h5{
    font-family: var(--font-heading);
    color: #032854;
}

.news_card .date{
    margin-bottom: 10px;
    font-size: 12px;
    color: var(--color-primary);
}

.news_detail_date{
    margin-bottom: 10px;
    font-size: 12px;
    color: var(--color-primary);
    margin-left: 10px;
}

.news_detail_box div img{
    border-radius: 5px 5px 0 0;
}

.news_detail_box{
    padding: 20px;
    border: 1px solid rgba(195, 198, 209, 0.2);
    box-shadow: 0px 1px 2px 0px rgba(0, 0, 0, 0.05);
    border-top: 0;
    border-radius: 0 0 7px 7px;
}

.news_img img{
    border-radius: 7px 7px 0 0;
}

.news_img{
    position: relative;
}

.news_img .tag{
    position: absolute;
    color: #ffffff;
    background-color: var(--color-primary);
    padding: 5px 10px;
    top: 10px;
    left: 10px;
    border-radius: 3px;
    font-family: var(--font-heading);
    font-weight: 500;
}

.news_detail_tag{
    color: #ffffff;
    background-color: var(--color-primary);
    padding: 5px 10px;
    top: 10px;
    left: 10px;
    border-radius: 3px;
    font-family: var(--font-heading);
    font-weight: 500;
    width: fit-content;
}

.news_slider .swiper-button-prev, .news_slider .swiper-rtl .swiper-button-next {
    left: auto;
    right: 60px;
}

.news_slider .swiper-button-next, .news_slider .swiper-button-prev{
    top: 25px;
    width: 39px;
}

.news_slider{
    padding-top: 80px;
}

.news_slider .swiper-button-next:after, .news_slider .swiper-button-prev:after {
    font-size: 13px;
    color: rgba(25, 28, 29, 1);
    width: 45px;
    height: 45px;
    border: 1px solid rgba(115, 119, 128, 0.2);
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 12px;
    border-radius: 50px;
}

.news_slider .swiper-button-next, .news_slider .swiper-button-prev {
    top: 40px;
    width: 55px;
}

.news_slider .swiper-button-next:hover:after, .news_slider .swiper-button-prev:hover:after {
    background-color: var(--color-secondary-light);
}

.news_slider_col{
    margin-top: -85px;
}

.slider_news_detail{
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    min-height: 60px;
}

.news_detail_box h5{
    min-height: 65px;
}

/* footer */

footer{
    background-color: #002147;
    background-image: url(../images/footer_bg.png);
    background-size: 300px;
    background-position: right bottom;
    background-repeat: no-repeat;
}

.footer_logo {
    width: 150px;
    background-color: var(--color-light);
    padding: 17px 17px;
    border: 1px solid var(--color-primary);
    box-shadow: 0px 25px 50px -12px rgba(0, 0, 0, 0.5);
    margin-bottom: 15px;
    margin-top: -140px;
}

.contact_info_link{
    display: flex;
    gap: 10px;
    width: fit-content;
}

.contact_info_link p{
    color: var(--text-light);
    font-size: 13px;
}

.contact_info_link p:hover{
    color: var(--color-secondary);
}

.social_icon_div{
    display: flex;
    gap: 10px;
}

.social_icon_div a{
    color: var(--text-light);
    width: 30px;
    height: 30px;
    background-color: #d4d4d40c;
    border-radius: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 13px;
}

.social_icon_div a:hover{
    background-color: var(--color-secondary);
}

.footer_link {
    color: var(--text-light);
    font-size: 13px;
    width: fit-content;
}

.footer_link:hover {
    color: var(--color-secondary);
}

footer h4{
    font-size: 20px;
}

.copy_right_div{
    display: flex;
    border-top: 1px solid #c6c6c6af;
    justify-content: space-between;
    align-items: center;
    padding: 10px 0;
}

.copy_right_div p{
    color: var(--text-light);
    font-size: 11px;
    font-style: italic;
}

.copy_right_div a{
    font-weight: bold;
    color: #ffffff;
}

/* ============================== */
/* ============================== */

/* mobile menu */

.menu_canvas{
    background-image: url(../images/dark_skyline.png);
    background-position: bottom;
    background-size: 800px;
    background-repeat: no-repeat;
}

.mobile_menu ul{
    list-style-type: none; 
    padding: 0;
    margin: 0;   
}

.mobile_menu ul li{
    font-size: 18px;
    font-weight: 500;
    color: var(--paragraph-color);
    border-bottom: 1px solid #e7e7e7;
    padding: 20px 5px;
}

.menu_btn {
    font-size: 12px;
    font-weight: 500;
    border-radius: 0;
    background-color: transparent;
    border: 1px solid #5c5c5c;
    color: #ffffff;
    margin-right: 10px;
    padding: 10px 15px;
}

.menu_btn i{
    font-size: 23px !important;
}

.menu_contact .nav_contact a{
    font-size: 15px;
}

/* inner pages css */

/* news */

.news_detail_slider{
    padding-bottom: 30px;
}

.news_detail_slider .swiper-slide img{
    border-radius: 10px;
}

ul li{
    font-size: 13px;
    color: var(--paragraph-color);
}

.idea_left_col, .idea_right_col {
    min-height: 95px;
    display: flex;
    align-items: center;
}


.idea_Carousel {
  position: -webkit-sticky;
  position: fixed !important;
  z-index: 8;
  width: 100%;
}

.idea_crsl_div{
    height: 95px;
}

.nav_contact a {
    display: flex;
    align-items: center;
    gap: 5px
}

.nav_contact a i {
    font-size: 13px;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: all 0.3s ease;
    background-color: #EEEEEE;
}

