@import url("https://fonts.googleapis.com/css2?family=Poppins");
@import url(https://code.ionicframework.com/ionicons/2.0.0/css/ionicons.min.css);

html {
  scroll-behavior: smooth;
  margin: 0 !important;
  padding: 0 !important;
}

body p {
  line-height: 1.8;
  color: #616161;
}
body {
  font-family: "Poppins", sans-serif !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden;
}

/* Typongraphy Heading */
.heading-1 {
  font-size: 2.25rem !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
}

.heading-2 {
  font-size: 6rem !important;
  line-height: 1.2 !important;
  font-weight: 700;
}
.heading-2-white {
  font-size: 6rem !important;
  line-height: 1.2 !important;
  font-weight: 700;
  color: #fff;
}

.heading-3 {
  font-size: 1rem !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
}

.heading-4 {
  font-size: 1.25rem !important;
  line-height: 1.6 !important;
  font-weight: 500 !important;
}

.heading-5 {
  font-size: 1.5rem !important;
  line-height: 1.6 !important;
  font-weight: 600 !important;
}

.heading-6 {
  font-size: 1.1rem !important;
  line-height: 1.6 !important;
  font-weight: 500 !important;
}

.heading-7 {
  font-size: 0.9rem !important;
  line-height: 1.6 !important;
  font-weight: 500 !important;
}

.heading-8 {
  font-size: 1.2rem !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
}

.heading-9 {
  font-size: 1.125rem !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
}

.heading-10 {
  font-size: 0.8rem !important;
  line-height: 1.2 !important;
  font-weight: 500 !important;
}

.heading-12 {
  font-size: 0.9rem !important;
  line-height: 1.2 !important;
  font-weight: 500 !important;
}

.heading-13 {
  font-size: 3rem !important;
  line-height: 1.2 !important;
  font-weight: 700 !important;
}
.heading-14 {
  font-size: 2rem;
  line-height: 116%;
  font-weight: 600;
}

/* Typongraphy paragraph */
.paragraph-xl {
  font-size: 1.6rem !important;
  line-height: 2.5rem !important;
  font-weight: 500 !important;
  margin-bottom: 15px !important;
}

.paragraph-slider {
  font-size: 20px !important;
  line-height: 2.5rem !important;
  font-weight: 500 !important;
  margin-bottom: 15px !important;
}

.paragraph-l {
  font-weight: 100;
  font-size: 1.1rem !important;
  line-height: 1.6rem !important;
  margin-bottom: 24px !important;
}

.paragraph-m {
  font-size: 1rem !important;
  line-height: 1.8 !important;
}

.paragraph-h {
  font-size: 0.75rem !important;
  line-height: 1.8 !important;
}

.paragraph-f {
  font-size: 0.875rem !important;
  line-height: 1.8 !important;
}

.paragraph-f-2 {
  font-size: 0.9rem !important;
  line-height: 1.8 !important;
}

/* Konekt styles start */

.paragraph-e {
  font-size: 1.375rem;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
}
.paragraph-f {
  font-size: 18px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
}
.paragraph-f {
  font-size: 1rem;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
}
.bg-btn-white {
  background-color: #fff !important;
  color: #16359b !important;
  border-radius: 50px !important;
  padding: 12px 32px;
  font-weight: 700;
  font-size: 16px;
}
.bg-blue {
  background-color: #0d6efd;
  color: #fff;
  border-radius: 20px !important;
}
.home_banner_title_2 {
  color: #fff;
  font-size: 3rem !important;
  font-weight: 600 !important;
  line-height: 116%;
}
.black-background {
  background-color: #000;
}

.card-content {
  position: absolute;
  top: 35%;
}
.card-inner {
  position: relative;
}
.s5-content {
  position: absolute;
  top: 40%;
}

.light-blue-lite {
  background-color: #eef2ff;
}
.section_3_casestudy_card {
  border-radius: 15px;
}
.more_casestudy-card {
  border-radius: 10px;
  box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px,
    rgba(60, 64, 67, 0.15) 0px 2px 6px 2px;
  border: none !important;
  min-height: 430px;
}
.more_casestudy-card-body {
  background-color: #f5f5f5;
  border-radius: 10px;
}
.casestudy_card_title {
  min-height: 100px;
}
.btn-case-study {
  border-radius: 15px;
  border: 2px solid #16359b;
}
.text-dark-blue2 {
  color: #16359b;
}

.text-black {
  color: #000;
}
.text-dark-grey {
  color: #616161;
}

@media screen and (max-width: 768px) {
  .paragraph-e {
    font-size: 1.15rem;
    font-weight: 600;
    line-height: normal;
  }
  .home_banner_title_2 {
    color: #fff;
    font-size: 2rem !important;
    font-weight: 600 !important;
    line-height: normal;
  }
  .card-content {
    position: absolute;
    top: 10%;
  }
  .card-content-insights {
    position: absolute;
    top: 60%;
  }
  .heading-13 {
    font-size: 2.5rem !important;
    line-height: 1.2 !important;
    font-weight: 700 !important;
  }
  .blog-hero-mobile {
    height: 150px !important;
    background-position: center;
  }
}

/* Header start */
.menu {
  list-style: none;
}
.dropdown-menu {
  border-radius: 0px !important;
  border: none !important;
}
.secondary-nav {
  font-size: 0.875rem !important;
}

.navbar-nav .nav-link.active,
.navbar-nav .nav-link.show {
  color: #ec1c24 !important;
}
/* Current top-level nav item shown in red */
/* Mobile/tablet: current submenu item = red text only, no background */
@media (max-width: 1023px) {
  .offcanvas-body .navbar-nav li.current-menu-item > .nav-link,
  .offcanvas-body .navbar-nav .nav-link[aria-current="page"],
  .offcanvas-body .dropdown-menu li.current-menu-item > .dropdown-item,
  .offcanvas-body .dropdown-menu .dropdown-item[aria-current="page"] {
    background-color: #fff !important;
    color: #ec1c24 !important;
    border-radius: 0 !important;
    font-weight: 500 !important;
  }
}

@media (min-width: 1024px) {
  .dropdown-menu li.current-menu-item > .dropdown-item,
  .dropdown-menu .dropdown-item[aria-current="page"] {
    background-color: #ec1c24 !important;
    color: #fff !important;
    border-radius: 8px !important;
    font-weight: 500 !important;
  }
}

/* Rounded dropdown container */
.dropdown-menu {
  border-radius: 12px !important;
  padding: 8px !important;
  overflow: hidden;
}

/* Gap between submenu items + rounded corners on each item */
.dropdown-menu .dropdown-item {
  border-radius: 8px !important;
  margin-bottom: 4px !important;
  padding: 7px 14px !important;
}

.dropdown-menu .dropdown-item:last-child {
  margin-bottom: 0 !important;
}

/* Current submenu item: red background, white text, rounded */
.dropdown-menu li.current-menu-item > .dropdown-item,
.dropdown-menu .dropdown-item[aria-current="page"] {
  background-color: #ec1c24 !important;
  color: #fff !important;
  border-radius: 8px !important;
}
/* Vertically center all nav items in the header — desktop only */
@media (min-width: 1024px) {
  .navbar {
    display: flex;
    align-items: center;
  }

  .navbar-nav {
    align-items: center;
  }

  .navbar-nav .nav-link {
    display: flex;
    align-items: center;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }

  .navbar-brand {
    display: flex;
    align-items: center;
    margin: 0;
    width: 150px !important;
  }
}

.navbar-brand {
    padding-top: var(--bs-navbar-brand-padding-y);
    padding-bottom: var(--bs-navbar-brand-padding-y);
    margin-right: var(--bs-navbar-brand-margin-end);
    font-size: var(--bs-navbar-brand-font-size);
    color: var(--bs-navbar-brand-color);
    text-decoration: none;
    white-space: nowrap;
    width: 120px;
    align-items: center;
    justify-content: center;
    display: flex;
}

.fixed-top {
  position: fixed;
  top: 32px !important;
  right: 0;
  left: 0;
  z-index: 1030;
}
.nav-link a:hover {
  color: #0d6efd;
}
.navbar-main {
  box-shadow: rgb(0 0 0/20%) 0 0 6px !important;
}
a.skip-link {
  position: fixed !important;
  z-index: 1000 !important;
  top: 0 !important;
  right: 0 !important;
}
.dropdown-item:hover {
  background-color: transparent !important;
  color: #ec1c24 !important;
}
.btn-blue-header {
  color: #fff !important;
  background-color: #0d6efd;
  border-radius: 50px;
  padding: 0.8rem 1.5rem;
  display: inline-flex;
  justify-content: center;
  text-decoration: none !important;
  position: relative;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.btn-blue-header:hover {
  transform: translateY(-5px);
  box-shadow: 0 0 10px rgba(0, 123, 255, 0.5);
}
.dropdown-toggle::after {
  display: inline-block;
  margin-left: 0.255em;
  vertical-align: middle !important;
  content: "";
  border-top: 0.3em solid;
  border-right: 0.3em solid transparent;
  border-bottom: 0;
  border-left: 0.3em solid transparent;
}
.dropdown:hover .dropdown-menu {
  display: block;
}
/* Header end */

/* footer section start */

.footer-logo {
    display: block;
    margin-bottom: 1rem; /* adjust spacing between logo and address */
}

.accordion-body ul li a {
  text-decoration: none !important;
  font-size: 1rem;
  color: #616161;
  line-height: 2.2;
}
.footer-c-links {
  color: #616161;
  font-size: 16px;
  line-height: 1.5;
}
.footer-c-links-only:hover {
  color: #0d6efd;
}
.partners-logo-list {
  list-style-type: none;
  display: inline-block;
  padding: 25px 10px;
}
.footer-partners-logo {
  width: 115px;
}
.grid-container {
  display: grid;
  grid-template-columns: 75px 350px;
  grid-template-rows: 80px;
  grid-gap: 10px;
  padding: 0;
}
.grid-container > div {
  background-color: rgba(255, 255, 255, 0.8);
  text-align: center;
  padding: 20px 0;
  font-size: 30px;
}
.review_icon {
  /* margin-top: 1rem; */
}
.review-rate {
  font-size: 14px;
  font-weight: 600;
  color: #616161;
}
.stars {
  /* margin-top: 5px; */
}
.review-rate-text {
  font-size: 13px;
  color: #616161;
}
.copy-right-text {
  font-size: 14px;
  color: #757575;
  font-family: poppins, sans-serif;
  /* padding-top: 60px; */
  padding-bottom: 40px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .copy-right-text {
    font-size: 12px;
    color: #757575;
    font-family: poppins, sans-serif;
    /* padding-top: 60px; */
    padding-bottom: 10px;
    text-align: center;
  }
}
.social-link-spacer {
  margin-top: 10px !important;
}
.social-link-spacer span {
  font-size: 14px;
  color: #616161;
}
#accordionPanelsStayOpenExample {
  box-shadow: none !important;
}
.accordion-button {
  box-shadow: none !important;
}
.copyright-content img {
  width: 80px;
  cursor: pointer;
}
.social-icons-footer {
  color: #616161;
  margin: 0 5px;
  text-decoration: none;
  width: 35px;
  height: 35px;
  border-radius: 50px;
  border: 1px solid #616161;
  line-height: 2;
  justify-content: center;
}
/* Konekt styles end */

/* home page start */
.btn-white {
  color: #2e004b;
  background-color: #fff;
  border-radius: 50px;
  text-decoration: none !important;
  position: relative;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.btn-white:hover {
  transform: translateY(-5px);
  box-shadow: 0 0 10px rgba(174, 0, 255, 0.5);
  color: #fff;
  background-color: #2e004b;
}
.btn-white::after {
  content: "\f138";
  font-family: fontawesome;
  margin-left: 5px;
  font-size: 20px;
  color: #2e004b !important;
  /* vertical-align: top; */
  -webkit-font-smoothing: antialiased;
  display: inline;
  height: auto;
  width: auto;
  background: 0 0;
  position: relative;
  pointer-events: auto;
  left: auto;
  min-width: auto;
  line-height: inherit;
  color: inherit;
  font-size: inherit;
  padding: 0;
}
.btn-white:hover::after {
  color: #fff !important;
}
.btn-white-2 {
  color: #2e004b;
  background-color: #fff;
  border-radius: 50px;
  text-decoration: none !important;
  position: relative;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  border: 1px solid #2e004b;
}
.btn-white-2:hover {
  transform: translateY(-5px);
  box-shadow: 0 0 10px rgba(174, 0, 255, 0.5);
  color: #fff;
  background-color: #2e004b;
}
.btn-white-2::after {
  content: "\f138";
  font-family: fontawesome;
  margin-left: 5px;
  font-size: 20px;
  color: #2e004b !important;
  /* vertical-align: top; */
  -webkit-font-smoothing: antialiased;
  display: inline;
  height: auto;
  width: auto;
  background: 0 0;
  position: relative;
  pointer-events: auto;
  left: auto;
  min-width: auto;
  line-height: inherit;
  color: inherit;
  font-size: inherit;
  padding: 0;
}
.btn-white-2:hover::after {
  color: #fff !important;
}


.bg-f1 {
  background-color: #f1f1f1 !important;
}
/* home page end */

/* footer start */
.footer-headings {
  color: #fff;
  font-size: 1.2rem;
}
.list li a {
  text-decoration: none !important;
  font-size: 1rem;
  color: #fff;
  line-height: 2.2;
}
.list li a:hover {
  color: #f1f1f1;
}
.social-icons-footer {
  color: #fff;
  margin: 0 5px;
  text-decoration: none;
  width: 35px;
  height: 35px;
  border-radius: 50px;
  border: 1px solid #fff;
  line-height: 2;
  justify-content: center;
}
.go-top {
  background-color: black;
  color: #fff;
  border-radius: 50%;
  padding: 17px 23px;
  z-index: 1;
  position: relative;
}
.go-top:hover {
  border: 1.7px solid #2e004b;
  color: #2e004b;
  background-color: #fff;
  box-shadow: rgba(0, 0, 0, 0.1) 0px 10px 15px -3px,
    rgba(0, 0, 0, 0.05) 0px 4px 6px -2px;
}
.go-top-icon {
  font-size: 25px;
}
@media screen and (max-width: 768px) {
  .go-top-icon {
    font-size: 12px;
  }
  .go-top {
    background-color: #2e004b;
    color: #fff;
    border-radius: 50%;
    padding: 5px 10px;
    z-index: 999;
    position: relative;
  }
}
/* footer end */

#wrapper-navbar {
  justify-content: space-around !important;
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1030;
  background-color: #fff;
  color: #000 !important;
  box-shadow: rgb(0 0 0 / 20%) 0 0 6px !important;
}
@media screen and (min-width: 768px) {
  #wrapper-navbar {
    /* padding-left: 4rem;
    padding-right: 4rem; */
  }
}
.fixed-top {
  box-shadow: rgb(0 0 0 / 20%) 0 0 6px !important;
  background-color: #fff !important;
  color: #000 !important;
}
.navbar-expand-lg {
  justify-content: space-around !important;
}
@media screen and (min-width: 768px) {
  .nav-link {
    color: #000 !important;
    padding-left: 20px !important;
  }
}
.custom-logo-link {
  padding-top: 0px !important;
}
.navbar > .container-fluid {
  display: block !important;
}
.nav-link:hover{
  color: #ec1c24 !important;
}
.menu-item a:hover{
  color: #ec1c24 !important;
}
.social-icons {
  /* padding:30px; */
  /* background-color:#00506b; */
  text-align: center;
}
.social-icons a {
  color: #fff;
  margin: 0 5px;
  text-decoration: none;
  width: 35px;
  height: 35px;
  border-radius: 50px;
  border: 1px solid #fff;
  line-height: 2;
}
.social-icons a i {
  line-height: 30px;
  /* font-size:30px; */
  -webkit-transition: all 200ms ease-in;
  -webkit-transform: scale(1);
  -ms-transition: all 200ms ease-in;
  -ms-transform: scale(1);
  -moz-transition: all 200ms ease-in;
  -moz-transform: scale(1);
  transition: all 200ms ease-in;
  transform: scale(1);
}
.social-icons a:hover i {
  box-shadow: 0px 0px 150px #000000;
  z-index: 2;
  -webkit-transition: all 200ms ease-in;
  -webkit-transform: scale(1.5);
  -ms-transition: all 200ms ease-in;
  -ms-transform: scale(1.5);
  -moz-transition: all 200ms ease-in;
  -moz-transform: scale(1.5);
  transition: all 200ms ease-in;
  transform: scale(1.5);
}
.fa-x-twitter:before {
  content: "\e61b";
}
.social-icons-footer:hover {
  color: #ec1c24;
  border: 1px solid #ec1c24;
}
.dropdown-menu li a{
  font-weight: 600;
}
#main-menu li a{
  font-weight: 500 !important;
}
/* navbar end */

/* Norfolk styles start */
.pum-theme-4635, .pum-theme-default-theme {
  background-color: rgba(10, 10, 10, 0.60) !important;
}
.video-stream .html5-main-video{
  width: 850px !important;
  height: 415px !important;
  /* left: 56px; */
  top: 0px;
}

.pum-theme-4642 .pum-content + .pum-close, .pum-theme-content-only .pum-content + .pum-close {
  position: absolute;
  height: 50px !important;
  width: 50px !important;
  left: auto;
  right: 7px;
  bottom: auto;
  top: 7px;
  padding: 0px;
  color: #fff;
  font-family: inherit;
  font-weight: 700;
  font-size: 20px;
  line-height: 20px;
  border: 1px none #ffffff;
  border-radius: 25px !important;
  box-shadow: 0px 0px 0px 0px rgba(2, 2, 2, 0.00);
  text-shadow: 0px 0px 0px rgba(0, 0, 0, 0.00);
  background-color: #ec1c24 !important;
  /*padding: 10px;
  */
  -webkit-border-radius: 25px !important;
  -moz-border-radius: 25px !important;
  -ms-border-radius: 25px !important;
  -o-border-radius: 25px !important;
}

iframe {
  border: 0;
  width: 850px;
  height: 415px;
}
@media (max-width: 767px) {
  iframe {
    width: 320px !important; /* Full width for smaller screens */
    height: 220px !important; /* Auto height based on width */
  }
}
.brands-section {
  padding-top: 3rem !important;
  margin-bottom: 3rem !important;
}

@media screen and (min-width: 769px) {
  .brands-section {
    padding-top: 5rem !important;
    margin-bottom: 5rem !important;
  }
}

/* home page start */
.txt-primary-red {
  color: #ec1c24 !important;
}
.txt-primary-blue {
  color: #03081e !important;
}
.brands-section .card {
  box-shadow: rgba(17, 17, 26, 0.1) 0px 0px 16px;
}
.about-norfolk-section {
  height: auto !important;
}
@media screen and (max-width:768px) {
  .about-norfolk-section {
    height: auto !important;
  }
}
.txt-para {
  color: #333333 !important;
}
.heading-2-number {
  font-size: 3rem;
}
.btn-primary-red {
  color: #fff;
  background-color: #d81920;
  padding: 10px 15px;
  border: none;
  transition: color 0.3s ease, background-color 0.3s ease,
    border 0.3s ease;
}
.btn-primary-red:hover {
  color: #fff !important;
  background-color: #a81318;
  border: none;
}
.brands-section .card:hover {
  box-shadow: rgba(0, 0, 0, 0.2) 0px 18px 50px -10px;
    transition: 0.3s all ease-in;
}
/* play button animation */
.button-play {
  display: inline-block;
  position: relative;
}
.button-play.is-play {
  background-color: #fff;
  border-radius: 50%;
  width: 80px;
  height: 80px;
}
.button-play.is-play .button-outer-circle {
  background: rgba(255, 255, 255, 0.2);
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  height: 100%;
  width: 100%;
}
.button-play.is-play .button-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 30px;
  height: 30px;
  transform: translate(-50%, -50%);
}
.button-play.is-play .button-icon .triangle {
  -webkit-animation: fadeIn 7s ease;
  animation: fadeIn 7s ease;
}
.button-play.is-play .button-icon .path {
  stroke-dasharray: 90;
  stroke-dashoffset: 0;
  -webkit-animation: triangleStroke 3s;
  animation: triangleStroke 3s;
  -webkit-animation-timing-function: ease;
  animation-timing-function: ease;
}
.has-scale-animation {
  -webkit-animation: smallScale 3s infinite;
  animation: smallScale 3s infinite;
}
.has-delay-short {
  -webkit-animation-delay: 0.5s;
  animation-delay: 0.5s;
}
@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes triangleStroke {
  from {
    stroke-dashoffset: 90;
  }
  to {
    stroke-dashoffset: 0;
  }
}
@keyframes triangleStroke {
  from {
    stroke-dashoffset: 90;
  }
  to {
    stroke-dashoffset: 0;
  }
}
@-webkit-keyframes smallScale {
  from {
    transform: scale(1);
    opacity: 1;
  }
  to {
    transform: scale(1.5);
    opacity: 0;
  }
}
@keyframes smallScale {
  from {
    transform: scale(1);
    opacity: 1;
  }
  to {
    transform: scale(1.5);
    opacity: 0;
  }
}
/* play button animation */
.bg-coolblue {
  background-color: #e8f1fa !important;
}
.bg-dark-blue {
  background-color: #000535 !important;
}
/* home page end */

/* about us page start */
.lightcool-bg {
  background-color: #f6f6f6 !important;
}
@media screen and (min-width: 768px) {
  .abt-img-section {
    height: 400px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
}
.img-rounded {
  border-radius: 20px;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  -ms-border-radius: 20px;
  -o-border-radius: 20px;
}

/* about us page end*/

/* contact us start */
.contact-section {
  min-height: 500px;
}

.map-container {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
  background-color: #f0f0f0;
}

.map-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
  display: block;
}

.map-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
  display: block;
}

.card-body{
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  align-items: flex-start !important;
  word-wrap: break-word !important;
}

@media screen and (max-width: 1023px) {
  .contact-section {
    min-height: 400px;
  }
}

@media screen and (max-width: 768px) {
  .contact-section {
    min-height: 350px;
  }
}
.accordion-item {
  outline: 0 !important;
  border-bottom: 1px solid #919191 !important;
  border-left: none !important;
  border-right: none !important;
  border-radius: 0px !important;
  border-top: none !important;
}
@media screen and (min-width: 768px) {
  .partner-with .card .card-body .card-heading {
    min-height: 76px !important;
  }
}
.our-team-nav .nav-link.active {
  box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px !important;
  background-color: transparent !important;
  color: #ec1c24 !important;
}
.our-team-nav .nav-link:hover {
  box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px !important;
  background-color: transparent !important;
  color: #ec1c24 !important;
}
/* contact us end */

/* Recipes start */
.recipes-section .card img {
  height: 190px;
  object-fit: cover;
}
.recipes-section .card .card-body .card-title {
  font-size: 16px !important;
  font-weight: 600 !important;
  min-height: 58px !important;
  line-height: inherit !important;
}
.recipes-section .card {
  box-shadow: rgba(0, 0, 0, 0.1) 0px 10px 15px -3px,
    rgba(0, 0, 0, 0.05) 0px 4px 6px -2px;
}
.recipes-section .card .card-body .txt-para:hover {
  color: #ec1c24 !important;
}

.btn-yellow-outline {
    display: inline-block;
    background-color: #ffbf00;
    color: #252525;
    font-weight: 700;
    padding: 10px 25px;
    border-radius: 50px;
    text-decoration: none;
    transition: background-color 0.3s ease;

}

.btn-yellow-outline:hover {
    background-color: #e79e00;
    color: #252525;
}

.iframe-vids {
  border-radius: 25px !important;
}
.ingredients-section ul li a{
  color: #ec1c24;
  text-decoration: none;
}
.ingredients-section ul li a:hover{
  color: #dd131a;
}
/* Recipes end */

/* Crescent start */
.txt-primary-yellow {
  color: #ffcb08 !important;
}
.bg-toodark {
  background-color: #212121 !important;
}
.plyr {
  border-radius: 16px;
}
.title-product {
  top: 88%;
  left: 10%;
  background-color: #ffcb08;
  padding: 2px;
  border-radius: 5px;
}
.btn-primary-yellow {
  color: #000;
  background-color: #ffcb08;
  padding: 10px 15px;
  border: none;
}
.btn-primary-yellow:hover {
  color: #000;
  background-color: #b28c04;
}
/* .get-in-touch .card {
  box-shadow: rgba(60, 64, 67, 0.3) 0px 1px 2px 0px,
    rgba(60, 64, 67, 0.15) 0px 2px 6px 2px;
} */
/* Crescent end */

/* LMG start */
.lmg-cool-bg {
  background-color: #e8f5e9 !important;
}
.txt-primary-green {
  color: #63aa44 !important;
}
.btn-primary-green {
  color: #fff;
  background-color: #63aa44;
  padding: 10px 15px;
  border: none;
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50px;
  text-decoration: none !important;
  position: relative;
}

.btn-primary-green:hover {
  color: #fff;
  background-color: #487e31;
}
.btn-primary-white {
  color: #000;
  background-color: #fff;
  padding: 10px 15px;
  border: none;
}
.btn-primary-white:hover {
  color: #000;
  background-color: #bbb5b5;
}
.bg-lmg-green {
  background-color: #63aa44 !important;
}
.card .nav-pills .nav-link.active {
  background-color: #63aa44 !important;
  border-radius: 25px !important;
  color: #fff !important;
}
.card .nav-pills .nav-link {
  color: #63aa44 !important;
  border: 1px solid #63aa44 !important;
  background-color: #fff !important;
  border-radius: 25px !important;
}
.card .nav-pills .nav-link:hover {
  background-color: #63aa44 !important;
  border-radius: 25px !important;
  color: #fff !important;
}
.prod-cat-card {
  box-shadow: rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;
}
.product-cat .card .card-body .prod-cat-card-title {
  min-height: 40px;
}
.product-cat .card .card-body .prod-cat-card-description {
  min-height: 80px;
}
/* .world-map {
  position: relative;
  max-width: 1010px;
  margin: 0 auto;
  width: 100%;
} */

.world-map {
    width: 100%;
    padding: 0 !important;
    margin: 0 !important;
}


.overview-img {
    width: 100%;      
    height: auto;     
    display: block;
    margin: 0 !important;
    padding: 0 !important;
}

.world-map img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  color: #595959;
}
.pin {
  background: linear-gradient(90deg, #63aa44 1.88%, #60a045 100%);
  position: absolute;
  width: 0.8em;
  height: 0.8em;
  border-radius: 50%;
}
.pin::before {
  content: "";
  background: linear-gradient(90deg, #63aa44 1.88%, #60a045 100%);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  border-radius: 50%;
  animation: pulse 1.3s ease-in-out infinite;
}
.pin span {
  display: inline-block;
  white-space: nowrap;
  position: absolute;
  left: 1.5em;
  top: 50%;
  transform: translateY(-50%);
  background: #63aa44;
  border-radius: 3em;
  padding: 0.3em 0.6em;
  font-size: 0.9em;
}
@media screen and (max-width: 768px) {
  .pin span {
    font-size: 10px !important;
  }
}
.uk {
  top: 22%;
  left: 44%;
}
.srilanka {
  top: 53%;
  left: 69%;
}
.australia {
  top: 76%;
  left: 82%;
}
.usa {
  top: 28%;
  left: 17%;
}
@keyframes pulse {
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(2.5);
  }
}
/* LMG end */

/* Hurryup start */
.txt-primary-purple {
  color: #350f2d !important;
}
.bg-light-purple {
  background-color: #f3e5f5 !important;
}
#wpsl-search-wrap .wpsl-input label {
  width: auto !important;
}
#wpsl-search-wrap div label {
  width: auto !important;
}
.wpsl-input {
  display: flex !important;
  align-items: center;
}
#wpsl-radius {
  display: flex !important;
  align-items: center;
}
#wpsl-results {
  display: flex !important;
  align-items: center;
}
.wpsl-directions {
  text-decoration: none;
  color: #350f2d;
  font-weight: 500;
}
#wpsl-search-btn {
  border-radius: 25px !important;
  color: #fff !important;
  background: #350f2d !important;
  padding: 8px 15px;
}
#wpsl-stores {
  background-color: #f4f3f3;
}
.bg-purple {
  background-color: #350f2d;
}
.owl-theme .owl-dots .owl-dot span{
  color: #fff !important;
}


.owl-theme .owl-nav.disabled+.owl-dots {
  margin-top: 35px !important;
  color: #ffff !important;
}

#owl-carousel-category .owl-dots .owl-dot:nth-child(n+5) {
  display: none;
}

.category-card-text {
  position: absolute;
  bottom: 35px !important;
  left: 50% !important;
  transform: translateX(-50%);
  padding: 5px 20px !important;
  margin: 0 !important;
  /* margin-bottom: 10px !important; */
  color: #000 !important;
  background-color: rgb(255, 217, 0);
  border-radius: 5px !important;
  font-weight: 600 !important;
  text-align: center;
  white-space: nowrap; 
}

@media screen and (max-width: 768px) {
  .category-card-text {
    margin: 0 !important;
  }
}

.placeholder {
  position: relative;
  background-color: #f0f0f0;
  overflow: hidden;
}

.placeholder::before {
  content: '';
  display: block;
  padding-top: 56.25%;
}

.placeholder img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 0.5s ease-in-out;
}

.banner-section {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  background-color: transparent;
  min-height: 0 !important;
}

/* Desktop styles */
@media (min-width: 992px) {
  .banner-section {
    margin-top: 120px !important;
  }
}

.banner-section .container-fluid,
.banner-section .row {
  margin: 0 !important;
  padding: 0 !important;
  width: 100%;
}

.sustainability-single-top-banner {
  object-fit: contain !important;
}

/* Mobile only */
@media (max-width: 767px) {
  .sustainability-single-top-banner {
    height: 20vh !important;
  }
  .detail-container {
    flex-direction: column;  /* mobile: stacks children */
    align-items: center;
    width: 100%;
  }
  .ingredients-section {
    display: block !important;
    visibility: visible !important;
  }
  .ingredients-section .detail-container > .col-12 {
    display: block !important;
    flex: 0 0 100%;
    max-width: 100%;
    width: 100%;
  }
  .ingredients-section .bg-flip-card {
    display: block !important;
    visibility: visible !important;
  }

}

/* Tablet only */
@media (min-width: 768px) and (max-width: 1023px) {
  .sustainability-single-top-banner {
    height: 30vh !important;
  }
}

.detail-container{
  display: flex;
  flex-direction: row; 
  align-items: start;
}

#owl-carousel-home-banner {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

#owl-carousel-home-banner .owl-stage-outer,
#owl-carousel-home-banner .owl-stage {
  margin: 0 !important;
  padding: 0 !important;
  width: 100%;
  height: fit-content !important;
}

.banner-placeholder {
  width: 100%;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
}

.banner-placeholder a {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  text-decoration: none;
}

.banner-img {
  width: 100%;
  height: auto;
  object-fit: cover;
  display: block;
  margin: 0 !important;
  padding: 0 !important;
}


.custom-prev-btn,
.custom-next-btn {
    width: 50px !important;
    height: 50px !important;
    background: #CD2122 !important;
    border-radius: 50% !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    opacity: 1 !important;
}

.custom-prev-icon,
.custom-next-icon {
    color: #fff;
    font-size: 24px;
    font-weight: bold;
}

.custom-prev-btn {
    left: 20px;
}

.custom-next-btn {
    right: 20px;
}

.banner-placeholder {
    background: none;
    background-size: auto;
    animation: none;
    min-height: 0 !important;
    display: flex;
    justify-content: center;
    align-items: center;
}

@keyframes shimmer {
    0% { background-position: -200% 0; }
    100% { background-position: 200% 0; }
}

.banner-img {
    opacity: 1;
    transition: opacity 0.6s ease;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    margin: 0 !important;
    padding: 0 !important;
}

.banner-img.loaded {
    opacity: 1;
}
    @media (min-width: 768px) {
        .flex-md-nowrap {
            flex-wrap: nowrap !important;
        }
    }

    .transition-hover {
        transition: transform 0.3s ease, box-shadow 0.3s ease;
    }
    .transition-hover:hover {
        transform: translateY(-5px);
        box-shadow: 0 10px 20px rgba(0,0,0,0.1) !important;
    }

    .about-norfolk-section {
        position: relative;
        overflow: hidden;
    }

    .row.g-2 .col-4 {
        flex: 0 0 33.3333%;
        max-width: 33.3333%;
    }

    @media (min-width: 768px) and (max-width: 991px) {
        .about-norfolk-section .card {
            max-width: 85%;
            margin: 0 auto;
        }
    }

    /* Process Card Styling */
    .process-card {
        display: flex;
        align-items: flex-start;
        gap: 0.75rem;
    }
    
    .process-card-icon-wrapper {
        flex-shrink: 0;
        width: 80px;
        height: 80px;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        background-color: transparent;
    }
    
    .process-card-icon {
        width: 70px;
        height: 70px;
        object-fit: contain;
    }
    
    .process-card-content {
        flex: 3;
        padding-top: 0.5rem;
        min-width: 0;
    }
    
    .process-card-title {
        font-size: 24px;
        font-weight: 600;
        margin-bottom: 0.5rem;
        color: #03081e;
        line-height: 1.4;
    }
    
    .process-card-desc {
        font-size: 0.95rem;
        color: #222222;
        margin: 0;
        line-height: 1.6;
    }
    
    .food-process-section .card {
        transition: transform 0.3s ease;
        border: none !important;
    }
    
    @media (min-width: 768px) and (max-width: 991px) {
        .order-md-6 {
            flex: 0 0 50%;
            max-width: 50%;
        }
    }

.recipe-card .object-fit-cover {
    object-fit: cover;
}

.transition-hover {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.transition-hover:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0,0,0,0.1) !important;
}

#breadcrumbs {
    font-size: 0.85rem;
    color: #6c757d;
}
#breadcrumbs a {
    text-decoration: none;
    color: #dc3545; 
}

.banner-section .item img {
    height: auto;
    max-height: 1200px;
    object-fit: cover;
}

@media (max-width: 768px) {
    .banner-section .item img {
        height: 300px; 
    }
}

/* Responsive partner section */
@media screen and (max-width: 1023px) {
  .partner-with .card {
    margin-bottom: 15px;
  }
}

@media screen and (max-width: 768px) {
  .partner-with .card {
    margin-bottom: 20px;
  }
  .partner-with .card .card-body .card-heading {
    min-height: auto !important;
  }
}

/* Responsive contact page sections */
@media screen and (max-width: 768px) {
  .contact-info-section {
    padding: 2rem 0 !important;
  }
  .accordion-item {
    padding: 0.75rem 0 !important;
  }
}

.carousel-inner {
  border-radius: 20px;
}

.get-in-touch .carousel-control-prev{
margin-left: -10px;;
}

.get-in-touch .carousel-control-next{
margin-right: -10px;;
}

.overview-img {
    width: 100%;      
    height: auto;     
    display: block;   
}
@media (min-width: 992px) {
    #galleryCarousel {
        height: auto !important;
    }

    #galleryCarousel .carousel-inner {
        height: auto !important;
    }

    #galleryCarousel .carousel-item {
        height: auto !important;
    }

    #galleryCarousel .carousel-item img {
        height: auto !important;
        width: 100% !important;
        object-fit: contain !important;
    }
}

@media screen and (max-width: 768px) {
#galleryCarousel {
    /* height: 500px !important; */
}

#galleryCarousel .carousel-inner {
    /* height: 500px !important; */
}

#galleryCarousel .carousel-item {
    /* height: 500px !important; */
}

#galleryCarousel .carousel-item img {
    /* height: 500px !important; */
    width: 100% !important;
    object-fit: contain !important;
}


}

/* ========================================
   INNER BANNER SECTION - FULL IMAGE
   ======================================== */

/* Reset and base styles */
.banner-section-inner {
    width: 100%;
    overflow: visible !important;
    padding: 0;
    margin: 0;
}

.banner-section-inner .container-fluid {
    padding: 0;
    margin: 0;
}

.banner-section-inner .row {
    margin: 0;
}

.banner-section-inner .col-12 {
    padding: 0;
}

/* Banner link */
.banner-inner-link {
    display: block;
    width: 100%;
    text-decoration: none;
}

/* Banner image wrapper - NO HEIGHT RESTRICTION */
.banner-inner-image-wrapper {
    position: relative;
    width: 100%;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
}

/* Banner image - FULL WIDTH AUTO HEIGHT */
.banner-inner-image {
    display: block;
    width: 100% !important;
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center !important;
}

/* ========================================
   OWL CAROUSEL - FORCE AUTO HEIGHT
   ======================================== */
#owl-carousel-inner-banner {
    padding: 0;
    margin: 0;
    height: auto !important;
}

#owl-carousel-inner-banner .owl-stage-outer {
    overflow: visible !important;
    height: auto !important;
}

#owl-carousel-inner-banner .owl-stage {
    height: auto !important;
}

#owl-carousel-inner-banner .item {
    width: 100%;
    margin: 0;
    padding: 0;
    height: auto !important;
}

#owl-carousel-inner-banner .owl-item {
    margin: 0;
    padding: 0;
    height: auto !important;
    min-height: auto !important;
}

#owl-carousel-inner-banner .owl-item img {
    display: block;
    width: 100%;
    height: auto !important;
}

#owl-carousel-inner-banner .owl-height {
    height: auto !important;
}

/* Navigation buttons */
#owl-carousel-inner-banner .owl-nav button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: rgba(0, 0, 0, 0.5) !important;
    color: white !important;
    font-size: 30px;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    transition: all 0.3s ease;
    z-index: 10;
}

#owl-carousel-inner-banner .owl-nav button:hover {
    background: rgba(0, 0, 0, 0.8) !important;
}

#owl-carousel-inner-banner .owl-nav .owl-prev {
    left: 20px;
}

#owl-carousel-inner-banner .owl-nav .owl-next {
    right: 20px;
}

/* Dots styling */
#owl-carousel-inner-banner .owl-dots {
    text-align: center;
    padding: 15px 0;
    margin: 0;
}

#owl-carousel-inner-banner .owl-dot {
    display: inline-block;
    width: 12px;
    height: 12px;
    margin: 0 5px;
    background: rgba(0, 0, 0, 0.3) !important;
    border-radius: 50%;
    transition: all 0.3s ease;
}

#owl-carousel-inner-banner .owl-dot.active {
    background: rgba(0, 0, 0, 0.8) !important;
    width: 30px;
    border-radius: 6px;
}

@media (max-width: 767px) {
    #owl-carousel-inner-banner .owl-nav button {
        width: 40px;
        height: 40px;
        font-size: 20px;
    }
    
    #owl-carousel-inner-banner .owl-nav .owl-prev {
        left: 10px;
    }
    
    #owl-carousel-inner-banner .owl-nav .owl-next {
        right: 10px;
    }
}

/* --- Banner Placeholder Fix --- */

/* 1. Prevent the carousel from being 0px height before JS loads */
#owl-carousel-inner-banner {
    display: block !important;
    background-color: #f3f3f3; /* The placeholder color */
}

/* 2. Reserve the exact space using Aspect Ratio */
.banner-inner-image-wrapper {
    width: 100%;
    background-color: #e9e9e9; /* Slightly different grey to see the item */
    /* Mobile Ratio (16:9) - Adjust if your mobile images are different */
    aspect-ratio: 16 / 9; 
    overflow: hidden;
    display: block;
}

.banner-inner-image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Ensures image fills the reserved box */
}

/* 3. Desktop Ratio (Usually banners are much wider/slimmer) */
@media (min-width: 992px) {
    .banner-inner-image-wrapper {
        /* Desktop Ratio (16:5) - Adjust this to match your desktop image size */
        aspect-ratio: 16 / 5; 
    }
}

/* === PERFECT CONTAINED BANNER (NO GAPS) === */

/* Mobile */
.banner-section .owl-carousel .item {
    width: 100%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
}

.banner-section .owl-carousel .item img {
    width: 100%;
    height: 100%;
    object-fit: fill;   
    display: block;
}


/* Tablet */
@media (min-width: 768px) and (max-width: 991px) {
    .banner-section .owl-carousel .item {
        aspect-ratio: 16 / 8;
    }

    .banner-section .owl-carousel .item img {
        object-fit: fill; /* ✅ tablet */
    }
}


/* Desktop */
@media (min-width: 992px) {
    .banner-section .owl-carousel .item {
        aspect-ratio: 16 / 5;
    }

    .banner-section .owl-carousel .item img {
        object-fit: contain;  
        transform: none;   
    }
}


@media (min-width: 768px) {
    .banner-section .owl-carousel .item img {
        transform: scale(1);
		object-fit: fill;

    }
}

@media (min-width: 1200px) {
    .banner-section .owl-carousel .item img {
        transform: scale(1);
		object-fit: fill;

    }
}

@media (min-width: 992px) {
    .banner-section .owl-carousel .item {
        aspect-ratio: 16 / 5; /* Desktop ratio */
    }
}


	/* 1. Reserve space for the carousel before it initializes */
#owl-carousel-home-banner {
    display: block; /* Overrides owl-carousel's initial display:none */
    min-height: 300px; /* Adjust based on your mobile banner height */
}

/* 2. Force the aspect ratio so the 'hole' is filled */
.banner-section .owl-carousel .item {
    width: 100%;
    aspect-ratio: 16 / 7; /* Adjust this to your image's actual ratio */
    background-color: #f0f0f0; /* Temporary placeholder color */
}

/* ==================== IFRAME + PLYR STYLING ==================== */

/* Prevent iframe flash */
.yt-hidden {
    visibility: hidden;
}

/* Plyr video embed container */
.plyr__video-embed {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: #000;
    overflow: hidden;
    border-radius: 30px;
}

/* On narrow screens a 30px radius eats into YouTube's own corner UI
   (channel badge, "Watch on YouTube" bar), so scale it down */
@media screen and (max-width: 768px) {
    .plyr__video-embed {
        border-radius: 14px;
    }
}

/* iframe full fill */
.plyr__video-embed iframe {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    border: 0;
    border-radius: inherit; /* Make iframe inherit the container radius */
}

/* Plyr controls alignment fix */
.plyr__controls {
    display: flex !important;
    align-items: center !important;
    height: 48px;
}

.plyr__controls > * {
    display: flex !important;
    align-items: center !important;
    height: 100%;
}

/* Text baseline fix */
.plyr__time {
    line-height: 1 !important;
}

/* Range inputs fix */
.plyr__progress input[type="range"],
.plyr__volume input[type="range"] {
    margin: 0 !important;
    align-self: center !important;
}

/* SVG icon vertical alignment */
.plyr__control svg {
    display: block;
}

.plyr--video .plyr__video-wrapper {
    border-radius: inherit;
    overflow: hidden;
}

.plyr--video .plyr__controls {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0; /* Changed from 23px to 0 to cover the bottom */
    padding: 50px 1px 10px;
    background: linear-gradient(rgba(0, 0, 0, 0), rgba(0,0,0,0.5));
    border-bottom-left-radius: inherit;
    border-bottom-right-radius: inherit;
    color: #fff;
    transition: opacity 0.3s ease;
	padding-bottom: 25px !important
}
/* Make About + Video stack like mobile on tablets */
@media (min-width: 768px) and (max-width: 991px) {
  .bg-toodark .row.align-items-center {
    flex-direction: column;
  }

  .bg-toodark .col-md-6 {
    width: 100%;
    max-width: 100%;
  }

  /* Force correct order: About first, Video second */
  .bg-toodark .order-md-1 {
    order: 1 !important;
  }

  .bg-toodark .order-md-2 {
    order: 2 !important;
    margin-top: 24px;
  }
}

	/* 1. Reserve space for the carousel before it initializes */
#owl-carousel-home-banner {
    display: block; /* Overrides owl-carousel's initial display:none */
    min-height: auto !important;
}

/* 2. Force the aspect ratio so the 'hole' is filled */
.banner-section .owl-carousel .item {
    width: 100%;
    aspect-ratio: 16 / 7; /* Adjust this to your image's actual ratio */
    background-color: #f0f0f0; /* Temporary placeholder color */
}

@media (min-width: 992px) {
    .banner-section .owl-carousel .item {
        aspect-ratio: 16 / 5; /* Desktop ratio */
    }
}

/* Smaller, crisper logo on mobile header only */
@media screen and (max-width: 768px) {
    .mobile-nav-wrapper .custom-logo-link img.custom-logo {
        width: auto;
        height: auto;
        max-height: 42px;
    }
}
