/* Desk Page Builder Modules CSS */

/* Dark Backed CTA */
.dark-backed-cta {
  background: #282828;
  color: white;
  padding: 54px 0;
}

.dark-backed-cta .text-holder h2 {
  margin: 0 0 30px 0;
  color: white;
}

.dark-backed-cta .text-holder p {
  margin: 0 0 30px 0;
  color: white;
}

.dark-backed-cta .button-white {
  display: inline-block;
  line-height: 28px;
  padding: 7px 28px;
  font-size: 16px;
  font-weight: 400;
  color: white;
  border-radius: 44px;
  text-decoration: none;
  background: #282828;
  border: 1px solid white;
  -webkit-transition: all 0.3s ease-in-out !important;
  -moz-transition: all 0.3s ease-in-out !important;
  -o-transition: all 0.3s ease-in-out !important;
  transition: all 0.3s ease-in-out !important;
}

.dark-backed-cta .button-white:hover {
  cursor: pointer;
  text-decoration: none;
  color: white !important;
  background: black;
  border-color: black;
}

/* General Page Banner */
.general-banner {
  padding: 131px 0;
  color: white;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}

@media (max-width: 767px) {
  .general-banner {
    padding: 30px 0;
  }
}

.general-banner .text-holder {
  min-height: 265px;
  width: 560px;
  max-width: 100%;
}

@media (max-width: 767px) {
  .general-banner .text-holder {
    min-height: auto;
  }
}

.general-banner .text-holder .pre-title,
.general-banner .text-holder .text {
  margin: 0;
}

.general-banner .text-holder h1 {
  margin: 10px 0;
}

.general-banner .text-holder .button-holder {
  margin-top: 30px;
}

.general-banner .button-white {
  display: inline-block;
  line-height: 28px;
  padding: 7px 28px;
  font-size: 16px;
  font-weight: 400;
  color: white;
  border-radius: 44px;
  text-decoration: none;
  background: #282828;
  border: 1px solid white;
  -webkit-transition: all 0.3s ease-in-out !important;
  -moz-transition: all 0.3s ease-in-out !important;
  -o-transition: all 0.3s ease-in-out !important;
  transition: all 0.3s ease-in-out !important;
}

.general-banner .button-white:hover {
  cursor: pointer;
  text-decoration: none;
  color: white !important;
  background: black;
  border-color: black;
}

/* Sector Header */
.sector-header {
  overflow: hidden;
  position: relative;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center center;
}

.sector-header .container {
  padding-top: 110px;
  padding-bottom: 83px;
}

@media (max-width: 767px) {
  .sector-header .container {
    padding-top: 30px;
    padding-bottom: 30px;
  }
}

.sector-header h1 {
  color: white !important;
  font-family: Poppins, sans-serif;
  font-size: 48px;
  font-style: normal;
  font-weight: 600;
  line-height: 60px;
  margin: 0;
}

@media (max-width: 767px) {
  .sector-header h1 {
    font-size: 24px;
    line-height: 30px;
  }
}

.sector-header p {
  color: #D9D9D9;
  font-family: Poppins, sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 28px;
  margin: 0;
}

.sector-header video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.sector-header .text-holder {
  min-height: 285px;
}

@media (max-width: 767px) {
  .sector-header .text-holder {
    min-height: 100px;
  }
}

/* Sector Menu */
.sector-menu {
  border-bottom: 1px solid #D9D9D9;
}

.sector-menu ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.sector-menu ul li {
  display: inline-block;
  padding: 10px 0;
}

.sector-menu ul li a {
  color: #676767;
  text-align: center;
  font-family: Poppins, sans-serif;
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: 30px;
  transition: color 0.3s ease-in-out !important;
}

.sector-menu ul li a:hover {
  color: #001F81;
}

.sector-menu ul li a.active {
  color: #001F81;
}

@media (max-width: 767px) {
  .sector-menu ul li a {
    line-height: 1.7;
  }
}

.sector-menu ul li span {
  padding-left: 29px;
  padding-right: 29px;
  font-size: 12px;
  font-weight: 200;
  color: #676767;
}

@media (max-width: 767px) {
  .sector-menu ul li span {
    padding-left: 9px;
    padding-right: 9px;
  }
}

/* Theme Boxes */
.theme-boxes {
  padding: 73px 0;
}

@media (max-width: 767px) {
  .theme-boxes {
    padding: 30px 0;
  }
}

.theme-boxes .box {
  position: relative;
  display: block;
  padding: 43px;
  border-radius: 15px;
  overflow: hidden;
  transition: transform 0.3s ease-in-out !important;
  min-height: 432px;
  margin-bottom: 30px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

@media (max-width: 767px) {
  .theme-boxes .box {
    padding: 20px;
    min-height: 200px;
    margin-bottom: 20px;
  }
}

.theme-boxes .box:hover .image-holder {
  transform: scale(1.1);
}

.theme-boxes .box .image-holder {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: transform 0.3s ease-in-out !important;
}

.theme-boxes .box .text-holder {
  color: white;
  position: relative;
  bottom: 0px;
}

.theme-boxes .box .text-holder .title {
  font-family: Poppins, sans-serif;
  font-size: 48px;
  font-style: normal;
  font-weight: 600;
  line-height: 60px;
  color: white !important;
}

@media (max-width: 767px) {
  .theme-boxes .box .text-holder .title {
    font-size: 26px;
    line-height: 33px;
  }
}

/* Profile Boxes */
.profile-boxes {
  padding-top: 34px;
  padding-bottom: 57px;
}

@media (max-width: 767px) {
  .profile-boxes {
    padding-top: 20px;
    padding-bottom: 20px;
  }
}

.profile-boxes .box-holder {
  margin-bottom: 32px;
}

@media (max-width: 767px) {
  .profile-boxes .box-holder {
    margin-bottom: 20px;
  }
}

.profile-boxes .box {
  position: relative;
  width: 100%;
  height: 100%;
  border: 1px solid #D9D9D9;
  border-radius: 15px;
  display: block;
  padding: 62px 50px 93px 50px;
  box-sizing: border-box;
  box-shadow: 0px 2px 7.8px 0px rgba(0, 0, 0, 0.15);
}

@media (max-width: 767px) {
  .profile-boxes .box {
    padding: 20px 20px 80px 20px;
  }
}

.profile-boxes .box img {
  width: 102px;
  height: 102px;
  border-radius: 50%;
}

@media (max-width: 767px) {
  .profile-boxes .box img {
    width: 60px;
    height: 60px;
  }
}

.profile-boxes .box h3 {
  font-family: Poppins, sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 28px;
  color: #676767;
  margin: 23px 0 10px 0;
}

.profile-boxes .box h3 img {
  display: inline-block;
  height: 27px;
  width: auto;
  margin-left: 12px;
}

.profile-boxes .box .p-excerpt {
  font-family: Poppins, sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 27px;
  color: #282828;
}

.profile-boxes .box .partnered {
  position: absolute;
  bottom: 20px;
}

.profile-boxes .box .partnered p {
  color: #676767;
  font-family: Poppins, sans-serif;
  font-size: 10px;
  font-style: normal;
  font-weight: 400;
  line-height: 28px;
  margin: 0 0 5px 0;
}

.profile-boxes .box .partnered span {
  color: #1858FF;
  font-family: Poppins, sans-serif;
  font-size: 13px;
  font-style: normal;
  font-weight: 400;
  line-height: 28px;
  padding-right: 12px;
  margin-right: 12px;
  border-right: 1px solid #D9D9D9;
}

.profile-boxes .box .partnered span:last-child {
  border-right: none;
}

/* Full Width CTA (Note: This may already exist, but adding styles for consistency) */
.full-width-cta {
  padding: 51px 0 45px 0;
}

@media (max-width: 767px) {
  .full-width-cta {
    padding: 20px 0 20px 0;
  }
}

.full-width-cta h2 {
  font-family: Poppins, sans-serif;
  font-size: 24px;
  font-style: normal;
  font-weight: 600;
  line-height: 34px;
  color: black;
}

@media (max-width: 767px) {
  .full-width-cta h2 {
    font-size: 22px;
    line-height: 30px;
    text-align: center;
  }
}

.full-width-cta .text {
  font-family: Poppins, sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 28px;
}

@media (max-width: 767px) {
  .full-width-cta .text {
    text-align: center;
  }
}

.full-width-cta .button-arrow {
  margin-top: 15px;
}

@media (max-width: 767px) {
  .full-width-cta .button-arrow {
    margin-top: 0px;
  }
}

.full-width-cta .button-holder {
  text-align: right;
}

@media (max-width: 767px) {
  .full-width-cta .button-holder {
    text-align: center;
  }
}

/* Full Width CTA - Light Backed */
.full-width-cta-light-backed {
  background: white;
  padding: 51px 0 45px 0;
}

@media (max-width: 767px) {
  .full-width-cta-light-backed {
    padding: 20px 0 20px 0;
  }
}

.full-width-cta-light-backed .text-holder {
  text-align: center;
  width: 75%;
  margin: 0 auto;
}
.full-width-cta-light-backed .text-holder p{
  text-align: center;
}

@media (max-width: 767px) {
  .full-width-cta-light-backed .text-holder {
    width: 100%;
  }
}

.full-width-cta-light-backed .text-holder h2 {
  font-family: Poppins, sans-serif;
  font-size: 24px;
  font-style: normal;
  font-weight: 600;
  line-height: 34px;
  color: black;
  margin: 0 0 20px 0;
}

@media (max-width: 767px) {
  .full-width-cta-light-backed .text-holder h2 {
    font-size: 22px;
    line-height: 30px;
  }
}

.full-width-cta-light-backed .text-holder .text {
  font-family: Poppins, sans-serif;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 28px;
  color: #676767;
  margin: 0 0 20px 0;
}

.full-width-cta-light-backed .button-holder {
  text-align: center;
  margin-top: 15px;
}

@media (max-width: 767px) {
  .full-width-cta-light-backed .button-holder {
    margin-top: 0px;
  }
}

.full-width-cta-light-backed .button-arrow {
  display: inline-block;
  line-height: 28px;
  padding: 7px 28px;
  font-size: 16px;
  font-weight: 400;
  color: white;
  border-radius: 44px;
  text-decoration: none;
  background: black;
  border: 1px solid black;
  -webkit-transition: all 0.3s ease-in-out !important;
  -moz-transition: all 0.3s ease-in-out !important;
  -o-transition: all 0.3s ease-in-out !important;
  transition: all 0.3s ease-in-out !important;
}

.full-width-cta-light-backed .button-arrow:hover {
  cursor: pointer;
  text-decoration: none;
  background: white;
  color: black;
}

.full-width-cta-light-backed .button-arrow .hover-arrow {
  padding: 0;
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.full-width-cta-light-backed .button-arrow .hover-arrow svg {
  -webkit-transition: all 0.3s ease-in-out;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  width: 0;
  margin-top: -2px;
  margin-left: 0;
}

.full-width-cta-light-backed .button-arrow:hover .hover-arrow svg {
  width: 0;
  margin-left: 0;
}

