@import url('https://fonts.googleapis.com/css2?family=Nunito:wght@400;700&display=swap');

* {
  font-family: Nunito;		
}

/* links */
a {
  color: #007890 !important;
}
a:hover {
	color: #252525 !important;
}

/* New header 5-Fullwidth center */
/* Ensure logo stays centered */
#sp-logo {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
}

/* Adjust header padding */
#sp-header {
    position: relative;
}

/* Menu alignment */
#sp-menu .menu-with-offcanvas {
    justify-content: flex-start;
}

/* Mobile menu adjustments */
@media (max-width: 991px) {
    #sp-menu .menu-with-offcanvas {
        display: none !important;
    }
    
    #sp-logo {
        position: static;
        transform: none;
        margin: 0 auto;
    }
}
/* Header Structure */
#sp-header {
    position: relative;
}

.header-left,
.header-center,
.header-right {
    position: static;
    padding: 0 15px;
}

/* Center logo absolutely on smaller screens */
@media (max-width: 991px) {
    .header-center {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        width: auto !important;
    }
    
    .header-left,
    .header-right {
        z-index: 1;
    }
    
    /* Hide desktop menu on mobile */
    #sp-menu .menu-with-offcanvas {
        display: none !important;
    }
}

/* Ensure equal width columns */
@media (min-width: 992px) {
    .header-left,
    .header-center,
    .header-right {
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }
    
    .header-center {
        text-align: center !important;
    }
}

/* Mobile menu button adjustments */
#offcanvas-toggler {
    margin-left: auto;
}

.burger-icon {
  position: absolute !important;
  right:10px;
}

/* end  New header 5-Fullwidth center */

.article-list .article {
  font-size: calc(12px + (2 * 0.3vmin)) !important;
}

h1, .h1 {
  font-size: calc(12px + (4 * 0.3vmin));
  font-family: Nunito;
  font-style: normal;
  line-height: 1.5;
  font-weight: 700;
}

/* ============================= Article Title, h1,h2,h3... =========================================*/
.article-details .article-header h1, .article-details .article-header h2 {
  font-size: 1.7rem;
}

/* ============================= Article text =========================================*/
.article-details {
  margin: 0px 10px 0px 10px !important;
}
/* Hide Social icons */
.article-details .article-ratings-social-share {
 display: none !important;
}

#sp-header {
  height: 90px;
  width: 100%;
  position: relative;
  z-index: 99;
  border-bottom: 1px solid #e2e2e2;
  box-shadow: 0 0 15px rgba(4, 10, 16, 0.15);
  animation: spFadeIn 0.5s;
}

/* ============================================
   MOBILE HEADER HEIGHT - 70px
   ============================================ */
@media (max-width: 991px) {
    #sp-header {
        height: 70px !important;
        min-height: 70px !important;
        max-height: 70px !important;
    }
    
    /* Adjust logo size */
    #sp-header .logo {
        height: 70px !important;
        margin-top: 0px !important;
    }
    
    #sp-header .logo-image {
        max-height: 50px !important;
        width: auto !important;
    }
    
    /* Adjust burger icon position */
    #offcanvas-toggler {
        padding: 5px !important;
    }
    
    .burger-icon {
        position: relative !important;
        right: auto !important;
    }
    
    .burger-icon span {
        width: 22px !important;
        height: 2px !important;
        margin: 4px 0 !important;
        display: block !important;
        background: #333 !important;
    }
    
    /* Adjust columns */
    .header-left,
    .header-center,
    .header-right {
        padding: 0 10px !important;
    }
    
    /* Adjust menu items if visible on mobile */
    .sp-megamenu-parent > li > a {
        line-height: 70px !important;
    }
}

/* ============================================
   END MOBILE HEADER HEIGHT
   ============================================ */

/* ============================== logo top margin =========================================*/
#sp-header .logo {
  height:90px;
  margin-top: -90px;
}

#sp-bottom-d {
  padding-top: calc(5px + (10 * 0.4vmin)) !important;
  padding-bottom: calc(5px + (10 * 0.4vmin)) !important;
  background-image: linear-gradient(#007890,#007890);
  color: #fff;
}

@media (max-width: 991px) {
  #sp-header .logo {
    margin-top: 0px !important;
  }
  .logo-image-phone {
    height: 60px !important;
  }
}

/* ============================== logo top margin =========================================*/

/* Main Menu */
.sp-megamenu-parent > li {
	margin-top: -10px;
}

.sp-megamenu-parent > li > a, .sp-megamenu-parent > li > span {
  padding: 0 10px;
  font-size: 16px;
  line-height: 70px;
}

.sp-megamenu-parent>li>a {
 color: #555;
}
.sp-megamenu-parent>li:hover>a {
 color: #555;
}
.sp-megamenu-parent>li.active>a,
.sp-megamenu-parent>li.active:hover>a {
 color: #555;
}

.sp-megamenu-parent .sp-dropdown li.sp-menu-item > a, .sp-megamenu-parent .sp-dropdown li.sp-menu-item span:not(.sp-menu-badge) {
  font-size: 16px;
  padding: 10px 0;
}

.sp-megamenu-parent > li:hover > a {
  color: #555;
}

.sp-megamenu-parent .sp-dropdown li.sp-menu-item > a:hover {
  color: #000;
}

.sp-megamenu-parent .sp-dropdown li.sp-menu-item.active > a {
  color: #555;
}

.sp-megamenu-parent .sp-dropdown .sp-dropdown-inner {
  box-shadow: 0 3px 5px 0 rgba(0, 0, 0, 0.2);
  padding: 20px;
  border-radius:0px 0px 12px 12px;
}

/* ============================== Top bottom =========================================*/
.mwt .mod-custom.custom p.mtext {
	padding-top:15px;
	color: #fff;	
	font-size: calc(12px + (2 * 0.3vmin)) !important;
}

/* ============================== Custom first menu item =========================================*/

.smenu {
  padding: 0 10px !important;
  line-height: 50px !important;
  background-color: #007890;
  border-radius: 30px;
  color: #fff !important;
  flex-wrap: nowrap;
  font-family: Nunito;
  font-weight: 400;
  line-height: 1.5;
}

.smenu:hover {
  background-color: #e0a929;
  color: #fff !important;
}

/* Image styling with margins */
.smenu img {
  filter: blur(0.4px);
  margin-left: 5px;  /* Left margin before image */
  margin-right: 10px; /* Right margin after image */
}

/* ============================== GSP Slider =========================================*/

.gsp-slider-container {
  position: relative;
  width: 100%;
  height: 100vh; /* Set container height to viewport height */
  overflow: hidden;
}

.gsp-slider-container video {
  width: 100%;
  height: 100%;
  object-fit: cover; /* This will fill the container while maintaining aspect ratio */
  display: block;
  margin: 0 auto;
  filter: brightness(60%); /* lowers video brightness */
}

.gsp-slider-text {
  max-width: 1440px;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
}

.gsp-slider-text h1 {
  font-size: calc(12px + (10 * 0.3vmin)) !important;
  margin-bottom: calc(5px + (4 * 0.4vmin)) !important;
  font-family: 'Nunito', sans-serif;
  font-weight: 700;
  line-height: 1.5;
}

.gsp-slider-text h2 {
  font-size: calc(12px + (5 * 0.3vmin)) !important;
  margin-bottom: calc(5px + (4 * 0.4vmin)) !important;
  font-family: 'Nunito', sans-serif;
  font-weight: 300;
  line-height: 1.5;
}

@keyframes gspFadeInUpBig {
  from {
    opacity: 0;
    transform: translate(-50%, 100%);
  }
  to {
    opacity: 1;
    transform: translate(-50%, -50%);
  }
}

/* ============================== Main Body =========================================*/
#sp-main-body {
  padding: 30px 0 !important;
  background-image: linear-gradient(rgba(1,122,140,0.05),rgba(1,122,140,0.05));
}

/* ============================== ÒJD Contact form =========================================*/
.jd-simple-contact-form [class^="jdscf-col-md-"] {
	margin-top:10px;
}

.btn-primary {
  padding: 5px 20px;
  border-radius: 5px;
  margin-top: 10px;
  border-radius: 30px;
}

.btn-secondary {
  padding: 5px 20px;
  border-radius: 5px;
  margin-top: 10px;
  border-radius: 30px;
}
.btn-primary, .sppb-btn-primary {
  border-color: #007890;
  background-color: #007890;
}
.btn-secondary, .sppb-btn-secondary{
  border-color: #e37d5d;
  background-color: #e37d5d;
}
/* Hide Captcha error message */
li.parsley-minlength, li.parsley-max {
    display: none !important;
}

/* ============================== Bottom =========================================*/
#sp-bottom {
  padding: 0px 10px 0px 10px;
  font-size: calc(11px + (2 * 0.3vmin)) !important;
  line-height: 1.6;
}
#sp-bottom div.sp-module .mwt .custom p.mtext {
	padding-top:30px;
	color: #fff;
}
/* ============================== Footer =========================================*/

#sp-footer, #sp-bottom {
  background-image: linear-gradient(#005a6c,#005a6c);
}

.infofooter {
	line-height: 2.5rem;
}
.infofooter em.las {
  margin-right: 5px;
}

/* ============================== Tables =========================================*/
table {
  max-width: 100%;
  background-color: transparent;
}
td, tr td {
  border: 1px dashed #287b91;
}
/* ============================================
   MOBILE HEADER - 70px height
   ============================================ */
@media (max-width: 991px) {
    /* Header height */
    #sp-header {
        height: 70px !important;
        min-height: 70px !important;
        max-height: 70px !important;
    }
    
    /* Hide desktop menu on mobile */
    .header-left .main-menu-wrapper {
        display: none !important;
    }
    
    /* Center logo */
    .header-center {
        position: absolute !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        width: auto !important;
        flex: 0 0 auto !important;
        padding: 0 !important;
    }
    
    .header-center .sp-column {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    
    /* Logo size */
    #sp-header .logo {
        height: 70px !important;
        margin-top: 0px !important;
        display: flex !important;
        align-items: center !important;
    }
    
    #sp-header .logo-image {
        max-height: 45px !important;
        width: auto !important;
    }
    
    /* Right column - push everything to the right */
    .header-right {
        flex: 0 0 auto !important;
        width: auto !important;
        padding: 0 10px !important;
        margin-left: auto !important;
    }
    
    .header-right .right-elements-wrapper {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: 5px !important;
    }
    
    /* Hide social icons on mobile */
    .header-right .social-icons-wrapper {
        display: none !important;
    }
    
    /* Hide search and login on mobile */
    .header-right .header-modules-wrapper {
        display: none !important;
    }
    
    /* Mobile menu toggler - always on the far right */
    .header-right .mobile-menu-toggler-wrapper {
        display: flex !important;
        align-items: center !important;
        margin-left: auto !important;
    }
    
    #offcanvas-toggler {
        padding: 5px !important;
        margin: 0 !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
    
    .burger-icon {
        position: relative !important;
        right: auto !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
    }
    
    .burger-icon span {
        display: block !important;
        width: 22px !important;
        height: 2.5px !important;
        background: #333 !important;
        margin: 3px 0 !important;
        border-radius: 2px !important;
    }
    
    /* Fix for header row */
    .row {
        flex-wrap: nowrap !important;
    }
}

/* ============================================
   EXTRA SMALL SCREENS (?576px)
   ============================================ */
@media (max-width: 576px) {
    #sp-header {
        height: 70px !important;
        min-height: 70px !important;
    }
    
    #sp-header .logo-image {
        max-height: 35px !important;
    }
    
    .header-right {
        padding: 0 5px !important;
    }
    
    .burger-icon span {
        width: 18px !important;
        height: 2px !important;
        margin: 2.5px 0 !important;
    }
}

/* ============================================
   TABLET LANDSCAPE (768px - 991px)
   ============================================ */
@media (min-width: 768px) and (max-width: 991px) {
    #sp-header .logo-image {
        max-height: 50px !important;
    }
}