@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: 'Roboto', sans-serif;
  line-height: 1.5em;
}
img{
  width: 100%;
}

body {
  background: #fff;
  color: #fff;
}
p{
  font-weight: 400;
}
h2{
  text-transform: capitalize;
}
a{
  color: #fff;
  text-decoration: none;
}
a:hover{
  color: #fff;
  text-decoration: underline;
}


/* popup form css start */


    /* Popup Form-only modal overlay styles */
    .external-overlay {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background: rgba(0, 0, 0, .5);
      display: none;
      justify-content: center;
      align-items: center;
      z-index: 9999;
      color:#000;
    }
    .external-modal {
      width: 85%;
      max-width: 474px;
      background: #fff;
      border-radius: 12px;
      position: relative;
      box-shadow: 0 10px 30px rgba(0,0,0,.2);
      padding: 24px;
    }
    .external-close {
      position: absolute;
      top: 8px;
      right: 12px;
      cursor: pointer;
      font-size: 20px;
      font-weight: bold;
    }
    .external-form {
      display: block;
    }
    .external-form h2 {
      font-size: 15px;
    }
    .external-form label {
      font-size: 12px;
    }
    .external-form input,
    .external-form select {
      width: 100%;
      padding: 8px;
      margin: 7px 0;
      border: 1px solid #d0d7de;
      border-radius: 6px;
    }
    .external-checkbox-row {
      display: flex;
      align-items: flex-start;
      gap: 12px;
      margin: 18px 0;
    }
    .external-checkbox-row input[type="checkbox"] {
      width: 15px;
      height: 15px;
      margin-top: 3px;
      flex: 0 0 13px;
    }
    .external-help-text {
      margin: 0;
      font-size: 10px;
      line-height: 1.35;
    }
    .external-submit {
      width: 100%;
      padding: 10px 16px;
      font-size: 14px;
      background: #1b193f;
      color: #fff;
      border: none;
      border-radius: 8px;
      cursor: pointer;
      margin-top: 12px;
    }
    @media(max-width: 480px) {
      .external-modal {
        width: 90%;
        padding: 20px;
      }
    }

/* Container */
.container {
  width: 90%;
  max-width: 1350px;
  margin: auto;
}

/* Header */
.header {
  background: #fff;
  padding: 15px 0;
}

.header-flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.logo {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #1e2a78;
  font-size: 14px;
}

.logo img {
  width: 175px;
}

/* Download Button */
.download-btn {
  background: #000;
  color: #fff;
  padding: 10px 10px 10px 20px;
  border-radius: 25px;
  text-decoration: none;
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 10px;
  transition: 0.3s;
}

.download-btn:hover {
  background: #333;
}

.arrow {
  background: #fff;
  border-radius: 50%;
  width: 25px;
  height: 25px;
  padding: 4px;
  display: flex;
    justify-content: center;
    align-items: center;
}
.arrow img{
    width: 10px;
    height: auto;
}

/* Hero Section */
.hero {
  position: relative;
  background: url('/dhaka/assets/images/dhaka-banner1.png') no-repeat center center/cover;
  min-height: 90vh;
  display: flex;
  align-items: center;
}
.hero h1{
  text-transform: uppercase;
}

.overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(16,58,82), rgba(0,0,0,0.3));
}

.hero-content {
  position: relative;
  z-index: 2;
  max-width: 1350px;
  margin: 200px auto 10px;
}

.hero h1 {
  font-size: 80px;
  font-weight: 100;
  margin-bottom: 25px;
  line-height: 1.2;
}

.description {
  font-size: 20px;
  line-height: 1.6;
  margin-bottom: 20px;
  font-weight: 300;
}
.anl-map-sec{
  background-color: #103A52;
  padding: 60px 0;
}
.temp-key-sec{
  background-color: #d8e8f4;
  padding: 60px 0;
}
.temp-key-sec h3{
  font-weight: 500;
  font-size: 23px;
  color: #000;
}
.temp-key-grid2{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin-top: 30px;
}
.temp-key-div{
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.temp-key-bx{
  background-color: #17567C;
  padding: 20px;
}
.temp-key-bx p{
  font-size: 18px;
  font-weight: 200;
}
.temp-key-img{
   position: relative;
  background: url('/dhaka/assets/images/key-side1.jpg') no-repeat center center/cover;
  display: flex;
  width: 100%;
  align-items: flex-end;
  padding: 20px;
}
.temp-key-img p{
  font-size: 17px;
  font-weight: 400;
}
.who-worker{
  background-color: #d8e8f4;
  padding: 40px 0;
}
.who-worker h2{
  font-size: 48px;
  font-weight: 300;
  color: #000;
}
.surveyTabs_nav {
    display: flex;
    justify-content: center;
    margin-top: 30px;
    justify-content: left;
}
.surveyTabs_btn {
    padding: 18px;
    border: none;
    cursor: pointer;
    font-size: 20px;
    background: #2f2f2f00;
    font-weight: 500;
    color: #000;
    width: 380px;
    display: flex;
    justify-content: center;
    text-align: center;
}
.surveyTabs_btn.active {
    background: #fff;
    color: #2F2F2F;
}
.surveyTabs_content.active {
    display: block;
}
.surveyTabs_content {
    display: none;
    padding: 60px;
    background-color: #fff;
}
.surveyTabs_grid {
    display: flex;
    align-items: flex-start;
    gap: 60px;
}
.surveyTabs_text {
    flex: 1;
}
.surveyTabs_title {
    font-size: 25px;
    margin-bottom: 20px;
    color: #000;
    font-weight: 400;
}
.surveyTabs_desc {
    font-size: 16px;
    line-height: 1.6;
    color: #333;
    margin-bottom: 16px;
    font-weight: 400;
}
.surveyTabs_graphic1 {
    flex: 1;
    width: 100%;
}
.surveyTabs_gender_wrap1 {
    width: 100%;
}
.surveyTabs_gender_wrap {
    display: flex;
    gap: 80px;
    align-items: flex-start;
}
.surveyTabs_gender_wrap img{
  width: 550px;
  margin-top: -20px;
}
.chart {
    margin-top: 60px;
    position: relative;
}
#migrationchart1, #migrationchart1 {
    margin-top: 10px;
}
.migrationsec{
  background-color: #d8e8f4;
  padding: 60px 0;
  color: #000;
}
.migrationsec h2{
  font-weight: 300;
  color: #000;
}
.migrationsec .container{
  display: flex;
  flex-direction: column;
  row-gap: 30px;
}
.whitecontainer{
  background-color:#fff;
  padding: 40px;
}
.brline1{
  width: 100%;
  height:0.3px;
  background-color:#7E7E7E;
  margin-top: 40px;
}
.top-20{
  margin-top: 50px;
}
.grid-2-1{
  display: flex;
  gap: 80px;
  align-items: center;
}
.grid-35{
  width:30%;
}
.grid-65{
  width:70%;
}
.grid-65 img{
  width: 650px;
}
.surveyTabs_title1{
font-size:25px;
margin-bottom:5px;
color: #000;
font-weight: 400;
}

.surveyTabs_desc1{
font-size:16px;
line-height:1.6;
color:#000000;
font-weight: 400;
margin-bottom: 10px;
}
.grid-70 img{
  width:83%;
}

.weaterexposec{
  color:#000;
  padding-bottom: 60px;
  padding-top:60px;
}
.weaterexposec h2{
  font-weight: 300;
  margin-bottom: 40px;
  width:650px;
}
.weaterexposec img{
  margin:40px 0;
}
.grid-2-2 {
    display: flex;
    gap: 80px;
}
.gri11{
  margin-top: 30px;
    align-items:start;
}

.qt-bx1{
  background-color: #F6F8FB;
  padding: 30px;
  display: flex;    
  flex-direction: column;
  margin-top: 40px;
}
.qt-bx1 img{
    width: 50px;
    margin-left: -50px;
    margin-top:-50px;
    margin-bottom: 15px;
}
.qt-txt{
  font-size: 17px;
  color:#5A5A5A;
  margin-bottom: 20px;
  font-style: italic;
}
.qt-name{
  font-size: 14px;
  color: #191919;
  font-weight: 500;
}
.qtbx12{
  background-color: #17567C !important;
  margin-bottom: 40px;
}
.qtbx12 p{
  color: #fff !important;
}
.exter-w-sec{
  background-color: #fff;
  padding: 60px 0;
  color:#000;
}
.exter-w-container{
  display: flex;
  flex-direction: column;
  gap:20px;
}
.exter-w-sec h2{
  font-weight: 300;
}
.p-bold1{
  font-weight: 400;
  font-size: 18px;
  margin-top: 20px;
}
.impact-work-sec{
  background-color: #fff;
  color:#000;
  padding: 60px 0;
}
.impact-work-sec h2{
  font-weight: 300;
}

.impact-house-gr{
  padding-top: 30px;
  padding-bottom: 20px;
  margin-top: 20px;
}
.impact-house-gr .tabs {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    margin-bottom: 0;
}
.impact-house-gr .tab{
  width: fit-content;
}
.impact-house-gr .tab-content {
    background: #EDF0F7;
    padding: 40px;
    width: 100%;
    margin-top:0;
}
.impact-house-gr .tab {
    background: #fff;
    color: #000;
}
.impact-house-gr .tab:hover {
    background: #EDF0F7;
    color: #000;
}
.impact-house-gr .tab:not(:last-child) {
    border-right: none;
}
.impact-house-gr .tab.active {
    background: #EDF0F7;
    color: #000;
}
.impact-house-gr .tab.active:hover {
    background: #fff;
    color: #000;
}

/* Tabs */

.tabs{
display:flex;
justify-content:center;
flex-wrap:wrap;
margin-bottom:40px;
gap:8px;
z-index: 1;
}

.tab{
padding:14px 26px;
border:none;
cursor:pointer;
font-size:16px;
background:#FBE5B2;
color:#424856;
transition:0.3s;
width: 325px;
font-weight: 600;
text-transform: capitalize;
}

.tab:not(:last-child){
border-right:2px solid #e7e1d3;
}

.tab:hover{
  background: #F6F8FB;
  color:#000;
}

.tab.active:hover{
  background: #F6F8FB;
  color:#000;
}

.tab.active{
background:#F6F8FB;
color:#fff;
}

/* Content */

.tab-wrapper{
  width: 100%;
}
.tab-content{
background:F6F8FB;
padding:40px;
width: 100%;
margin-top: -60px;
}

.content{
display:none;
}

.content.active{
display:block;
}


.gr-3x{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: space-between;
  width: 100%;
  max-width: 1350px;
}
.gr-2x{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: space-between;
  width: 100%;
  max-width: 1350px;
}
/*
.gr1bx{
  background-color: #F6F8FB;
  padding: 25px 25px 0;
  display: flex;
  gap: 10px;
  flex-direction: column;
  min-height: 260px;
  justify-content: space-between;
}
  */
/* 3. The Flip Card Container */
.gr1bx {
    background-color: transparent;
    width: 32.5%;
    height: 365px;
    perspective: 1000px; /* Perspective on the parent creates the 3D space */
    cursor: pointer;
}
.gr1bx.l2x {
    background-color: transparent;
    width: 49.5% !important;
    height: 350px;
    perspective: 1000px; /* Perspective on the parent creates the 3D space */
    cursor: pointer;
}
.white1{
  background-color: #fff !important;
}

/* 4. The Inner Container (Only this rotates) */
.gr1bx-inner {
    position: relative;
    width: 100%;
    height: 100%;
    transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
    transform-style: preserve-3d;
}

/* HOVER RULE: This ensures ONLY the hovered card flips */
.gr1bx:hover {
    z-index: 10; /* Brings flipping card to front */
}

.gr1bx:hover .gr1bx-inner {
    transform: rotateY(180deg);
}

/* 5. Front & Back Face Styling */
.gr1bx-front, .gr1bx-back {
    position: absolute;
    width: 100%;
    height: 100%;
    -webkit-backface-visibility: hidden; /* Important for Safari */
    backface-visibility: hidden;
    background-color: #F6F8FB;
    padding: 25px 25px 0;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.colorn{ 
    background-color: #EDF0F7 !important;
}

/* The Back side is pre-rotated 180 degrees */
.gr1bx-back {
    transform: rotateY(180deg);
}

/* 6. Text & Content Styling */
.gr1bx-title {
    font-size: 17px;
    font-weight: 500;
    text-align: center;
    margin-bottom: 20px;
    line-height: 1.2;
    color: #1a1a1a;
    text-transform: capitalize;
}

.gr1bx-desc {
    font-size: 14px;
    line-height: 1.6;
    color: #444;
}

.gr1bx-desc-flip {
    font-size: 14px;
    line-height: 1.6;
    font-weight: 400;
    font-style: italic;
    color: #444;
}
.bx-auther{
  margin-top:10px; 
  font-weight:400;
  /* font-style: italic; */
    color: #444;
    font-size: 14px;
}
.arrow-img {
    width: 55px;
    margin: auto auto 0 auto; /* Pushes to bottom and centers horizontally */
}

.gr1bx img{
  width: 60px;
  margin: 0 auto;
}
.card-img1 {
    width: 100% !important;
}
.bg2{
  background-color: #d8e8f4;
}
.impact-house-gr.bg2 .tab.active {
    background: #fff;
    color: #000;
}
.impact-house-gr.bg2 .tab-content {
    background: #fff;
    padding: 40px;
    width: 100%;
    margin-top: 0;
}
.impact-house-gr.bg2 .tab {
    background: transparent;
    color: #000;
}
.gr-2x{
  display: grid;
  grid-auto-flow: column;
  gap: 20px;
}


.gr1bx.active {
    min-height: 260px; 
}

/* 2. The Description Transition (Closing State) */
.gr1bx-desc {
    max-height: 300px;
    opacity: 1;
    margin: 0; 
    
    /* When closing: Text fades out FAST (0.2s) so the shrinking box doesn't crush it */
    transition: max-height 0.5s cubic-bezier(0.4, 0, 0.2, 1),
                margin 0.5s cubic-bezier(0.4, 0, 0.2, 1),
                opacity 0.2s ease-out; 
}

/* 3. The Description Transition (Opening State) */
.gr1bx.active .gr1bx-desc {
    max-height: 300px; /* Adjust if your text is longer */
    opacity: 1;
    margin-top: 10px; 
    
    /* When opening: Text fades in SLOWER (0.4s) with a slight delay (0.1s) so the box makes room first */
    transition: max-height 0.5s cubic-bezier(0.4, 0, 0.2, 1),
                margin 0.5s cubic-bezier(0.4, 0, 0.2, 1),
                opacity 0.4s ease-in 0.1s; 
}

/* 4. Smooth Arrow Rotation & Click Fix */
.gr1bx img {
    width: 75px;
    cursor: pointer;
    align-self: center;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    
    /* --- The Fixes --- */
    display: block; /* Stops it from acting like text */
    position: relative; 
    z-index: 10; /* Forces the image above any invisible overlapping text margins */
    padding: 10px; /* Optional: Makes the clickable "hit area" slightly larger than the image itself for better UX */
    margin-bottom: -10px; /* Offsets the padding so it doesn't mess up your layout spacing */
}

.gr1bx.active img {
  /*  transform: rotate(180deg); */
}

.stories-sec{
  background-color: #17567C;
  padding-top: 60px;
  padding-bottom: 20px;
}
.dw2{
  margin-top: 40px;
}
.stories-sec h2{
    font-weight: 300;
}
.footer-sec {
    background-color: #17567C;
    padding: 10px 0;
    text-align: center;
    width: 100%;
}