/*
Theme Name: OceanAI Divi Child
Theme URI: https://oceanopt.ai/
Description: A child theme for Divi
Author: Your Name
Author URI: https://oceanopt.ai/
Template: Divi
Version: 1.0.0
Text Domain: divi-child
*/

/* ==========================================================================
   Global Styles
   ========================================================================== */
body {
  font-family: "Barlow", sans-serif !important;
}
.hide {
  display: none !important;
}
.dsm_fixed_header_shrink_active .et_pb_section.main-header {
  background-color: #1363FA !important;
}
.et_pb_row {
  max-width: 1500px !important;
}
.et_pb_row.header-menu {
  margin: 0 !important;
  min-width: 90vw !important;
}
.dsm_fixed_header_shrink_active .main-header .et_pb_menu__logo-wrap .et_pb_menu__logo > a img {
  visibility: hidden;
}
.dsm_fixed_header_shrink_active .main-header .et_pb_menu__logo-wrap .et_pb_menu__logo > a {
  background-image: url(https://oceanai.ai/wp-content/uploads/ocean-ai-main-logo-white.svg);
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
}
.dsm_fixed_header_shrink_active .main-menu .menu-schedule {
  border: 1px solid #fff;
  background-color: #fff;
  font-weight: 400;
  border-radius: 20px;
}
.dsm_fixed_header_shrink_active .main-menu ul.et-menu > li:not(:nth-child(4)):not(.menu-schedule) > a,
.dsm_fixed_header_shrink_active .main-menu ul.et-menu > li:not(:nth-child(4)):not(.menu-schedule) > a .wpml-ls-native {
  color: #fff !important;
}
.dsm_fixed_header_shrink_active .main-menu .menu-schedule a {
  color: #1758FC !important;
}
@media only screen and (max-width: 768px) {
  .et_pb_row {
    width: 100%;
    padding-inline: 30px;
  }
}

/* ==========================================================================
   Header & Navigation
   ========================================================================== */
.et_pb_menu__logo-wrap {
  margin-left: 4%;
}
.et_pb_menu .et_pb_menu__wrap {
  display: block;
}
.et_pb_menu__menu {
  float: right !important;
}
.et_pb_menu--with-logo .et_pb_menu__menu > nav > ul > li > a {
  padding: 0 !important;
}
.main-menu li.contact-menu {
  display: block !important;
  border: 2px solid #fff !important;
  border-radius: 25px;
  padding: 10px 24px;
  margin-left: 20px !important;
}
#menu-main-menu li a {
  color: #000;
  font-weight: 600;
  text-transform: uppercase;
  font-size: 16px;
}
#menu-main-menu li.no-deco a {
  text-transform: none;
}
#menu-main-menu .sub-menu a {
  font-weight: 400;
  text-transform: none !important;
}
span.et_pb_scroll_top {
  background: #5180F7 !important;
}
.header-menu .et_pb_menu__logo {
  padding-left: 60px;
}
.header-menu .et_pb_button_module_wrapper {
  right: 0;
  position: absolute;
}
.header-menu .et_pb_button:hover {
  border: 1px solid #fff !important;
  padding: .3em 1em !important;
}
.header-menu .et_pb_button:after {
  display: none !important;
}
.main-header {
  padding: 1.5em 0 !important;
  background-color: transparent;
}
.main-menu {
  margin-bottom: 0 !important;
}
.header-menu-contact {
  border-radius: 40px;
  border: 1px solid #fff;
  color: #fff;
  font-size: 1em;
  padding: .3em 1em !important;
}
.et-db.dsm_fixed_header_shrink.dsm_fixed_header_shrink_active #et-boc header.et-l--header.et-l img {
  max-width: 100% !important;
}
.et_pb_menu__logo img {
  width: 167px !important;
  height: 57px !important;
}
li.menu-item {
  cursor: pointer;
}
li.menu-item a {
  display: block;
}
.et_pb_menu_inner_container {
  align-items: center !important;
}
.menu-schedule {
  border: 1px solid #1758FC;
  padding: 10px 20px;
  background-color: #1758FC;
  font-weight: 400;
  border-radius: 20px;
}
.menu-schedule a {
  color: #ffff !important;
}
.et-menu .menu-item-has-children > a:after {
  display: contents;
}
.nav li ul {
  border-top: 3px solid #1758FC;
}

/* ==========================================================================
   Footer Sections
   ========================================================================== */
.footer-section h1 {
  width: 80%;
  margin: auto;
  font-size: 86px;
  margin-bottom: 30px;
  margin-top: 30px;
}
.footer-section h5 {
  width: 50%;
  margin: auto;
  font-weight: 400;
}
.footer-form-wrapper {
  max-width: 600px;
  margin: auto;
}
.cf7-row {
  display: flex;
  gap: 20px;
  margin-bottom: 15px;
}
.cf7-col {
  flex: 1;
}
.cf7-row textarea {
  width: 100% !important;
  flex: 100% !important;
  display: block;
}
.footer-form-wrapper input[type="text"],
.footer-form-wrapper input[type="email"],
.footer-form-wrapper input[type="tel"],
.footer-form-wrapper textarea {
  width: 100%;
  padding: 12px 18px;
  border: 1px solid #ABABAB;
  border-radius: 25px;
  background: #ffffffcc;
  backdrop-filter: blur(4px);
  font-size: 15px;
  outline: none;
  transition: 0.3s;
  box-shadow: 0 1px 12px rgba(0, 0, 0, 0.05);
}
.footer-form-wrapper textarea {
  height: 200px;
  border-radius: 15px;
  resize: none;
}
.footer-form-wrapper input:focus,
.footer-form-wrapper textarea:focus {
  border-color: #2b76ff;
  box-shadow: 0 0 6px #2b76ff55;
}
.footer-form-wrapper input[type="submit"] {
  background: linear-gradient(180deg, #3c8dff, #0062ff);
  color: #fff;
  padding: 14px 40px;
  border-radius: 30px;
  border: none;
  font-weight: 600;
  font-size: 16px;
  cursor: pointer;
  display: inline-block;
  transition: 0.3s;
}
.footer-form-wrapper input[type="submit"]:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 14px rgba(0, 0, 0, 0.2);
}
.submit-row {
  text-align: left;
  margin-top: 10px;
}
.submit-row button {
  display: inline-block;
  padding: 10px 28px;
  background: linear-gradient(90deg, #0F6BFF, #256DFF);
  border: none !important;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  border-radius: 30px;
  box-shadow: 0px 3px 8px rgba(0, 98, 255, 0.25);
  transition: 0.3s ease;
}
.submit-row .et_pb_button:hover,
.submit-row .et_pb_module .et_pb_button:hover {
  padding: 10px 28px;
}
.submit-row ::after {
  display: none;
}
.footer-intro-form .submit-row {
  text-align: center;
}
.footer-intro-form h5 span {
  font-size: 20px;
  line-height: 1.5;
}
@media (max-width: 768px) {
  .cf7-row {
    flex-direction: column;
  }
}
.footer-section {
  position: relative;
  overflow: visible;
}
.footer-section::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -20vh;
  height: -webkit-fill-available;
  background-image: url("https://oceanai.ai/wp-content/uploads/footer-background.webp");
  background-repeat: no-repeat;
  background-position: right top;
  background-size: cover;
  z-index: 1;
  pointer-events: none;
}
.footer-section > * {
  position: relative;
  z-index: 2;
}
.et_pb_row_0_tb_footer {
  background: rgb(205 234 255 / 63%);
  min-width: 100%;
}
.footer-intro-form {
  max-width: 75%;
  margin: auto;
}
.form-captcha {
  display: flex;
  width: 100%;
  margin-top: 15px;
}
.form-captcha img {
  margin: 10px;
}
.form-captcha .wpcf7-form-control-wrap {
  width: 100%;
}
.wpcf7-response-output:not(:empty) {
  max-width: 100%;
  justify-content: center !important;
  margin-top: 28px !important;
}
.footer-form-wrapper .wpcf7-not-valid-tip {
  text-align: center;
}

/* ==========================================================================
   Homepage Sections
   ========================================================================== */
.homepage-banner img {
  width: 100%;
}
.homepage-banner p {
  font-weight: 700;
  font-size: 1.5rem;
  color: #000;
  padding: 0 !important;
}
.homepage-banner h1 {
  font-weight: 800;
  font-size: 100px;
  color: #000 !important;
}
.homepage-banner h5 {
  width: 70%;
  margin: 10px auto;
  font-weight: 400;
  font-size: 22px;
  line-height: 1.5;
}
.homepage-banner a {
  display: inline-block;
  padding: 10px 28px;
  background: #1758FC;
  color: #fff;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  border-radius: 30px;
  box-shadow: 0px 3px 8px rgba(0, 98, 255, 0.25);
  transition: 0.3s ease;
}
.homepage-banner a:hover {
  transform: translateY(-2px);
  box-shadow: 0px 6px 14px rgba(0, 98, 255, 0.35);
}
.ship-scroll-row {
  display: flex;
  justify-content: center;
  align-items: center;
}
.what-we-do {
  padding: 8% 0 !important;
}
.what-we-do img {
  height: 25vh;
}
.what-we-do-content h3 {
  font-size: 35px;
  font-weight: 400;
}
.what-we-do-content p {
  width: 80%;
  margin: auto;
  font-size: 16px;
}
.digitalise-ship h2 {
  font-weight: 700;
  font-size: 80px;
  color: #FFFFFF !important;
  padding-bottom: 40px;
}
.digitalise-ship p {
  font-weight: 200;
  font-size: 20px;
  color: #FFFFFF !important;
  line-height: 1.5;
}
.digitalise-ship .stats-wrap {
  padding: 30px 0 0 0;
  display: flex;
  gap: var(--gap);
  align-items: center;
}
.digitalise-ship .stat {
  padding: 6px 12px 6px 0;
}
.digitalise-ship .value {
  font-weight: 700;
  font-size: 38px;
  letter-spacing: -0.02em;
}
.digitalise-ship .label {
  display: block;
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.25;
  font-weight: 100;
  width: 90%;
}
.product-tab-section,
.product-tab-row {
  margin: 0 !important;
  padding: 0 !important;
}
.et_pb_row.product-tab-row {
  width: 100% !important;
  max-width: 100% !important;
}
.section-title-homepage {
  font-weight: 600;
  font-size: 24px;
}

/* ==========================================================================
   Contact Us Page
   ========================================================================== */
.form-left-intro .et_pb_text_inner {
  width: 80%;
}
.form-left-intro h2 {
  font-size: 45px;
  line-height: 1.25;
  margin: 0 0 18px;
  font-weight: 900;
}
.form-left-intro p {
  font-size: 20px;
  line-height: 1.5;
  font-weight: 400;
}
.form-left-intro li {
  padding-top: 10px;
  font-size: 20px;
  line-height: 1.5;
  font-weight: 400;
}
.form-upper-text {
  float: left;
  line-height: 1.5;
  font-weight: 400;
  font-size: 21px;
  width: 70%;
  padding-bottom: 30px;
}
.form-right-content .footer-form-wrapper {
  max-width: 500px;
  float: left;
}
.wpcf7-response-output {
  display: inline-block;
}
.contact-page-intro-section .et_pb_row {
  display: flex;
  align-items: center;
}
.contact-page-intro-section h3 {
  font-size: 54px;
  line-height: 1.25;
  font-weight: 700;
}
.contact-page-intro-section h2 {
  font-size: 84px;
  margin: 0 0 22px;
  font-weight: 900;
}
.contact-page-intro-section p {
  font-size: 20px;
  line-height: 1.25;
  margin: 0 0 18px;
  font-weight: 400;
}
.contact-page-intro-section {
  display: flex;
  align-items: center;
}
.product-form-checkbox {
  display: block !important;
}
.wpcf7-not-valid-tip {
  display: none !important;
}
.wpcf7-form-control.wpcf7-not-valid {
  border-color: red !important;
}
.email-field {
  position: relative;
}
.email-field .wpcf7-not-valid-tip {
  display: block !important;
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 6px;
  background: #ff4d4f;
  color: #fff;
  font-size: 12px;
  padding: 6px 10px;
  border-radius: 4px;
  line-height: 1.4;
  white-space: nowrap;
  z-index: 99;
}
.email-field .wpcf7-not-valid-tip::before {
  content: "";
  position: absolute;
  top: -5px;
  left: 12px;
  border-width: 0 5px 5px;
  border-style: solid;
  border-color: transparent transparent #ff4d4f transparent;
}
.wpcf7 form .wpcf7-response-output {
  width: 100% !important;
  max-width: 500px !important;
  text-align: center;
}
.product-form-checkbox.wpcf7-not-valid {
  border: 1px solid red !important;
}

/* ==========================================================================
   News Room Single
   ========================================================================== */
.single-post .footer-section::before{
	top: 0 !important;
}
.single-post .footer-section{
	margin-top: 20vh !important;
}
.post-content .et_pb_image {
   text-align: center !important;  
}
.single-post-container{
	margin-top: 25px;
}
.single-post-header {
  height: 30vh !important;
  background-color: #E0ECFD;
  background-image: url(https://oceanai.ai/wp-content/uploads/single-post-banner.png);
  position: relative;
  background-size: cover;
}

.back-button {
  position: absolute;
  bottom: 20px;  
  padding-left: 160px;
  font-size: 20px;
  color: black;
}
.back-button a {
  display: inline-flex;
  align-items: center;
  text-decoration: none; 
  font-size: 20px;
  color: black;
}
.back-button a:hover {
  text-decoration: underline;
}
.single-post-content .post-content .et_pb_section,
.single-post-content .post-content .et_pb_row {
  margin: 0 !important;
  padding: 0 !important;
  width: 100%;
}
.post-wrapper {
  max-width: 1600px;
  display: flex;
  flex-direction: column;
  margin: auto;
  color: #021013;
  font-size: 18px;
}
.post-header h1 {
  font-size: 40px;
  font-weight: 700;
}
.single-category {
  color: #000;
  padding: 4px 24px;
  border-radius: 20px;
  font-size: 14px;
  margin: 10px 0;
  border: 1px solid #000;
  width: fit-content !important;
}
.single-post-content {
  width: 100%;
  display: flex;
  flex-direction: column;
  margin: auto;
}
.single-post-content a {
  color: #000;
  text-decoration: underline;
}
.single-post-content a:hover {
  color: #1363FA;
}
.single-post-content ul {
  padding-top: 12px;
  padding-left: 30px;
}
.single-post-content ul li {
  list-style: disc;
  color: #000;
  font-weight: 500;
}
.sticky-sidebar ul li::before, .mobile-index-block ul li::before {
  content: "";
  display: inline-block;
  width: 44px;
  height: 44px;
  background: #EEF3FB;
  border-radius: 12px;
  margin-right: 12px;
  vertical-align: middle;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='17' viewBox='0 0 10 17' fill='none'%3E%3Cpath d='M1 1.5L8 8.5L1 15.5' stroke='%233B5BDB' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 10px 17px;
}
.sticky-sidebar ul, .mobile-index-block ul {
  padding-top: 12px;
  padding-left: 0;
}
.sticky-sidebar ul li, .mobile-index-block ul li {
  list-style: none;  
  padding-bottom: 10px;
}
.sticky-sidebar a, .mobile-index-block a { 
  text-decoration: none;
  font-size: 18px !important;
}
.sticky-sidebar.et_pb_sticky.et_pb_sticky--top{
	top: 20vh !important;
	transition: top 0.3s ease !important;
}
.et_pb_divider{
	display: none;
}
.related-posts h3 {
  color: #699558;
  margin: 32px 0 !important;
  padding: 0 !important;
  font-weight: 600;
  font-size: 40px;
}
.single-post-content embed,
.single-post-content iframe,
.single-post-content object,
.single-post-content video {
  max-width: 100%;
  display: block;
  margin: auto;
}
.single-thumbnail-image img {
  border-radius: 20px;
}
.post-content {
  padding: 20px;
}
.post-content h2 {
  color: #000;
  font-weight: 600;
  font-size: 30px;
}
.post-content h3 {
  color: #000;
  font-weight: 600;
  font-size: 22px;
}
.post-content p, .post-content ul li, .post-content ul li strong {
  color: #000;
  font-weight: 400;
  font-size: 18px;
}
.post-content ul li strong {
  font-weight: 500;
}
.sticky-sidebar h2{
  color: #000;
  font-weight: 600;
  font-size: 20px;
}
/* ==========================================================================
   Common Styles
   ========================================================================== */
.common-heading-banner {
  background: #273265;
  background-position: bottom;
  background-size: cover;
}
.common-heading-banner h1 {
  justify-content: center;
  align-items: center;
  display: flex;
  height: 30vh;
  color: #ffff;
  font-size: 60px;
  color: #000 !important;
}

/* ==========================================================================
   Privacy Policy
   ========================================================================== */
.privacy-policy-wrapper {
  max-width: 100%;
}
.privacy-policy-wrapper h3 {
  font-weight: 600;
  font-size: 25px;
}
.privacy-policy-wrapper a {
  font-size: 16px;
}
.privacy-policy-wrapper p {
  font-size: 16px;
  padding-bottom: 10px !important;
}
.privacy-policy-wrapper h4 {
  font-size: 20px;
}
.privacy-policy-wrapper .content {
  padding-bottom: 10px;
}
.privacy-policy-wrapper .content ul {
  list-style-position: inside;
}
.privacy-policy-wrapper h5, .privacy-policy-wrapper p, .privacy-policy-wrapper .content ul {
  padding-left: 15px;
}
.privacy-policy-listing li {
  list-style: none;
  margin: 0;
  padding: 0;
}
.privacy-policy-wrapper table {
  margin-top: 15px;
}
.privacy-policy-wrapper table th, .privacy-policy-wrapper table td {
  border: 1px solid #000;
  padding: 8px;
}

/* ==========================================================================
   Cookie Policy GDPR V1
   ========================================================================== */
#cookie-law-info-bar {
  max-height: auto !important;
}
.cli-wrapper {
  text-align: center !important;
}
#wt-cli-cookie-banner-title {
  text-align: center !important;
  color: #1492E6 !important;
}
.cli-plugin-button, .cli_settings_button {
  width: 100% !important;
  padding: 5px 25px !important;
}
.gdpr-buttons, #wt-cli-policy-link {
  justify-content: center;
  align-items: center;
  display: flex !important;
}
.cli-tab-footer .wt-cli-privacy-accept-btn, #wt-cli-accept-btn {
  background-color: #1492E6 !important;
}
#wt-cli-settings-btn {
  color: #1492E6 !important;
  border: 1px solid #1492E6 !important;
}
.cli-switch input:checked + .cli-slider {
  background-color: #1492E6 !important;
}
.comment-form-cookies-consent {
  display: none !important;
}
#cookie-law-info-again {
  background-color: rgb(0 113 192 / 0%) !important;
  color: rgb(255 255 255) !important;
  box-shadow: none;
  border-top-left-radius: 16px !important;
  border-top-right-radius: 15px !important;
  right: auto !important;
}
#cookie-law-info-again #cookie_hdr_showagain {
  font-size: 0;
  width: 45px;
  height: 45px;
  display: inline-block;
  background-image: url(https://oceanai.ai/wp-content/uploads/cookies-1.svg);
  background-size: contain;
  background-repeat: no-repeat;
}

/* ==========================================================================
   Cookie Policy GDPR V2
   ========================================================================== */
.wcc-notice .wcc-title {
  text-align: center !important;
  color: #1492E6 !important;
}
.wcc-consent-bar {
  box-sizing: border-box !important;
  padding: 46px !important;
  background: rgb(255, 255, 255) !important;
  font-size: 16px !important;
  line-height: 24px !important;
  border-radius: 4px !important;
  text-align: left !important;
  border: 0px solid rgb(255, 255, 255) !important;
  letter-spacing: normal !important;
  color: rgb(0, 0, 0) !important;
  position: fixed !important;
  width: 500px !important;
  height: auto !important;
  max-height: 80vh !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  overflow: auto !important;
  display: block !important;
  opacity: 1 !important;
}
@media (max-width: 768px) {
  .wcc-consent-bar {
    width: 90vw !important;
    padding: 40px 20px !important;
  }
  .wcc-notice-btn-wrapper {
    gap: 0px;
  }
}
#wcc-notice-des {
  text-align: center !important;
}
#gdrp-read-more-button {
  justify-content: center !important;
  align-items: center !important;
  display: flex !important;
  text-decoration: underline !important;
  font-weight: bold !important;
  padding-top: 10px !important;
  line-height: 28px !important;
  font-size: 14px !important;
  border-radius: 0px !important;
}
.wcc-btn-reject {
  color: #FFFFFF !important;
  background-color: #E27E7E !important;
  border-color: #E27E7E !important;
}
.wcc-btn-accept {
  color: #FFFFFF !important;
  background-color: #1E73BE !important;
  border-color: #1E73BE !important;
}
.wcc-btn-customize {
  color: #000 !important;
  background-color: #FFFFFF !important;
  border-color: #000 !important;
}
.wcc-btn {
  padding: 8px 10px !important;
  text-align: center !important;
  border-radius: 4px !important;
  margin-top: 15px !important;
  line-height: 28px !important;
}