/* ---------- FONTS ---------- */

/* DIN in weights */
@font-face {
    font-family: "DIN";
    src: url("/fonts/DINNEXTLTARABIC-LIGHT-2-2.ttf") format("truetype");
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "DIN";
    src: url("/fonts/DINNextLTArabic-Regular-4.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "DIN";
    src: url("/fonts/DINNextLTArabic-Medium-4.ttf") format("truetype");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "DIN";
    src: url("/fonts/DINNextLTArabic-Bold-4.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* Apply globally */
:root {
    --font-main: "DIN", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
}

html, body {
    font-family: var(--font-main);
}

html {
  font-size: 18px; /* try 18px first */
}

body {
  font-size: 1rem;   /* equals html font-size */
  line-height: 1.65; /* improves readability */
}


h2 {
    margin-bottom:20px;
}

p {
    margin: 0 0 20px;
}

/* ---------- BUTTONS ---------- */

.btn-primary {
    background-color: rgba(53, 68, 177, 1);
    padding: .7rem 1.5rem;
    border-radius: 3px;
    border: 2px rgba(53, 68, 177, 1) solid;
}

.btn-primary:hover, .btn-primary:focus {
    background-color: rgba(53, 68, 177, .8);
    border: 2px rgba(53, 68, 177, .8) solid;
}

.btn-inverted {
    background-color:white;
    border: 2px #3544b1 solid;
    color: #3544b1;
    border-radius: 3px;
    padding: .7rem 1.5rem;
}

.btn-inverted:hover, .btn-inverted:focus {
    background-color: #3544b1;
    color: white;
}

.btn-inverted-orange {
    background-color: white;
    border: 2px solid rgba(247, 156, 55, 1);
    padding: .7rem 1.5rem;
    color: rgba(247, 156, 55, 1);
    font-weight: bolder;
}

.btn-inverted-orange:hover, .btn-inverted-orange:focus {
    background-color: rgba(247, 156, 55, 1);
    color: white;
}

/* ---------- Structure ---------- */

.section {
    padding: 50px 0;
}

.section .section {
    padding: 30px 0;
}

/* ---------- JUMBOTRON ---------- */

.jumbotron {
    background-color:rgba(16, 31, 60, 1);
    margin-bottom: 0;
    color:white;
}

/* ---------- NAVBAR ---------- */


/* ---------- MAIN CONTAINER ---------- */

p a {
    color:#3544b1;
}

p a:hover, p a:focus {
    color: rgba(53, 68, 177, 0.8);
}

.grey-bg {
    background-color:#F9F7F4;
}

.orange-bg {
    background-color: rgba(247, 156, 55, .8);
    color: white;
}

/* ---------- BLOG on Homepage ---------- */

.blog-promoImage {
    width:100%;
    height: 200px;
    background-position: center;
    background-size: cover;
    margin-bottom:20px;
    border-radius: 3px; 
}

.box-blog {
    padding-top: 50px;
    height:500px;
}

.box-blog .blog-meta {
    font-style: italic;
    color: rgba(0, 0, 0, .7);
    font-size: 13px;
}

.blog-box-btn {
    margin-bottom:10px;
}

@media (max-width: 992px) {
    .box-blog {
        height:600px;
    }
}

@media (max-width: 768px) {
    .box-blog {
        height:450px;
    }
}

/* ---------- ContantPage ---------- */

.sidebar-links {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

.sidebar-links li {
    line-height: 40px;
    font-size: 18px;
}

.sidebar-links h4 {
    margin-bottom: 20px;
}

.sidebar-links li a {
    color:#3544b1;
}

.sidebar-links li a:hover, .sidebar-links li a:focus {
    color: rgba(53, 68, 177, 0.8);
    text-decoration: none;
}

/* ---------- BLOG ---------- */

a.featured-link {
    color: #212529
}

a.featured-link:hover, a.featured-link:focus {
    text-decoration: none;
}

.featured-blog .image-box {
    width:100%;
    height: 300px;
    background-position: center;
    background-size: cover;
    margin-bottom:20px;
    border-radius: 3px; 
}

.thumbnail-blog {
    padding-bottom: 5px;
    border-bottom: rgba(53, 68, 177, 1) solid 2px;
    margin-bottom: 35px;
    transition: ease .5s;
}

.thumbnail-blog h5 {
    font-weight: 700;
}

.thumbnail-blog .thumbnail-img {
    width: 100%;
    height: 200px;
    background-position: center;
    background-size: cover;
    margin-bottom: 10px;
    border-radius: 3px;
    transition: ease .5s;
}

a.featured-link:hover .thumbnail-blog {
    border-bottom: #f79c37 solid 2px;
}

a.featured-link:hover .thumbnail-blog .thumbnail-img {
    opacity: .6;
}

/* ---------- BLOGPOST ---------- */

.intro {
    font-size: 125%;
    color: rgba(16, 31, 60, 1);
    margin-bottom: 30px;
    border-bottom:  #f79c37 solid 2px;
}

.meta-author.p-3 {
    padding: 0 !important;
}

.meta-meta a {
    color:#3544b1;
}

.meta-meta a:hover, .meta-meta a:focus {
    color: rgba(53, 68, 177, 0.8);
    text-decoration: none;
}

.blog-related {
    color:rgba(16, 31, 60, 1);
}

.blog-related h4 {
    text-decoration: underline;
}

.blog-related a {
    color:rgba(16, 31, 60, 1);
}

.blog-related a:hover, .blog-related a:focus {
    color:black;
    text-decoration: none;
}

/* ---------- CONTENTPAGE 2 ---------- */

div.teammember {
    line-height: 32px;
    font-size: 15px;
    margin-bottom: 100px;
}

/* ---------- FOOTER ---------- */

.footer {
    background-color:#1b264f;
    color: white;
}

.footer h4 {
    margin-bottom: 20px;
}

ul.footer-links {
    list-style-type: none;
    margin: 0;
    padding: 0;
}

ul.footer-links li {
    line-height: 32px;
}

ul.footer-links li a {
    text-decoration: none;
    color: rgba(255, 255, 255, .7);
}

ul.footer-links li a:hover, ul.footer-links li a:focus {
    text-decoration: none;
    color: rgba(255, 255, 255, 1);
}

.footer img {
    width:30%;
}

/* ---------- STYLE FOR GRID EDITOR ---------- */

.grid-section .img-fluid img {
    max-width: 100%;
    height: auto;
}



.hero{
  background:
    radial-gradient(1200px 700px at 50% 10%, rgba(255,255,255,.10), transparent 55%),
    linear-gradient(180deg, #0b2a45 0%, #08223a 100%);
  color: #fff;
  min-height: calc(100vh - 88px);
  display: grid;
  position: relative;
  overflow: hidden; /* important to keep bubbles inside */
  place-items: center;
  padding: 90px 20px;
}

/* Canvas behind content */

.hero::after{
  content:"";
  position:absolute;
  inset:0;
  background: rgba(0, 0, 0, 0.2); /* increase to 0.35 for darker */
  z-index: 1; /* overlay */
  pointer-events:none;
}

.hero__bubbles{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  opacity: 0.75;          /* controls overall intensity */
  pointer-events: none;   /* never blocks clicks */
}

.hero-content{
  max-width: 920px;
  text-align: center;
  position: relative;
  z-index: 2;
}

.hero-title{
  font-size: clamp(40px, 6vw, 74px);
  font-weight: 800;
  margin: 0 0 18px;
}

.hero-subtitle{
  font-size: clamp(16px, 2vw, 20px);
  opacity: .92;
  line-height: 1.8;
  margin: 0 0 28px;
}

.hero-meta{
  display: flex;
  justify-content: center;
  gap: 28px;
  flex-wrap: wrap;
  margin: 0 0 34px;
  opacity: .95;
}

.hero-meta__item{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 15px;
}

.hero-meta__icon{
  width: 28px;
  height: 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
}

.hero-actions{
  display: flex;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
}

.hero-btn{
  height: 46px;
  padding: 0 22px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  font-weight: 600;
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease, color .16s ease, border-color .16s ease;
}

.hero-btn:hover{ transform: translateY(-2px); }

.hero-btn--primary{
  background: #3fb6c8;
  color: #fff;
  box-shadow: 0 18px 30px rgba(0,0,0,.18);
  border: 2px solid transparent;
}

.hero-btn--outline{
  background: transparent;
  color: #fff !important;
  border: 2px solid rgba(255,255,255,.55);
}

.hero-btn--outline:hover{
  border-color: rgba(255,255,255,.85);
  background: #3f42c8;
}

.hero-btn,
.hero-btn:visited,
.hero-btn:hover,
.hero-btn:focus,
.hero-btn:active{
  text-decoration: none !important;
}

.hero-btn:visited{
  color: inherit;
}

.info{
  margin: 100px 0;          /* space above/below the whole section */
}

/* Section layout: left text + right cards */
.info__title{
  position: relative;
  text-align: center;
  font-size: clamp(34px, 3.6vw, 54px);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: #123a78;           
  margin: 0 0 52px;
  line-height: 1.1;
}

.info__title::after{
  content: "";
  display: block;
  width: 86px;
  height: 4px;
  margin: 18px auto 0;
  border-radius: 999px;
  background: rgba(18, 58, 120, .22);
}

.info__grid{
  display: grid;
  grid-template-columns: 1.15fr 0.85fr; /* text wider */
  gap: 56px;
  align-items: start;
}

.pillGrid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}


/* Card style */
.pill{
  background: rgba(63,182,200,.16);
  border: 1px solid rgba(63,182,200,.22);
  border-radius: 18px;
  min-height: 150px;
  padding: 30px;
  display: grid;
  place-items: center;   /* centers icon + label */
  text-align: center;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}

.pill:hover{
  transform: translateY(-4px);
  background: rgba(63,182,200,.20);
  border-color: rgba(63,182,200,.35);
  box-shadow: 0 18px 30px rgba(17,24,39,.10);
}

/* Icon size */
.pill__img{
  width: 48px;
  height: 48px;
  object-fit: contain;
  display: block;
}

/* Label */
.pill__label{
  font-weight: 800;
  color: #0b2a45;
  font-size: 16px;
}

/* Make RTE paragraph spacing look clean */
.info__text p{
  margin: 0 0 22px;
  line-height: 1.9;
  color: rgba(11,42,69,.75);
  font-size: 19px;
}

/* Responsive */
@media (max-width: 980px){
  .info__grid{
    grid-template-columns: 1fr;
    gap: 28px;
  }
}

@media (max-width: 520px){
  .pillGrid{
    grid-template-columns: 1fr;
  }
}

.stats{
  background: rgba(210, 245, 244, .65);
  padding: 90px 0;
}

.stats__title{
  text-align: center;
  font-size: clamp(30px, 3vw, 44px);
  font-weight: 800;
  color: #123a78;
  margin: 0 0 52px;
}

.stats__grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
  max-width: 980px;
  margin: 0 auto;
}

.statCard{
  background: #fff;
  border-radius: 14px;
  padding: 34px 18px;
  text-align: center;
  box-shadow: 0 18px 30px rgba(17,24,39,.08);
}

.statCard__number{
  font-size: 52px;
  font-weight: 300;
  color: #50c6d3;
  letter-spacing: -0.02em;
  line-height: 1;
  margin-bottom: 14px;
}

.statCard__label{
  font-weight: 700;
  color: #0b2a45;
  font-size: 14px;
}

@media (max-width: 980px){
  .stats__grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px){
  .stats__grid{ grid-template-columns: 1fr; }
}
