/*-----------------------------------------------------------------------------------
    Template Name: Cipher - Creative Agency Portfolio HTML Template
    Author: DesignCurved 
    Author URI: https://themeforest.net/user/DesignCurved
    Version: 1.0

--------------------------
   CSS INDEX
--------------------------
    01. Common css 
    02. header section
    03. Hero Style
    04. footer Style
    05. Home-style-1
    06. text-moving-sec 
    07. service-area
    08. text-moving-sec-s2
    09. about-area 
    10. ch-service-area 
    11. ch-portfolio-area
    12. testimonial-section
    13. ch-skill-area
    14. ch-blog-area
    15. ch-newsletter-area
    16. Home-style-2
    17. Home-style-3
    18. Home-style-4
    19. About Page
    20. Service Page
    21. Portfolio Page
    22.	team single page
    23. Service Page
    24. Blog Page
    25. Blog Single Page

    -----------------------------------------------------------------------------------*/
/*---------------------------
	Fonts
----------------------------*/
@import url("https://fonts.googleapis.com/css2?family=Rajdhani:wght@300;400;500;600;700&family=Rubik:ital,wght@0,300..900;1,300..900&display=swap");
/* 01. Common css   */
html {
  font-size: 15px;
}

:root {
  scroll-behavior: unset;
}

body {
  font-family: "Rubik", sans-serif;
  color: var(--cp-text);
  background-color: var(--cp-ice);
  font-size: 16px;
  font-size: calc-rem-value(16);
  overflow-x: hidden;
}
@media (max-width: 767px) {
  body {
    font-size: 14px;
  }
}

p {
  font-size: 16px;
  color: var(--cp-text);
  line-height: 1.8em;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  color: var(--cp-ice);
  font-family: "Rajdhani";
  font-weight: 400;
}

ul {
  padding-left: 0;
  margin: 0;
  list-style: none;
}

a {
  text-decoration: none;
  -webkit-transition: all 0.2s;
  -moz-transition: all 0.2s;
  -o-transition: all 0.2s;
  -ms-transition: all 0.2s;
  transition: all 0.2s;
}

a:hover {
  text-decoration: none;
}

img {
  max-width: 100%;
}

.ptb-120 {
  padding: 120px 0px;
}
@media (max-width: 991px) {
  .ptb-120 {
    padding: 90px 0;
  }
}
@media (max-width: 767px) {
  .ptb-120 {
    padding: 80px 0;
  }
}

@media (min-width: 1400px) {
  .container {
    max-width: 1290px;
  }
}

.hidden {
  display: none;
}

.sr-only,
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* 1.2 Global Elements */
.page-wrapper {
  position: relative;
  overflow: hidden;
}

.wow {
  visibility: hidden;
}

.fi:before {
  margin: 0;
}

.section-bg {
  background: var(--cp-card) !important;
}

.section-padding {
  padding: 120px 0;
}
@media (max-width: 991px) {
  .section-padding {
    padding: 90px 0;
  }
}
@media (max-width: 767px) {
  .section-padding {
    padding: 80px 0;
  }
}
@media (max-width: 575px) {
  .section-padding {
    padding: 60px 0;
  }
}

.pt-120 {
  padding-top: 120px;
}
@media (max-width: 991px) {
  .pt-120 {
    padding-top: 90px;
  }
}
@media (max-width: 767px) {
  .pt-120 {
    padding-top: 80px;
  }
}
@media (max-width: 575px) {
  .pt-120 {
    padding-top: 60px;
  }
}

.pb-120 {
  padding-bottom: 120px;
}
@media (max-width: 991px) {
  .pb-120 {
    padding-bottom: 90px;
  }
}
@media (max-width: 767px) {
  .pb-120 {
    padding-bottom: 80px;
  }
}
@media (max-width: 575px) {
  .pb-120 {
    padding-bottom: 60px;
  }
}

/*** contact form error handling ***/
.contact-activation .error-handling-messages {
  width: 100% !important;
  margin-top: 15px !important;
}
.contact-activation label.error {
  color: red;
  font-size: 13px;
  font-weight: normal;
  margin: 5px 0 0 0;
  text-align: left;
  display: block;
  margin-bottom: 10px;
}
.contact-activation #c-loader,
.contact-activation #loader {
  display: none;
  margin-top: 10px;
}
.contact-activation #c-loader i,
.contact-activation #loader i {
  font-size: 30px;
  font-size: calc-rem-value(30);
  color: var(--cp-aqua);
  display: inline-block;
  -webkit-animation: rotating linear 2s infinite;
  animation: rotating linear 2s infinite;
}
.contact-activation #success,
.contact-activation #c-success,
.contact-activation #c-error,
.contact-activation #error {
  width: 100%;
  color: var(--cp-ice);
  padding: 5px 10px;
  font-size: 16px;
  text-align: center;
  display: none;
}
@media (max-width: 767px) {
  .contact-activation #success,
  .contact-activation #c-success,
  .contact-activation #c-error,
  .contact-activation #error {
    font-size: 15px;
  }
}
.contact-activation #c-success,
.contact-activation #success {
  background-color: #009a00;
  border-left: 5px solid green;
  margin-bottom: 5px;
}
.contact-activation #c-error,
.contact-activation #error {
  background-color: #ff1a1a;
  border-left: 5px solid red;
}

@-webkit-keyframes rotating {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes rotating {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
.rotating {
  -webkit-animation: rotating 5s alternate infinite;
  animation: rotating 5s alternate infinite;
}

/*** back to top **/
.back-btn {
  background-color: var(--cp-aqua);
  width: 45px;
  height: 45px;
  line-height: 45px;
  border: 4px solid var(--cp-aqua-dark);
  border-radius: 3px;
  text-align: center;
  display: none;
  position: fixed;
  z-index: 999;
  right: 15px;
  bottom: 15px;
  -webkit-transition: all 0.2s;
  -moz-transition: all 0.2s;
  -o-transition: all 0.2s;
  -ms-transition: all 0.2s;
  transition: all 0.2s;
}
@media (max-width: 991px) {
  .back-btn {
    width: 35px;
    height: 35px;
    line-height: 35px;
  }
}
.back-btn:hover {
  background-color: var(--cp-aqua);
}

.back-btn i {
  font-size: 18px;
  font-size: calc-rem-value(18);
  color: var(--cp-ice);
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

/** for popup image ***/
.mfp-wrap {
  background-color: rgba(0, 0, 0, 0.9);
  z-index: 99999;
}

.mfp-with-zoom .mfp-container,
.mfp-with-zoom.mfp-bg {
  opacity: 0;
  -webkit-backface-visibility: hidden;
  -webkit-transition: all 0.3s ease-out;
  -moz-transition: all 0.3s ease-out;
  -o-transition: all 0.3s ease-out;
  transition: all 0.3s ease-out;
}

.mfp-with-zoom.mfp-ready .mfp-container {
  opacity: 1;
}

.mfp-with-zoom.mfp-ready.mfp-bg {
  opacity: 0.8;
}

.mfp-with-zoom.mfp-removing .mfp-container,
.mfp-with-zoom.mfp-removing.mfp-bg {
  opacity: 0;
}

/*** for fancybox video ***/
.fancybox-overlay {
  background: rgba(0, 0, 0, 0.9);
  z-index: 9999 !important;
}

.fancybox-wrap {
  z-index: 99999 !important;
}

.ui-widget.ui-widget-content {
  box-shadow: 0px 1px 13.5px 1.5px rgba(46, 49, 108, 0.08);
  border: none;
  padding: 10px;
}

.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default,
.ui-button,
html .ui-button.ui-state-disabled:hover,
html .ui-button.ui-state-disabled:active {
  border: 1px solid var(--cp-border);
  background: var(--cp-card);
  font-weight: normal;
  color: var(--cp-gray);
  text-align: center;
}

.ui-state-highlight,
.ui-widget-content .ui-state-highlight,
.ui-widget-header .ui-state-highlight {
  border: 1px solid var(--cp-border);
  background: var(--cp-gray);
  color: var(--cp-ice);
}

.ui-state-active,
.ui-widget-content .ui-state-active,
.ui-widget-header .ui-state-active,
a.ui-button:active,
.ui-button:active,
.ui-button.ui-state-active:hover {
  border: 1px solid var(--cp-aqua);
  background: var(--cp-aqua);
  font-weight: normal;
  color: var(--cp-ice);
}

/*** mouse design***/
.mouse-circle-mover {
  position: fixed;
  background-color: var(--cp-aqua-dark);
  width: 10px;
  height: 10px;
  left: -10px;
  top: -10px;
  border-radius: 100%;
  z-index: 1;
  z-index: 10000;
  transform: scale(1);
}
.mouse-circle-mover.active {
  opacity: 1;
  transform: scale(0);
}

.mouse-circle-mover-follow {
  position: fixed;
  border: 1px solid var(--cp-aqua-dark);
  width: 40px;
  height: 40px;
  left: -25px;
  top: -25px;
  border-radius: 100%;
  z-index: 1;
  user-select: none;
  pointer-events: none;
  z-index: 10000;
  transform: scale(1);
}
.mouse-circle-mover-follow.active {
  transform: scale(3);
}

body.dark-page .mouse-circle-mover {
  background-color: var(--cp-card);
}
body.dark-page .mouse-circle-mover-follow {
  border-color: var(--cp-ice);
}

.sticky {
  background: var(--cp-navy);
  box-shadow: 0 -5px 15px rgba(8, 106, 216, 0.2901960784);
}
/* full-bleed sticky bar: stretch the navy background edge-to-edge of the
   viewport (the pinned menu keeps its container width; GSAP owns its inline
   geometry, so the bleed is painted by a pseudo-element instead) */
.cp-header-area .menu-area.sticky::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  width: 100vw;
  height: 100%;
  transform: translateX(-50%);
  background: var(--cp-navy);
  box-shadow: 0 -5px 15px rgba(8, 106, 216, 0.2901960784);
  z-index: -1;
}
@media (min-width: 991px) {
  .sticky {
    padding: 0 65px;
  }
}
@media (max-width: 991px) {
  .sticky {
    padding: 30px;
  }
}
@media (max-width: 575px) {
  .sticky {
    padding: 15px 0;
  }
}

@keyframes smoothScroll {
  0% {
    transform: translateY(-142px);
  }
  100% {
    transform: translateY(0px);
  }
}
.ch-top-title,
.ch-top-title-s2,
.ch-top-title-s3 {
  margin-bottom: 60px;
}
@media (max-width: 991px) {
  .ch-top-title,
  .ch-top-title-s2,
  .ch-top-title-s3 {
    margin-bottom: 40px;
    text-align: center;
  }
}
@media (max-width: 575px) {
  .ch-top-title,
  .ch-top-title-s2,
  .ch-top-title-s3 {
    margin-bottom: 20px;
    text-align: center;
  }
}
.ch-top-title span,
.ch-top-title-s2 span,
.ch-top-title-s3 span {
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 27px;
  letter-spacing: 4px;
  text-transform: uppercase;
  color: var(--cp-aqua);
  font-family: "Rajdhani";
}
@media (max-width: 767px) {
  .ch-top-title span,
  .ch-top-title-s2 span,
  .ch-top-title-s3 span {
    font-size: 15px;
    letter-spacing: 4px;
  }
}
.ch-top-title h2,
.ch-top-title-s2 h2,
.ch-top-title-s3 h2 {
  font-size: 48px;
  font-style: normal;
  font-weight: 700;
  line-height: 60px;
  color: var(--cp-ice);
  margin-top: 5px;
}
@media (max-width: 1199px) {
  .ch-top-title h2,
  .ch-top-title-s2 h2,
  .ch-top-title-s3 h2 {
    font-size: 40px;
    line-height: 50px;
  }
}
@media (max-width: 991px) {
  .ch-top-title h2,
  .ch-top-title-s2 h2,
  .ch-top-title-s3 h2 {
    font-size: 35px;
    line-height: 40px;
  }
}
.ch-top-title h2 small,
.ch-top-title-s2 h2 small,
.ch-top-title-s3 h2 small {
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 1px var(--cp-navy);
}
.ch-top-title p,
.ch-top-title-s2 p,
.ch-top-title-s3 p {
  font-size: 18px;
}

.ch-top-title-s2 {
  text-align: center;
}
.ch-top-title-s2 span {
  color: color-mix(in srgb, var(--cp-aqua) 55%, var(--cp-ice));
}
.ch-top-title-s2 h2 {
  color: var(--cp-ice);
}

.ch-top-title-s3 span {
  color: color-mix(in srgb, var(--cp-aqua) 55%, var(--cp-ice));
}
.ch-top-title-s3 h2 {
  color: var(--cp-ice);
}

.ch-btn-style-1,
.ch-btn-style-2,
.ch-btn-style-3 {
  background: transparent;
  color: var(--cp-ice);
  display: inline-block;
  font-weight: 500;
  padding: 12px 35px;
  padding-right: 55px;
  border: 0;
  z-index: 11;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 32px;
  letter-spacing: 1.28px;
  text-transform: uppercase;
  font-family: "Rajdhani";
  border: 1px solid var(--cp-aqua);
  border-radius: 5px;
  position: relative;
  overflow: hidden;
}
.ch-btn-style-1:after,
.ch-btn-style-2:after,
.ch-btn-style-3:after {
  position: absolute;
  top: 11px;
  right: 25px;
  content: "\e914";
  font-family: "icomoon";
  font-size: 10px;
}
@media (max-width: 767px) {
  .ch-btn-style-1:after,
  .ch-btn-style-2:after,
  .ch-btn-style-3:after {
    top: 5px;
  }
}
.ch-btn-style-1:hover, .ch-btn-style-1:focus, .ch-btn-style-1:active,
.ch-btn-style-2:hover,
.ch-btn-style-2:focus,
.ch-btn-style-2:active,
.ch-btn-style-3:hover,
.ch-btn-style-3:focus,
.ch-btn-style-3:active {
  color: var(--cp-navy);
}
@media (max-width: 991px) {
  .ch-btn-style-1,
  .ch-btn-style-2,
  .ch-btn-style-3 {
    font-size: 18px;
    font-size: calc-rem-value(18);
  }
}
@media (max-width: 767px) {
  .ch-btn-style-1,
  .ch-btn-style-2,
  .ch-btn-style-3 {
    padding: 5px 18px;
    font-size: 14px;
    padding-right: 45px;
  }
}

.ch-btn-animated span {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  left: 50%;
  top: 50%;
  z-index: -1;
  -webkit-transition: all 1s;
  transition: all 1s;
  background-color: var(--cp-aqua);
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  border-radius: 50%;
}

.ch-btn-animated:hover span {
  width: 650px;
  height: 650px;
}

.ch-btn-style-2 {
  color: var(--cp-ice);
  background: var(--cp-aqua);
  color: var(--cp-navy);
  margin-right: 20px;
}
.ch-btn-style-2:hover {
  background: var(--cp-navy);
  color: var(--cp-ice);
}

.ch-btn-style-3 {
  border-color: var(--cp-border);
  color: var(--cp-ice);
}

.form input,
.form textarea,
.form select {
  border-color: var(--cp-border);
  border-radius: 0;
  outline: 0;
  box-shadow: none;
  color: var(--cp-ice);
  font-style: normal;
}
.form input:focus,
.form textarea:focus,
.form select:focus {
  border-color: var(--cp-aqua);
  -webkit-box-shadow: 0 0 5px 0 var(--cp-aqua-light);
  -moz-box-shadow: 0 0 5px 0 var(--cp-aqua-light);
  -o-box-shadow: 0 0 5px 0 var(--cp-aqua-light);
  -ms-box-shadow: 0 0 5px 0 var(--cp-aqua-light);
  box-shadow: 0 0 5px 0 var(--cp-aqua-light);
}
.form ::-webkit-input-placeholder {
  font-style: 14px;
  font-style: italic;
  color: color-mix(in srgb, var(--cp-ice) 55%, transparent);
}
.form :-moz-placeholder {
  font-style: 14px;
  font-style: italic;
  color: color-mix(in srgb, var(--cp-ice) 55%, transparent);
}
.form ::-moz-placeholder {
  font-style: 14px;
  font-style: italic;
  color: color-mix(in srgb, var(--cp-ice) 55%, transparent);
}
.form :-ms-input-placeholder {
  font-style: 14px;
  font-style: italic;
  color: color-mix(in srgb, var(--cp-ice) 55%, transparent);
}
.form select {
  font-style: normal;
  background: url(../images/select-icon.png) no-repeat right center;
  display: inline-block;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  appearance: none;
  cursor: pointer;
}
.form select::-ms-expand { /* for IE 11 */
  display: none;
}
.form ::-webkit-input-placeholder { /* Edge */
  font-style: normal;
}
.form :-ms-input-placeholder { /* Internet Explorer 10-11 */
  font-style: normal;
}
.form ::placeholder {
  font-style: normal;
}

.social-links {
  overflow: hidden;
}
.social-links li {
  float: left;
  width: 35px;
  height: 35px;
  margin-right: 1px;
}
.social-links li a {
  background-color: var(--cp-aqua-light);
  width: 35px;
  height: 35px;
  line-height: 35px;
  display: block;
  color: var(--cp-ice);
  text-align: center;
}
.social-links li a:hover {
  background-color: var(--cp-aqua);
}

.cp-header-search-form {
  position: fixed;
  left: 0;
  top: 0;
  height: 100vh;
  width: 100%;
  z-index: 99999;
  margin-top: -540px;
  transform: translateY(-100%);
  background-color: rgba(0, 0, 0, 0.9);
  -webkit-transition: all 500ms cubic-bezier(0.86, 0, 0.07, 1);
  -moz-transition: all 500ms cubic-bezier(0.86, 0, 0.07, 1);
  -o-transition: all 500ms cubic-bezier(0.86, 0, 0.07, 1);
  transition: all 1500ms cubic-bezier(0.86, 0, 0.07, 1);
  -webkit-transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
  -moz-transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
  -o-transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
  transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
}
.cp-header-search-form .close-cp-header-search {
  position: absolute;
  right: 25px;
  left: auto;
  color: var(--cp-ice);
  width: auto;
  height: auto;
  top: 25px;
  margin: 0px;
  border: none;
  -webkit-transition: all 500ms ease;
  -moz-transition: all 500ms ease;
  -ms-transition: all 500ms ease;
  -o-transition: all 500ms ease;
  transition: all 500ms ease;
  width: 50px;
  height: 50px;
  background: var(--cp-aqua);
  opacity: 0;
  visibility: hidden;
  border-radius: 50%;
}
.cp-header-search-form .close-cp-header-search i {
  position: relative;
  display: block;
  color: var(--cp-ice);
  font-size: 20px;
}
.cp-header-search-form form {
  position: absolute;
  max-width: 700px;
  top: 50%;
  left: 15px;
  right: 15px;
  margin: -35px auto 0;
  transform: scaleX(0);
  transform-origin: center;
  background-color: transparent;
  -webkit-transition: all 300ms ease;
  -moz-transition: all 300ms ease;
  -ms-transition: all 300ms ease;
  -o-transition: all 300ms ease;
  transition: all 300ms ease;
}
.cp-header-search-form .form-group {
  position: relative;
  margin: 0px;
  overflow: hidden;
  border-radius: 40px;
}
.cp-header-search-form .form-group input[type=text],
.cp-header-search-form .form-group input[type=search] {
  position: relative;
  display: block;
  font-size: 18px;
  line-height: 50px;
  color: #000000;
  height: 70px;
  width: 100%;
  padding: 10px 30px;
  background: var(--cp-card);
  -webkit-transition: all 500ms ease;
  -moz-transition: all 500ms ease;
  -ms-transition: all 500ms ease;
  -o-transition: all 500ms ease;
  transition: all 500ms ease;
  font-weight: 500;
  text-transform: capitalize;
  border-radius: 40px;
  border: 0;
}
.cp-header-search-form .form-group input[type=text]:focus,
.cp-header-search-form .form-group input[type=search]:focus {
  outline: none;
  border-color: var(--cp-aqua);
}
.cp-header-search-form .form-group input[type=submit] {
  position: absolute;
  right: 30px;
  top: 0px;
  height: 70px;
  line-height: 70px;
  background: transparent;
  text-align: center;
  font-size: 24px;
  color: #000000;
  padding: 0;
  cursor: pointer;
  -webkit-transition: all 500ms ease;
  -moz-transition: all 500ms ease;
  -ms-transition: all 500ms ease;
  -o-transition: all 500ms ease;
  transition: all 500ms ease;
}
.cp-header-search-form .form-group input[type=submit]:hover,
.cp-header-search-form .form-group button:hover {
  color: #000000;
}
.cp-header-search-form .form-group .search-btn {
  width: 60px;
  height: 70px;
  background: var(--cp-aqua);
  color: var(--cp-ice);
  position: absolute;
  right: 0;
  top: 0;
  border: 0;
}
.cp-header-search-form input::placeholder,
.cp-header-search-form textarea::placeholder {
  color: #000000;
}
.cp-header-search-form.active {
  transform: translateY(0%);
  margin-top: 0;
}
.cp-header-search-form.active .close-cp-header-search {
  visibility: visible;
  opacity: 1;
  -webkit-transition-delay: 1500ms;
  -moz-transition-delay: 1500ms;
  -ms-transition-delay: 1500ms;
  -o-transition-delay: 1500ms;
  transition-delay: 1500ms;
}
.cp-header-search-form.active form {
  transform: scaleX(1);
  -webkit-transition-delay: 1200ms;
  -moz-transition-delay: 1200ms;
  -ms-transition-delay: 1200ms;
  -o-transition-delay: 1200ms;
  transition-delay: 1200ms;
}

.page-title {
  background: var(--cp-navy);
  min-height: 450px;
  position: relative;
  display: flex;
  justify-content: center;
  flex-direction: column;
  z-index: 1;
}
.page-title:before {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  content: "";
  z-index: -1;
  background: url(../images/page-title.png);
  background-repeat: no-repeat;
  background-position: center;
}
@media (max-width: 991px) {
  .page-title {
    min-height: 350px;
  }
}
@media (max-width: 575px) {
  .page-title {
    min-height: 250px;
  }
}
.page-title .breadcumb-wrap {
  padding-top: 80px;
  text-align: center;
}
@media (max-width: 575px) {
  .page-title .breadcumb-wrap {
    text-align: center;
    padding-top: 60px;
  }
}
.page-title .breadcumb-wrap h2 {
  font-size: 48px;
  font-style: normal;
  font-weight: 700;
  line-height: 58px;
  color: var(--cp-ice);
  margin-bottom: 10px;
}
@media (max-width: 767px) {
  .page-title .breadcumb-wrap h2 {
    font-size: 30px;
    line-height: 40px;
  }
}
.page-title .breadcumb-wrap ol {
  padding-left: 0;
  margin-bottom: 0;
  display: flex;
  justify-content: center;
}
.page-title .breadcumb-wrap ol li {
  display: inline-block;
  padding: 0px 15px;
  color: var(--cp-aqua);
  position: relative;
  font-size: 16px;
}
.page-title .breadcumb-wrap ol li i {
  color: color-mix(in srgb, var(--cp-ice) 72%, transparent);
  margin-right: 5px;
}
.page-title .breadcumb-wrap ol li:first-child {
  padding-left: 0;
}
@media (max-width: 767px) {
  .page-title .breadcumb-wrap ol li {
    font-size: 18px;
  }
}
@media (max-width: 575px) {
  .page-title .breadcumb-wrap ol li {
    font-size: 16px;
    padding: 0 10px;
  }
  .page-title .breadcumb-wrap ol li:first-child {
    padding-left: 0;
  }
}
.page-title .breadcumb-wrap ol li:after {
  content: "/";
  position: absolute;
  right: -5px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--cp-ice);
}
.page-title .breadcumb-wrap ol li:last-child span {
  color: color-mix(in srgb, var(--cp-ice) 72%, transparent);
}
.page-title .breadcumb-wrap ol li:last-child:after {
  display: none;
}
.page-title .breadcumb-wrap ol li a {
  color: var(--cp-ice);
  font-size: 16px;
  transition: all 0.3s;
}
.page-title .breadcumb-wrap ol li a:hover {
  color: var(--cp-aqua);
}

@keyframes loader {
  0%, 10%, 100% {
    width: 80px;
    height: 80px;
  }
  65% {
    width: 150px;
    height: 150px;
  }
}
@keyframes loaderBlock {
  0%, 30% {
    transform: rotate(0);
  }
  55% {
    background-color: var(--cp-aqua);
  }
  100% {
    transform: rotate(90deg);
  }
}
@keyframes loaderBlockInverse {
  0%, 20% {
    transform: rotate(0);
  }
  55% {
    background-color: var(--cp-aqua);
  }
  100% {
    transform: rotate(-90deg);
  }
}
.loader {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 80px;
  height: 80px;
  transform: translate(-50%, -50%) rotate(45deg) translate3d(0, 0, 0);
  animation: loader 1.2s infinite ease-in-out;
}
.loader span {
  position: absolute;
  display: block;
  width: 40px;
  height: 40px;
  background-color: var(--cp-aqua);
  animation: loaderBlock 1.2s infinite ease-in-out both;
}
.loader span:nth-child(1) {
  top: 0;
  left: 0;
}
.loader span:nth-child(2) {
  top: 0;
  right: 0;
  animation: loaderBlockInverse 1.2s infinite ease-in-out both;
}
.loader span:nth-child(3) {
  bottom: 0;
  left: 0;
  animation: loaderBlockInverse 1.2s infinite ease-in-out both;
}
.loader span:nth-child(4) {
  bottom: 0;
  right: 0;
}

.preloader {
  position: fixed;
  width: 100%;
  height: 100%;
  z-index: 999;
  background: var(--cp-navy);
}

/**** pagination ****/
.pagination-wrapper {
  text-align: center;
  margin-top: 60px;
}
@media (max-width: 991px) {
  .pagination-wrapper {
    text-align: left;
    margin-top: 40px;
  }
}
.pagination-wrapper .pg-pagination {
  display: inline-block;
  overflow: hidden;
  list-style-type: none;
  text-align: center;
}
.pagination-wrapper .pg-pagination li {
  float: left;
  margin-right: 10px;
}
@media (max-width: 767px) {
  .pagination-wrapper .pg-pagination li {
    margin-right: 5px;
  }
}
.pagination-wrapper .pg-pagination li:last-child {
  margin-right: 0;
}
.pagination-wrapper .pg-pagination li a {
  background-color: transparent;
  width: 50px;
  height: 50px;
  line-height: 50px;
  font-size: 16px;
  font-size: calc-rem-value(16);
  font-weight: 600;
  color: var(--cp-navy);
  background: var(--cp-card);
  display: block;
}
@media (max-width: 991px) {
  .pagination-wrapper .pg-pagination li a {
    width: 40px;
    height: 40px;
    line-height: 40px;
    font-size: 15px;
    font-size: calc-rem-value(15);
  }
}
.pagination-wrapper .pg-pagination .active a,
.pagination-wrapper .pg-pagination li a:hover {
  background: var(--cp-navy);
  border-color: var(--cp-navy);
  color: var(--cp-ice);
}
.pagination-wrapper .pg-pagination .fi:before {
  font-size: 15px;
  font-size: calc-rem-value(15);
}

.pagination-wrapper-left {
  text-align: left;
}

.pagination-wrapper-right {
  text-align: right;
}
@media screen and (min-width: 1200px) {
  .pagination-wrapper-right {
    padding-right: 50px;
  }
}
@media (max-width: 991px) {
  .pagination-wrapper-right {
    margin-top: 45px;
    text-align: left;
  }
}

/*--------------------------------------------------------------
02. header section
--------------------------------------------------------------*/
.cp-header-style-1 .cp-header-area-right {
  text-align: right;
}
.topbar-login {
  margin-left: 10px;
}
.btn-login {
  padding: 0 20px !important;
}
@media (min-width: 991px) {
  .cp-header-area {
    padding: 0 65px;
  }
}
@media (max-width: 991px) {
  .cp-header-area {
    padding: 30px;
  }
}
@media (max-width: 575px) {
  .cp-header-area {
    padding: 15px 0;
  }
}
.cp-header-area .main-menu .row {
  width: 100%;
}
.cp-header-area ul.nav {
  list-style: none;
  justify-content: center;
}
.cp-header-area .main-menu > ul {
  display: flex;
  list-style: none;
}
@media screen and (min-width: 992px) {
  .cp-header-area .main-menu #navbar li {
    position: relative;
  }
  .cp-header-area .main-menu ul li.has-submenu {
    position: relative;
  }
  .cp-header-area .main-menu ul > li > a {
    font-size: 16px;
    padding: 35px 20px;
    display: block;
    color: var(--cp-ice);
    font-weight: 400;
    position: relative;
  }
  .cp-header-area .main-menu ul > li > a:hover,
  .cp-header-area .main-menu ul > li > a .active {
    color: var(--cp-aqua);
  }
  .cp-header-area .main-menu ul > li > a:hover:before,
  .cp-header-area .main-menu ul > li > a.active:before {
    opacity: 1;
    visibility: visible;
  }
  .cp-header-area .main-menu ul .sub-menu {
    background-color: var(--cp-card);
    box-shadow: 0px 2px 20px 0px rgba(62, 65, 159, 0.09);
    width: 230px;
    position: absolute;
    padding: 20px 0;
    left: 0;
    top: calc(100% - 21px);
    z-index: 10;
    transform: scaleY(0);
    -webkit-transform: scaleY(0);
    -moz-transform: scaleY(0);
    -ms-transform: scaleY(0);
    -o-transform: scaleY(0);
    transform-origin: center top 0;
    -webkit-transform-origin: center top 0;
    -moz-transform-origin: center top 0;
    -ms-transform-origin: center top 0;
    -o-transform-origin: center top 0;
    transition: all 0.3s ease-in-out 0s;
    -webkit-transition: all 0.3s ease-in-out 0s;
    -moz-transition: all 0.3s ease-in-out 0s;
    -ms-transition: all 0.3s ease-in-out 0s;
    -o-transition: all 0.3s ease-in-out 0s;
    visibility: hidden;
  }
  .cp-header-area .main-menu ul > li .sub-menu a {
    font-size: 16px;
    font-size: calc-rem-value(16);
    display: block;
    padding: 12px 20px;
    color: var(--cp-navy);
    position: relative;
    overflow: hidden;
  }
  .cp-header-area .main-menu ul > li .sub-menu a:hover,
  .cp-header-area .main-menu ul > li .sub-menu a .active {
    color: var(--cp-navy);
  }
  .cp-header-area .main-menu ul > li > .sub-menu .sub-menu {
    left: 110%;
    top: 0;
  }
  .cp-header-area .main-menu ul > li > .sub-menu > .menu-item-has-children > a {
    position: relative;
  }
  .cp-header-area .main-menu ul > li > .sub-menu > .menu-item-has-children > a:before {
    font-family: "themify";
    content: "\e649";
    font-size: 11px;
    font-size: 0.73333rem;
    position: absolute;
    right: 15px;
    top: 58%;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
  }
  .cp-header-area .main-menu ul > li:hover > .sub-menu {
    opacity: 1;
    top: calc(100% - 21px);
    transform: scaleY(100%);
    -webkit-transform: scaleY(100%);
    -moz-transform: scaleY(100%);
    -ms-transform: scaleY(100%);
    -o-transform: scaleY(100%);
    visibility: visible;
  }
  .cp-header-area .main-menu #navbar .sub-menu > li:hover > .sub-menu {
    left: 100%;
    visibility: visible;
    opacity: 1;
  }
}
.cp-header-area .cp-header-area-right > ul {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
@media (max-width: 991px) {
  .cp-header-area .main-menu .navigation {
    padding: 20px 0;
  }
}
@media (max-width: 1399px) {
  .cp-header-area .main-menu ul > li > a {
    padding: 35px 12px;
  }
}
@media (max-width: 1199px) {
  .cp-header-area .main-menu ul > li > a {
    padding: 35px 8px;
    font-size: 15px;
  }
}
.cp-header-area .cp-header-area-right .call-btn {
  border: 1px solid var(--cp-aqua-dark);
  display: block;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 32px;
  letter-spacing: 1.28px;
  text-transform: uppercase;
  color: var(--cp-ice);
  font-family: "Rajdhani";
  padding: 8px 30px;
  text-align: center;
  border-radius: 5px;
  position: relative;
}
.cp-header-area .cp-header-area-right .call-btn i {
  display: none;
}
@media (max-width: 1500px) {
  .cp-header-area .cp-header-area-right .call-btn {
    padding: 8px 20px;
    font-size: 14px;
  }
}
@media (max-width: 1199px) {
  .cp-header-area .cp-header-area-right .call-btn {
    padding: 5px 10px;
    font-size: 12px;
  }
}
@media (max-width: 991px) {
  .cp-header-area .cp-header-area-right .call-btn {
    width: 50px;
    margin-left: auto;
    margin-right: 80px;
  }
  .cp-header-area .cp-header-area-right .call-btn span {
    display: none;
  }
  .cp-header-area .cp-header-area-right .call-btn i {
    display: block;
  }
}
@media (max-width: 450px) {
  .cp-header-area .cp-header-area-right .call-btn {
    position: relative;
    right: 30px;
  }
}
.cp-header-area .cp-header-area-right .call-btn:before {
  position: absolute;
  top: 0px;
  right: 0px;
  height: 100%;
  width: 0px;
  z-index: -1;
  content: "";
  border-radius: 5px;
  background: var(--cp-aqua);
  transition: all 0.4s cubic-bezier(0.42, 0, 0.58, 1) 0s;
}
.cp-header-area .cp-header-area-right .call-btn:hover, .cp-header-area .cp-header-area-right .call-btn:focus, .cp-header-area .cp-header-area-right .call-btn:active {
  color: var(--cp-navy);
}
.cp-header-area .cp-header-area-right .call-btn:hover:before, .cp-header-area .cp-header-area-right .call-btn:focus:before, .cp-header-area .cp-header-area-right .call-btn:active:before {
  left: 0%;
  right: auto;
  width: 100%;
}

.cp-header-style-1,
.cp-header-style-2 {
  position: absolute;
  left: 0;
  width: 100%;
  z-index: 99;
}

@media (max-width: 575px) {
  .cp-header-style-2 {
    padding: 25px 0;
  }
}
.cp-header-style-2 .mean-container a.meanmenu-reveal {
  margin-top: -65px;
}
@media (max-width: 767px) {
  .cp-header-style-2 .mean-container a.meanmenu-reveal {
    margin-top: -55px;
  }
}
@media (max-width: 450px) {
  .cp-header-style-2 .mean-container a.meanmenu-reveal {
    margin-top: -50px;
  }
}
.cp-header-style-2 .cp-header-area-right {
  text-align: right;
}
@media (max-width: 991px) {
  .cp-header-style-2 .cp-header-area-right {
    text-align: left;
  }
}
.cp-header-style-2 .cp-header-area-right .ch-btn-style-2 {
  margin-right: 0;
}
@media (max-width: 450px) {
  .cp-header-style-2 .cp-header-area-right .ch-btn-style-2 {
    display: none;
  }
}

.cp-header-style-3 .main-menu ul > li > a {
  color: #000;
}
.cp-header-style-3 .main-menu ul > li > a:hover {
  color: var(--cp-aqua-s4);
}

/*--------------------------------------------------------------
03. Hero Style
--------------------------------------------------------------*/
/*1.2.1 ch-main-hero */
.ch-main-hero,
.ch-main-hero-s2 {
  padding: 120px 70px;
  padding-bottom: 100px;
  background: var(--cp-navy);
  position: relative;
  z-index: 1;
  overflow: hidden;
}
.ch-main-hero::before,
.ch-main-hero-s2::before {
  position: absolute;
  left: 0;
  top: 0px;
  width: 100%;
  height: 100%;
  content: "";
  background: url(../images/hero/left-line.png);
  background-position: left;
  background-repeat: repeat;
  background-size: contain;
  z-index: -1;
}
@media (max-width: 991px) {
  .ch-main-hero,
  .ch-main-hero-s2 {
    padding: 100px 0;
  }
}
@media (max-width: 575px) {
  .ch-main-hero,
  .ch-main-hero-s2 {
    padding: 100px 0;
  }
}
.ch-main-hero .ch-main-hero-wrap,
.ch-main-hero-s2 .ch-main-hero-wrap {
  position: relative;
}
.ch-main-hero .ch-main-hero-text,
.ch-main-hero-s2 .ch-main-hero-text {
  position: relative;
  padding-top: 60px;
}
@media (max-width: 991px) {
  .ch-main-hero .ch-main-hero-text,
  .ch-main-hero-s2 .ch-main-hero-text {
    text-align: center;
    padding-top: 0;
  }
}
.ch-main-hero .ch-main-hero-text h2,
.ch-main-hero-s2 .ch-main-hero-text h2 {
  font-size: 151.76px;
  font-style: normal;
  font-weight: 700;
  line-height: 82%;
  color: var(--cp-ice);
  margin-top: 20px;
  margin-bottom: 30px;
}
@media (max-width: 1500px) {
  .ch-main-hero .ch-main-hero-text h2,
  .ch-main-hero-s2 .ch-main-hero-text h2 {
    font-size: 100px;
    line-height: 100px;
  }
}
@media (max-width: 1199px) {
  .ch-main-hero .ch-main-hero-text h2,
  .ch-main-hero-s2 .ch-main-hero-text h2 {
    font-size: 70px;
    line-height: 70px;
  }
}
@media (max-width: 575px) {
  .ch-main-hero .ch-main-hero-text h2,
  .ch-main-hero-s2 .ch-main-hero-text h2 {
    font-size: 44px;
    line-height: 44px;
    margin-top: 10px;
    margin-bottom: 20px;
  }
}
.ch-main-hero .ch-main-hero-text p,
.ch-main-hero-s2 .ch-main-hero-text p {
  max-width: 615px;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 29px;
  letter-spacing: 0.64px;
  color: var(--cp-ice);
  display: flex;
  color: var(--cp-ice);
}
@media (max-width: 991px) {
  .ch-main-hero .ch-main-hero-text p,
  .ch-main-hero-s2 .ch-main-hero-text p {
    margin: 0 auto;
  }
}
@media (max-width: 575px) {
  .ch-main-hero .ch-main-hero-text p,
  .ch-main-hero-s2 .ch-main-hero-text p {
    font-size: 14px;
  }
}
.ch-main-hero .ch-main-hero-text p i,
.ch-main-hero-s2 .ch-main-hero-text p i {
  width: 65px;
  margin-right: 10px;
}
.ch-main-hero .ch-main-hero-text p i img,
.ch-main-hero-s2 .ch-main-hero-text p i img {
  animation: circle 15s linear infinite;
}
.ch-main-hero .right-image,
.ch-main-hero-s2 .right-image {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: flex-end;
}
@media (max-width: 991px) {
  .ch-main-hero .right-image,
  .ch-main-hero-s2 .right-image {
    max-width: 450px;
    margin: 0 auto;
    margin-top: 30px;
    justify-content: flex-start;
  }
}
@media (max-width: 575px) {
  .ch-main-hero .right-image,
  .ch-main-hero-s2 .right-image {
    justify-content: center;
  }
}
.ch-main-hero .right-image .right-image-mask,
.ch-main-hero-s2 .right-image .right-image-mask {
  max-width: 535px;
  margin-top: -230px;
}
@media (max-width: 1399px) {
  .ch-main-hero .right-image .right-image-mask,
  .ch-main-hero-s2 .right-image .right-image-mask {
    max-width: 450px;
    padding-top: 50px;
  }
}
@media (max-width: 1199px) {
  .ch-main-hero .right-image .right-image-mask,
  .ch-main-hero-s2 .right-image .right-image-mask {
    max-width: 380px;
    padding-top: 100px;
  }
}
@media (max-width: 991px) {
  .ch-main-hero .right-image .right-image-mask,
  .ch-main-hero-s2 .right-image .right-image-mask {
    margin-top: 0;
    padding-top: 30px;
  }
}
@media (max-width: 575px) {
  .ch-main-hero .right-image .right-image-mask,
  .ch-main-hero-s2 .right-image .right-image-mask {
    padding-top: 0;
  }
}
.ch-main-hero .right-image .right-image-mask img,
.ch-main-hero-s2 .right-image .right-image-mask img {
  width: 100%;
}
.ch-main-hero .hero-btn,
.ch-main-hero-s2 .hero-btn {
  margin-top: 40px;
}
.ch-main-hero .poligon-wrap,
.ch-main-hero-s2 .poligon-wrap {
  position: absolute;
  max-width: 198px;
  right: 0;
  bottom: 150px;
}
@media (max-width: 575px) {
  .ch-main-hero .poligon-wrap,
  .ch-main-hero-s2 .poligon-wrap {
    display: none;
  }
}
.ch-main-hero .poligon-wrap .poligon-text,
.ch-main-hero-s2 .poligon-wrap .poligon-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: 0 auto;
  justify-content: center;
  width: 130px;
  display: flex;
  align-items: center;
}
.ch-main-hero .poligon-wrap .poligon-text i,
.ch-main-hero-s2 .poligon-wrap .poligon-text i {
  margin-right: 10px;
  flex-basis: 50%;
  font-size: 45px;
}
.ch-main-hero .poligon-wrap .poligon-text .poligon-text-right,
.ch-main-hero-s2 .poligon-wrap .poligon-text .poligon-text-right {
  overflow: hidden;
}
.ch-main-hero .poligon-wrap .poligon-text .poligon-text-right h3,
.ch-main-hero-s2 .poligon-wrap .poligon-text .poligon-text-right h3 {
  font-size: 32px;
  font-style: normal;
  font-weight: 700;
  line-height: 130%;
  text-transform: capitalize;
  margin-bottom: 0;
}
.ch-main-hero .poligon-wrap .poligon-text .poligon-text-right span,
.ch-main-hero-s2 .poligon-wrap .poligon-text .poligon-text-right span {
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 160%;
}

@media (max-width: 991px) {
  .ch-main-hero-s2 {
    padding-top: 150px;
  }
}
@media (max-width: 450px) {
  .ch-main-hero-s2 {
    padding-top: 80px;
    padding-bottom: 70px;
  }
}
.ch-main-hero-s2:before {
  display: none;
}
.ch-main-hero-s2 .ch-main-hero-wrap .right-link {
  position: absolute;
  right: 0;
  top: 0;
  text-align: right;
}
@media (max-width: 991px) {
  .ch-main-hero-s2 .ch-main-hero-wrap .right-link {
    display: none;
  }
}
.ch-main-hero-s2 .ch-main-hero-wrap .right-link ul li {
  margin-bottom: 30px;
  max-width: 458px;
  margin-left: auto;
}
.ch-main-hero-s2 .ch-main-hero-wrap .right-link ul li a {
  font-size: 61.33px;
  font-style: normal;
  font-weight: 700;
  line-height: 115%;
  color: var(--cp-ice);
  opacity: 0.1;
}
@media (max-width: 1199px) {
  .ch-main-hero-s2 .ch-main-hero-wrap .right-link ul li a {
    font-size: 50px;
  }
}
.ch-main-hero-s2 .ch-main-hero-wrap .right-link ul li a:hover {
  opacity: 0.5;
  color: var(--cp-aqua);
}
.ch-main-hero-s2 .ch-main-hero-text span.title-sub {
  font-family: "Rajdhani";
  font-size: 48px;
  font-style: normal;
  font-weight: 700;
  line-height: 60px;
  text-transform: capitalize;
  color: var(--cp-aqua);
}
.ch-main-hero-s2 .ch-main-hero-text h2 {
  font-size: 130px;
  font-style: normal;
  font-weight: 700;
  line-height: 115%;
  color: var(--cp-ice);
  margin-top: 0px;
  margin-bottom: 0px;
}
@media (max-width: 1500px) {
  .ch-main-hero-s2 .ch-main-hero-text h2 {
    font-size: 100px;
    line-height: 100px;
  }
}
@media (max-width: 1199px) {
  .ch-main-hero-s2 .ch-main-hero-text h2 {
    font-size: 70px;
    line-height: 70px;
  }
}
@media (max-width: 575px) {
  .ch-main-hero-s2 .ch-main-hero-text h2 {
    font-size: 44px;
    line-height: 44px;
    margin-top: 10px;
    margin-bottom: 20px;
  }
}
.ch-main-hero-s2 .ch-main-hero-text p {
  max-width: 530px;
}
.ch-main-hero-s2 .ch-main-hero-text .hero-funfact {
  display: flex;
  max-width: 335px;
  margin-top: 30px;
}
@media (max-width: 991px) {
  .ch-main-hero-s2 .ch-main-hero-text .hero-funfact {
    margin: 0 auto;
    margin-top: 30px;
  }
}
.ch-main-hero-s2 .ch-main-hero-text .hero-funfact .funfact-item {
  flex-basis: 50%;
}
.ch-main-hero-s2 .ch-main-hero-text .hero-funfact .funfact-item h3 {
  font-size: 48px;
  font-style: normal;
  font-weight: 700;
  line-height: 60px;
  color: var(--cp-ice);
}
@media (max-width: 991px) {
  .ch-main-hero-s2 .ch-main-hero-text .hero-funfact .funfact-item h3 {
    text-align: center;
  }
}
@media (max-width: 450px) {
  .ch-main-hero-s2 .ch-main-hero-text .hero-funfact .funfact-item h3 {
    font-size: 35px;
    line-height: 40px;
  }
}
@media (max-width: 991px) {
  .ch-main-hero-s2 .ch-main-hero-text .hero-funfact .funfact-item p {
    justify-content: center;
  }
}
.ch-main-hero-s2 .right-image {
  justify-content: flex-start;
  left: -40px;
}
@media (max-width: 1399px) {
  .ch-main-hero-s2 .right-image {
    max-width: 360px;
    left: -20px;
  }
}
@media (max-width: 1199px) {
  .ch-main-hero-s2 .right-image {
    max-width: 300px;
  }
}
@media (max-width: 575px) {
  .ch-main-hero-s2 .right-image {
    max-width: 250px;
    left: 0px;
  }
}
.ch-main-hero-s2 .right-image .right-image-mask {
  position: relative;
  margin-top: 0;
  z-index: 1;
  clip-path: polygon(0 0, 200% 0, 100% 50%, 16% 93%, 0 100%, 0% 50%);
}
.ch-main-hero-s2 .right-image .right-image-mask:before {
  position: absolute;
  left: 0;
  top: 0;
  width: 680px;
  height: 680px;
  background: var(--cp-aqua-dark);
  content: "";
  z-index: -1;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}
.ch-main-hero-s2 .right-image .line {
  position: absolute;
  left: -60px;
  top: 40px;
}
@media (max-width: 575px) {
  .ch-main-hero-s2 .right-image .line {
    left: -25px;
    top: 40px;
  }
}
.ch-main-hero-s2 .right-image .rotate-text-wrap {
  position: absolute;
  right: 120px;
  bottom: 15px;
  width: 200px;
  height: 200px;
  line-height: 200px;
  border-radius: 50%;
  z-index: 11;
  border: 2px solid rgba(255, 255, 255, 0.3);
}
@media (max-width: 1500px) {
  .ch-main-hero-s2 .right-image .rotate-text-wrap {
    right: 100px;
  }
}
@media (max-width: 1400px) {
  .ch-main-hero-s2 .right-image .rotate-text-wrap {
    right: 40px;
  }
}
@media (max-width: 575px) {
  .ch-main-hero-s2 .right-image .rotate-text-wrap {
    right: 0;
    bottom: 0;
  }
}
.ch-main-hero-s2 .right-image .rotate-text-wrap .rotate-text {
  position: relative;
  top: 0px;
  animation: circle 30s linear infinite;
  max-width: 200px;
}
.ch-main-hero-s2 .right-image .rotate-text-wrap .rotate-text svg path {
  fill: transparent;
}
.ch-main-hero-s2 .right-image .rotate-text-wrap .rotate-text text {
  font-size: 16px;
  font-style: normal;
  font-weight: 600;
  color: var(--cp-ice);
  text-transform: uppercase;
  font-family: "Rajdhani";
  letter-spacing: 15px;
}
.ch-main-hero-s2 .right-image .rotate-text-wrap .icon {
  position: absolute;
  left: 20%;
  top: 15px;
}
.ch-main-hero-s2 .right-image .rotate-text-wrap .icon i {
  display: inline-block;
  font-size: 50px;
  color: var(--cp-aqua);
  width: 120px;
  height: 120px;
  line-height: 120px;
  text-align: center;
  border-radius: 50%;
}

.ch-main-hero-s3 {
  padding-top: 90px;
  position: relative;
}
.ch-main-hero-s3 .ch-main-hero-text span.title-sub {
  color: var(--cp-ice);
  font-family: "Rajdhani";
  font-size: 24px;
  font-style: normal;
  font-weight: 500;
  line-height: normal;
  padding-left: 90px;
  position: relative;
}
@media (max-width: 1399px) {
  .ch-main-hero-s3 .ch-main-hero-text span.title-sub {
    margin-bottom: 20px;
    display: block;
  }
}
@media (max-width: 575px) {
  .ch-main-hero-s3 .ch-main-hero-text span.title-sub {
    font-size: 18px;
  }
}
.ch-main-hero-s3 .ch-main-hero-text span.title-sub:before {
  position: absolute;
  left: 0;
  bottom: 7px;
  content: "";
  background: var(--cp-card);
  height: 1px;
  width: 70px;
}
.ch-main-hero-s3 .ch-main-hero-text h2 {
  font-size: 128px;
  font-style: normal;
  font-weight: 700;
  line-height: 115%;
  color: var(--cp-ice);
  margin-top: 0px;
  margin-bottom: 0px;
}
@media (max-width: 1500px) {
  .ch-main-hero-s3 .ch-main-hero-text h2 {
    font-size: 100px;
    line-height: 100px;
  }
}
@media (max-width: 1199px) {
  .ch-main-hero-s3 .ch-main-hero-text h2 {
    font-size: 70px;
    line-height: 70px;
  }
}
@media (max-width: 991px) {
  .ch-main-hero-s3 .ch-main-hero-text h2 {
    font-size: 55px;
    line-height: 60px;
  }
}
@media (max-width: 575px) {
  .ch-main-hero-s3 .ch-main-hero-text h2 {
    font-size: 35px;
    line-height: 40px;
    margin-top: 10px;
    margin-bottom: 20px;
  }
}
.ch-main-hero-s3 .ch-main-hero-text h2 small {
  display: inline-block;
  padding: 5px 50px;
  background: var(--cp-aqua-s3);
  border-radius: 100px;
  line-height: 100%;
}
@media (max-width: 575px) {
  .ch-main-hero-s3 .ch-main-hero-text h2 small {
    padding: 2px 25px;
  }
}
.ch-main-hero-s3 .ch-main-hero-text h2 small i img {
  animation: circle 30s linear infinite;
}
.ch-main-hero-s3 .ch-main-hero-text .hero-img {
  margin-top: 60px;
  position: relative;
}
.ch-main-hero-s3 .ch-main-hero-text .hero-img img {
  border-radius: 30px;
}
@media (max-width: 575px) {
  .ch-main-hero-s3 .ch-main-hero-text .hero-img img {
    min-height: 180px;
    object-fit: cover;
  }
}
.ch-main-hero-s3 .ch-main-hero-text .hero-img .star2 {
  position: absolute;
  right: -95px;
  top: -50px;
}
.ch-main-hero-s3 .ch-main-hero-text .hero-img .star2 img {
  animation: zoom-in-zoom-out 5s ease infinite;
}
@media (max-width: 575px) {
  .ch-main-hero-s3 .ch-main-hero-text .hero-img .star2 img {
    min-height: 100%;
  }
}
.ch-main-hero-s3 .ch-main-hero-text .hero-img .hero-btn {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 10px;
  background: var(--cp-ocean);
  border-top-right-radius: 10px;
  padding-bottom: 0;
}
.ch-main-hero-s3 .rotate-star {
  position: absolute;
  right: 96px;
  top: 60px;
  z-index: -1;
}
.ch-main-hero-s3 .rotate-star img {
  animation: circle 30s linear infinite;
}
.ch-main-hero-s3 .line-shape {
  position: absolute;
  top: 20%;
  z-index: -1;
}
.ch-main-hero-s3 .dot-shape-1 {
  position: absolute;
  left: 0;
  top: 50px;
  z-index: -1;
}
@media (max-width: 991px) {
  .ch-main-hero-s3 .dot-shape-1 {
    display: none;
  }
}
.ch-main-hero-s3 .dot-shape-2 {
  position: absolute;
  left: 0;
  top: 40%;
  z-index: -1;
}
@media (max-width: 1199px) {
  .ch-main-hero-s3 .dot-shape-2 {
    top: 50%;
  }
}
@media (max-width: 991px) {
  .ch-main-hero-s3 .dot-shape-2 {
    display: none;
  }
}

.ch-main-hero-s4 {
  position: relative;
  padding-top: 115px;
}
@media (max-width: 1199px) {
  .ch-main-hero-s4 {
    padding-top: 50px;
  }
}
@media (max-width: 991px) {
  .ch-main-hero-s4 {
    padding-top: 20px;
  }
}
@media (max-width: 1199px) {
  .ch-main-hero-s4 .row {
    align-items: center;
  }
}
.ch-main-hero-s4 .ch-main-hero-text {
  padding-top: 40px;
}
@media (max-width: 991px) {
  .ch-main-hero-s4 .ch-main-hero-text {
    text-align: center;
  }
}
.ch-main-hero-s4 h2 {
  font-size: 70.815px;
  font-style: normal;
  font-weight: 700;
  line-height: 115%;
  color: var(--cp-ice);
  margin-top: 0px;
  margin-bottom: 30px;
}
@media (max-width: 1500px) {
  .ch-main-hero-s4 h2 {
    font-size: 65px;
  }
}
@media (max-width: 1199px) {
  .ch-main-hero-s4 h2 {
    font-size: 50px;
  }
}
@media (max-width: 575px) {
  .ch-main-hero-s4 h2 {
    font-size: 35px;
    line-height: 40px;
    margin-top: 10px;
    margin-bottom: 20px;
  }
}
.ch-main-hero-s4 .right-image {
  position: relative;
  z-index: 1;
}
.ch-main-hero-s4 .right-image .back-bg {
  position: absolute;
  right: 30px;
  bottom: 0;
  z-index: -11;
  width: 614px;
}
@media (max-width: 1199px) {
  .ch-main-hero-s4 .right-image .back-bg {
    display: none;
  }
}
.ch-main-hero-s4 .right-image .right-image-mask {
  position: relative;
  z-index: 1;
}
@media (max-width: 991px) {
  .ch-main-hero-s4 .right-image .right-image-mask {
    max-width: 400px;
    margin: 0 auto;
    margin-bottom: 20px;
    text-align: center;
  }
}
.ch-main-hero-s4 .right-image .right-image-mask::before {
  position: absolute;
  left: 45%;
  transform: translateX(-50%);
  bottom: 0;
  width: 100%;
  height: 80%;
  border: 1px solid rgba(255, 255, 255, 0.1);
  content: "";
  border-radius: 10px;
  z-index: -1;
  max-width: 316px;
}
.ch-main-hero-s4 .right-image .right-image-mask::after {
  position: absolute;
  left: 45%;
  transform: translateX(-50%);
  bottom: 0;
  width: 100%;
  height: 85%;
  border: 1px solid rgba(255, 255, 255, 0.1);
  content: "";
  border-radius: 10px;
  z-index: -1;
  max-width: 260px;
}
.ch-main-hero-s4 .right-rating {
  background: var(--cp-ocean);
  padding: 20px;
  width: 278px;
}
@media (max-width: 1500px) {
  .ch-main-hero-s4 .right-rating {
    width: 230px;
  }
}
@media (max-width: 991px) {
  .ch-main-hero-s4 .right-rating {
    margin: 0 auto;
  }
}
.ch-main-hero-s4 .right-rating span {
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 30px;
  color: var(--cp-border);
}
.ch-main-hero-s4 .right-rating h3 {
  font-size: 48px;
  font-style: normal;
  font-weight: 700;
  line-height: 60px;
  text-transform: capitalize;
  color: var(--cp-aqua-s3);
}
.ch-main-hero-s4 .right-rating h3 small {
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 30px;
  color: var(--cp-border);
}
.ch-main-hero-s4 .video-wrap {
  display: flex;
  align-items: center;
  margin-top: 220px;
  margin-left: 50px;
  justify-content: center;
  width: 100%;
}
@media (max-width: 1199px) {
  .ch-main-hero-s4 .video-wrap {
    margin-top: 120px;
    margin-left: 0px;
  }
}
@media (max-width: 767px) {
  .ch-main-hero-s4 .video-wrap {
    margin-top: 20px;
  }
}
.ch-main-hero-s4 .video-wrap .video-btn {
  position: relative;
  display: block;
  width: 78px;
  height: 78px;
  line-height: 78px;
  background: var(--cp-ocean);
  border: 1px solid var(--cp-ice);
  border-radius: 50%;
  z-index: 1;
  margin-right: 10px;
}
.ch-main-hero-s4 .video-wrap .video-btn:before {
  content: "";
  width: 0px;
  height: 0px;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 15px solid var(--cp-ice);
  position: absolute;
  left: 52%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.ch-main-hero-s4 .video-wrap span {
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 30px;
  color: var(--cp-border);
}
.ch-main-hero-s4 .line-shape {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: -1;
}
.ch-main-hero-s4 .visible-text {
  text-align: center;
}
.ch-main-hero-s4 .visible-text h2 {
  font-size: 251px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  font-family: "Rubik", sans-serif;
  color: rgba(255, 255, 255, 0.02);
}
@media (max-width: 1399px) {
  .ch-main-hero-s4 .visible-text h2 {
    font-size: 200px;
  }
}
@media (max-width: 1199px) {
  .ch-main-hero-s4 .visible-text h2 {
    font-size: 170px;
  }
}
@media (max-width: 991px) {
  .ch-main-hero-s4 .visible-text h2 {
    font-size: 120px;
  }
}
@media (max-width: 767px) {
  .ch-main-hero-s4 .visible-text h2 {
    font-size: 100px;
  }
}
@media (max-width: 575px) {
  .ch-main-hero-s4 .visible-text h2 {
    font-size: 70px;
    margin-top: 20px;
  }
}
@media (max-width: 375px) {
  .ch-main-hero-s4 .visible-text h2 {
    font-size: 50px;
    margin-top: 30px;
  }
}

.ch-main-hero-s5 {
  background: linear-gradient(254deg, var(--cp-aqua-light) 21.57%, var(--cp-aqua-s4) 84.65%);
}
.ch-main-hero-s5 .ch-main-hero-wrap {
  padding: 100px;
}
@media (max-width: 1500px) {
  .ch-main-hero-s5 .ch-main-hero-wrap {
    padding: 100px 40px;
  }
}
@media (max-width: 991px) {
  .ch-main-hero-s5 .ch-main-hero-wrap {
    text-align: center;
    padding: 80px 0px;
  }
}
.ch-main-hero-s5 .ch-main-hero-wrap h2 {
  color: #000;
  font-size: 89px;
  font-style: normal;
  font-weight: 700;
  line-height: 110px;
  text-transform: uppercase;
}
@media (max-width: 1500px) {
  .ch-main-hero-s5 .ch-main-hero-wrap h2 {
    font-size: 80px;
    line-height: 90px;
  }
}
@media (max-width: 1399px) {
  .ch-main-hero-s5 .ch-main-hero-wrap h2 {
    font-size: 70px;
    line-height: 80px;
  }
}
@media (max-width: 1199px) {
  .ch-main-hero-s5 .ch-main-hero-wrap h2 {
    font-size: 60px;
    line-height: 80px;
  }
}
@media (max-width: 575px) {
  .ch-main-hero-s5 .ch-main-hero-wrap h2 {
    font-size: 40px;
    line-height: 60px;
  }
}
.ch-main-hero-s5 .ch-main-hero-wrap h2 span {
  display: block;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 1px var(--cp-ice);
}
.ch-main-hero-s5 .ch-main-hero-wrap .hero-img {
  position: relative;
  margin-top: 40px;
  padding-top: 10px;
}
@media (max-width: 991px) {
  .ch-main-hero-s5 .ch-main-hero-wrap .hero-img {
    margin-bottom: 40px;
  }
}
.ch-main-hero-s5 .ch-main-hero-wrap .hero-img img {
  max-width: 425px;
  border-radius: 100px 100px 100px 0px;
  width: 100%;
}
.ch-main-hero-s5 .ch-main-hero-wrap .hero-img .award {
  position: absolute;
  top: 0;
  left: 100px;
  max-width: 228px;
  background: #000;
  padding: 15px 0;
  z-index: 1;
}
@media (max-width: 991px) {
  .ch-main-hero-s5 .ch-main-hero-wrap .hero-img .award {
    left: 50%;
    transform: translateX(-50%);
  }
}
.ch-main-hero-s5 .ch-main-hero-wrap .hero-img .award p {
  color: #000;
  text-align: center;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 27px;
  letter-spacing: 1.28px;
  text-transform: uppercase;
  margin-bottom: 0;
}
@media (max-width: 575px) {
  .ch-main-hero-s5 .ch-main-hero-wrap .hero-img .award p {
    font-size: 14px;
  }
}
.ch-main-hero-s5 .ch-main-hero-wrap .hero-img .award:before {
  position: absolute;
  width: 100%;
  height: 100%;
  content: "";
  background: var(--cp-aqua);
  right: 5px;
  bottom: 5px;
  z-index: -1;
  transition: all 0.3s;
}
.ch-main-hero-s5 .ch-main-hero-wrap .hero-img .shape {
  position: absolute;
  right: 30px;
  top: 0;
}
@media (max-width: 1399px) {
  .ch-main-hero-s5 .ch-main-hero-wrap .hero-img .shape {
    display: none;
  }
}
.ch-main-hero-s5 .ch-main-hero-wrap .hero-img .shape img {
  border-radius: 0;
  animation: bounceLeftToRight 4s infinite;
}
.ch-main-hero-s5 .ch-main-hero-wrap .ch-main-right-wrap p {
  max-width: 455px;
  margin: 0 auto;
  margin-bottom: 70px;
}
.ch-main-hero-s5 .ch-main-hero-wrap .ch-main-right-wrap .ch-main-himg {
  border-radius: 183px 192.5px 174px 0px;
  border: 1px solid #000;
  position: relative;
  z-index: 1;
}
.ch-main-hero-s5 .ch-main-hero-wrap .ch-main-right-wrap .ch-main-himg:before {
  position: absolute;
  width: 100%;
  height: 100%;
  content: "";
  background: #000;
  right: -12px;
  bottom: -12px;
  z-index: -1;
  transition: all 0.3s;
  border-radius: 183px 192.5px 174px 0px;
}
.ch-main-hero-s5 .ch-main-hero-wrap .ch-main-right-wrap .ch-main-himg img {
  border-radius: 183px 192.5px 174px 0px;
}
.ch-main-hero-s5 .ch-main-hero-wrap .ch-main-right-wrap .ch-main-himg .shape {
  position: absolute;
  right: 0;
  top: -50px;
}
.ch-main-hero-s5 .ch-main-hero-wrap .ch-main-right-wrap .ch-main-himg .shape img {
  animation: zoom-in-zoom-out 5s ease infinite;
}
@media (max-width: 575px) {
  .ch-main-hero-s5 .ch-main-hero-wrap .ch-main-right-wrap .ch-main-himg .shape img {
    max-width: 60%;
  }
}

/*--------------------------------------------------------------
04. footer Style
--------------------------------------------------------------*/
.footer-section {
  background: var(--cp-ice);
  position: relative;
  font-size: 15px;
  overflow: hidden;
  z-index: 1;
}
.footer-section .footer-right-img {
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: -1;
}
@media (max-width: 1600px) {
  .footer-section .footer-right-img {
    display: none;
  }
}
.footer-section ul {
  list-style: none;
}
.footer-section p {
  color: var(--cp-gray);
  margin-top: 30px;
}
.footer-section li {
  color: var(--cp-gray);
}
.footer-section .container {
  position: relative;
}
.footer-section .upper-footer {
  padding: 80px 0;
}
@media (max-width: 991px) {
  .footer-section .upper-footer {
    padding: 80px 0 0px;
  }
}
@media (max-width: 767px) {
  .footer-section .upper-footer {
    padding: 60px 0 30px;
  }
}
@media (max-width: 991px) {
  .footer-section .upper-footer .col {
    min-height: 235px;
    margin-bottom: 50px;
  }
}
@media (max-width: 767px) {
  .footer-section .upper-footer .col {
    min-height: auto;
  }
}
.footer-section .widget-title {
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  .footer-section .widget-title {
    margin-bottom: 20px;
  }
}
.footer-section .widget-title h3 {
  color: var(--cp-navy);
  margin: 0;
  position: relative;
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 30px;
}
.footer-section .about-widget .logo {
  max-width: 180px;
  margin-bottom: 30px;
}
.footer-section .about-widget .widget-title {
  margin-bottom: 0;
}
.footer-section .about-widget p {
  margin-bottom: 0.8em;
  line-height: 1.9em;
}
.footer-section .about-widget p:last-child {
  margin-bottom: 0;
}
.footer-section .link-widget {
  overflow: hidden;
  padding-left: 50px;
}
@media (max-width: 1199px) {
  .footer-section .link-widget {
    padding-left: 0;
  }
}
.footer-section .link-widget ul li {
  position: relative;
}
.footer-section .link-widget ul li a {
  color: var(--cp-gray);
  font-size: 16px;
  line-height: 30px;
  display: block;
  position: relative;
  padding-left: 30px;
  text-transform: capitalize;
}
.footer-section .link-widget ul li a::after {
  position: absolute;
  left: 0;
  top: 0;
  content: "\e649";
  font-family: "themify";
  font-size: 14px;
}
.footer-section .link-widget ul li a:hover {
  color: var(--cp-navy);
}
.footer-section .link-widget ul li + li {
  margin-top: 5px;
}
.footer-section .social-widget {
  padding-left: 30px;
}
@media (max-width: 1199px) {
  .footer-section .social-widget {
    padding-left: 0;
  }
}
.footer-section .social-widget ul {
  display: flex;
}
.footer-section .social-widget ul li a {
  color: var(--cp-navy);
  display: block;
  width: 40px;
  height: 40px;
  line-height: 40px;
  text-align: center;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: 50%;
}
.footer-section .social-widget ul li a:hover {
  background: var(--cp-navy);
  color: var(--cp-ice);
}
.footer-section .social-widget ul li + li {
  margin-left: 10px;
}
.footer-section .contact-ft {
  margin-top: 20px;
}
.footer-section .contact-ft ul li {
  padding-bottom: 20px;
  position: relative;
  padding-left: 35px;
  color: var(--cp-navy);
  font-size: 16px;
}
.footer-section .contact-ft ul li i {
  position: absolute;
  left: 0;
  top: 0;
}
.footer-section .contact-ft ul li .fi:before {
  font-size: 20px;
  margin-right: 15px;
}
.footer-section .subscribe .form-field {
  position: relative;
}
.footer-section .subscribe .form-field input {
  width: 100%;
  height: 60px;
  border-radius: 5px;
  border: 1px solid var(--cp-border);
  padding: 15px;
  padding-right: 70px;
  background: none;
  color: var(--cp-ice);
}
.footer-section .subscribe .form-field input:focus {
  outline: none;
  border-color: var(--cp-aqua);
}
.footer-section .subscribe .form-field button {
  position: absolute;
  right: 10px;
  top: 10px;
  height: 40px;
  width: 40px;
  background: none;
  border: 0;
  color: var(--cp-navy);
  background: var(--cp-border);
  border-radius: 5px;
}
.footer-section .instagram ul {
  display: flex;
  flex-wrap: wrap;
  margin: 0px -3px;
}
.footer-section .instagram ul li {
  -ms-flex: 0 0 33.33%;
  flex: 0 0 33.33%;
  max-width: 33.33%;
  margin-bottom: 5px;
  padding: 0px 3px;
}
.footer-section .instagram ul li img {
  width: 100%;
  border-radius: 5px;
}
.footer-section .instagram ul li a {
  position: relative;
  display: block;
}
.footer-section .instagram ul li a:before {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  content: "\e73d";
  border-radius: 5px;
  background: rgba(38, 38, 38, 0.6);
  font-family: "themify";
  color: var(--cp-ice);
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s;
}
.footer-section .instagram ul li a:hover:before {
  opacity: 1;
  visibility: visible;
}
.footer-section .lower-footer {
  text-align: center;
  position: relative;
}
.footer-section .lower-footer .row {
  padding: 20px 0px;
  border-top: 1px solid var(--cp-border);
}
@media (max-width: 991px) {
  .footer-section .lower-footer .row {
    padding: 20px 0px;
  }
}
.footer-section .lower-footer .lower-footer-link {
  display: flex;
  justify-content: flex-end;
}
@media (max-width: 991px) {
  .footer-section .lower-footer .lower-footer-link {
    justify-content: center;
    flex-wrap: wrap;
  }
}
.footer-section .lower-footer .lower-footer-link li a {
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 29px;
  color: var(--cp-gray);
}
.footer-section .lower-footer .lower-footer-link li a:hover {
  color: var(--cp-navy);
}
.footer-section .lower-footer .lower-footer-link li + li {
  padding-left: 20px;
}
.footer-section .lower-footer .copy-right {
  text-align: left;
}
@media (max-width: 991px) {
  .footer-section .lower-footer .copy-right {
    text-align: center;
    margin-top: 10px;
  }
}
.footer-section .lower-footer .copyright {
  display: inline-block;
  font-size: 14px;
  margin: 0;
}
.footer-section .lower-footer .copyright a {
  color: var(--cp-navy);
  text-decoration: none;
}
@media (max-width: 991px) {
  .footer-section .lower-footer .copyright {
    float: none;
    display: block;
  }
}
.footer-section.style-2 {
  background: var(--cp-card);
}

.sticky-header {
  width: 100%;
  position: fixed;
  left: 0;
  top: -200px;
  z-index: 9999;
  opacity: 0;
  -webkit-transition: all 0.7s;
  -moz-transition: all 0.7s;
  -o-transition: all 0.7s;
  -ms-transition: all 0.7s;
  transition: all 0.7s;
}

.sticky-on {
  opacity: 1;
  top: 0;
}

/*--------------------------------------------------------------
05. Home-style-1
--------------------------------------------------------------*/
/*===================================
 06. text-moving-sec 
 ====================================*/
.text-moving-sec {
  position: relative;
  z-index: 11;
  margin-top: -120px;
}
.text-moving-sec .text-moving {
  position: relative;
  left: -10%;
  width: 120%;
  z-index: -1;
  padding: 25px 0 20px;
  background: var(--cp-ocean);
  transform: rotate(-1deg);
}
.text-moving-sec .text-moving .track {
  animation: marquee 200s linear infinite;
}
@keyframes marquee {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
.text-moving-sec .text-moving h1 {
  white-space: nowrap;
  will-change: transform;
  animation: marquee 20s linear infinite;
  margin-bottom: 0;
}
.text-moving-sec .text-moving h1 span {
  font-size: 48px;
  font-style: normal;
  font-weight: 700;
  line-height: 60px;
  text-transform: uppercase;
  display: inline-block;
  margin: 0 20px;
  color: var(--cp-ice);
}
@media (max-width: 991px) {
  .text-moving-sec .text-moving h1 span {
    font-size: 30px;
    margin: 0 20px;
    letter-spacing: 20px;
  }
}
.text-moving-sec .text-moving h1 span:nth-child(even) {
  color: var(--cp-aqua);
}

/*===================================
 07. service-area
 ====================================*/
.service-area,
.service-area-s2 {
  padding-top: 180px;
  padding-bottom: 90px;
}
@media (max-width: 991px) {
  .service-area,
  .service-area-s2 {
    padding-bottom: 60px;
  }
}
@media (max-width: 767px) {
  .service-area,
  .service-area-s2 {
    padding-bottom: 50px;
  }
}
.service-area .service-item,
.service-area-s2 .service-item {
  background: var(--cp-card);
  padding: 75px 40px 55px;
  transform: translateY(0);
  transition: all 0.6s;
  margin-bottom: 30px;
}
@media (max-width: 1199px) {
  .service-area .service-item,
  .service-area-s2 .service-item {
    padding: 40px 30px;
  }
}
.service-area .service-item:hover, .service-area .service-item.active,
.service-area-s2 .service-item:hover,
.service-area-s2 .service-item.active {
  transform: translateY(-40px);
}
@media (max-width: 991px) {
  .service-area .service-item:hover, .service-area .service-item.active,
  .service-area-s2 .service-item:hover,
  .service-area-s2 .service-item.active {
    transform: translateY(0px);
  }
}
.service-area .service-item .service-text .icon,
.service-area-s2 .service-item .service-text .icon {
  margin-bottom: 30px;
  position: relative;
  z-index: 1;
}
.service-area .service-item .service-text .icon:before,
.service-area-s2 .service-item .service-text .icon:before {
  position: absolute;
  left: 0;
  top: -10px;
  width: 71.505px;
  height: 65px;
  content: "";
  background: var(--cp-aqua);
  border-radius: 30px;
  z-index: -1;
  transform: rotate(45deg);
}
.service-area .service-item .service-text .icon i,
.service-area-s2 .service-item .service-text .icon i {
  font-size: 40px;
}
.service-area .service-item .service-text h3,
.service-area-s2 .service-item .service-text h3 {
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 30px;
  margin-bottom: 20px;
}
.service-area .service-item .service-text h3 a,
.service-area-s2 .service-item .service-text h3 a {
  color: var(--cp-ice);
}
.service-area .service-item .service-text a.read-more,
.service-area-s2 .service-item .service-text a.read-more {
  font-family: "Rajdhani";
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 32px;
  letter-spacing: 1.28px;
  text-transform: uppercase;
  color: var(--cp-ice);
  position: relative;
  padding-right: 25px;
}
.service-area .service-item .service-text a.read-more:before,
.service-area-s2 .service-item .service-text a.read-more:before {
  position: absolute;
  right: 0px;
  top: 4px;
  content: "\e914";
  font-family: "icomoon";
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  font-size: 12px;
  line-height: 100%;
  transition: all 0.3s;
}
.service-area .service-item .service-text a.read-more:hover,
.service-area-s2 .service-item .service-text a.read-more:hover {
  letter-spacing: 1.9px;
}
.service-area .service-item .service-text a.read-more:hover:before,
.service-area-s2 .service-item .service-text a.read-more:hover:before {
  right: -3px;
}

/*===================================
 08. text-moving-sec-s2
 ====================================*/
.text-moving-sec-s2 {
  background: var(--cp-aqua);
  transform: rotate(0);
}
.text-moving-sec-s2 .text-moving {
  position: relative;
  left: -100%;
  width: 120%;
  z-index: -1;
  padding: 20px 0 15px;
}
.text-moving-sec-s2 .track {
  animation: marquee2 200s linear infinite;
}
@keyframes marquee2 {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(50%);
  }
}
.text-moving-sec-s2 h1 {
  white-space: nowrap;
  will-change: transform;
  animation: marquee2 20s linear infinite;
  margin-bottom: 0;
  color: var(--cp-ice);
}
.text-moving-sec-s2 h1 span {
  font-size: 100px;
  font-style: normal;
  font-weight: 700;
  line-height: normal;
  text-transform: uppercase;
  line-height: 120px;
  color: var(--cp-ice);
}
@media (max-width: 991px) {
  .text-moving-sec-s2 h1 span {
    font-size: 50px;
    line-height: 80px;
  }
}
@media (max-width: 575px) {
  .text-moving-sec-s2 h1 span {
    font-size: 30px;
    animation: marquee2 10s linear infinite;
  }
}
.text-moving-sec-s2 h1 span:nth-child(odd) {
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 1px var(--cp-navy);
}

.text-moving-sec-s2 {
  margin: 0;
}
.text-moving-sec-s2 .text-moving .track {
  animation: marquee2 200s linear infinite;
}
@keyframes marquee2 {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(50%);
  }
}
.text-moving-sec-s2 .text-moving h1 span {
  font-size: 48px;
  font-style: normal;
  font-weight: 700;
  line-height: 60px;
  text-transform: uppercase;
  display: inline-block;
  margin: 0 20px;
  color: var(--cp-ice);
}
@media (max-width: 991px) {
  .text-moving-sec-s2 .text-moving h1 span {
    font-size: 30px;
    margin: 0 20px;
    letter-spacing: 20px;
  }
}
.text-moving-sec-s2 .text-moving h1 span:nth-child(even) {
  color: var(--cp-ice);
}
.text-moving-sec-s2 .text-moving h1 span:nth-child(odd) {
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 1px var(--cp-navy);
}

/*===================================
 09. about-area 
 ====================================*/
.about-area .about-left-item {
  padding-right: 60px;
  max-width: 565px;
}
@media (max-width: 991px) {
  .about-area .about-left-item {
    margin-bottom: 50px;
  }
}
@media (max-width: 575px) {
  .about-area .about-left-item {
    padding-right: 0;
  }
}
.about-area .about-left-item .about-left-top {
  display: flex;
  padding-right: 60px;
  position: relative;
}
@media (max-width: 575px) {
  .about-area .about-left-item .about-left-top {
    padding-right: 0;
    display: block;
  }
}
.about-area .about-left-item .about-left-top::before {
  position: absolute;
  right: -20px;
  bottom: 65px;
  content: "";
  height: 130px;
  width: 1px;
  border: 1px dashed var(--cp-gray);
}
@media (max-width: 575px) {
  .about-area .about-left-item .about-left-top::before {
    display: none;
  }
}
.about-area .about-left-item .about-left-top::after {
  position: absolute;
  right: -20px;
  bottom: 65px;
  content: "";
  height: 1px;
  width: 130px;
  border: 1px dashed var(--cp-gray);
}
@media (max-width: 575px) {
  .about-area .about-left-item .about-left-top::after {
    display: none;
  }
}
.about-area .about-left-item .about-left-top .left-arrow {
  flex-basis: 50%;
  text-align: center;
}
.about-area .about-left-item .about-left-top .left-arrow img {
  animation: bounceLeftToRight 4s infinite;
}
.about-area .about-left-item .about-left-top .right-img {
  position: relative;
  z-index: 1;
}
@media (max-width: 575px) {
  .about-area .about-left-item .about-left-top .right-img {
    max-width: 400px;
    margin: 0 auto;
  }
}
.about-area .about-left-item .about-left-top .right-img img {
  border-radius: 145px 0px 146px 150.5px;
}
@media (max-width: 575px) {
  .about-area .about-left-item .about-left-top .right-img img {
    width: 100%;
    margin-top: 20px;
    max-width: 400px;
  }
}
.about-area .about-left-item .about-left-top .right-img:before {
  position: absolute;
  left: 0;
  bottom: -20px;
  width: 100%;
  height: 100%;
  content: "";
  border: 3px solid var(--cp-aqua);
  border-radius: 145px 0px 146px 150.5px;
  z-index: -1;
}
.about-area .about-left-item .about-left-top .right-img::after {
  position: absolute;
  left: 65%;
  bottom: -100px;
  content: "";
  height: 130px;
  width: 1px;
  border: 1px dashed var(--cp-gray);
  z-index: -11;
}
@media (max-width: 575px) {
  .about-area .about-left-item .about-left-top .right-img::after {
    display: none;
  }
}
.about-area .about-left-item .about-left-top .icon {
  position: absolute;
  right: -60px;
  top: 50px;
  width: 80px;
  height: 80px;
  text-align: center;
  line-height: 80px;
  background: var(--cp-aqua);
  clip-path: polygon(0 24%, 50% 0, 100% 24%, 100% 76%, 49% 100%, 0 76%);
}
@media (max-width: 575px) {
  .about-area .about-left-item .about-left-top .icon {
    display: none;
  }
}
.about-area .about-left-item .about-left-top .icon i {
  font-size: 40px;
}
.about-area .about-left-item .about-left-bottom {
  margin-top: -120px;
  display: flex;
  align-items: flex-end;
  position: relative;
  z-index: 11;
}
@media (max-width: 1199px) {
  .about-area .about-left-item .about-left-bottom {
    margin-top: -65px;
  }
}
@media (max-width: 991px) {
  .about-area .about-left-item .about-left-bottom {
    margin-top: -120px;
  }
}
@media (max-width: 575px) {
  .about-area .about-left-item .about-left-bottom {
    margin-top: 0;
  }
}
.about-area .about-left-item .about-left-bottom .right-text {
  display: flex;
  align-items: center;
  background: var(--cp-aqua);
  width: 214px;
  padding: 20px;
  margin-left: 20px;
  position: relative;
  z-index: 1;
  border-radius: 5px;
}
.about-area .about-left-item .about-left-bottom .right-text i {
  margin-right: 10px;
  font-size: 40px;
}
.about-area .about-left-item .about-left-bottom .right-text .experience-text-right {
  overflow: hidden;
}
.about-area .about-left-item .about-left-bottom .right-text .experience-text-right h3 {
  font-size: 32px;
  font-style: normal;
  font-weight: 700;
  line-height: 130%;
  text-transform: capitalize;
  margin-bottom: 0;
}
.about-area .about-left-item .about-left-bottom .right-text .experience-text-right span {
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 160%;
}
.about-area .about-right-text span {
  font-family: "Rajdhani";
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 27px;
  letter-spacing: 4px;
  text-transform: uppercase;
  margin-bottom: 10px;
  display: block;
}
.about-area .about-right-text h2 {
  font-size: 48px;
  font-style: normal;
  font-weight: 700;
  line-height: 60px;
  margin-bottom: 20px;
}
@media (max-width: 1199px) {
  .about-area .about-right-text h2 {
    font-size: 35px;
    line-height: 45px;
  }
}
.about-area .about-right-text p {
  margin-bottom: 50px;
}
@media (max-width: 1199px) {
  .about-area .about-right-text p {
    margin-bottom: 40px;
  }
}
.about-area .about-features-wrap {
  padding-top: 60px;
  border-top: 1px solid var(--cp-border);
}
@media (max-width: 1199px) {
  .about-area .about-features-wrap {
    padding-top: 40px;
  }
}
.about-area .about-features-wrap .about-features-item {
  display: flex;
  align-items: center;
}
.about-area .about-features-wrap .about-features-item i {
  font-size: 60px;
  margin-right: 20px;
}
.about-area .about-features-wrap .about-features-item h4 {
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 27px;
  max-width: 168px;
}
@media (max-width: 1199px) {
  .about-area .about-features-wrap .about-features-item h4 {
    font-size: 16px;
  }
}

/*==============================
 10. ch-service-area 
 ===============================*/
.ch-service-area {
  background: var(--cp-navy);
}
.ch-service-area .ch-service-left-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  padding-right: 80px;
}
@media (max-width: 1199px) {
  .ch-service-area .ch-service-left-wrapper {
    padding-right: 20px;
  }
}
@media (max-width: 991px) {
  .ch-service-area .ch-service-left-wrapper {
    padding-right: 0px;
  }
}
.ch-service-area .ch-service-left-wrapper .service-image-group {
  width: 100%;
  position: relative;
  height: 100%;
  overflow: hidden;
}
.ch-service-area .ch-service-left-wrapper .service-image-group .service-image {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  opacity: 0;
  transition: all 0.8s;
  transform: scale(0);
  z-index: -1;
}
.ch-service-area .ch-service-left-wrapper .service-image-group .service-image.active {
  position: relative;
  opacity: 1;
  z-index: 1;
  transition: opacity 0.9s cubic-bezier(0.215, 0.61, 0.355, 1);
  transform: scale(1);
}
.ch-service-area .ch-service-left-wrapper .service-image-group .service-image img {
  width: 100%;
}
@media (max-width: 991px) {
  .ch-service-area .ch-service-right-wrap {
    margin-top: 30px;
  }
}
.ch-service-area .ch-service-right-wrap .item {
  padding: 35px 0;
  border-bottom: 1px solid rgba(112, 120, 121, 0.1);
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: all 0.3s;
}
.ch-service-area .ch-service-right-wrap .item:last-child {
  border: 0;
}
.ch-service-area .ch-service-right-wrap .item .item-left {
  display: flex;
  align-items: center;
}
.ch-service-area .ch-service-right-wrap .item h2 {
  margin-bottom: 0;
  transition: all 0.3s;
  font-size: 32px;
  font-style: normal;
  font-weight: 700;
  line-height: 130%;
  text-transform: capitalize;
  color: var(--cp-ice);
  margin-left: 35px;
  padding-right: 30px;
}
@media (max-width: 1399px) {
  .ch-service-area .ch-service-right-wrap .item h2 {
    font-size: 25px;
  }
}
@media (max-width: 1199px) {
  .ch-service-area .ch-service-right-wrap .item h2 {
    font-size: 22px;
    line-height: 25px;
    margin-top: 2px;
  }
}
.ch-service-area .ch-service-right-wrap .item span {
  transition: all 0.3s;
  font-family: "Rajdhani";
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 28px;
  color: var(--cp-ice);
  color: var(--cp-ice);
}
@media (max-width: 1199px) {
  .ch-service-area .ch-service-right-wrap .item span {
    font-size: 16px;
  }
}
.ch-service-area .ch-service-right-wrap .item i {
  display: block;
  text-align: center;
  color: var(--cp-ice);
  transition: all 0.3s;
}
.ch-service-area .ch-service-right-wrap .item.active h2 {
  color: var(--cp-aqua);
}
.ch-service-area .ch-service-right-wrap .item.active span {
  color: var(--cp-aqua);
}
.ch-service-area .ch-service-right-wrap .item.active i {
  color: var(--cp-aqua);
  transform: rotate(-45deg);
}

.ch-title-wrap {
  margin-bottom: 60px;
}
.ch-title-wrap .row {
  align-items: flex-end;
}
.ch-title-wrap .ch-top-btn {
  text-align: right;
}
@media (max-width: 991px) {
  .ch-title-wrap .ch-top-btn {
    text-align: center;
    margin-top: 20px;
  }
}
.ch-title-wrap .ch-top-title {
  margin-bottom: 0;
}
.ch-title-wrap .ch-top-title h2 {
  margin-bottom: 0;
}

/*==============================
 11. ch-portfolio-area
 ===============================*/
.ch-portfolio-area {
  padding-bottom: 40px;
  position: relative;
}
@media (max-width: 991px) {
  .ch-portfolio-area {
    padding-bottom: 0;
  }
}
@media (max-width: 575px) {
  .ch-portfolio-area {
    padding-bottom: 30px;
  }
}
.ch-portfolio-area .portfolio-item {
  margin-bottom: 80px;
}
@media (max-width: 767px) {
  .ch-portfolio-area .portfolio-item {
    margin-bottom: 40px;
  }
}
.ch-portfolio-area .portfolio-item .portfolio-text {
  max-width: 258px;
  padding-top: 20px;
}
.ch-portfolio-area .portfolio-item .portfolio-text span {
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 30px;
  padding-left: 52px;
  position: relative;
}
.ch-portfolio-area .portfolio-item .portfolio-text span:before {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  content: "";
  width: 42px;
  height: 1px;
  background: var(--cp-navy);
}
.ch-portfolio-area .portfolio-item .portfolio-text h2 {
  font-size: 32px;
  font-style: normal;
  font-weight: 700;
  line-height: 130%;
  text-transform: capitalize;
  margin-top: 5px;
}
@media (max-width: 575px) {
  .ch-portfolio-area .portfolio-item .portfolio-text h2 {
    font-size: 28px;
  }
}
.ch-portfolio-area .portfolio-item .portfolio-text h2 a {
  color: var(--cp-ice);
}
.ch-portfolio-area .portfolio-item .portfolio-img {
  width: 100%;
}

/*==============================
 12. testimonial-section
 ===============================*/
.testimonial-section .testimonial-left {
  max-width: 440px;
}
@media (max-width: 991px) {
  .testimonial-section .testimonial-left {
    margin: 0 auto;
  }
}
.testimonial-section .testimonial-item {
  padding: 8px 4px 12px;
  background: transparent;
}
@media (max-width: 575px) {
  .testimonial-section .testimonial-item {
    padding: 6px 2px 10px;
  }
}
.testimonial-section .testimonial-item .testimonial-text {
  position: relative;
  z-index: 1;
}
.testimonial-section .testimonial-item .testimonial-text:before {
  display: none;
}
.testimonial-section .testimonial-item .testimonial-text .testimonial-info {
  display: flex;
  margin-bottom: 18px;
  align-items: center;
  position: relative;
  z-index: 2;
}
.testimonial-section .testimonial-item .testimonial-text .testimonial-info .testimonial-avatar {
  margin-right: 16px;
  flex-shrink: 0;
}
.testimonial-section .testimonial-item .testimonial-text .testimonial-info .testimonial-avatar img {
  border-radius: 50%;
  width: 64px;
  height: 64px;
  object-fit: cover;
  display: block;
}
.testimonial-section .testimonial-item .testimonial-text .testimonial-info h3 {
  font-size: 20px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 4px;
  color: #fff;
}
@media (max-width: 575px) {
  .testimonial-section .testimonial-item .testimonial-text .testimonial-info h3 {
    font-size: 18px;
    margin-bottom: 2px;
  }
}
.testimonial-section .testimonial-item .testimonial-text .testimonial-info span {
  font-size: 14px;
  font-style: normal;
  font-weight: 500;
  line-height: 1.4;
  color: var(--cp-aqua-pale);
}
.testimonial-section .testimonial-item .testimonial-text p {
  margin-bottom: 0;
  position: relative;
  z-index: 2;
}
.testimonial-section .owl-nav [class*=owl-] {
  background: transparent;
  width: 60px;
  height: 60px;
  line-height: 62px;
  border: 1px solid var(--cp-aqua);
  color: var(--cp-ice);
  padding: 0;
  font-size: 20px;
  margin: 0;
  border-radius: 50%;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  -ms-transition: all 0.3s;
  transition: all 0.3s;
  z-index: 1;
  left: -104%;
  bottom: 0px;
}
.testimonial-section .owl-nav [class*=owl-]:hover {
  background: var(--cp-aqua);
}
.testimonial-section .owl-nav [class*=owl-]:hover:before {
  opacity: 1;
  visibility: visible;
}
@media (max-width: 991px) {
  .testimonial-section .owl-nav [class*=owl-] {
    display: none;
  }
}
.testimonial-section .owl-nav [class*=owl-].owl-next {
  position: absolute;
  left: -92%;
}
@media (max-width: 1199px) {
  .testimonial-section .owl-nav [class*=owl-].owl-next {
    left: -90%;
  }
}
.testimonial-section .owl-nav [class*=owl-].owl-prev {
  position: absolute;
}
.testimonial-section .owl-dots {
  text-align: center;
  margin-top: 20px;
}
@media (min-width: 991px) {
  .testimonial-section .owl-dots {
    display: none;
  }
}
.testimonial-section .owl-dots button {
  width: 10px;
  height: 12px;
  border-radius: 50%;
  border: 0;
  margin: 5px;
  background-color: var(--cp-border);
}
.testimonial-section .owl-dots button.active {
  background-color: var(--cp-aqua);
}

/*==============================
 13. ch-skill-area
 ===============================*/
@media (max-width: 991px) {
  .funfact-area {
    padding-bottom: 50px;
  }
}
@media (max-width: 767px) {
  .funfact-area {
    padding-bottom: 40px;
  }
}
.funfact-area .info {
  border-radius: 5px;
  border: 2px solid rgba(255, 255, 255, 0.1);
  padding: 30px 48px 20px;
  background: var(--cp-navy);
}
@media (max-width: 991px) {
  .funfact-area .info {
    margin-bottom: 20px;
  }
}
.funfact-area .info p {
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 30px;
  color: var(--cp-ice);
  margin-bottom: 0;
}
.funfact-area .info h3 {
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 1px var(--cp-ice);
  font-size: 68px;
  font-style: normal;
  font-weight: 700;
  line-height: 115%;
  margin-bottom: 0;
}
@media (max-width: 1199px) {
  .funfact-area .info h3 {
    font-size: 50px;
  }
}

.ch-skill-area {
  background: var(--cp-navy);
  position: relative;
  z-index: 1;
  padding-bottom: 80px;
}
@media (max-width: 991px) {
  .ch-skill-area {
    padding-bottom: 50px;
  }
}
@media (max-width: 767px) {
  .ch-skill-area {
    padding-bottom: 40px;
  }
}
.ch-skill-area:before {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  content: "";
  z-index: -1;
  background: url(../images/skill-bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  opacity: 0.2;
}
.ch-skill-area .skill-card {
  padding: 40px;
  padding-top: 0;
  background: var(--cp-card);
  border-radius: 5px;
  padding-top: 70px;
  position: relative;
  margin-top: 40px;
  margin-bottom: 40px;
}
@media (max-width: 575px) {
  .ch-skill-area .skill-card {
    padding: 30px;
  }
}
.ch-skill-area .skill-card .skill-icon {
  width: 80px;
  height: 80px;
  line-height: 80px;
  background: var(--cp-navy);
  text-align: center;
  border-radius: 50%;
  margin-bottom: 0px;
  position: absolute;
  top: -40px;
}
.ch-skill-area .skill-card .skill-icon i {
  font-size: 30px;
  color: var(--cp-aqua);
}
.ch-skill-area .skill-card .skill-text h3 {
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 30px;
  margin-bottom: 10px;
}
.ch-skill-area .skill-card .skill-text p {
  margin-bottom: 0;
}

/*=================================
 14. ch-blog-area 
 ==================================*/
.ch-blog-area,
.ch-blog-area-s2 {
  padding-bottom: 90px;
}
@media (max-width: 991px) {
  .ch-blog-area,
  .ch-blog-area-s2 {
    padding-bottom: 60px;
  }
}
@media (max-width: 767px) {
  .ch-blog-area,
  .ch-blog-area-s2 {
    padding-bottom: 50px;
  }
}
.ch-blog-area .blog-items .blog-item,
.ch-blog-area-s2 .blog-items .blog-item {
  display: flex;
  border-radius: 5px;
  background: var(--cp-card);
  padding: 40px 30px;
  align-items: center;
  margin-bottom: 30px;
  border: 1px solid var(--cp-border);
  margin-left: 40px;
  padding-left: 0;
}
@media (max-width: 1199px) {
  .ch-blog-area .blog-items .blog-item,
  .ch-blog-area-s2 .blog-items .blog-item {
    padding: 20px;
  }
}
@media (max-width: 575px) {
  .ch-blog-area .blog-items .blog-item,
  .ch-blog-area-s2 .blog-items .blog-item {
    display: block;
    text-align: center;
    margin-left: 0;
  }
}
.ch-blog-area .blog-items .blog-item .blog-img-left,
.ch-blog-area-s2 .blog-items .blog-item .blog-img-left {
  flex-basis: 45%;
  margin-left: -40px;
  overflow: hidden;
}
@media (max-width: 1199px) {
  .ch-blog-area .blog-items .blog-item .blog-img-left,
  .ch-blog-area-s2 .blog-items .blog-item .blog-img-left {
    flex-basis: 50%;
  }
}
@media (max-width: 575px) {
  .ch-blog-area .blog-items .blog-item .blog-img-left,
  .ch-blog-area-s2 .blog-items .blog-item .blog-img-left {
    margin: 0;
  }
}
.ch-blog-area .blog-items .blog-item .blog-img-left .blog-img,
.ch-blog-area-s2 .blog-items .blog-item .blog-img-left .blog-img {
  overflow: hidden;
  margin-bottom: 30px;
}
.ch-blog-area .blog-items .blog-item .blog-img-left img,
.ch-blog-area-s2 .blog-items .blog-item .blog-img-left img {
  width: 100%;
  transform: scale(1);
  transition: all 0.6s;
}
@media (max-width: 575px) {
  .ch-blog-area .blog-items .blog-item .blog-img-left img,
  .ch-blog-area-s2 .blog-items .blog-item .blog-img-left img {
    width: 100%;
  }
}
.ch-blog-area .blog-items .blog-item:hover .blog-img-left img,
.ch-blog-area-s2 .blog-items .blog-item:hover .blog-img-left img {
  transform: scale(1.2);
}
.ch-blog-area .blog-items .blog-item .blog-content,
.ch-blog-area-s2 .blog-items .blog-item .blog-content {
  padding-left: 25px;
  flex-basis: 65%;
}
@media (max-width: 575px) {
  .ch-blog-area .blog-items .blog-item .blog-content,
  .ch-blog-area-s2 .blog-items .blog-item .blog-content {
    padding-left: 0;
    margin-top: 20px;
  }
}
.ch-blog-area .blog-items .blog-item .blog-content ul,
.ch-blog-area-s2 .blog-items .blog-item .blog-content ul {
  display: flex;
  align-items: center;
}
@media (max-width: 575px) {
  .ch-blog-area .blog-items .blog-item .blog-content ul,
  .ch-blog-area-s2 .blog-items .blog-item .blog-content ul {
    justify-content: center;
  }
}
.ch-blog-area .blog-items .blog-item .blog-content ul li,
.ch-blog-area-s2 .blog-items .blog-item .blog-content ul li {
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}
.ch-blog-area .blog-items .blog-item .blog-content ul li + li,
.ch-blog-area-s2 .blog-items .blog-item .blog-content ul li + li {
  margin-left: 20px;
}
.ch-blog-area .blog-items .blog-item .blog-content ul li strong,
.ch-blog-area-s2 .blog-items .blog-item .blog-content ul li strong {
  color: var(--cp-ice);
  font-family: "Rajdhani";
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 28px;
}
.ch-blog-area .blog-items .blog-item .blog-content h2,
.ch-blog-area-s2 .blog-items .blog-item .blog-content h2 {
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 30px;
  margin-top: 15px;
  margin-bottom: 15px;
}
@media (max-width: 1399px) {
  .ch-blog-area .blog-items .blog-item .blog-content h2,
  .ch-blog-area-s2 .blog-items .blog-item .blog-content h2 {
    font-size: 25px;
  }
}
@media (max-width: 1199px) {
  .ch-blog-area .blog-items .blog-item .blog-content h2,
  .ch-blog-area-s2 .blog-items .blog-item .blog-content h2 {
    font-size: 22px;
    line-height: 30px;
  }
}
@media (max-width: 575px) {
  .ch-blog-area .blog-items .blog-item .blog-content h2,
  .ch-blog-area-s2 .blog-items .blog-item .blog-content h2 {
    margin-top: 10px;
  }
}
.ch-blog-area .blog-items .blog-item .blog-content h2 a,
.ch-blog-area-s2 .blog-items .blog-item .blog-content h2 a {
  color: var(--cp-ice);
}
.ch-blog-area .blog-items .blog-item .blog-content h2 a:hover,
.ch-blog-area-s2 .blog-items .blog-item .blog-content h2 a:hover {
  color: color-mix(in srgb, var(--cp-aqua) 55%, var(--cp-ice));
}

/*=================================
 15. ch-newsletter-area
 ==================================*/
.ch-newsletter-area .ch-newsletter-wrap {
  background: var(--cp-aqua);
  padding: 80px 30px;
  position: relative;
  z-index: 1;
  border-radius: 5px;
}
@media (max-width: 991px) {
  .ch-newsletter-area .ch-newsletter-wrap {
    padding: 60px 30px;
  }
}
.ch-newsletter-area .ch-newsletter-wrap h2 {
  font-size: 48px;
  font-style: normal;
  font-weight: 700;
  line-height: 60px;
  text-transform: capitalize;
  text-align: center;
  margin-bottom: 30px;
}
@media (max-width: 991px) {
  .ch-newsletter-area .ch-newsletter-wrap h2 {
    font-size: 35px;
  }
}
@media (max-width: 500px) {
  .ch-newsletter-area .ch-newsletter-wrap h2 {
    font-size: 30px;
    margin-bottom: 20px;
    line-height: 40px;
  }
}
.ch-newsletter-area .ch-newsletter-wrap:before {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  content: "";
  z-index: -1;
  background: url(../images/newslatter-bg.png);
  background-repeat: no-repeat;
  background-size: cover;
}
.ch-newsletter-area .newsletter-form .form-field {
  position: relative;
  display: flex;
}
@media (max-width: 500px) {
  .ch-newsletter-area .newsletter-form .form-field {
    display: block;
    text-align: center;
  }
}
.ch-newsletter-area .newsletter-form .form-field input {
  width: 80%;
  height: 60px;
  border-radius: 5px;
  border: 1px solid color-mix(in srgb, var(--cp-ice) 45%, transparent);
  padding: 15px;
  padding-right: 70px;
  background: none;
  color: var(--cp-ice);
  margin-right: 10px;
}
.ch-newsletter-area .newsletter-form .form-field input:focus {
  outline: none;
  border-color: var(--cp-ice);
}
@media (max-width: 500px) {
  .ch-newsletter-area .newsletter-form .form-field input {
    width: 100%;
  }
}
.ch-newsletter-area .newsletter-form .form-field button {
  height: 60px;
  width: 185px;
  background: none;
  border: 0;
  color: var(--cp-navy);
  border-radius: 5px;
  border: 1px solid var(--cp-navy);
  background: var(--cp-card);
  transition: all 0.3s;
}
@media (max-width: 500px) {
  .ch-newsletter-area .newsletter-form .form-field button {
    margin-top: 20px;
  }
}
.ch-newsletter-area .newsletter-form .form-field button:hover {
  background: var(--cp-navy);
  color: var(--cp-ice);
}

/*--------------------------------------------------------------
16. Home-style-2
--------------------------------------------------------------*/
/*===================================
 06. about-area-s2
 ====================================*/
.about-area-s2 .about-left-item {
  display: flex;
  align-items: flex-end;
  padding-right: 30px;
}
@media (max-width: 991px) {
  .about-area-s2 .about-left-item {
    padding-right: 0;
    padding-bottom: 110px;
  }
}
@media (max-width: 450px) {
  .about-area-s2 .about-left-item {
    display: block;
  }
}
@media (max-width: 450px) {
  .about-area-s2 .about-left-item .about-right-img {
    display: none;
  }
}
.about-area-s2 .about-left-item .about-left-img {
  padding-right: 20px;
  position: relative;
}
@media (max-width: 450px) {
  .about-area-s2 .about-left-item .about-left-img {
    padding-right: 0;
  }
}
.about-area-s2 .about-left-item .about-left-img img {
  border-radius: 114.5px 114.5px 0px 0px;
  width: 100%;
}
.about-area-s2 .about-left-item .about-left-img .left-top-shape {
  position: absolute;
  left: -15px;
  top: -12px;
  animation: bounceLeftToRight 2s infinite;
}
.about-area-s2 .about-left-item .about-left-img .left-top-shape img {
  border-radius: 0;
}
.about-area-s2 .about-left-item .about-left-img .left-inner-img {
  position: absolute;
  right: -125px;
  top: 15px;
  transform: rotate(-18.489deg);
}
@media (max-width: 1399px) {
  .about-area-s2 .about-left-item .about-left-img .left-inner-img {
    max-width: 200px;
  }
}
@media (max-width: 450px) {
  .about-area-s2 .about-left-item .about-left-img .left-inner-img {
    display: none;
  }
}
.about-area-s2 .about-left-item .about-left-img .left-inner-img img {
  border-radius: 100px 100px 0px 0px;
  border: 4px solid var(--cp-ice);
}
.about-area-s2 .about-left-item .about-left-img .left-inner-img .left-top-right-shape {
  position: absolute;
  right: -85px;
  top: 0;
  z-index: -1;
  animation: bounceLeftToRight 4s infinite;
}
@media (max-width: 1399px) {
  .about-area-s2 .about-left-item .about-left-img .left-inner-img .left-top-right-shape {
    right: -55px;
  }
}
.about-area-s2 .about-left-item .about-left-img .left-inner-img .left-top-right-shape img {
  border: 0;
}
.about-area-s2 .about-left-item .about-left-img .exprience-wrap {
  position: absolute;
  left: 25px;
  bottom: -80px;
  width: 222px;
  height: 222px;
  background: var(--cp-aqua);
  border-radius: 50%;
  text-align: center;
}
@media (max-width: 575px) {
  .about-area-s2 .about-left-item .about-left-img .exprience-wrap {
    width: 150px;
    height: 150px;
  }
}
.about-area-s2 .about-left-item .about-left-img .exprience-wrap .exprience-inner {
  padding: 40px;
  border: 1px dashed var(--cp-navy);
  border-radius: 50%;
  width: 192px;
  height: 192px;
  position: relative;
  left: 15px;
  top: 15px;
}
@media (max-width: 575px) {
  .about-area-s2 .about-left-item .about-left-img .exprience-wrap .exprience-inner {
    width: 120px;
    height: 120px;
    padding: 10px;
  }
}
.about-area-s2 .about-left-item .about-left-img .exprience-wrap .exprience-inner p {
  font-size: 48px;
  font-style: normal;
  font-weight: 700;
  line-height: 20px;
  text-transform: capitalize;
  color: var(--cp-ice);
  font-family: "Rajdhani";
  margin-bottom: 0;
  margin-top: 10px;
}
@media (max-width: 575px) {
  .about-area-s2 .about-left-item .about-left-img .exprience-wrap .exprience-inner p {
    font-size: 30px;
  }
}
.about-area-s2 .about-left-item .about-left-img .exprience-wrap .exprience-inner p span {
  font-size: 16px;
  display: block;
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 27px;
  margin-top: 20px;
}
@media (max-width: 575px) {
  .about-area-s2 .about-left-item .about-left-img .exprience-wrap .exprience-inner p span {
    font-size: 14px;
    margin-top: 5px;
    margin-top: 10px;
    line-height: 20px;
  }
}
.about-area-s2 .about-right-item .about-right-text span {
  font-family: "Rajdhani";
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 27px;
  letter-spacing: 4px;
  text-transform: uppercase;
  margin-bottom: 10px;
  display: block;
}
.about-area-s2 .about-right-item .about-right-text h2 {
  font-size: 48px;
  font-style: normal;
  font-weight: 700;
  line-height: 60px;
  margin-bottom: 20px;
}
.about-area-s2 .about-right-item .about-right-text h2 small {
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 1px var(--cp-navy);
}
@media (max-width: 1199px) {
  .about-area-s2 .about-right-item .about-right-text h2 {
    font-size: 35px;
    line-height: 45px;
  }
}
.about-area-s2 .about-right-item .about-right-text p {
  margin-bottom: 50px;
}
@media (max-width: 1199px) {
  .about-area-s2 .about-right-item .about-right-text p {
    margin-bottom: 40px;
  }
}

/*===================================
 06. service-area-s2
 ====================================*/
.service-area-s2 {
  padding-top: 80px;
}
.service-area-s2 .service-wrap .service-item .service-text h3 {
  max-width: 230px;
}
.service-area-s2 .service-wrap .service-item .service-text .icon {
  width: 85px;
  height: 85px;
  line-height: 85px;
  text-align: center;
  background: var(--cp-navy);
  border-radius: 50%;
}
.service-area-s2 .service-wrap .service-item .service-text .icon i {
  font-size: 30px;
  color: var(--cp-aqua);
}
.service-area-s2 .service-wrap .service-item .service-text .icon:before {
  display: none;
}

/*===================================
 06. video-area
 ====================================*/
.video-area .video-img {
  position: relative;
}
.video-area .video-img .video-btn {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: block;
  width: 124px;
  height: 124px;
  line-height: 124px;
  background: var(--cp-navy);
  border-radius: 50%;
  z-index: 1;
}
.video-area .video-img .video-btn:before {
  content: "";
  width: 0px;
  height: 0px;
  border-top: 15px solid transparent;
  border-bottom: 15px solid transparent;
  border-left: 25px solid var(--cp-ice);
  position: absolute;
  left: 52%;
  top: 50%;
  transform: translate(-50%, -50%);
}
@media (max-width: 767px) {
  .video-area .video-img img {
    min-height: 350px;
    object-fit: cover;
  }
}

/*===================================
 06. benefit-area
 ====================================*/
.benefit-area {
  padding-left: 95px;
  padding-right: 95px;
  padding-bottom: 90px;
}
@media (max-width: 1750px) {
  .benefit-area {
    padding-left: 35px;
    padding-right: 35px;
  }
}
@media (max-width: 1399px) {
  .benefit-area {
    padding-left: 0px;
    padding-right: 0px;
  }
}
@media (max-width: 991px) {
  .benefit-area {
    padding-bottom: 60px;
  }
}
@media (max-width: 767px) {
  .benefit-area {
    padding-bottom: 50px;
  }
}
.benefit-area .benefit-item {
  border-radius: 5px;
  border: 1px solid var(--cp-border);
  padding: 60px 40px 55px;
  transform: translateY(0);
  transition: all 0.6s;
  margin-bottom: 30px;
  text-align: center;
}
@media (max-width: 1750px) {
  .benefit-area .benefit-item {
    padding: 40px 30px;
  }
}
@media (max-width: 1399px) {
  .benefit-area .benefit-item {
    padding: 30px 15px;
  }
}
.benefit-area .benefit-item .benefit-text .icon {
  position: relative;
  z-index: 1;
  max-width: 93px;
  margin: 0 auto;
  margin-bottom: 30px;
}
.benefit-area .benefit-item .benefit-text .icon:before {
  position: absolute;
  left: 20px;
  bottom: -5px;
  width: 73px;
  height: 73px;
  content: "";
  background: var(--cp-aqua);
  border-radius: 50%;
  z-index: -1;
  opacity: 0.5;
}
.benefit-area .benefit-item .benefit-text .icon i {
  font-size: 60px;
}
.benefit-area .benefit-item .benefit-text h3 {
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 30px;
  margin-bottom: 20px;
}
@media (max-width: 1399px) {
  .benefit-area .benefit-item .benefit-text h3 {
    font-size: 20px;
    line-height: 28px;
    margin-bottom: 10px;
  }
}
.benefit-area .benefit-item .benefit-text h3 a {
  color: var(--cp-ice);
}
.benefit-area .benefit-item .benefit-text a.read-more {
  font-family: "Rajdhani";
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 32px;
  letter-spacing: 1.28px;
  text-transform: uppercase;
  color: var(--cp-ice);
  position: relative;
  padding-right: 25px;
}
.benefit-area .benefit-item .benefit-text a.read-more:before {
  position: absolute;
  right: 0px;
  top: 4px;
  content: "\e914";
  font-family: "icomoon";
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  font-size: 12px;
  line-height: 100%;
  transition: all 0.3s;
}
.benefit-area .benefit-item .benefit-text a.read-more:hover {
  letter-spacing: 1.9px;
}
.benefit-area .benefit-item .benefit-text a.read-more:hover:before {
  right: -3px;
}

/*===================================
 06. ch-portfolio-area-s2
 ====================================*/
.ch-portfolio-area-s2 {
  background: var(--cp-navy);
  position: relative;
  z-index: 1;
}
.ch-portfolio-area-s2 .right-shape {
  position: absolute;
  right: -150px;
  top: 50%;
  transform: translateY(-50%);
  opacity: 0.3;
  z-index: -1;
}
@media (max-width: 1199px) {
  .ch-portfolio-area-s2 .right-shape {
    max-width: 350px;
  }
}
.ch-portfolio-area-s2 .right-shape img {
  animation: circle 25s linear infinite;
}
.ch-portfolio-area-s2 .ch-top-title h2 small {
  -webkit-text-stroke: 1px var(--cp-ice);
}
.ch-portfolio-area-s2 .porfolio-wrap .porfolio-item {
  padding-bottom: 60px;
  border-bottom: 1px solid rgba(112, 120, 121, 0.2);
  margin-bottom: 60px;
}
@media (max-width: 575px) {
  .ch-portfolio-area-s2 .porfolio-wrap .porfolio-item {
    text-align: center;
  }
}
.ch-portfolio-area-s2 .porfolio-wrap .porfolio-item .porfolio-img {
  position: relative;
  z-index: 1;
  transition: all 0.3s;
  margin-right: 20px;
  transform: rotate(0);
}
@media (max-width: 991px) {
  .ch-portfolio-area-s2 .porfolio-wrap .porfolio-item .porfolio-img {
    margin-right: 0;
  }
}
.ch-portfolio-area-s2 .porfolio-wrap .porfolio-item .porfolio-img::before {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  content: "";
  background: var(--cp-aqua);
  z-index: -1;
  border-radius: 5px;
  transition: all 0.3s;
}
.ch-portfolio-area-s2 .porfolio-wrap .porfolio-item .porfolio-img img {
  border-radius: 5px;
  width: 100%;
}
.ch-portfolio-area-s2 .porfolio-wrap .porfolio-item .porfolio-text {
  display: flex;
  align-items: center;
}
@media (max-width: 575px) {
  .ch-portfolio-area-s2 .porfolio-wrap .porfolio-item .porfolio-text {
    display: block;
    margin-top: 20px;
    text-align: center;
  }
}
.ch-portfolio-area-s2 .porfolio-wrap .porfolio-item .porfolio-text span i {
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 30px;
  display: inline-block;
  width: 71px;
  height: 71px;
  line-height: 71px;
  color: var(--cp-ice);
  text-align: center;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 50%;
  margin-right: 25px;
}
@media (max-width: 575px) {
  .ch-portfolio-area-s2 .porfolio-wrap .porfolio-item .porfolio-text span i {
    margin-right: 0;
  }
}
.ch-portfolio-area-s2 .porfolio-wrap .porfolio-item .porfolio-text a {
  font-family: "Rajdhani";
  font-size: 32px;
  font-style: normal;
  font-weight: 700;
  line-height: 130%;
  text-transform: capitalize;
  max-width: 270px;
  display: block;
  color: var(--cp-ice);
}
@media (max-width: 1199px) {
  .ch-portfolio-area-s2 .porfolio-wrap .porfolio-item .porfolio-text a {
    font-size: 25px;
  }
}
@media (max-width: 575px) {
  .ch-portfolio-area-s2 .porfolio-wrap .porfolio-item .porfolio-text a {
    margin: 0 auto;
    margin-top: 10px;
  }
}
.ch-portfolio-area-s2 .porfolio-wrap .porfolio-item .porfolio-text a:hover {
  color: var(--cp-aqua);
}
.ch-portfolio-area-s2 .porfolio-wrap .porfolio-item .porfolio-des {
  padding-left: 30px;
}
@media (max-width: 991px) {
  .ch-portfolio-area-s2 .porfolio-wrap .porfolio-item .porfolio-des {
    padding-left: 0;
    margin-top: 20px;
  }
}
.ch-portfolio-area-s2 .porfolio-wrap .porfolio-item .porfolio-des p {
  color: var(--cp-ice);
}
@media (max-width: 991px) {
  .ch-portfolio-area-s2 .porfolio-wrap .porfolio-item .porfolio-des p {
    margin-bottom: 0;
  }
}
.ch-portfolio-area-s2 .porfolio-wrap .porfolio-item:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}
.ch-portfolio-area-s2 .porfolio-wrap .porfolio-item:hover .porfolio-img {
  transform: rotate(-10deg);
}
.ch-portfolio-area-s2 .porfolio-wrap .porfolio-item:hover .porfolio-img::before {
  transform: rotate(10deg);
}

/*===================================
 06. testimonial-section-s2
 ====================================*/
.testimonial-section-s2 {
  position: relative;
}
.testimonial-section-s2 .right-shape {
  position: absolute;
  right: -30px;
  top: 50px;
  opacity: 0.2;
}
@media (max-width: 1199px) {
  .testimonial-section-s2 .right-shape {
    max-width: 200px;
  }
}
.testimonial-section-s2 .right-shape img {
  animation: bounceLeftToRight 4s infinite;
}
.testimonial-section-s2 .testimonial-right-img {
  position: relative;
  width: 130%;
  left: -30%;
}
@media (max-width: 991px) {
  .testimonial-section-s2 .testimonial-right-img {
    display: none;
  }
}
.testimonial-section-s2 .testimonial-item {
  padding: 100px 60px;
  background: var(--cp-aqua);
}
@media (max-width: 1399px) {
  .testimonial-section-s2 .testimonial-item {
    padding: 60px 40px;
  }
}
@media (max-width: 1199px) {
  .testimonial-section-s2 .testimonial-item {
    padding: 40px 30px;
  }
}
@media (max-width: 575px) {
  .testimonial-section-s2 .testimonial-item {
    padding: 30px 20px;
  }
}
.testimonial-section-s2 .testimonial-item .testimonial-text ul {
  display: flex;
  margin-bottom: 20px;
}
.testimonial-section-s2 .testimonial-item .testimonial-text ul li + li {
  margin-left: 10px;
}
.testimonial-section-s2 .testimonial-item .testimonial-text .testimonial-info {
  display: flex;
  margin-top: 30px;
  align-items: center;
}
.testimonial-section-s2 .testimonial-item .testimonial-text .testimonial-info .testimonial-avatar {
  margin-right: 20px;
}
.testimonial-section-s2 .testimonial-item .testimonial-text .testimonial-info .testimonial-avatar img {
  border-radius: 50%;
}
.testimonial-section-s2 .testimonial-item .testimonial-text .testimonial-info h3 {
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 30px;
  margin-bottom: 5px;
}
@media (max-width: 575px) {
  .testimonial-section-s2 .testimonial-item .testimonial-text .testimonial-info h3 {
    font-size: 20px;
    margin-bottom: 0;
  }
}
.testimonial-section-s2 .testimonial-item .testimonial-text .testimonial-info span {
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 30px;
}
.testimonial-section-s2 .testimonial-item .testimonial-text p {
  margin-bottom: 0;
  font-size: 24px;
  font-style: normal;
  font-weight: 400;
  line-height: 160%;
}
@media (max-width: 1199px) {
  .testimonial-section-s2 .testimonial-item .testimonial-text p {
    font-size: 18px;
  }
}
.testimonial-section-s2 .owl-nav [class*=owl-] {
  background: transparent;
  width: 60px;
  height: 60px;
  line-height: 62px;
  border: 1px solid var(--cp-aqua);
  color: var(--cp-ice);
  padding: 0;
  font-size: 20px;
  margin: 0;
  border-radius: 50%;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  -ms-transition: all 0.3s;
  transition: all 0.3s;
  z-index: 1;
  right: -60%;
  top: -210px;
}
@media (max-width: 991px) {
  .testimonial-section-s2 .owl-nav [class*=owl-] {
    top: -160px;
  }
}
.testimonial-section-s2 .owl-nav [class*=owl-]:hover {
  background: var(--cp-aqua);
}
.testimonial-section-s2 .owl-nav [class*=owl-]:hover:before {
  opacity: 1;
  visibility: visible;
}
@media (max-width: 991px) {
  .testimonial-section-s2 .owl-nav [class*=owl-] {
    display: none;
  }
}
.testimonial-section-s2 .owl-nav [class*=owl-].owl-next {
  position: absolute;
  right: -72%;
}
.testimonial-section-s2 .owl-nav [class*=owl-].owl-prev {
  position: absolute;
}
.testimonial-section-s2 .owl-dots {
  text-align: center;
  margin-top: 20px;
}
@media (min-width: 991px) {
  .testimonial-section-s2 .owl-dots {
    display: none;
  }
}
.testimonial-section-s2 .owl-dots button {
  width: 10px;
  height: 12px;
  border-radius: 50%;
  border: 0;
  margin: 5px;
  background-color: var(--cp-border);
}
.testimonial-section-s2 .owl-dots button.active {
  background-color: var(--cp-aqua);
}

.text-moving-sec-s2.main-dark {
  background-color: var(--cp-ice);
}
.text-moving-sec-s2.main-dark .text-moving {
  background: var(--cp-navy);
}
.text-moving-sec-s2.main-dark .text-moving h1 span:nth-child(even) {
  color: var(--cp-aqua);
}
.text-moving-sec-s2.main-dark .text-moving h1 span:nth-child(odd) {
  -webkit-text-stroke: 1px var(--cp-aqua);
}
.text-moving-sec-s2.main-dark .text-moving h1 i {
  color: var(--cp-aqua);
}

/*===================================
 06. team-area
 ====================================*/
.team-area {
  padding-bottom: 90px;
}
@media (max-width: 991px) {
  .team-area {
    padding-bottom: 60px;
  }
}
@media (max-width: 767px) {
  .team-area {
    padding-bottom: 50px;
  }
}
.team-area .team-item {
  padding: 30px;
  padding-top: 0;
  position: relative;
  z-index: 1;
  margin-bottom: 30px;
}
.team-area .team-item:before {
  position: absolute;
  left: 0;
  bottom: 0;
  height: 80%;
  width: 100%;
  content: "";
  background: var(--cp-card);
  z-index: -1;
  border-radius: 5px;
}
.team-area .team-item .team-img {
  overflow: hidden;
}
.team-area .team-item .team-img img {
  transform: scale(1);
  transition: all 0.6s;
  width: 100%;
}
.team-area .team-item:hover .team-img img {
  transform: scale(1.2);
}
.team-area .team-item .team-text {
  text-align: center;
  padding-top: 25px;
}
.team-area .team-item .team-text h3 {
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 30px;
}
.team-area .team-item .team-text h3 a {
  color: var(--cp-ice);
}

/*===================================
 06. funfact-area style-2
 ====================================*/
.funfact-area.style-2 .info {
  background: var(--cp-card);
  border-right: 1px solid var(--cp-border);
  padding-top: 0;
  padding-bottom: 0;
}
@media (max-width: 991px) {
  .funfact-area.style-2 .info {
    text-align: center;
    padding: 30px 10px 20px;
  }
}
@media (max-width: 575px) {
  .funfact-area.style-2 .info {
    padding: 10px 10px 0px;
    border: 0;
  }
}
.funfact-area.style-2 .info p {
  color: var(--cp-ice);
}
.funfact-area.style-2 .info h3 {
  -webkit-text-stroke: 1px var(--cp-navy);
}
.funfact-area.style-2 .info h3 span {
  font-family: "Rajdhani";
}
.funfact-area.style-2 .col:last-child .info {
  border: 0;
}
@media (max-width: 991px) {
  .funfact-area.style-2 .col:nth-child(2) .info {
    border: 0;
  }
}

/*===================================
 06. about-event-area
 ====================================*/
.about-event-area .event-wrap {
  background: var(--cp-navy);
  padding: 80px 30px;
  position: relative;
  z-index: 1;
  margin-bottom: -200px;
}
@media (max-width: 575px) {
  .about-event-area .event-wrap {
    padding: 50px 15px;
  }
}
.about-event-area .event-wrap:before {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  content: "";
  z-index: -1;
  background: url(../images/event-bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  opacity: 0.3;
}
.about-event-area .event-wrap .ch-top-title {
  text-align: center;
  margin-bottom: 0;
}
.about-event-area .event-wrap .ch-top-title h2 {
  margin-bottom: 30px;
}
.about-event-area .event-wrap .ch-top-title h2 small {
  -webkit-text-stroke: 1px var(--cp-ice);
}
.about-event-area .event-wrap .ch-top-title .ch-btn-style-1 {
  border-color: var(--cp-border);
}

/*==============================
 11. company-area
 ===============================*/
.company-area {
  background: var(--cp-card);
  padding-top: 327px;
}
@media (max-width: 991px) {
  .company-area {
    padding-top: 300px;
  }
}
@media (max-width: 575px) {
  .company-area {
    padding-top: 260px;
  }
}
.company-area .company-wrap .ch-top-title-s3 {
  max-width: 520px;
}
@media (max-width: 991px) {
  .company-area .company-wrap .ch-top-title-s3 {
    margin: 0 auto;
    margin-bottom: 40px;
  }
}
.company-area .company-wrap .ch-top-title-s3 p {
  font-size: 16px;
  margin-bottom: 30px;
}
.company-area .company-wrap .ch-top-title-s3 .ch-btn-style-2 {
  background-color: var(--cp-ice);
  color: var(--cp-ice);
  border-color: var(--cp-ice);
}
.company-area .company-wrap .ch-top-title-s3 .ch-btn-style-2:hover {
  background: none;
  color: color-mix(in srgb, var(--cp-aqua) 55%, var(--cp-ice));
}
.company-area .company-wrap .comapny-item {
  background: var(--cp-card);
  padding: 30px 30px;
  border-radius: 5px;
  position: relative;
  display: block;
  margin-bottom: 30px;
  z-index: 1;
}
.company-area .company-wrap .comapny-item::before {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  content: "";
  background: var(--cp-navy);
  z-index: -1;
  border-radius: 5px;
  transform: scale(0.9);
  transition: all 0.3s;
  opacity: 0;
}
@media (max-width: 991px) {
  .company-area .company-wrap .comapny-item:last-child {
    margin-bottom: 0;
  }
}
.company-area .company-wrap .comapny-item .comapny-item-info {
  padding-right: 60px;
}
.company-area .company-wrap .comapny-item .comapny-item-info h4 {
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 27px;
  transition: all 0.3s;
}
.company-area .company-wrap .comapny-item .comapny-item-info span {
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 30px;
  color: var(--cp-ice);
  transition: all 0.3s;
}
.company-area .company-wrap .comapny-item small {
  position: absolute;
  right: 40px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 20px;
  font-style: normal;
  font-weight: 900;
  line-height: normal;
  color: color-mix(in srgb, var(--cp-ice) 72%, transparent);
  transition: all 0.6s;
  width: 20px;
  height: 20px;
  transition: all 0.3s;
}
.company-area .company-wrap .comapny-item:hover small {
  transform: rotate(-40deg);
  margin-top: -10px;
}
.company-area .company-wrap .comapny-item:hover::before {
  transform: scale(1);
  opacity: 1;
}
.company-area .company-wrap .comapny-item:hover .comapny-item-info {
  padding-right: 60px;
}
.company-area .company-wrap .comapny-item:hover .comapny-item-info h4 {
  color: var(--cp-ice);
}
.company-area .company-wrap .comapny-item:hover .comapny-item-info span {
  color: var(--cp-ice);
}
.company-area .company-wrap .comapny-item:hover small {
  color: var(--cp-ice);
}

/*===================================
 06. ch-blog-area-s2
 ====================================*/
.ch-blog-area-s2 {
  position: relative;
  z-index: 1;
}
.ch-blog-area-s2 .left-shape {
  position: absolute;
  left: -30px;
  bottom: 20%;
  opacity: 0.5;
}
@media (max-width: 1199px) {
  .ch-blog-area-s2 .left-shape {
    max-width: 200px;
  }
}
.ch-blog-area-s2 .left-shape img {
  animation: bounceLeftToRight 4s infinite;
}
.ch-blog-area-s2 .blog-items .blog-item {
  display: block;
  margin-left: 0;
  padding: 10px;
}
.ch-blog-area-s2 .blog-items .blog-item .blog-img-left {
  margin-left: 0;
  padding-left: 0px;
}
.ch-blog-area-s2 .blog-items .blog-item .blog-img-left img {
  border-radius: 5px;
}
.ch-blog-area-s2 .blog-items .blog-item .blog-content {
  padding-bottom: 10px;
}

/*--------------------------------------------------------------
17. Home-style-3
--------------------------------------------------------------*/
body.dark-mode {
  background: var(--cp-ocean);
  /*===================================
   06. service-area
   ====================================*/
}
body.dark-mode h1,
body.dark-mode h2,
body.dark-mode h3,
body.dark-mode h4,
body.dark-mode h5,
body.dark-mode h6 {
  color: var(--cp-ice);
}
body.dark-mode body {
  color: var(--cp-ice);
}
body.dark-mode p {
  color: var(--cp-ice);
}
body.dark-mode a {
  color: var(--cp-ice);
}
body.dark-mode .back-btn {
  background-color: var(--cp-aqua-s3);
  border-color: var(--cp-aqua-s3);
}
body.dark-mode .back-btn i {
  color: var(--cp-ice);
}
body.dark-mode .mean-container a.meanmenu-reveal {
  background-color: var(--cp-aqua-s3);
  border-color: var(--cp-aqua-s3);
}
body.dark-mode .mean-container .mean-nav {
  background: var(--cp-navy) none repeat scroll 0 0;
}
body.dark-mode .mean-container .mean-nav ul li a {
  border-top: 1px solid var(--cp-text);
}
body.dark-mode .ch-btn-style-1,
body.dark-mode .ch-btn-style-3 {
  border-color: rgba(255, 255, 255, 0.1);
}
body.dark-mode .ch-btn-style-1.ch-btn-animated span,
body.dark-mode .ch-btn-style-3.ch-btn-animated span {
  background-color: var(--cp-aqua-s3);
}
body.dark-mode .ch-btn-style-1:hover,
body.dark-mode .ch-btn-style-3:hover {
  color: var(--cp-ice);
}
body.dark-mode .cp-header-area {
  position: relative;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
body.dark-mode .cp-header-area .cp-header-area-right .call-btn {
  border-color: rgba(255, 255, 255, 0.1);
  color: var(--cp-aqua-s3);
}
body.dark-mode .cp-header-area .cp-header-area-right .call-btn:before {
  background-color: var(--cp-aqua-s3);
}
body.dark-mode .cp-header-area .cp-header-area-right .call-btn:hover {
  color: #000;
}
body.dark-mode .cp-header-area .main-menu ul > li > a:hover {
  color: var(--cp-aqua-s3);
}
body.dark-mode .ch-top-title span,
body.dark-mode .ch-top-title-s2 span,
body.dark-mode .ch-top-title-s3 span {
  color: var(--cp-aqua-s3);
}
body.dark-mode .service-area {
  padding-top: 120px;
}
@media (max-width: 991px) {
  body.dark-mode .service-area {
    padding-top: 90px;
  }
}
@media (max-width: 767px) {
  body.dark-mode .service-area {
    padding-top: 80px;
  }
}
body.dark-mode .service-area .service-item {
  background: none;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 5px;
}
body.dark-mode .service-area .service-item .service-text .icon::before {
  display: none;
}
body.dark-mode .service-area .service-item .service-text .icon i {
  color: var(--cp-ice);
}
body.dark-mode .service-area .service-item .service-text h3 a {
  color: var(--cp-ice);
}
body.dark-mode .service-area .service-item .service-text h3 a:hover {
  color: var(--cp-aqua-s3);
}
body.dark-mode .service-area .service-item .service-text a.read-more {
  color: var(--cp-ice);
}
body.dark-mode .service-area .service-item .service-text a.read-more:hover {
  color: var(--cp-aqua-s3);
}
body.dark-mode .text-moving-sec-s2 {
  background: none;
}
body.dark-mode .text-moving-sec-s2 .text-moving {
  padding: 0;
}
body.dark-mode .text-moving-sec-s2 .text-moving h1 span {
  color: var(--cp-ice);
}
body.dark-mode .text-moving-sec-s2 .text-moving h1 span:nth-child(odd) {
  -webkit-text-stroke: 1px var(--cp-ice);
}
@media (max-width: 991px) {
  body.dark-mode .about-area-s2 .about-left-item {
    padding-bottom: 30px;
    justify-content: center;
  }
}
body.dark-mode .about-area-s2 .about-left-item .about-left-img {
  border-radius: 200px;
}
body.dark-mode .about-area-s2 .about-left-item .about-left-img .simpleParallax {
  border-radius: 200px;
}
body.dark-mode .about-area-s2 .about-left-item .about-left-img img {
  border-radius: 200px;
}
body.dark-mode .about-area-s2 .about-left-item .about-right-img .simpleParallax {
  border-radius: 100px;
}
body.dark-mode .about-area-s2 .about-left-item .about-right-img img {
  border-radius: 100px;
}
body.dark-mode .about-area-s2 .about-left-item .about-right-img .star {
  margin-bottom: 20px;
}
@media (max-width: 991px) {
  body.dark-mode .about-area-s2 .about-right-text {
    text-align: center;
  }
  body.dark-mode .about-area-s2 .about-right-text .site-split-text .split-line {
    text-align: center !important;
  }
}
body.dark-mode .about-area-s2 .about-right-text span {
  color: var(--cp-aqua-s3);
}
body.dark-mode .about-area-s2 .about-right-text .about-funfact {
  display: flex;
  max-width: 435px;
  margin-top: 50px;
}
@media (max-width: 991px) {
  body.dark-mode .about-area-s2 .about-right-text .about-funfact {
    margin: 0 auto;
    margin-top: 30px;
  }
}
body.dark-mode .about-area-s2 .about-right-text .about-funfact .funfact-item {
  flex-basis: 50%;
  position: relative;
}
body.dark-mode .about-area-s2 .about-right-text .about-funfact .funfact-item + .funfact-item::before {
  position: absolute;
  left: -45px;
  top: 35%;
  transform: translateY(-50%);
  width: 1px;
  height: 78px;
  content: "";
  background: rgba(255, 255, 255, 0.1);
}
@media (max-width: 991px) {
  body.dark-mode .about-area-s2 .about-right-text .about-funfact .funfact-item + .funfact-item::before {
    display: none;
  }
}
body.dark-mode .about-area-s2 .about-right-text .about-funfact .funfact-item h3 {
  font-size: 48px;
  font-style: normal;
  font-weight: 700;
  line-height: 60px;
  color: var(--cp-ice);
}
@media (max-width: 450px) {
  body.dark-mode .about-area-s2 .about-right-text .about-funfact .funfact-item h3 {
    font-size: 35px;
    line-height: 40px;
  }
}
@media (max-width: 991px) {
  body.dark-mode .about-area-s2 .about-right-text .about-funfact .funfact-item p {
    justify-content: center;
    margin-bottom: 0;
  }
}
body.dark-mode .ch-service-area {
  background: var(--cp-ocean);
}
body.dark-mode .ch-service-area .ch-title-wrap .ch-top-btn {
  text-align: left;
  padding-left: 30px;
}
body.dark-mode .ch-service-area .ch-service-left-wrapper {
  padding-left: 30px;
}
@media (max-width: 575px) {
  body.dark-mode .ch-service-area .ch-service-left-wrapper {
    display: block;
  }
}
body.dark-mode .ch-service-area .ch-service-left-wrapper .service-image-group {
  max-width: 393px;
}
body.dark-mode .ch-service-area .ch-service-left-wrapper .ch-service-text-right {
  position: absolute;
  right: 0;
  bottom: -3px;
  z-index: 11;
  background: var(--cp-navy);
  padding: 30px;
  max-width: 410px;
  border-radius: 5px;
  border-top: 2px solid var(--cp-aqua-s3);
  display: flex;
}
@media (max-width: 575px) {
  body.dark-mode .ch-service-area .ch-service-left-wrapper .ch-service-text-right {
    position: relative;
    margin-top: 30px;
  }
}
body.dark-mode .ch-service-area .ch-service-left-wrapper .ch-service-text-right i {
  font-size: 60px;
  color: var(--cp-ice);
  margin-right: 20px;
}
body.dark-mode .ch-service-area .ch-service-left-wrapper .ch-service-text-right h3 {
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 30px;
}
body.dark-mode .ch-service-area .ch-service-left-wrapper .ch-service-text-right a.read-more {
  font-family: "Rajdhani";
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 32px;
  letter-spacing: 1.28px;
  text-transform: uppercase;
  color: var(--cp-ice);
  position: relative;
  padding-right: 25px;
}
body.dark-mode .ch-service-area .ch-service-left-wrapper .ch-service-text-right a.read-more:before {
  position: absolute;
  right: 0px;
  top: 4px;
  content: "\e914";
  font-family: "icomoon";
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  font-size: 12px;
  line-height: 100%;
  transition: all 0.3s;
}
body.dark-mode .ch-service-area .ch-service-left-wrapper .ch-service-text-right a.read-more:hover {
  letter-spacing: 1.9px;
  color: var(--cp-aqua-s3);
}
body.dark-mode .ch-service-area .ch-service-left-wrapper .ch-service-text-right a.read-more:hover:before {
  right: -3px;
}
body.dark-mode .ch-service-area .ch-service-right-wrap .item.active h2,
body.dark-mode .ch-service-area .ch-service-right-wrap .item.active span,
body.dark-mode .ch-service-area .ch-service-right-wrap .item.active i {
  color: var(--cp-aqua-s3);
}
body.dark-mode .ch-portfolio-area .portfolio-img {
  padding-left: 150px;
  position: relative;
}
@media (max-width: 991px) {
  body.dark-mode .ch-portfolio-area .portfolio-img {
    padding-left: 80px;
  }
}
@media (max-width: 575px) {
  body.dark-mode .ch-portfolio-area .portfolio-img {
    padding-left: 50px;
  }
}
body.dark-mode .ch-portfolio-area .portfolio-img .simpleParallax {
  max-width: 395px;
}
body.dark-mode .ch-portfolio-area .portfolio-img .portfolio-heading {
  position: absolute;
  left: 0;
  top: 20%;
  max-width: 258px;
}
body.dark-mode .ch-portfolio-area .portfolio-img .portfolio-heading h2 {
  font-size: 32px;
  font-style: normal;
  font-weight: 700;
  line-height: 130%;
  text-transform: capitalize;
  margin-top: 5px;
}
@media (max-width: 575px) {
  body.dark-mode .ch-portfolio-area .portfolio-img .portfolio-heading h2 {
    font-size: 28px;
  }
}
body.dark-mode .ch-portfolio-area .portfolio-img .portfolio-heading h2 a {
  color: var(--cp-ice);
}
body.dark-mode .ch-portfolio-area .portfolio-img .portfolio-heading h2 a:hover {
  color: var(--cp-aqua-s3);
}
body.dark-mode .ch-portfolio-area .portfolio-item {
  position: relative;
}
body.dark-mode .ch-portfolio-area .portfolio-item .portfolio-text {
  position: absolute;
  right: 0;
  bottom: 20px;
}
body.dark-mode .ch-portfolio-area .portfolio-item .portfolio-text span {
  color: var(--cp-ice);
}
body.dark-mode .ch-portfolio-area .portfolio-item .portfolio-text span:before {
  background-color: var(--cp-card);
}
body.dark-mode .funfact-area .info {
  background: transparent;
  text-align: center;
}
body.dark-mode .testimonial-section .testimonial-item {
  background: transparent;
  border: 0;
  border-radius: 0;
}
body.dark-mode .testimonial-section .testimonial-item .testimonial-text .testimonial-info span {
  color: var(--cp-aqua-pale);
}
body.dark-mode .testimonial-section .owl-nav [class*=owl-] {
  background-color: var(--cp-navy);
  border: 0;
  color: var(--cp-aqua-s3);
}
body.dark-mode .testimonial-section .owl-nav [class*=owl-]:hover {
  background: var(--cp-aqua-s3);
  color: var(--cp-ice);
}
body.dark-mode .testimonial-section .owl-stage-outer {
  margin-right: -5px;
}
body.dark-mode .testimonial-section .owl-stage {
  margin-right: 5px;
}
body.dark-mode .ch-skill-area {
  background: var(--cp-ocean);
}
body.dark-mode .ch-skill-area:before {
  background: url(../images/skill-bg2.png);
  opacity: 0.04;
}
body.dark-mode .ch-skill-area .skill-card {
  text-align: center;
  background: var(--cp-ocean);
}
body.dark-mode .ch-skill-area .skill-card .skill-icon {
  margin: 0 auto;
  left: 50%;
  transform: translateX(-50%);
  background-color: var(--cp-aqua-s3);
}
body.dark-mode .ch-skill-area .skill-card .skill-icon i {
  color: var(--cp-ice);
}
body.dark-mode .ch-skill-area .shape {
  position: absolute;
  right: 0;
  top: 0;
  z-index: -1;
}
body.dark-mode .ch-blog-area .blog-items .blog-item {
  background: transparent;
  border-color: rgba(255, 255, 255, 0.1);
}
body.dark-mode .ch-blog-area .blog-items .blog-item .blog-content ul li {
  color: var(--cp-ice);
}
body.dark-mode .ch-blog-area .blog-items .blog-item .blog-content ul li i {
  color: var(--cp-aqua-s3);
}
body.dark-mode .ch-blog-area .blog-items .blog-item .blog-content h2 a {
  color: var(--cp-ice);
}
body.dark-mode .ch-newsletter-area .ch-newsletter-wrap {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.1);
}
body.dark-mode .ch-newsletter-area .ch-newsletter-wrap:before {
  background: url(../images/newslatter-bg2.png);
  background-repeat: no-repeat;
  background-position: center;
}
body.dark-mode .ch-newsletter-area .ch-newsletter-wrap .newsletter-form .form-field input {
  background: var(--cp-navy);
  border-color: var(--cp-text);
  color: var(--cp-ice);
}
body.dark-mode .ch-newsletter-area .ch-newsletter-wrap .newsletter-form .form-field button {
  background: var(--cp-navy);
  border-color: var(--cp-ice);
  color: var(--cp-ice);
  overflow: hidden;
}
body.dark-mode .ch-newsletter-area .ch-newsletter-wrap .newsletter-form .form-field button:hover {
  background: var(--cp-aqua-s3);
}
body.dark-mode .footer-section {
  background: var(--cp-ocean);
}
body.dark-mode .footer-section .widget-title h3 {
  color: var(--cp-ice);
}
body.dark-mode .footer-section .link-widget ul li a {
  color: var(--cp-border);
}
body.dark-mode .footer-section .link-widget ul li a:hover {
  color: var(--cp-aqua-s3);
}
body.dark-mode .footer-section .contact-ft ul li {
  color: var(--cp-border);
}
body.dark-mode .footer-section .social-widget ul li a {
  border-color: var(--cp-text);
  color: var(--cp-ice);
}
body.dark-mode .footer-section .social-widget ul li a:hover {
  background: var(--cp-aqua-s3);
}
body.dark-mode .footer-section .subscribe .form-field input {
  border-color: var(--cp-text);
}
body.dark-mode .footer-section .subscribe .form-field button {
  background-color: rgba(255, 255, 255, 0.05);
  border-radius: 5px;
  color: var(--cp-ice);
}
body.dark-mode .footer-section .lower-footer .row {
  border-color: var(--cp-text);
}
body.dark-mode .footer-section .lower-footer .copyright {
  color: rgba(255, 255, 255, 0.4);
}
body.dark-mode .footer-section .lower-footer .copyright a {
  color: rgba(255, 255, 255, 0.4);
}
body.dark-mode .footer-section .lower-footer .copyright a:hover {
  color: var(--cp-aqua-s3);
}
body.dark-mode .footer-section .lower-footer-link li a {
  color: rgba(255, 255, 255, 0.4);
}
body.dark-mode .footer-section .lower-footer-link li a:hover {
  color: var(--cp-aqua-s3);
}

/*--------------------------------------------------------------
18. Home-style-4
--------------------------------------------------------------*/
body.dark-mode .ch-btn-style-2 {
  border-color: rgba(255, 255, 255, 0.1);
}
body.dark-mode .ch-btn-style-2.ch-btn-animated span {
  background-color: var(--cp-aqua-s3);
}
body.dark-mode .ch-btn-style-2:hover {
  color: var(--cp-ice);
}
body.dark-mode .ch-top-title span,
body.dark-mode .ch-top-title-s2 span,
body.dark-mode .ch-top-title-s3 span {
  color: var(--cp-aqua-s3);
}
body.dark-mode .ch-top-title h2 small,
body.dark-mode .ch-top-title-s2 h2 small,
body.dark-mode .ch-top-title-s3 h2 small {
  -webkit-text-stroke: 1px var(--cp-ice);
}
@media (max-width: 991px) {
  body.dark-mode .cp-header-style-2 {
    padding: 20px;
  }
}
body.dark-mode .cp-header-style-2 .mean-container a.meanmenu-reveal {
  background-color: var(--cp-aqua-s3);
  border-color: var(--cp-aqua-s3);
}
@media (max-width: 450px) {
  body.dark-mode .cp-header-style-2 .mean-container a.meanmenu-reveal {
    margin-top: -45px;
  }
}
body.dark-mode .cp-header-area-right {
  text-align: right;
}
@media (max-width: 991px) {
  body.dark-mode .cp-header-area-right {
    text-align: left;
  }
}
body.dark-mode .cp-header-area-right .ch-btn-style-2 {
  background: none;
}
@media (max-width: 991px) {
  body.dark-mode .cp-header-area-right .ch-btn-style-2 {
    text-align: left;
  }
}
body.dark-mode .cp-header-area-right .ch-btn-style-2:hover {
  background-color: var(--cp-aqua-s3);
}
body.dark-mode .about-area-s2.style-3 .about-left-item .about-left-img .simpleParallax,
body.dark-mode .about-area-s2.style-3 .about-left-item .about-left-img img {
  border-radius: 0;
}
body.dark-mode .about-area-s2.style-3 .about-right-item .about-right-text h2 small {
  -webkit-text-stroke: 1px var(--cp-ice);
}
body.dark-mode .service-area.style-3 .service-item {
  border: 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 0;
  padding-left: 30px;
  padding-top: 0;
}
body.dark-mode .service-area.style-3 .service-item.active {
  transform: unset;
}
body.dark-mode .service-area.style-3 .service-item .service-text h3 {
  max-width: 200px;
}
body.dark-mode .benefit-area .benefit-item {
  border-color: rgba(255, 255, 255, 0.1);
}
body.dark-mode .benefit-area .benefit-item .benefit-text .icon i {
  color: var(--cp-ice);
}
body.dark-mode .benefit-area .benefit-item .benefit-text .icon::before {
  background-color: var(--cp-ocean);
}
body.dark-mode .benefit-area .benefit-item .benefit-text h3 a {
  color: var(--cp-ice);
}
body.dark-mode .benefit-area .benefit-item .benefit-text p {
  color: var(--cp-border);
}
body.dark-mode .benefit-area .benefit-item .benefit-text a.read-more {
  color: var(--cp-ice);
}
body.dark-mode .benefit-area .benefit-item .benefit-text a.read-more:hover {
  color: var(--cp-aqua-s3);
}
body.dark-mode .ch-portfolio-area-s2 {
  background: var(--cp-ocean);
}
body.dark-mode .ch-portfolio-area-s2 .porfolio-wrap .porfolio-item .porfolio-des p {
  margin-bottom: 15px;
}
body.dark-mode .ch-portfolio-area-s2 .porfolio-wrap .porfolio-item .porfolio-des a.read-more {
  font-family: "Rajdhani";
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 32px;
  letter-spacing: 1.28px;
  text-transform: uppercase;
  color: var(--cp-ice);
  position: relative;
  padding-right: 25px;
}
body.dark-mode .ch-portfolio-area-s2 .porfolio-wrap .porfolio-item .porfolio-des a.read-more:before {
  position: absolute;
  right: 0px;
  top: 4px;
  content: "\e914";
  font-family: "icomoon";
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  font-size: 12px;
  line-height: 100%;
  transition: all 0.3s;
}
body.dark-mode .ch-portfolio-area-s2 .porfolio-wrap .porfolio-item .porfolio-des a.read-more:hover {
  letter-spacing: 1.9px;
  color: var(--cp-aqua-s3);
}
body.dark-mode .ch-portfolio-area-s2 .porfolio-wrap .porfolio-item .porfolio-des a.read-more:hover:before {
  right: -3px;
}
body.dark-mode .ch-portfolio-area-s2 .porfolio-wrap .porfolio-item .porfolio-img::before {
  background-color: var(--cp-aqua-s3);
}
body.dark-mode .testimonial-section-s2 .testimonial-item {
  padding: 0px 0px;
  background: none;
  padding-bottom: 40px;
  border-bottom: 2px solid var(--cp-aqua-s3);
  position: relative;
}
body.dark-mode .testimonial-section-s2 .testimonial-item:before {
  position: absolute;
  bottom: 30px;
  right: 30px;
  content: "\e915";
  font-family: "icomoon";
  font-size: 60px;
  color: var(--cp-text);
  opacity: 0.5;
  z-index: -1;
}
@media (max-width: 575px) {
  body.dark-mode .testimonial-section-s2 .testimonial-item:before {
    display: none;
  }
}
body.dark-mode .testimonial-section-s2 .testimonial-item .testimonial-text ul li {
  color: var(--cp-aqua-s3);
}
body.dark-mode .testimonial-section-s2 .testimonial-item .testimonial-text ul li span {
  color: var(--cp-ice);
}
body.dark-mode .testimonial-section-s2 .testimonial-item .testimonial-text p {
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 30px;
  color: var(--cp-border);
}
body.dark-mode .testimonial-section-s2 .testimonial-item .testimonial-text .testimonial-info span {
  color: var(--cp-border);
}
body.dark-mode .testimonial-section-s2 .owl-nav [class*=owl-] {
  right: 80px;
  top: -150px;
  border-color: rgba(255, 255, 255, 0.1);
  color: var(--cp-ice);
}
body.dark-mode .testimonial-section-s2 .owl-nav [class*=owl-]:hover {
  background: var(--cp-aqua-s3);
}
body.dark-mode .testimonial-section-s2 .owl-nav [class*=owl-].owl-next {
  right: 0;
}
body.dark-mode .testimonial-section-s2 .owl-dots button.active {
  background-color: var(--cp-aqua-s3);
}
body.dark-mode .video-area .video-img .video-btn {
  background-color: var(--cp-text);
}
body.dark-mode .video-area .video-img .video-btn:before {
  border-left: 25px solid var(--cp-aqua-s3);
}
body.dark-mode .text-moving-sec-s2 h1 span i {
  color: var(--cp-aqua-s3);
  margin-left: 20px;
}
body.dark-mode .team-area .team-item:before {
  background: none;
  border: 1px solid rgba(255, 255, 255, 0.1);
}
body.dark-mode .team-area .team-item .team-text h3 a {
  color: var(--cp-ice);
}
body.dark-mode .team-area .team-item .team-text h3 a:hover {
  color: var(--cp-aqua-s3);
}
body.dark-mode .team-area .team-item .team-text span {
  color: var(--cp-border);
}
body.dark-mode .funfact-area.style-2 .info {
  background: transparent;
  text-align: center;
  border: 0;
  border-radius: 0;
  border-right: 1px solid rgba(255, 255, 255, 0.1);
}
body.dark-mode .funfact-area.style-2 .info p {
  color: var(--cp-border);
}
body.dark-mode .funfact-area.style-2 .info h3 {
  -webkit-text-stroke: 1px var(--cp-ice);
}
body.dark-mode .about-event-area .event-wrap {
  background: var(--cp-ocean);
  border-top: 2px solid var(--cp-aqua-s3);
}
body.dark-mode .about-event-area .event-wrap::before {
  display: none;
}
body.dark-mode .company-area {
  background-color: var(--cp-ocean);
}
body.dark-mode .company-area .company-wrap .comapny-item {
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.1);
}
body.dark-mode .company-area .company-wrap .comapny-item::before {
  background-color: var(--cp-aqua-s3);
}
body.dark-mode .company-area .company-wrap .comapny-item .comapny-item-info span {
  color: var(--cp-ice);
}
body.dark-mode .company-area .company-wrap .comapny-item small {
  color: var(--cp-ice);
}
body.dark-mode .ch-blog-area-s2 .blog-items .blog-item {
  background: transparent;
  border-color: rgba(255, 255, 255, 0.1);
  position: relative;
}
body.dark-mode .ch-blog-area-s2 .blog-items .blog-item .blog-content ul {
  position: absolute;
  left: 0;
  top: 0;
  padding: 10px;
  background: var(--cp-ocean);
}
body.dark-mode .ch-blog-area-s2 .blog-items .blog-item .blog-content ul li {
  color: var(--cp-ice);
}
body.dark-mode .ch-blog-area-s2 .blog-items .blog-item .blog-content h2 {
  margin-top: 0;
}
body.dark-mode .ch-blog-area-s2 .blog-items .blog-item .blog-content h2 a {
  color: var(--cp-ice);
}

/*--------------------------------------------------------------
18. Home-style-4
--------------------------------------------------------------*/
body.violet-home h1,
body.violet-home h2,
body.violet-home h3,
body.violet-home h4,
body.violet-home h5,
body.violet-home h6 {
  color: #000;
}
body.violet-home .ch-btn-style-2 {
  background: #000;
  color: var(--cp-ice);
  position: relative;
  z-index: 1;
  overflow: visible;
  border-radius: 0;
  padding: 10px 35px 14px;
}
body.violet-home .ch-btn-style-2:before {
  position: absolute;
  width: 100%;
  height: 100%;
  content: "";
  background: var(--cp-aqua-s4);
  right: 5px;
  bottom: 5px;
  z-index: -1;
  transition: all 0.3s;
}
body.violet-home .ch-btn-style-2:after {
  display: none;
}
body.violet-home .ch-btn-style-2.ch-btn-animated span {
  background-color: var(--cp-aqua-dark);
}
body.violet-home .ch-btn-style-2:hover {
  color: var(--cp-ice);
}
body.violet-home .ch-btn-style-2:hover:before {
  background-color: var(--cp-aqua-dark);
}
body.violet-home .cp-header-style-3 {
  border-bottom: 1px solid #000;
}
body.violet-home .cp-header-style-3 ul.nav {
  border-left: 2px solid #000;
  border-right: 2px solid #000;
}
body.violet-home .ch-top-title-s3 {
  margin-bottom: 0;
}
body.violet-home .ch-top-title-s3 h2 {
  color: #000;
}
body.violet-home .cp-header-area-right {
  text-align: right;
}
@media (max-width: 991px) {
  body.violet-home .cp-header-area-right {
    text-align: left;
  }
}
@media (max-width: 1500px) {
  body.violet-home .cp-header-area-right .ch-btn-style-2 {
    padding: 9px 15px 12px;
  }
}
@media (max-width: 1230px) {
  body.violet-home .cp-header-area-right .ch-btn-style-2 {
    font-size: 12px;
    padding: 6px 10px 9px;
  }
}
@media (max-width: 1024px) {
  body.violet-home .cp-header-area-right .ch-btn-style-2 {
    font-size: 12px;
    padding: 6px 8px 9px;
  }
}
@media (max-width: 991px) {
  body.violet-home .cp-header-area-right .ch-btn-style-2 {
    text-align: left;
  }
}
@media (max-width: 360px) {
  body.violet-home .cp-header-area-right .ch-btn-style-2 {
    position: relative;
    right: 20px;
  }
}
body.violet-home .text-moving-sec-s2 h1 span {
  text-transform: capitalize;
}
body.violet-home .text-moving-sec-s2 h1 span i {
  color: var(--cp-aqua-s4);
  margin-left: 20px;
}
body.violet-home .features-area .features-item {
  padding: 30px;
  border: 1px solid #000;
  margin-bottom: 30px;
  position: relative;
  z-index: 1;
  background: var(--cp-card);
  z-index: 1;
}
body.violet-home .features-area .features-item:before {
  position: absolute;
  width: 100%;
  height: 100%;
  content: "";
  right: -5px;
  bottom: -5px;
  z-index: -1;
  transition: all 0.3s;
  border-right: 5px solid #000;
  border-bottom: 5px solid #000;
  opacity: 0;
  visibility: hidden;
  transition: all 0.6s;
}
body.violet-home .features-area .features-item:hover:before {
  right: -5px;
  bottom: -5px;
  opacity: 1;
  visibility: visible;
}
@media (max-width: 575px) {
  body.violet-home .features-area .features-item {
    padding: 15px;
  }
}
body.violet-home .features-area .features-item .features-img {
  border: 1px solid #000;
  margin-bottom: 20px;
}
body.violet-home .features-area .features-item .features-text h3 {
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 30px;
  margin-bottom: 20px;
}
@media (max-width: 1399px) {
  body.violet-home .features-area .features-item .features-text h3 {
    font-size: 20px;
    line-height: 28px;
    margin-bottom: 10px;
  }
}
body.violet-home .features-area .features-item .features-text h3 a {
  color: #000;
}
body.violet-home .features-area .features-item .features-text a.read-more {
  font-family: "Rajdhani";
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 32px;
  letter-spacing: 1.28px;
  text-transform: capitalize;
  color: #000;
  position: relative;
  padding-left: 25px;
}
body.violet-home .features-area .features-item .features-text a.read-more:before {
  position: absolute;
  left: 0px;
  top: 4px;
  content: "\e914";
  font-family: "icomoon";
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  font-size: 12px;
  line-height: 100%;
  transition: all 0.3s;
  color: var(--cp-aqua-s4);
}
body.violet-home .features-area .features-item .features-text a.read-more:hover {
  letter-spacing: 1.9px;
}
body.violet-home .features-area .features-item .features-text a.read-more:hover:before {
  right: -3px;
}
body.violet-home .about-area-s2 {
  background: var(--cp-aqua-pale);
}
@media (max-width: 991px) {
  body.violet-home .about-area-s2 .about-wrap .about-right-text {
    text-align: center;
  }
}
body.violet-home .about-area-s2 .about-wrap .about-right-text h2 {
  color: #000;
}
body.violet-home .about-area-s2 .about-wrap .about-right-text p {
  margin-bottom: 30px;
}
body.violet-home .about-area-s2 .about-wrap .about-right-text ul {
  margin-bottom: 40px;
}
body.violet-home .about-area-s2 .about-wrap .about-right-text ul li {
  font-size: 18px;
  font-style: normal;
  font-weight: 600;
  line-height: 32px;
  letter-spacing: 1.28px;
  text-transform: capitalize;
  margin-bottom: 10px;
  padding-left: 35px;
  position: relative;
  display: inline-block;
}
@media (max-width: 1399px) {
  body.violet-home .about-area-s2 .about-wrap .about-right-text ul li {
    font-size: 16px;
  }
}
@media (max-width: 575px) {
  body.violet-home .about-area-s2 .about-wrap .about-right-text ul li {
    font-size: 14px;
  }
}
body.violet-home .about-area-s2 .about-wrap .about-right-text ul li::before {
  position: absolute;
  left: 0;
  top: 0;
  content: "\e65a";
  font-family: "themify";
  color: var(--cp-aqua-s4);
}
body.violet-home .about-area-s2 .about-wrap .about-left-item {
  text-align: right;
  justify-content: flex-end;
  padding-right: 0;
}
@media (max-width: 991px) {
  body.violet-home .about-area-s2 .about-wrap .about-left-item {
    justify-content: center;
    margin-top: 50px;
    padding-bottom: 40px;
  }
}
body.violet-home .about-area-s2 .about-wrap .about-left-item .simpleParallax {
  border-radius: 183px 192.5px 174px 0px;
  border: 1px solid #000;
  border-left-width: 5px;
  border-bottom-width: 5px;
}
body.violet-home .about-area-s2 .about-wrap .about-left-item .about-left-img {
  position: relative;
}
body.violet-home .about-area-s2 .about-wrap .about-left-item .about-left-img .shape-1 {
  position: absolute;
  left: -50px;
  bottom: -50px;
}
body.violet-home .about-area-s2 .about-wrap .about-left-item .about-left-img .shape-1 img {
  animation: bounceLeftToRight 4s infinite;
}
body.violet-home .about-area-s2 .about-wrap .about-left-item .about-left-img .shape-2 {
  position: absolute;
  right: 0px;
  top: 0px;
}
body.violet-home .about-area-s2 .about-wrap .about-left-item .about-left-img .shape-2 img {
  animation: circle 25s linear infinite;
}
body.violet-home .ch-recent-work-area .recent-work-card {
  margin-bottom: 30px;
  border-radius: 20px;
  border: 2px solid #000;
  overflow: hidden;
}
body.violet-home .ch-recent-work-area .recent-work-card img {
  border-radius: 20px;
  transition: all 0.6s;
  transform: scale(1);
}
body.violet-home .ch-recent-work-area .recent-work-card:hover img {
  transform: scale(1.3);
}
body.violet-home .funfact-area {
  background: var(--cp-aqua-light);
}
body.violet-home .funfact-area .info {
  background: var(--cp-card);
  border: 1px solid #000;
}
@media (max-width: 575px) {
  body.violet-home .funfact-area .info {
    padding: 30px 10px 20px;
  }
}
body.violet-home .funfact-area .info p,
body.violet-home .funfact-area .info h3,
body.violet-home .funfact-area .info h3 span {
  color: #000;
  -webkit-text-fill-color: #000;
}
body.violet-home .team-area {
  background: var(--cp-aqua-light);
}
body.violet-home .team-area .team-item {
  padding: 0;
}
body.violet-home .team-area .team-item:before {
  display: none;
}
body.violet-home .team-area .team-item .team-img {
  border: 1px solid #000;
  position: relative;
  z-index: 1;
}
body.violet-home .team-area .team-item .team-text {
  text-align: left;
}
body.violet-home .ch-top-title-s2 h2 {
  color: #000;
}
body.violet-home .testimonial-section-s2 {
  background: var(--cp-aqua-pale);
}
body.violet-home .testimonial-section-s2 .testimonial-info {
  max-width: 600px;
  margin: 0 auto;
  margin-top: 40px !important;
  position: relative;
}
@media (max-width: 575px) {
  body.violet-home .testimonial-section-s2 .testimonial-info {
    justify-content: center;
  }
}
body.violet-home .testimonial-section-s2 .testimonial-info:before {
  position: absolute;
  bottom: -10px;
  right: 30px;
  content: "\e915";
  font-family: "icomoon";
  font-size: 60px;
  color: var(--cp-text);
  opacity: 0.5;
  z-index: -1;
}
@media (max-width: 575px) {
  body.violet-home .testimonial-section-s2 .testimonial-info:before {
    display: none;
  }
}
body.violet-home .testimonial-section-s2 .testimonial-item {
  padding: 100px 130px;
  background: none;
  position: relative;
  background: var(--cp-card);
  z-index: 1;
  background: #000;
  margin: 10px;
}
@media (max-width: 991px) {
  body.violet-home .testimonial-section-s2 .testimonial-item {
    padding: 80px 70px;
  }
}
@media (max-width: 575px) {
  body.violet-home .testimonial-section-s2 .testimonial-item {
    padding: 50px 15px;
  }
}
body.violet-home .testimonial-section-s2 .testimonial-item:before {
  position: absolute;
  left: -5px;
  top: -5px;
  width: 100%;
  height: 100%;
  content: "";
  z-index: -1;
  background: var(--cp-card);
}
body.violet-home .testimonial-section-s2 .testimonial-item .testimonial-text ul {
  justify-content: center;
}
body.violet-home .testimonial-section-s2 .testimonial-item .testimonial-text ul li {
  color: var(--cp-aqua-s3);
}
body.violet-home .testimonial-section-s2 .testimonial-item .testimonial-text ul li span {
  color: var(--cp-border);
}
body.violet-home .testimonial-section-s2 .testimonial-item .testimonial-text p {
  color: #000;
  text-align: center;
  font-family: "Rajdhani";
  font-size: 30px;
  font-style: normal;
  font-weight: 700;
  line-height: 160%;
}
@media (max-width: 991px) {
  body.violet-home .testimonial-section-s2 .testimonial-item .testimonial-text p {
    font-size: 20px;
  }
}
body.violet-home .testimonial-section-s2 .testimonial-item .testimonial-text .testimonial-info span {
  color: #000;
}
body.violet-home .testimonial-section-s2 .owl-nav [class*=owl-] {
  left: -25px;
  top: 50%;
  transform: translateY(-50px);
  border-color: rgba(255, 255, 255, 0.1);
  color: var(--cp-ice);
  background-color: #000;
}
body.violet-home .testimonial-section-s2 .owl-nav [class*=owl-]:hover {
  background: var(--cp-aqua-s4);
}
body.violet-home .testimonial-section-s2 .owl-nav [class*=owl-].owl-next {
  right: -25px;
  left: auto;
}
body.violet-home .testimonial-section-s2 .owl-dots button.active {
  background-color: var(--cp-aqua-s4);
}
body.violet-home .ch-blog-area-s2 .blog-items .blog-item {
  background: transparent;
  border-color: rgba(255, 255, 255, 0.1);
  position: relative;
  padding: 30px;
  border: 1px solid #000;
  border-radius: 0;
}
body.violet-home .ch-blog-area-s2 .blog-items .blog-item:before {
  position: absolute;
  width: 100%;
  height: 100%;
  content: "";
  right: -5px;
  bottom: -5px;
  z-index: -1;
  transition: all 0.3s;
  border-right: 5px solid #000;
  border-bottom: 5px solid #000;
  opacity: 0;
  visibility: hidden;
  transition: all 0.6s;
}
body.violet-home .ch-blog-area-s2 .blog-items .blog-item:hover:before {
  right: -5px;
  bottom: -5px;
  opacity: 1;
  visibility: visible;
}
body.violet-home .ch-blog-area-s2 .blog-items .blog-item .blog-img {
  border: 1px solid #000;
}
body.violet-home .ch-blog-area-s2 .blog-items .blog-item .blog-img img {
  border-radius: 0;
}
body.violet-home .ch-blog-area-s2 .blog-items .blog-item .blog-content {
  padding: 0;
}
body.violet-home .ch-blog-area-s2 .blog-items .blog-item .blog-content ul {
  margin-bottom: 20px;
}
body.violet-home .ch-blog-area-s2 .blog-items .blog-item .blog-content ul li {
  color: #000;
}
body.violet-home .ch-blog-area-s2 .blog-items .blog-item .blog-content h2 {
  margin-top: 0;
}
body.violet-home .ch-blog-area-s2 .blog-items .blog-item .blog-content h2 a {
  color: #000;
}
body.violet-home .ch-newsletter-area .container-fluid {
  padding: 0;
}
body.violet-home .ch-newsletter-area .ch-newsletter-wrap {
  background: var(--cp-aqua-light);
}
body.violet-home .ch-newsletter-area .ch-newsletter-wrap .newsletter-form button {
  background: var(--cp-aqua-s4);
  color: var(--cp-ice);
}
body.violet-home .footer-section {
  background: rgba(191, 227, 247, 0.5);
}
body.violet-home .footer-section .social-widget ul li a {
  color: #000;
}
body.violet-home .footer-section .social-widget ul li a:hover {
  background-color: var(--cp-aqua-s4);
}
body.violet-home .back-btn {
  background-color: var(--cp-aqua-s4);
  border-color: var(--cp-aqua-s4);
}

/*--------------------------------------------------------------
19. About Page
--------------------------------------------------------------*/
.about-page .text-moving-sec-s2 {
  margin-bottom: 40px;
}
@media (max-width: 575px) {
  .about-page .text-moving-sec-s2 {
    margin-bottom: 20px;
  }
}
@media (min-width: 991px) {
  .about-page .about-area-s2 {
    padding-bottom: 180px;
  }
}

/*--------------------------------------------------------------
20. Service Page
--------------------------------------------------------------*/
.service-page .service-area {
  padding-top: 120px;
}
@media (max-width: 991px) {
  .service-page .service-area {
    padding-top: 90px;
  }
}
@media (max-width: 767px) {
  .service-page .service-area {
    padding-top: 80px;
  }
}
.service-page .service-area .service-item {
  transform: unset;
  background: none;
  border: 1px solid var(--cp-border);
  padding-top: 50px;
}
.service-page .service-area .service-item .service-text .icon {
  height: 60px;
  margin-bottom: 50px;
}
.service-page .service-area .service-item .service-text .icon::before {
  left: -10px;
  top: 10px;
}
.service-page .service-area .service-item .service-text .icon i {
  font-size: 60px;
  line-height: unset;
}

.service-single-page .serice-details .details-text {
  margin-top: 35px;
}
.service-single-page .serice-details .details-text h2 {
  font-size: 32px;
  font-style: normal;
  font-weight: 700;
  line-height: 130%;
  text-transform: capitalize;
  color: var(--cp-ice);
  margin-bottom: 15px;
}
.service-single-page .serice-details .details-items {
  padding: 30px 0;
}
.service-single-page .serice-details .details-items h3 {
  display: flex;
  align-items: center;
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 27px;
  color: var(--cp-ice);
}
.service-single-page .serice-details .details-items h3 i {
  font-size: 10px;
  width: 20px;
  height: 20px;
  line-height: 20px;
  text-align: center;
  background: var(--cp-ocean);
  border-radius: 50%;
  color: var(--cp-ice);
  margin-right: 5px;
}
.service-single-page .service-area {
  padding-top: 40px;
  padding-bottom: 0;
}
.service-single-page .service-area .service-item {
  transform: unset;
  background: none;
  border: 1px solid var(--cp-border);
  padding: 40px;
  text-align: center;
}
@media (max-width: 1199px) {
  .service-single-page .service-area .service-item {
    padding: 20px;
  }
}
@media (max-width: 991px) {
  .service-single-page .service-sidebar {
    margin-top: 50px;
  }
}
.service-single-page .service-sidebar .widget h3 {
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 30px;
  color: var(--cp-ice);
  margin-bottom: 30px;
}
.service-single-page .service-sidebar .category-widget {
  margin-bottom: 40px;
}
.service-single-page .service-sidebar .category-widget ul li {
  margin-bottom: 19px;
}
.service-single-page .service-sidebar .category-widget ul li a {
  display: block;
  border-radius: 5px;
  border: 1px solid var(--cp-border);
  padding: 20px 15px;
  color: var(--cp-text);
}
.service-single-page .service-sidebar .category-widget ul li a:hover {
  background: var(--cp-aqua);
}
.service-single-page .service-sidebar .info-widget input {
  border: 1px solid var(--cp-border);
  padding: 15px;
  height: 50px;
  width: 100%;
  margin-bottom: 30px;
  border-radius: 5px;
}
.service-single-page .service-sidebar .info-widget button {
  width: 100%;
  height: 50px;
  text-align: center;
  background: var(--cp-aqua);
  border: 0;
  border-radius: 5px;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 32px;
  letter-spacing: 1.28px;
  text-transform: uppercase;
  font-family: "Rajdhani";
}

/*--------------------------------------------------------------
21. Portfolio Page
--------------------------------------------------------------*/
.portfolio-single .portfolio-details h2 {
  font-size: 32px;
  font-style: normal;
  font-weight: 700;
  line-height: 130%;
  text-transform: capitalize;
  margin-bottom: 20px;
}
@media (max-width: 575px) {
  .portfolio-single .portfolio-details h2 {
    font-size: 28px;
  }
}
.portfolio-single .portfolio-details .details-img {
  padding: 30px 0;
}
.portfolio-single .portfolio-details .details-items {
  margin-top: 40px;
}
.portfolio-single .portfolio-details .details-items h4 {
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 30px;
  margin-top: 20px;
}
@media (max-width: 991px) {
  .portfolio-single .portfolio-sidebar {
    margin-top: 50px;
  }
}
.portfolio-single .portfolio-sidebar .details-widget {
  background: var(--cp-aqua);
  padding: 40px;
}
@media (max-width: 1199px) {
  .portfolio-single .portfolio-sidebar .details-widget {
    padding: 25px;
  }
}
.portfolio-single .portfolio-sidebar .details-widget .details-widget-item {
  padding-bottom: 15px;
  margin-bottom: 15px;
  border-bottom: 1px solid var(--cp-ice);
}
.portfolio-single .portfolio-sidebar .details-widget .details-widget-item:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border: 0;
}
.portfolio-single .portfolio-sidebar .details-widget .details-widget-item span {
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 30px;
}
.portfolio-single .portfolio-sidebar .details-widget .details-widget-item h4 {
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 27px;
  margin-top: 3px;
  margin-bottom: 0;
}

/* ===============================
24. Blog Page
 =================================*/
/* blog-page */
.blog-grid-page .blog-section-s2 .blog-item {
  margin-bottom: 30px;
}

/* blog-page-area */
.blog-page-area .blog-item {
  margin-bottom: 60px;
  border-radius: 5px;
  border-radius: 5px;
  box-shadow: 0px 0px 60px 0px rgba(0, 0, 0, 0.05);
  position: relative;
}
.blog-page-area .blog-item:last-child {
  margin-bottom: 0;
}
.blog-page-area .blog-item .blog-img {
  position: relative;
}
.blog-page-area .blog-item .blog-img ul {
  display: flex;
  align-items: center;
  padding: 15px 40px;
  background-color: var(--cp-aqua);
  max-width: 363px;
  position: relative;
  border-radius: 0px 5px 0px 0px;
  position: absolute;
  left: 0;
  bottom: 0;
}
@media (max-width: 575px) {
  .blog-page-area .blog-item .blog-img ul {
    padding: 10px 10px;
  }
}
.blog-page-area .blog-item .blog-img ul li {
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}
.blog-page-area .blog-item .blog-img ul li i {
  margin-right: 5px;
}
.blog-page-area .blog-item .blog-img ul li + li {
  margin-left: 20px;
}
.blog-page-area .blog-item .blog-img ul li strong {
  color: var(--cp-ice);
  font-family: "Rajdhani";
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 28px;
}
.blog-page-area .blog-item .blog-content {
  padding: 40px;
}
@media (max-width: 575px) {
  .blog-page-area .blog-item .blog-content {
    padding: 20px;
  }
}
.blog-page-area .blog-item .blog-content h2 {
  font-size: 30px;
  font-style: normal;
  font-weight: 700;
  line-height: 40px;
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  .blog-page-area .blog-item .blog-content h2 {
    font-size: 25px;
    line-height: 30px;
    margin-bottom: 15px;
  }
}
.blog-page-area .blog-item .blog-content h2 a {
  color: var(--cp-ice);
}
.blog-page-area .blog-item .blog-content h2 a:hover {
  color: color-mix(in srgb, var(--cp-aqua) 55%, var(--cp-ice));
}
.blog-page-area .blog-item .blog-content p {
  margin-bottom: 20px;
}

.blog-page-full .blog-img img {
  width: 100%;
}

/* blog-right-sidebar */
.blog-sidebar {
  /*** search-widget ***/
  /*** about-widget ***/
}
@media (max-width: 991px) {
  .blog-sidebar {
    margin-top: 50px;
  }
}
.blog-sidebar .widget {
  margin-top: 50px;
  padding: 40px;
  border-radius: 5px;
  border: 1px solid var(--cp-border);
}
@media (max-width: 1399px) {
  .blog-sidebar .widget {
    padding: 20px;
  }
}
@media (max-width: 1199px) {
  .blog-sidebar .widget {
    padding: 15px;
  }
}
@media (max-width: 1199px) {
  .blog-sidebar .widget {
    margin-top: 30px;
  }
}
.blog-sidebar .widget h3 {
  font-size: 24px;
  font-style: normal;
  font-weight: 700;
  line-height: 30px;
  line-height: 40px;
  margin-bottom: 20px;
  margin-bottom: 30px;
  position: relative;
  padding-left: 15px;
}
.blog-sidebar .widget h3:before {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  content: "";
  width: 5px;
  height: 5px;
  background: var(--cp-navy);
  border-radius: 50%;
}
@media (max-width: 1199px) {
  .blog-sidebar .widget h3 {
    font-size: 30px;
    line-height: 40px;
  }
}
@media (max-width: 575px) {
  .blog-sidebar .widget h3 {
    font-size: 22px;
    line-height: 27px;
  }
}
.blog-sidebar .search-widget {
  padding: 0px;
}
.blog-sidebar .search-widget form div {
  position: relative;
}
.blog-sidebar .search-widget input {
  background: none;
  border: 1px solid rgba(6, 29, 58, 0.15);
  height: 55px;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: 29px;
  padding: 6px 50px 6px 20px;
  border-radius: 0;
  box-shadow: none;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  -ms-transition: all 0.3s;
  transition: all 0.3s;
}
.blog-sidebar .search-widget input:focus {
  background-color: var(--cp-card);
}
.blog-sidebar .search-widget form button {
  background: transparent;
  width: 55px;
  height: 55px;
  line-height: 50px;
  font-size: 20px;
  font-size: calc-rem-value(20);
  color: var(--cp-ice);
  border: 0;
  outline: 0;
  position: absolute;
  right: 0;
  top: 0;
  border-radius: 0;
  background: var(--cp-navy);
  border-radius: 0px 5px 5px 0px;
}
.blog-sidebar .search-widget form button i {
  font-size: 14px;
}
.blog-sidebar .blog-right-info p {
  margin-bottom: 0;
}
.blog-sidebar .recent-post .post {
  display: flex;
  margin-bottom: 30px;
  align-items: center;
}
.blog-sidebar .recent-post .post:last-child {
  margin-bottom: 0;
}
.blog-sidebar .recent-post .post .post-img {
  flex-basis: 30%;
  margin-right: 10px;
}
.blog-sidebar .recent-post .post .post-content {
  flex-basis: 70%;
}
.blog-sidebar .recent-post .post .post-content span {
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}
.blog-sidebar .recent-post .post .post-content ul {
  display: flex;
  align-items: center;
}
.blog-sidebar .recent-post .post .post-content ul li {
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}
@media (max-width: 1199px) {
  .blog-sidebar .recent-post .post .post-content ul li {
    font-size: 11px;
  }
}
.blog-sidebar .recent-post .post .post-content ul li + li {
  margin-left: 10px;
}
@media (max-width: 1199px) {
  .blog-sidebar .recent-post .post .post-content ul li + li {
    margin-left: 5px;
  }
}
.blog-sidebar .recent-post .post .post-content ul li i {
  color: var(--cp-aqua);
}
.blog-sidebar .recent-post .post .post-content ul li strong {
  color: var(--cp-ice);
  font-family: "Rajdhani";
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 28px;
}
.blog-sidebar .recent-post .post .post-content h4 {
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 28px;
  margin-top: 6px;
}
.blog-sidebar .recent-post .post .post-content h4 a {
  color: var(--cp-ice);
}
.blog-sidebar .recent-post .post .post-content h4 a:hover {
  color: color-mix(in srgb, var(--cp-aqua) 55%, var(--cp-ice));
}
.blog-sidebar .category-widget ul li + li {
  margin-top: 20px;
  padding-top: 15px;
  margin-top: 15px;
  border-top: 1px solid var(--cp-border);
}
.blog-sidebar .category-widget ul li a {
  color: var(--cp-ice);
  font-family: "Rajdhani";
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 27px;
  display: flex;
  justify-content: space-between;
}
@media (max-width: 1199px) {
  .blog-sidebar .category-widget ul li a {
    font-size: 16px;
    line-height: 25px;
  }
}
.blog-sidebar .category-widget ul li a i {
  margin-right: 10px;
  color: var(--cp-aqua);
  font-size: 10px;
}
.blog-sidebar .category-widget ul li a:hover {
  color: color-mix(in srgb, var(--cp-aqua) 55%, var(--cp-ice));
}
.blog-sidebar .tag-widget ul {
  display: flex;
  flex-wrap: wrap;
}
.blog-sidebar .tag-widget ul li {
  margin-right: 10px;
  margin-bottom: 15px;
  display: block;
}
.blog-sidebar .tag-widget ul li a {
  color: var(--cp-ice);
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  padding: 8px;
  position: relative;
  border-radius: 5px;
  border: 1px solid var(--cp-border);
  display: block;
}
.blog-sidebar .tag-widget ul li a:hover {
  color: var(--cp-navy);
  background: var(--cp-aqua);
}
.blog-sidebar .about-widget {
  position: relative;
  z-index: 1;
}
@media (max-width: 1200px) {
  .blog-sidebar .about-widget {
    padding: 35px;
  }
}
.blog-sidebar .about-widget .img-holder {
  margin-bottom: 25px;
}
.blog-sidebar .about-widget .img-holder img {
  border-radius: 50%;
}
.blog-sidebar .about-widget ul {
  list-style: none;
  display: flex;
}
.blog-sidebar .about-widget ul li {
  margin-right: 10px;
}
.blog-sidebar .about-widget ul li:last-child {
  margin-right: 0;
}
.blog-sidebar .about-widget ul li a {
  text-decoration: none;
  display: block;
  width: 20px;
  border-radius: 50%;
}
.blog-sidebar .about-widget h4 {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 15px;
}
.blog-sidebar .about-widget p {
  font-size: 15px;
  font-size: calc-rem-value(15);
  margin-bottom: 1.2em;
}
.blog-sidebar .about-widget a {
  font-family: "Rajdhani";
  font-size: 14px;
  font-size: calc-rem-value(14);
  color: var(--cp-ice);
  text-decoration: underline;
}
.blog-sidebar .about-widget a:hover {
  color: color-mix(in srgb, var(--cp-aqua) 55%, var(--cp-ice));
}

/* =======================
25. Blog Single Page
 ========================*/
/* blog-single-page-area  */
.blog-single-page-area .blog-single-wrap {
  /*** more-posts ***/
  /*** tag-share ***/
  /*** comments area ***/
  /*** comment-respond ***/
}
.blog-single-page-area .blog-single-wrap h2 {
  font-size: 32px;
  font-style: normal;
  font-weight: 700;
  line-height: 130%;
  text-transform: capitalize;
  margin-bottom: 15px;
}
.blog-single-page-area .blog-single-wrap .blog-img {
  position: relative;
}
.blog-single-page-area .blog-single-wrap .blog-img ul {
  display: flex;
  align-items: center;
  padding: 15px 40px;
  background-color: var(--cp-aqua);
  max-width: 505px;
  position: relative;
  border-radius: 0px 5px 0px 0px;
  position: absolute;
  left: 0;
  bottom: 0;
}
@media (max-width: 575px) {
  .blog-single-page-area .blog-single-wrap .blog-img ul {
    padding: 10px 10px;
    flex-wrap: wrap;
  }
}
.blog-single-page-area .blog-single-wrap .blog-img ul li {
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
}
@media (max-width: 575px) {
  .blog-single-page-area .blog-single-wrap .blog-img ul li {
    margin: 5px 0;
  }
}
.blog-single-page-area .blog-single-wrap .blog-img ul li i {
  margin-right: 5px;
}
.blog-single-page-area .blog-single-wrap .blog-img ul li + li {
  margin-left: 20px;
}
.blog-single-page-area .blog-single-wrap .blog-img ul li strong {
  color: var(--cp-ice);
  font-family: "Rajdhani";
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 28px;
}
.blog-single-page-area .blog-single-wrap .blog-img .date {
  padding: 15px 30px;
  background-color: var(--cp-ice);
  color: var(--cp-ice);
  position: absolute;
  right: 15px;
  top: 15px;
  border-radius: 0px 5px;
}
.blog-single-page-area .blog-single-wrap .blog-single-text-wrap {
  margin-top: 30px;
  margin-bottom: 40px;
}
.blog-single-page-area .blog-single-wrap .blog-single-text-wrap h2 {
  font-size: 36px;
  font-style: normal;
  font-weight: 700;
  line-height: 46px;
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  .blog-single-page-area .blog-single-wrap .blog-single-text-wrap h2 {
    font-size: 30px;
  }
}
@media (max-width: 575px) {
  .blog-single-page-area .blog-single-wrap .blog-single-text-wrap h2 {
    font-size: 25px;
    line-height: 36px;
    margin-bottom: 20px;
  }
}
.blog-single-page-area .blog-single-wrap .blog-single-text-wrap p {
  margin-bottom: 30px;
}
.blog-single-page-area .blog-single-wrap .blog-single-text-wrap ul li {
  padding-bottom: 15px;
}
.blog-single-page-area .blog-single-wrap blockquote {
  border-radius: 5px;
  border: 2px solid var(--cp-border);
  padding: 30px;
  font-family: "Rajdhani";
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 27px;
  color: var(--cp-text);
  margin-bottom: 40px;
}
@media (max-width: 575px) {
  .blog-single-page-area .blog-single-wrap blockquote {
    padding: 15px;
    font-size: 18px;
    line-height: 27px;
  }
}
.blog-single-page-area .blog-single-wrap blockquote span {
  display: block;
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 27px;
  font-family: "Rubik", sans-serif;
  color: color-mix(in srgb, var(--cp-aqua) 55%, var(--cp-ice));
  margin-top: 15px;
}
.blog-single-page-area .blog-single-wrap .detail-img {
  margin-top: 40px;
  margin-bottom: 30px;
}
.blog-single-page-area .blog-single-wrap .more-posts {
  overflow: hidden;
}
.blog-single-page-area .blog-single-wrap .more-posts > div {
  width: 50%;
  float: left;
}
@media (max-width: 767px) {
  .blog-single-page-area .blog-single-wrap .more-posts > div {
    width: 100%;
    float: none;
  }
}
.blog-single-page-area .blog-single-wrap .more-posts > div > a {
  display: inline-block;
}
.blog-single-page-area .blog-single-wrap .more-posts .previous-post,
.blog-single-page-area .blog-single-wrap .more-posts .next-post {
  padding: 0px 0;
  margin-top: 30px;
}
.blog-single-page-area .blog-single-wrap .more-posts .next-post {
  text-align: right;
  padding-right: 70px;
  position: relative;
}
.blog-single-page-area .blog-single-wrap .more-posts .next-post:before {
  font-family: "themify";
  content: "\e628";
  position: absolute;
  right: 0;
  top: 0;
  width: 50px;
  height: 50px;
  line-height: 50px;
  background: var(--cp-aqua);
  border-radius: 50%;
  text-align: center;
}
@media (max-width: 767px) {
  .blog-single-page-area .blog-single-wrap .more-posts .next-post:before {
    display: none;
  }
}
@media (max-width: 767px) {
  .blog-single-page-area .blog-single-wrap .more-posts .next-post {
    border-left: 0;
    text-align: left;
  }
}
.blog-single-page-area .blog-single-wrap .more-posts .next-post .post-control-link {
  position: relative;
}
.blog-single-page-area .blog-single-wrap .more-posts .previous-post {
  padding-right: 15px;
  padding-left: 5px;
  position: relative;
  padding-left: 70px;
  text-align: left;
}
@media (max-width: 767px) {
  .blog-single-page-area .blog-single-wrap .more-posts .previous-post {
    padding-left: 0;
  }
}
.blog-single-page-area .blog-single-wrap .more-posts .previous-post:before {
  font-family: "themify";
  content: "\e629";
  position: absolute;
  left: 0;
  top: 0;
  width: 50px;
  height: 50px;
  line-height: 50px;
  background: var(--cp-aqua);
  border-radius: 50%;
  text-align: center;
}
@media (max-width: 767px) {
  .blog-single-page-area .blog-single-wrap .more-posts .previous-post:before {
    display: none;
  }
}
.blog-single-page-area .blog-single-wrap .more-posts .previous-post .post-control-link {
  position: relative;
}
@media (max-width: 767px) {
  .blog-single-page-area .blog-single-wrap .more-posts .previous-post .post-control-link {
    padding-left: 0;
  }
}
.blog-single-page-area .blog-single-wrap .more-posts .previous-post > a > span,
.blog-single-page-area .blog-single-wrap .more-posts .next-post > a > span {
  display: block;
}
.blog-single-page-area .blog-single-wrap .more-posts .post-control-link {
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 30px;
  color: color-mix(in srgb, var(--cp-ice) 72%, transparent);
}
.blog-single-page-area .blog-single-wrap .more-posts .post-name {
  font-family: "Rajdhani";
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 27px;
  margin: 0;
  color: var(--cp-ice);
}
@media (max-width: 991px) {
  .blog-single-page-area .blog-single-wrap .more-posts .post-name {
    font-size: 16px;
  }
}
.blog-single-page-area .blog-single-wrap .more-posts a:hover .post-control-link {
  color: color-mix(in srgb, var(--cp-aqua) 55%, var(--cp-ice));
}
.blog-single-page-area .blog-single-wrap .tag-share {
  border-top: 1px solid var(--cp-card);
  border-bottom: 1px solid var(--cp-card);
  margin: 75px 0 0;
  padding: 30px 0;
  color: var(--cp-ice);
}
.blog-single-page-area .blog-single-wrap .tag-share ul {
  list-style: none;
  display: inline-block;
  overflow: hidden;
}
.blog-single-page-area .blog-single-wrap .tag-share ul li {
  float: left;
}
@media (max-width: 767px) {
  .blog-single-page-area .blog-single-wrap .tag-share ul li {
    margin: 2px;
  }
}
.blog-single-page-area .blog-single-wrap .tag-share ul > li + li {
  margin-left: 10px;
}
@media (max-width: 767px) {
  .blog-single-page-area .blog-single-wrap .tag-share ul > li + li {
    margin: 2px;
  }
}
.blog-single-page-area .blog-single-wrap .tag-share .tag {
  float: left;
}
@media (max-width: 600px) {
  .blog-single-page-area .blog-single-wrap .tag-share .tag {
    float: none;
  }
}
.blog-single-page-area .blog-single-wrap .tag-share .tag > span {
  color: var(--cp-ice);
  font-weight: bold;
  display: inline-block;
  padding-right: 8px;
}
.blog-single-page-area .blog-single-wrap .tag-share .tag ul {
  list-style: none;
  position: relative;
  top: 5px;
}
.blog-single-page-area .blog-single-wrap .tag-share .tag li {
  position: relative;
}
.blog-single-page-area .blog-single-wrap .tag-share .tag ul > li + li {
  margin-left: 10px;
}
.blog-single-page-area .blog-single-wrap .tag-share .tag a {
  font-size: 16px;
  font-size: calc-rem-value(16);
  color: color-mix(in srgb, var(--cp-ice) 72%, transparent);
  display: inline-block;
}
@media (max-width: 767px) {
  .blog-single-page-area .blog-single-wrap .tag-share .tag a {
    font-size: 14px;
  }
}
.blog-single-page-area .blog-single-wrap .tag-share .share {
  float: right;
  position: relative;
  top: -15px;
}
@media (max-width: 600px) {
  .blog-single-page-area .blog-single-wrap .tag-share .share {
    float: none;
    margin-top: 15px;
  }
}
.blog-single-page-area .blog-single-wrap .tag-share .share > span {
  color: var(--cp-ice);
  font-weight: 600;
  display: inline-block;
  padding-right: 8px;
}
.blog-single-page-area .blog-single-wrap .tag-share .share ul {
  position: relative;
  top: 15px;
}
.blog-single-page-area .blog-single-wrap .tag-share .share ul > li + li {
  margin-left: 10px;
}
@media (max-width: 767px) {
  .blog-single-page-area .blog-single-wrap .tag-share .share ul > li + li {
    margin-left: 8px;
  }
}
@media (max-width: 767px) {
  .blog-single-page-area .blog-single-wrap .tag-share .share ul > li {
    margin: 5px;
  }
}
.blog-single-page-area .blog-single-wrap .tag-share .share a {
  width: 35px;
  height: 35px;
  line-height: 35px;
  text-align: center;
  border: 1px solid var(--cp-border);
  border-radius: 5px;
  display: inline-block;
  font-size: 14px;
  font-size: calc-rem-value(14);
  color: color-mix(in srgb, var(--cp-ice) 72%, transparent);
}
@media (max-width: 767px) {
  .blog-single-page-area .blog-single-wrap .tag-share .share a {
    font-size: 13px;
    font-size: calc-rem-value(13);
  }
}
.blog-single-page-area .blog-single-wrap .tag-share .share a:hover {
  background: var(--cp-navy);
  border-color: color-mix(in srgb, var(--cp-aqua) 55%, var(--cp-ice));
  color: var(--cp-ice) !important;
}
.blog-single-page-area .blog-single-wrap .tag-share .share ul > li:first-child a {
  color: #3c5ba4;
}
.blog-single-page-area .blog-single-wrap .tag-share .share ul > li:nth-child(2) a {
  color: #47a0d9;
}
.blog-single-page-area .blog-single-wrap .tag-share .share ul > li:nth-child(3) a {
  color: #0073b1;
}
.blog-single-page-area .blog-single-wrap .tag-share .share ul > li:nth-child(4) a {
  color: #933f94;
}
.blog-single-page-area .blog-single-wrap .comments-area {
  margin-top: 70px;
}
.blog-single-page-area .blog-single-wrap .comments-area .comments {
  border: 2px solid var(--cp-card);
}
.blog-single-page-area .blog-single-wrap .comments-area li > div {
  border-bottom: 1px solid var(--cp-card);
  padding: 35px;
}
@media (max-width: 991px) {
  .blog-single-page-area .blog-single-wrap .comments-area li > div {
    padding: 35px 25px;
  }
}
.blog-single-page-area .blog-single-wrap .comments-area ol {
  list-style-type: none;
  padding-left: 0;
}
.blog-single-page-area .blog-single-wrap .comments-area ol ul {
  padding-left: 30px;
  list-style-type: none;
}
.blog-single-page-area .blog-single-wrap .comments-area ol > li:last-child div {
  border-bottom: 0;
}
.blog-single-page-area .blog-single-wrap .comments-area .comments-title {
  font-size: 32px;
  font-style: normal;
  font-weight: 700;
  line-height: 130%;
  text-transform: capitalize;
  margin: 0 0 1.5em;
}
@media (max-width: 991px) {
  .blog-single-page-area .blog-single-wrap .comments-area .comments-title {
    font-size: 20px;
    font-size: calc-rem-value(20);
  }
}
.blog-single-page-area .blog-single-wrap .comments-area li > div {
  position: relative;
}
.blog-single-page-area .blog-single-wrap .comments-area .comment-theme {
  position: absolute;
  left: 35px;
}
@media (max-width: 767px) {
  .blog-single-page-area .blog-single-wrap .comments-area .comment-theme {
    position: static;
  }
}
.blog-single-page-area .blog-single-wrap .comments-area .comment-theme img {
  border-radius: 5px;
}
.blog-single-page-area .blog-single-wrap .comments-area .comment-main-area {
  padding-left: 120px;
}
@media (max-width: 767px) {
  .blog-single-page-area .blog-single-wrap .comments-area .comment-main-area {
    padding-left: 0;
    margin-top: 25px;
  }
}
.blog-single-page-area .blog-single-wrap .comments-area .comment-main-area p {
  margin-bottom: 10px;
}
.blog-single-page-area .blog-single-wrap .comments-area .comments-meta h4 {
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 27px;
  color: var(--cp-ice);
  font-weight: 400;
  margin: 0 0 1em;
}
.blog-single-page-area .blog-single-wrap .comments-area .comments-meta h4 span {
  font-family: "Rubik", sans-serif;
  font-size: 13px;
  font-size: calc-rem-value(13);
  color: color-mix(in srgb, var(--cp-ice) 72%, transparent);
  font-weight: normal;
  font-style: italic;
  text-transform: none;
  display: inline-block;
  padding-left: 5px;
}
@media (max-width: 767px) {
  .blog-single-page-area .blog-single-wrap .comments-area .comments-meta h4 span {
    padding-left: 0;
  }
}
.blog-single-page-area .blog-single-wrap .comments-area .comment-reply-link {
  font-size: 13px;
  font-size: calc-rem-value(13);
  line-height: 25px;
  font-weight: 600;
  color: var(--cp-ice);
  text-align: center;
  display: inline-block;
}
.blog-single-page-area .blog-single-wrap .comment-respond {
  margin-top: 70px;
  background: var(--cp-card);
}
.blog-single-page-area .blog-single-wrap .comment-respond .comment-respond-inner {
  background: var(--cp-card);
  padding: 70px;
  box-shadow: 0px 0px 60px 0px rgba(0, 0, 0, 0.05);
}
@media (max-width: 1199px) {
  .blog-single-page-area .blog-single-wrap .comment-respond .comment-respond-inner {
    padding: 40px;
  }
}
@media (max-width: 575px) {
  .blog-single-page-area .blog-single-wrap .comment-respond .comment-respond-inner {
    padding: 15px;
  }
}
.blog-single-page-area .blog-single-wrap .comment-respond .comment-reply-title {
  font-size: 32px;
  font-style: normal;
  font-weight: 700;
  line-height: 130%;
  text-transform: capitalize;
}
.blog-single-page-area .blog-single-wrap .comment-respond p {
  margin-bottom: 50px;
}
.blog-single-page-area .blog-single-wrap .comment-respond form input,
.blog-single-page-area .blog-single-wrap .comment-respond form textarea {
  color: #A5A5A5;
  font-size: 14px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  background: none;
  width: 100%;
  height: 55px;
  border: 0;
  padding: 6px 15px;
  margin-bottom: 15px;
  outline: 0;
  border-radius: 0px;
  box-shadow: none;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  -ms-transition: all 0.3s;
  transition: all 0.3s;
  border: 1px solid rgba(6, 29, 58, 0.15);
}
.blog-single-page-area .blog-single-wrap .comment-respond form input:focus,
.blog-single-page-area .blog-single-wrap .comment-respond form textarea:focus {
  box-shadow: none;
  border-color: var(--cp-aqua);
}
@media (max-width: 991px) {
  .blog-single-page-area .blog-single-wrap .comment-respond form input,
  .blog-single-page-area .blog-single-wrap .comment-respond form textarea {
    height: 50px;
  }
}
.blog-single-page-area .blog-single-wrap .comment-respond form textarea {
  height: 220px;
  padding: 15px;
}
@media (max-width: 991px) {
  .blog-single-page-area .blog-single-wrap .comment-respond form textarea {
    height: 150px;
  }
}
.blog-single-page-area .blog-single-wrap .comment-respond .form-inputs,
.blog-single-page-area .blog-single-wrap .comment-respond .form-textarea {
  overflow: hidden;
}
.blog-single-page-area .blog-single-wrap .comment-respond .form-inputs label,
.blog-single-page-area .blog-single-wrap .comment-respond .form-textarea label {
  font-family: "Rajdhani";
  font-size: 18px;
  font-style: normal;
  font-weight: 700;
  line-height: 28px;
  margin-bottom: 10px;
}
.blog-single-page-area .blog-single-wrap .comment-respond .form-submit input {
  max-width: 100%;
  font-size: 16px;
  font-style: normal;
  font-weight: 700;
  line-height: 32px;
  letter-spacing: 1.28px;
  text-transform: uppercase;
  margin-bottom: 0;
  border: 1px solid var(--cp-aqua);
  outline: 0;
  background: var(--cp-aqua);
  border-radius: 0;
  margin-top: 30px;
  color: var(--cp-navy);
  width: 100%;
}
.blog-single-page-area .blog-single-wrap .comment-respond .form-submit input:hover {
  background-color: var(--cp-aqua-dark);
}
.blog-single-page-area.full-width .blog-img img {
  width: 100%;
}
.blog-single-page-area.full-width .detail-img img {
  width: 100%;
}

/*--------------------------------------------------------------
23. Service Page
--------------------------------------------------------------*/
.contact-pg-section {
  padding-bottom: 0px;
}
.contact-pg-section .contact-title {
  max-width: 440px;
}
@media (max-width: 991px) {
  .contact-pg-section .contact-title {
    margin: 0 auto;
  }
}
.contact-pg-section .form-field {
  margin-bottom: 30px;
}
.contact-pg-section form input,
.contact-pg-section form select,
.contact-pg-section form textarea {
  background: transparent;
  width: 100%;
  height: 50px;
  border: 1px solid transparent;
  border-radius: 5px;
  box-shadow: none !important;
  padding-left: 25px;
  border: 1px solid var(--cp-border);
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  caret-color: #ffffff !important;
  font-weight: 700 !important;
}
.contact-pg-section form input.form-control,
.contact-pg-section form select.form-control,
.contact-pg-section form textarea.form-control {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  caret-color: #ffffff !important;
  font-weight: 700 !important;
}
.contact-pg-section form input:focus,
.contact-pg-section form select:focus,
.contact-pg-section form textarea:focus,
.contact-pg-section form input.form-control:focus,
.contact-pg-section form select.form-control:focus,
.contact-pg-section form textarea.form-control:focus {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  caret-color: #ffffff !important;
  font-weight: 700 !important;
}
.contact-pg-section form input:-webkit-autofill,
.contact-pg-section form select:-webkit-autofill,
.contact-pg-section form textarea:-webkit-autofill,
.contact-pg-section form input.form-control:-webkit-autofill,
.contact-pg-section form select.form-control:-webkit-autofill,
.contact-pg-section form textarea.form-control:-webkit-autofill {
  -webkit-text-fill-color: #ffffff !important;
  caret-color: #ffffff !important;
  font-weight: 700 !important;
  -webkit-box-shadow: 0 0 0 1000px transparent inset;
  transition: background-color 5000s ease-in-out 0s;
}
@media (max-width: 991px) {
  .contact-pg-section form input,
  .contact-pg-section form select,
  .contact-pg-section form textarea {
    height: 45px;
  }
}
.contact-pg-section form input:focus,
.contact-pg-section form select:focus,
.contact-pg-section form textarea:focus {
  border-color: var(--cp-aqua);
  background: transparent;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  caret-color: #ffffff !important;
  font-weight: 700 !important;
}
.contact-pg-section form textarea {
  height: 180px;
  padding-top: 15px;
}
.contact-pg-section form {
  margin: 0 -15px;
  overflow: hidden;
}
.contact-pg-section form ::-webkit-input-placeholder {
  font-style: 15px;
  font-style: normal;
  color: color-mix(in srgb, var(--cp-ice) 55%, transparent);
}
.contact-pg-section form :-moz-placeholder {
  font-style: 15px;
  font-style: normal;
  color: color-mix(in srgb, var(--cp-ice) 55%, transparent);
}
.contact-pg-section form ::-moz-placeholder {
  font-style: 15px;
  font-style: normal;
  color: color-mix(in srgb, var(--cp-ice) 55%, transparent);
}
.contact-pg-section form :-ms-input-placeholder {
  font-style: 15px;
  font-style: normal;
  color: color-mix(in srgb, var(--cp-ice) 55%, transparent);
}
.contact-pg-section form select {
  display: inline-block;
  color: var(--cp-ice);
  cursor: pointer;
  opacity: 1;
  padding: 6px 25px;
  font-size: 15px;
  font-size: calc-rem-value(15);
  -webkit-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none;
  -moz-appearance: none;
  background: transparent url(../images/select-icon2.png) no-repeat calc(100% - 15px) center;
  position: relative;
}
.contact-pg-section form select:focus {
  background: transparent url(../images/select-icon2.png) no-repeat calc(100% - 15px) center;
}
.contact-pg-section form .submit-area {
  width: 100%;
  margin-bottom: 10px;
  margin-left: 0;
}
@media (max-width: 767px) {
  .contact-pg-section form .submit-area {
    margin-bottom: 0;
  }
}
.contact-pg-section form .submit-area .theme-btn {
  border-radius: 0px;
  font-family: "Rubik", sans-serif;
  font-size: 16px;
}
.contact-pg-section form .submit-area .theme-btn:after {
  border-radius: 0px;
}
.contact-pg-section form > div {
  margin: 0 15px 25px;
}
@media (max-width: 600px) {
  .contact-pg-section form > div {
    width: calc(100% - 25px);
    float: none;
  }
}
.contact-pg-section form .fullwidth {
  width: calc(100% - 25px);
  float: none;
  clear: both;
}
.contact-pg-section .office-info {
  padding-bottom: 100px;
}
@media (max-width: 767px) {
  .contact-pg-section .office-info {
    padding-bottom: 60px;
  }
}
@media (max-width: 1200px) {
  .contact-pg-section .office-info .col .office-info-item {
    margin-bottom: 30px;
  }
}
@media (max-width: 1200px) {
  .contact-pg-section .office-info .col:last-child .office-info-item {
    margin-bottom: 0px;
  }
}
.contact-pg-section .office-info .office-info-item {
  text-align: center;
  border: 1px solid var(--cp-border);
  padding: 40px;
  border-radius: 5px;
}
.contact-pg-section .office-info .office-info-item .office-info-icon {
  width: 85px;
  height: 85px;
  background: var(--cp-navy);
  line-height: 85px;
  text-align: center;
  margin: 0 auto;
  -webkit-border-radius: 50%;
  -moz-border-radius: 50%;
  -o-border-radius: 50%;
  -ms-border-radius: 50%;
  border-radius: 50%;
}
.contact-pg-section .office-info .office-info-item .office-info-icon .icon i {
  font-size: 30px;
  color: var(--cp-aqua);
}
.contact-pg-section .office-info .office-info-item .office-info-text h2 {
  font-size: 30px;
  font-weight: 700;
  margin: 20px 0;
}
.contact-pg-section .office-info .office-info-item .office-info-text p {
  margin-bottom: 0;
  max-width: 250px;
  margin: 0 auto;
}

/*--------------------------------------------------------------
22.	team single page
--------------------------------------------------------------*/
.team-single-section {
  /*** contact ***/
}
@media screen and (min-width: 1200px) {
  .team-single-section .team-single-content {
    padding-left: 50px;
  }
}
.team-single-section .team-single-content h2 {
  font-size: 24px;
  font-weight: 700;
}
.team-single-section .team-title h2 {
  font-size: 36px;
  margin-top: 30px;
  font-weight: 700;
  margin-bottom: 0;
}
@media (max-width: 991px) {
  .team-single-section .team-title h2 {
    font-size: 30px;
  }
}
@media (max-width: 767px) {
  .team-single-section .team-title h2 {
    font-size: 28px;
  }
}
.team-single-section .team-title span {
  color: var(--cp-ice);
}
.team-single-section h3 {
  font-size: 24px;
  margin: 1.4em 0 1em;
  font-weight: 700;
}
@media (max-width: 991px) {
  .team-single-section h3 {
    font-size: 20px;
  }
}
.team-single-section p {
  font-size: 18px;
  font-size: calc-rem-value(18);
  margin-bottom: 0;
}
@media (max-width: 991px) {
  .team-single-section p {
    font-size: 16px;
    font-size: calc-rem-value(16);
  }
}
.team-single-section ul,
.team-single-section ol {
  font-size: 18px;
  font-size: calc-rem-value(18);
}
@media (max-width: 991px) {
  .team-single-section ul,
  .team-single-section ol {
    font-size: 16px;
    font-size: calc-rem-value(16);
  }
}
.team-single-section ol > li + li {
  margin-top: 12px;
}
.team-single-section .info-table {
  margin-top: 30px;
}
.team-single-section .info-table td {
  border: 1px solid var(--cp-border);
  padding: 8px 12px;
}
.team-single-section .info-table .table tr > td:first-child {
  color: var(--cp-ice);
}
.team-single-section .info-table .social {
  float: right;
  margin-top: 18px;
}
@media (max-width: 991px) {
  .team-single-section .info-table .social {
    float: none;
    margin: 0 0 15px;
  }
}
.team-single-section .info-table ul {
  overflow: hidden;
}
@media (max-width: 991px) {
  .team-single-section .info-table ul {
    display: inline-block;
  }
}
.team-single-section .info-table ul li {
  float: left;
}
.team-single-section .info-table ul > li + li {
  margin-left: 10px;
}
.team-single-section .info-table ul a {
  color: var(--cp-ice);
  font-size: 14px;
}
.team-single-section .info-table ul a:hover {
  color: color-mix(in srgb, var(--cp-aqua) 55%, var(--cp-ice));
}
.team-single-section .contact {
  padding-top: 40px;
}
@media (max-width: 991px) {
  .team-single-section .contact {
    padding-top: 20px;
  }
}
.team-single-section .contact form {
  overflow: hidden;
  margin: 0 -15px;
}
@media (max-width: 767px) {
  .team-single-section .contact form {
    margin: 0 0 0 -15px;
  }
}
.team-single-section .contact form .half-col {
  width: 50%;
  float: left;
}
@media (max-width: 600px) {
  .team-single-section .contact form .half-col {
    width: 100%;
    float: left;
  }
}
.team-single-section .contact form div {
  padding: 0 15px 30px;
}
@media (max-width: 767px) {
  .team-single-section .contact form div {
    padding: 0 0 15px 15px;
  }
}
.team-single-section .contact form .submit-btn-wrapper {
  padding-bottom: 0;
}
.team-single-section .contact form input,
.team-single-section .contact form textarea {
  background-color: var(--cp-card);
  height: 55px;
  padding: 6px 15px;
  border: 2px solid var(--cp-card);
  border-radius: 0;
  box-shadow: none;
}
@media (max-width: 767px) {
  .team-single-section .contact form input,
  .team-single-section .contact form textarea {
    height: 45px;
  }
}
.team-single-section .contact form input:focus,
.team-single-section .contact form textarea:focus {
  box-shadow: none;
  border-color: var(--cp-ice);
}
.team-single-section .contact form textarea {
  height: 200px;
  padding: 15px;
}

@media (max-width: 991px) {
  .team-single-sidebar {
    margin-bottom: 50px;
  }
}
.team-single-sidebar > .widget + .widget {
  margin-top: 50px;
}
@media (max-width: 991px) {
  .team-single-sidebar > .widget + .widget {
    margin-top: 50px;
  }
}
.team-single-sidebar .widget h3 {
  font-size: 24px;
  margin: 0 0 0.6em;
  font-weight: 700;
}
.team-single-sidebar .team-widget {
  border: 4px solid var(--cp-card);
  padding: 40px 30px;
}
.team-single-sidebar .team-widget img {
  width: 100%;
}
.team-single-sidebar .contact-widget {
  border: 4px solid var(--cp-card);
  padding: 40px 30px;
  overflow-wrap: break-word;
}
.team-single-sidebar .contact-widget li span {
  color: var(--cp-ice);
}
.team-single-sidebar .contact-widget ul > li + li {
  margin-top: 15px;
}

/*--------------------------------------------------------------
26. top bar (above main menu) - colors follow active preset
--------------------------------------------------------------*/
.cp-topbar {
  background: var(--cp-navy);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  position: relative;
  z-index: 2;
}
.cp-topbar .cp-topbar-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
}
.cp-topbar ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
}
.cp-topbar .cp-topbar-info li {
  padding: 11px 0;
}
.cp-topbar .cp-topbar-info li + li {
  margin-left: 28px;
  padding-left: 28px;
  border-left: 1px solid rgba(255, 255, 255, 0.12);
}
.cp-topbar .cp-topbar-info li a {
  color: var(--cp-ice);
  font-size: 14px;
  line-height: 24px;
  display: flex;
  align-items: center;
  -webkit-transition: all 0.2s;
  -moz-transition: all 0.2s;
  -o-transition: all 0.2s;
  -ms-transition: all 0.2s;
  transition: all 0.2s;
}
.cp-topbar .cp-topbar-info li a i {
  color: var(--cp-aqua);
  font-size: 16px;
  margin-right: 9px;
  display: inline-block;
}
.cp-topbar .cp-topbar-info li a:hover {
  color: var(--cp-aqua);
}
.cp-topbar .cp-topbar-right {
  display: flex;
  align-items: center;
}
.cp-topbar .cp-topbar-social li + li {
  margin-left: 10px;
}
.cp-topbar .cp-topbar-social li a {
  width: 34px;
  height: 34px;
  border: 1px solid rgba(255, 255, 255, 0.25);
  border-radius: 50%;
  color: var(--cp-ice);
  font-size: 13px;
  display: flex;
  align-items: center;
  justify-content: center;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  -ms-transition: all 0.3s;
  transition: all 0.3s;
}
.cp-topbar .cp-topbar-social li a:hover {
  background: var(--cp-aqua);
  border-color: var(--cp-aqua);
  color: var(--cp-navy);
}
.cp-topbar .cp-topbar-btn {
  display: inline-block;
  margin-left: 28px;
  padding: 9px 30px;
  background: var(--cp-aqua);
  color: var(--cp-navy);
  border-radius: 30px;
  font-family: "Rajdhani";
  font-size: 14px;
  font-weight: 700;
  line-height: 22px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  -ms-transition: all 0.3s;
  transition: all 0.3s;
}
.cp-topbar .cp-topbar-btn:hover {
  background: var(--cp-ice);
  color: var(--cp-navy);
}
@media (max-width: 1199px) {
  .cp-topbar .cp-topbar-info li + li {
    margin-left: 18px;
    padding-left: 18px;
  }
  .cp-topbar .cp-topbar-btn {
    margin-left: 18px;
    padding: 9px 22px;
  }
}
@media (max-width: 991px) {
  .cp-topbar {
    display: none;
  }
}

/*--------------------------------------------------------------
27. language switcher (top bar, aligned with Login) - colors follow preset
--------------------------------------------------------------*/
.cp-lang-switcher {
  position: relative;
  display: inline-block;
  text-align: left;
}
.cp-topbar .cp-lang-switcher {
  margin-left: 18px;
}
.cp-lang-switcher .cp-lang-toggle {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  background: var(--cp-navy);
  color: var(--cp-ice);
  border: 1px solid rgba(255, 255, 255, 0.22);
  border-radius: 30px;
  padding: 7px 18px;
  font-family: "Rubik", sans-serif;
  font-size: 14px;
  font-weight: 500;
  line-height: 22px;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -o-transition: all 0.3s;
  -ms-transition: all 0.3s;
  transition: all 0.3s;
}
.cp-lang-switcher .cp-lang-toggle:hover,
.cp-lang-switcher .cp-lang-toggle:focus {
  border-color: var(--cp-aqua);
  outline: none;
}
.cp-lang-switcher .cp-lang-toggle i {
  font-size: 15px;
  line-height: 1;
}
.cp-lang-switcher .cp-lang-toggle .ti-world {
  color: var(--cp-aqua);
  font-size: 17px;
}
.cp-lang-switcher .cp-lang-toggle .cp-lang-caret {
  font-size: 11px;
  margin-left: 2px;
  -webkit-transition: transform 0.3s;
  transition: transform 0.3s;
}
.cp-lang-switcher.cp-lang-open .cp-lang-toggle .cp-lang-caret {
  transform: rotate(180deg);
}
.cp-lang-switcher .cp-lang-dropdown {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  min-width: 160px;
  margin: 0;
  padding: 6px;
  list-style: none;
  background: var(--cp-card);
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-radius: 8px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.22);
  z-index: 999;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  -o-transition: all 0.25s;
  -ms-transition: all 0.25s;
  transition: all 0.25s;
}
.cp-lang-switcher.cp-lang-open .cp-lang-dropdown {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.cp-lang-switcher .cp-lang-dropdown li + li {
  margin-top: 2px;
}
.cp-lang-switcher .cp-lang-dropdown button {
  display: block;
  width: 100%;
  text-align: left;
  background: transparent;
  border: 0;
  border-radius: 5px;
  padding: 9px 14px;
  font-family: "Rubik", sans-serif;
  font-size: 14px;
  font-weight: 500;
  color: var(--cp-navy);
  cursor: pointer;
  -webkit-transition: all 0.2s;
  -moz-transition: all 0.2s;
  -o-transition: all 0.2s;
  -ms-transition: all 0.2s;
  transition: all 0.2s;
}
.cp-lang-switcher .cp-lang-dropdown button:hover,
.cp-lang-switcher .cp-lang-dropdown button:focus {
  background: var(--cp-aqua);
  color: var(--cp-navy);
  outline: none;
}
.cp-lang-switcher .cp-lang-dropdown button.cp-active {
  color: var(--cp-aqua);
  font-weight: 700;
}
.cp-lang-switcher .cp-lang-dropdown button.cp-active:hover {
  color: var(--cp-navy);
}
@media (max-width: 575px) {
  .cp-lang-switcher .cp-lang-toggle {
    padding: 7px 14px;
    font-size: 13px;
  }
  .cp-lang-switcher .cp-lang-dropdown {
    min-width: 140px;
  }
}

/*--------------------------------------------------------------
28. mega menu (Attractions) - colors follow active preset
--------------------------------------------------------------*/
.cp-header-area .menu-area {
  position: relative;
}
.cp-header-area .main-menu ul li.cp-mega-li {
  position: static;
}
.cp-header-area .main-menu ul li.cp-mega-li > a::after {
  font-family: "themify";
  content: "\e64b";
  font-size: 11px;
  margin-left: 7px;
  display: inline-block;
  color: var(--cp-aqua);
}
.cp-mega-menu {
  position: absolute;
  top: 78%;
  left: 50%;
  width: 100%;
  max-width: 1265px;
  z-index: 99;
  padding: 32px 38px 38px;
  background: var(--cp-navy);
  border-radius: 10px;
  box-shadow: 0 30px 70px rgba(0, 0, 0, 0.45);
  text-align: left;
  opacity: 0;
  visibility: hidden;
  transform: translateX(-50%) translateY(18px);
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.cp-header-area .main-menu ul li.cp-mega-li:hover .cp-mega-menu,
.cp-header-area .main-menu ul li.cp-mega-li .cp-mega-menu:hover {
  opacity: 1;
  visibility: visible;
  transform: translateX(-50%) translateY(0);
}
/* sub-menu cards: square image left, heading + description + button right */
.cp-mega-menu .cp-mega-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
.cp-mega-menu .cp-mega-item {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 16px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.10);
  border-radius: 10px;
  text-decoration: none;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  -ms-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.cp-mega-menu .cp-mega-item:hover {
  transform: translateY(-4px);
  border-color: var(--cp-aqua);
  background: rgba(255, 255, 255, 0.07);
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.35);
}
.cp-mega-menu .cp-mega-item-img {
  flex: 0 0 auto;
  width: 130px;
  height: 130px;
  border-radius: 8px;
  overflow: hidden;
}
.cp-mega-menu .cp-mega-item-img img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  -webkit-transition: transform 0.5s ease;
  -moz-transition: transform 0.5s ease;
  -o-transition: transform 0.5s ease;
  -ms-transition: transform 0.5s ease;
  transition: transform 0.5s ease;
}
.cp-mega-menu .cp-mega-item:hover .cp-mega-item-img img {
  transform: scale(1.08);
}
.cp-mega-menu .cp-mega-item-text {
  display: flex;
  flex-direction: column;
  gap: 7px;
  min-width: 0;
}
.cp-mega-menu .cp-mega-item-title {
  display: block;
  font-family: "Rajdhani";
  font-size: 19px;
  font-weight: 700;
  line-height: 1.2;
  color: var(--cp-ice);
  -webkit-transition: color 0.25s;
  -moz-transition: color 0.25s;
  -o-transition: color 0.25s;
  -ms-transition: color 0.25s;
  transition: color 0.25s;
}
.cp-mega-menu .cp-mega-item:hover .cp-mega-item-title {
  color: var(--cp-aqua);
}
.cp-mega-menu .cp-mega-item-desc {
  display: block;
  font-family: "Rubik", sans-serif;
  font-size: 14px;
  line-height: 1.55;
  color: #b9c8d4;
  color: color-mix(in srgb, var(--cp-ice) 70%, transparent);
}
.cp-mega-menu .cp-mega-item-btn {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-top: 3px;
  font-family: "Rajdhani";
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  color: var(--cp-aqua);
}
.cp-mega-menu .cp-mega-item-btn i {
  font-size: 11px;
  -webkit-transition: transform 0.25s;
  transition: transform 0.25s;
}
.cp-mega-menu .cp-mega-item:hover .cp-mega-item-btn i {
  transform: translateX(4px);
}
@media (max-width: 1199px) {
  .cp-mega-menu {
    padding: 26px 28px 30px;
  }
  .cp-mega-menu .cp-mega-grid {
    gap: 14px;
  }
  .cp-mega-menu .cp-mega-item {
    gap: 14px;
    padding: 13px;
  }
  .cp-mega-menu .cp-mega-item-img {
    width: 105px;
    height: 105px;
  }
  .cp-mega-menu .cp-mega-item-title {
    font-size: 17px;
  }
  .cp-mega-menu .cp-mega-item-desc {
    font-size: 13px;
  }
}
/* mobile: meanmenu shows its own cloned nav - never show the panel there */
@media (max-width: 991px) {
  .cp-mega-menu {
    display: none !important;
  }
}
.mean-nav .cp-mega-menu {
  display: none !important;
}

/* dropdown sub-menus (Visit / Gallery / Articles) - preset-aware navy panel */
.cp-header-area .main-menu ul .sub-menu.cp-sub-preset {
  background: var(--cp-navy);
  border: 1px solid rgba(255, 255, 255, 0.10);
  border-top: 3px solid var(--cp-aqua);
  border-radius: 0 0 10px 10px;
  box-shadow: 0 24px 50px rgba(0, 0, 0, 0.40);
  padding: 10px;
  width: 250px;
}
.cp-header-area .main-menu ul > li .sub-menu.cp-sub-preset a {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 11px 16px;
  border-radius: 6px;
  font-size: 15px;
  color: #cfdae2;
  color: color-mix(in srgb, var(--cp-ice) 82%, transparent);
  -webkit-transition: all 0.25s ease;
  -moz-transition: all 0.25s ease;
  -o-transition: all 0.25s ease;
  -ms-transition: all 0.25s ease;
  transition: all 0.25s ease;
}
.cp-header-area .main-menu ul > li .sub-menu.cp-sub-preset a i {
  color: var(--cp-aqua);
  font-size: 15px;
  line-height: 1;
  -webkit-transition: all 0.25s;
  -moz-transition: all 0.25s;
  -o-transition: all 0.25s;
  -ms-transition: all 0.25s;
  transition: all 0.25s;
}
.cp-header-area .main-menu ul > li .sub-menu.cp-sub-preset a:hover {
  background: rgba(255, 255, 255, 0.06);
  color: var(--cp-aqua);
  padding-left: 24px;
}
/* sticky (pinned) menu bar is solid: keep the sub-menu flush with the bar's
   bottom edge instead of the transparent-header text offset */
@media screen and (min-width: 992px) {
  .cp-header-area .menu-area.sticky .main-menu ul .sub-menu {
    top: calc(100% - 1px);
  }
  .cp-header-area .menu-area.sticky .main-menu ul > li:hover > .sub-menu {
    top: calc(100% - 1px);
  }
}
/*# sourceMappingURL=style.css.map */

/* Light text additions for the parallax backdrop */
.contact-pg-section form select option { color: var(--cp-navy); }
.ch-newsletter-area .newsletter-form .form-field input::placeholder { color: color-mix(in srgb, var(--cp-ice) 55%, transparent); }

/* ============================================================
   Water wave divider (index: text-moving -> service-area)
   Three layered SVG swells drifting at different speeds, edges
   masked so the water fades into both neighbouring sections.
   Colors follow the active color preset.
   ============================================================ */
.cp-wave-divider {
  position: relative;
  height: clamp(80px, 12vw, 150px);
  margin-top: clamp(-50px, -4vw, -30px);
  margin-bottom: clamp(-50px, -4vw, -30px);
  overflow: hidden;
  z-index: 2;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 26%, #000 72%, transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0%, #000 26%, #000 72%, transparent 100%);
}
.cp-wave {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 200%;
  height: 100%;
  will-change: transform;
}
.cp-wave svg {
  display: block;
  width: 100%;
  height: 100%;
}
.cp-wave-back {
  color: color-mix(in srgb, var(--cp-aqua) 38%, transparent);
  animation: cp-wave-drift 8s linear infinite;
}
.cp-wave-mid {
  color: color-mix(in srgb, var(--cp-ocean) 60%, transparent);
  animation: cp-wave-drift 5.5s linear infinite reverse;
}
.cp-wave-front {
  color: color-mix(in srgb, var(--cp-navy) 82%, transparent);
  animation: cp-wave-drift 3.5s linear infinite;
}
.cp-wave-foam {
  color: color-mix(in srgb, var(--cp-ice) 60%, transparent);
  animation: cp-wave-drift 8s linear infinite reverse;
  opacity: 0.7;
}
@keyframes cp-wave-drift {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-50%, 0, 0); }
}

/* Rising aquarium bubbles */
.cp-bubble {
  position: absolute;
  bottom: -20px;
  border-radius: 50%;
  background: radial-gradient(circle at 32% 30%,
    color-mix(in srgb, var(--cp-ice) 85%, transparent) 0%,
    color-mix(in srgb, var(--cp-aqua) 45%, transparent) 58%,
    transparent 72%);
  opacity: 0;
  animation: cp-bubble-rise 9s linear infinite;
  will-change: transform, opacity;
}
.cp-bubble-1  { left: 6%;  width: 12px; height: 12px; animation-delay: 0s;   animation-duration: 4.5s; }
.cp-bubble-2  { left: 14%; width: 7px;  height: 7px;  animation-delay: 1.1s; animation-duration: 3.8s; }
.cp-bubble-3  { left: 22%; width: 10px; height: 10px; animation-delay: 2.2s; animation-duration: 5s; }
.cp-bubble-4  { left: 30%; width: 6px;  height: 6px;  animation-delay: 0.7s; animation-duration: 3.5s; }
.cp-bubble-5  { left: 38%; width: 11px; height: 11px; animation-delay: 1.6s; animation-duration: 4.7s; }
.cp-bubble-6  { left: 46%; width: 8px;  height: 8px;  animation-delay: 2.8s; animation-duration: 4s; }
.cp-bubble-7  { left: 54%; width: 9px;  height: 9px;  animation-delay: 0.4s; animation-duration: 4.2s; }
.cp-bubble-8  { left: 62%; width: 5px;  height: 5px;  animation-delay: 1.9s; animation-duration: 3.6s; }
.cp-bubble-9  { left: 70%; width: 12px; height: 12px; animation-delay: 3.1s; animation-duration: 4.9s; }
.cp-bubble-10 { left: 78%; width: 7px;  height: 7px;  animation-delay: 0.9s; animation-duration: 3.9s; }
.cp-bubble-11 { left: 86%; width: 10px; height: 10px; animation-delay: 2.5s; animation-duration: 4.4s; }
.cp-bubble-12 { left: 94%; width: 6px;  height: 6px;  animation-delay: 1.4s; animation-duration: 3.7s; }
@keyframes cp-bubble-rise {
  0%   { transform: translate3d(0, 0, 0) scale(0.6); opacity: 0; }
  12%  { opacity: 0.85; }
  50%  { transform: translate3d(12px, -70px, 0) scale(1); }
  85%  { opacity: 0.5; }
  100% { transform: translate3d(-8px, -150px, 0) scale(1.05); opacity: 0; }
}

@media (max-width: 767px) {
  .cp-bubble-2, .cp-bubble-4, .cp-bubble-7, .cp-bubble-9, .cp-bubble-11 { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .cp-wave, .cp-bubble { animation: none; }
}

/* ============================================================
   Infinite scroll card slider (index: top of service-area)
   Two identical card sets in a flex track; translating -50%
   loops seamlessly. Cards use a preset-gradient border, aqua
   glow, hover zoom + glass overlay. Pauses on hover.
   ============================================================ */
.cp-card-slider {
  position: relative;
  overflow: hidden;
  margin-top: clamp(-60px, -5vw, -30px);
  margin-bottom: clamp(50px, 7vw, 90px);
  padding: 12px 0;
  -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 6%, #000 94%, transparent 100%);
  mask-image: linear-gradient(to right, transparent 0%, #000 6%, #000 94%, transparent 100%);
}
.cp-cs-track {
  display: flex;
  width: max-content;
  will-change: transform;
  animation: cp-cs-scroll 45s linear infinite;
}
.cp-card-slider:hover .cp-cs-track {
  animation-play-state: paused;
}
@keyframes cp-cs-scroll {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-50%, 0, 0); }
}
.cp-cs-card {
  position: relative;
  flex: 0 0 auto;
  width: clamp(200px, 24vw, 320px);
  aspect-ratio: 3 / 2;
  margin-right: clamp(14px, 2vw, 26px);
  border-radius: 18px;
  overflow: hidden;
  border: 1.5px solid transparent;
  background:
    linear-gradient(color-mix(in srgb, var(--cp-navy) 60%, transparent), color-mix(in srgb, var(--cp-navy) 60%, transparent)) padding-box,
    linear-gradient(135deg, var(--cp-aqua) 0%, color-mix(in srgb, var(--cp-aqua) 25%, var(--cp-ice)) 48%, var(--cp-ocean) 100%) border-box;
  box-shadow:
    0 10px 30px color-mix(in srgb, var(--cp-aqua) 22%, transparent),
    0 4px 12px rgba(0, 0, 0, 0.35);
  transition: transform 0.45s ease, box-shadow 0.45s ease;
}
.cp-cs-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.6s ease;
}
.cp-cs-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-end;
  padding: 16px 18px;
  background: linear-gradient(to top, color-mix(in srgb, var(--cp-navy) 88%, transparent) 0%, transparent 55%);
  opacity: 0;
  transition: opacity 0.45s ease;
}
.cp-cs-overlay span {
  color: var(--cp-ice);
  font-family: "Roboto", sans-serif;
  font-size: 17px;
  font-weight: 700;
  letter-spacing: 0.4px;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6);
  transform: translateY(8px);
  transition: transform 0.45s ease;
}
.cp-cs-card:hover {
  transform: translateY(-8px);
  box-shadow:
    0 18px 44px color-mix(in srgb, var(--cp-aqua) 40%, transparent),
    0 0 0 1px color-mix(in srgb, var(--cp-aqua) 55%, transparent),
    0 6px 16px rgba(0, 0, 0, 0.4);
}
.cp-cs-card:hover img {
  transform: scale(1.1);
}
.cp-cs-card:hover .cp-cs-overlay {
  opacity: 1;
}
.cp-cs-card:hover .cp-cs-overlay span {
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  .cp-card-slider { overflow-x: auto; }
  .cp-cs-track { animation: none; }
}

/* ============================================================
   Aquarium Park service cards (index service-wrap)
   Head: square wildlife thumb + heading/subtitle
   Body: short description
   Foot: interactive animated Explore button
   ============================================================ */
.service-area .service-item.cp-ap-card {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 22px;
  border-radius: 18px;
  background:
    linear-gradient(color-mix(in srgb, var(--cp-card) 92%, transparent), color-mix(in srgb, var(--cp-card) 92%, transparent)) padding-box,
    linear-gradient(135deg, var(--cp-aqua), color-mix(in srgb, var(--cp-aqua) 30%, var(--cp-ice)), var(--cp-ocean)) border-box;
  border: 1.5px solid transparent;
  box-shadow:
    0 14px 34px color-mix(in srgb, var(--cp-aqua) 18%, transparent),
    0 4px 14px rgba(0, 0, 0, 0.28);
  transform: translateY(0);
  transition: transform 0.45s ease, box-shadow 0.45s ease;
  overflow: hidden;
}
.service-area .service-item.cp-ap-card:hover,
.service-area .service-item.cp-ap-card.active {
  transform: translateY(-12px);
  box-shadow:
    0 22px 48px color-mix(in srgb, var(--cp-aqua) 36%, transparent),
    0 0 0 1px color-mix(in srgb, var(--cp-aqua) 45%, transparent),
    0 8px 20px rgba(0, 0, 0, 0.35);
}
@media (max-width: 991px) {
  .service-area .service-item.cp-ap-card:hover,
  .service-area .service-item.cp-ap-card.active {
    transform: translateY(-6px);
  }
}

.cp-ap-head {
  display: flex;
  align-items: center;
  gap: 16px;
}
.cp-ap-thumb {
  flex: 0 0 auto;
  width: 78px;
  height: 78px;
  border-radius: 14px;
  overflow: hidden;
  border: 2px solid color-mix(in srgb, var(--cp-aqua) 55%, transparent);
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--cp-aqua) 12%, transparent);
}
.cp-ap-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.55s ease;
}
.cp-ap-card:hover .cp-ap-thumb img {
  transform: scale(1.12);
}
.cp-ap-titles {
  min-width: 0;
  flex: 1;
}
.cp-ap-titles h3 {
  margin: 0 0 4px;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.15;
}
.cp-ap-titles h3 a {
  color: var(--cp-navy);
  transition: color 0.3s ease;
}
.cp-ap-card:hover .cp-ap-titles h3 a {
  color: var(--cp-aqua);
}
.cp-ap-titles span {
  display: block;
  color: color-mix(in srgb, var(--cp-navy) 55%, var(--cp-aqua));
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.3px;
  line-height: 1.35;
}

.cp-ap-body {
  flex: 1;
}
.cp-ap-body p {
  margin: 0;
  color: color-mix(in srgb, var(--cp-navy) 72%, var(--cp-gray));
  font-size: 15px;
  line-height: 1.7;
}

.cp-ap-foot {
  margin-top: 4px;
}
.cp-ap-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 11px 20px;
  border-radius: 999px;
  background: var(--cp-aqua);
  color: var(--cp-ice);
  font-family: "Rajdhani", sans-serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  position: relative;
  overflow: hidden;
  transition: color 0.35s ease, box-shadow 0.35s ease, transform 0.35s ease;
  box-shadow: 0 8px 18px color-mix(in srgb, var(--cp-aqua) 35%, transparent);
}
.cp-ap-btn::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 30%, color-mix(in srgb, var(--cp-ice) 35%, transparent) 50%, transparent 70%);
  transform: translateX(-120%);
  transition: transform 0.6s ease;
}
.cp-ap-btn span,
.cp-ap-btn i {
  position: relative;
  z-index: 1;
}
.cp-ap-btn i {
  font-size: 14px;
  transition: transform 0.35s ease;
}
.cp-ap-btn:hover,
.cp-ap-card:hover .cp-ap-btn {
  color: var(--cp-ice);
  background: var(--cp-navy);
  box-shadow: 0 12px 26px color-mix(in srgb, var(--cp-navy) 40%, transparent);
  transform: translateX(2px);
}
.cp-ap-btn:hover::before,
.cp-ap-card:hover .cp-ap-btn::before {
  transform: translateX(120%);
}
.cp-ap-btn:hover i,
.cp-ap-card:hover .cp-ap-btn i {
  transform: translateX(5px);
}

@media (max-width: 575px) {
  .cp-ap-thumb {
    width: 68px;
    height: 68px;
  }
  .cp-ap-titles h3 {
    font-size: 22px;
  }
}

/* ============================================================
   About-area Aquarium Park polish (hover + motion)
   Keeps original layout; adds image zoom, icon float,
   feature hover glow, and stat chip pulse.
   ============================================================ */
.about-area .about-left-item .about-left-top .right-img,
.about-area .about-left-item .about-left-bottom .left-img {
  overflow: hidden;
}
.about-area .about-left-item .about-left-top .right-img {
  border-radius: 145px 0px 146px 150.5px;
}
.about-area .about-left-item .about-left-bottom .left-img {
  border-radius: 18px;
}
.about-area .about-left-item .about-left-top .right-img img,
.about-area .about-left-item .about-left-bottom .left-img img {
  transition: transform 0.7s ease, filter 0.45s ease;
  will-change: transform;
}
.about-area .about-left-item .about-left-top .right-img:hover img,
.about-area .about-left-item .about-left-bottom .left-img:hover img {
  transform: scale(1.08);
  filter: brightness(1.06) saturate(1.08);
}
.about-area .about-left-item .about-left-top .right-img:before {
  transition: border-color 0.4s ease, transform 0.4s ease;
}
.about-area .about-left-item .about-left-top .right-img:hover:before {
  border-color: color-mix(in srgb, var(--cp-aqua) 70%, var(--cp-ice));
  transform: translate(4px, 4px);
}
.about-area .about-left-item .about-left-top .icon {
  animation: cp-about-icon-float 3.6s ease-in-out infinite;
  box-shadow: 0 10px 24px color-mix(in srgb, var(--cp-aqua) 35%, transparent);
  transition: box-shadow 0.35s ease, transform 0.35s ease;
}
.about-area .about-left-item .about-left-top .icon:hover {
  animation-play-state: paused;
  box-shadow: 0 14px 32px color-mix(in srgb, var(--cp-aqua) 55%, transparent);
}
@keyframes cp-about-icon-float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-10px); }
}
.about-area .about-left-item .about-left-bottom .right-text {
  transition: transform 0.4s ease, box-shadow 0.4s ease, background 0.4s ease;
}
.about-area .about-left-item .about-left-bottom .right-text:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 36px color-mix(in srgb, var(--cp-aqua) 28%, transparent);
}
.about-area .about-left-item .about-left-bottom .right-text i {
  transition: transform 0.4s ease, color 0.4s ease;
}
.about-area .about-left-item .about-left-bottom .right-text:hover i {
  transform: rotate(-12deg) scale(1.08);
  color: var(--cp-aqua);
}
.about-area .about-features-wrap .about-features-item {
  padding: 14px 12px;
  border-radius: 14px;
  border: 1px solid transparent;
  transition: transform 0.4s ease, background 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease;
}
.about-area .about-features-wrap .about-features-item:hover {
  transform: translateY(-6px);
  background: color-mix(in srgb, var(--cp-card) 18%, transparent);
  border-color: color-mix(in srgb, var(--cp-aqua) 35%, transparent);
  box-shadow: 0 12px 28px color-mix(in srgb, var(--cp-aqua) 18%, transparent);
}
.about-area .about-features-wrap .about-features-item i {
  transition: transform 0.4s ease, color 0.4s ease, text-shadow 0.4s ease;
}
.about-area .about-features-wrap .about-features-item:hover i {
  transform: scale(1.12);
  color: var(--cp-aqua);
  text-shadow: 0 0 18px color-mix(in srgb, var(--cp-aqua) 55%, transparent);
}
.about-area .about-features-wrap .about-features-item h4 {
  transition: color 0.35s ease;
}
.about-area .about-features-wrap .about-features-item:hover h4 {
  color: var(--cp-aqua);
}
.about-area .about-right-text > span {
  transition: letter-spacing 0.35s ease, color 0.35s ease;
}
.about-area .about-right-item:hover .about-right-text > span {
  letter-spacing: 2.4px;
  color: var(--cp-aqua);
}
@media (prefers-reduced-motion: reduce) {
  .about-area .about-left-item .about-left-top .icon {
    animation: none;
  }
}

/* ============================================================
   Aquarium Park Ticket Pricing
   ============================================================ */
.cp-tickets-area {
  --ticket-regular: var(--cp-aqua);
  --ticket-student: color-mix(in srgb, var(--cp-aqua) 40%, #19a463);
  --ticket-corporate: color-mix(in srgb, var(--cp-ocean) 45%, #6d5bd0);
  position: relative;
  overflow: hidden;
}
.cp-tickets-area::before,
.cp-tickets-area::after {
  content: "";
  position: absolute;
  pointer-events: none;
  z-index: 0;
  opacity: 0.18;
  background: radial-gradient(circle at 30% 40%, color-mix(in srgb, var(--cp-aqua) 50%, transparent) 0 2px, transparent 3px),
              radial-gradient(circle at 70% 60%, color-mix(in srgb, var(--cp-ice) 40%, transparent) 0 1.5px, transparent 3px);
  background-size: 180px 120px;
}
.cp-tickets-area::before {
  width: 260px;
  height: 180px;
  left: -40px;
  top: 40px;
  border-radius: 50% 40% 60% 30%;
  filter: blur(1px);
}
.cp-tickets-area::after {
  width: 300px;
  height: 200px;
  right: -50px;
  bottom: 80px;
  border-radius: 40% 60% 35% 55%;
}
.cp-tickets-area > .container {
  position: relative;
  z-index: 1;
}
.cp-tickets-bubbles {
  position: absolute;
  inset: 0;
  pointer-events: none;
  overflow: hidden;
  z-index: 0;
}
.cp-tickets-bubbles span {
  position: absolute;
  bottom: -30px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 30%, color-mix(in srgb, var(--cp-ice) 80%, transparent), color-mix(in srgb, var(--cp-aqua) 40%, transparent));
  animation: cp-ticket-bubble 11s linear infinite;
  opacity: 0;
}
.cp-tickets-bubbles span:nth-child(1) { left: 8%;  width: 8px;  height: 8px;  animation-delay: 0s; }
.cp-tickets-bubbles span:nth-child(2) { left: 22%; width: 14px; height: 14px; animation-delay: 2s; animation-duration: 13s; }
.cp-tickets-bubbles span:nth-child(3) { left: 40%; width: 9px;  height: 9px;  animation-delay: 4s; }
.cp-tickets-bubbles span:nth-child(4) { left: 58%; width: 12px; height: 12px; animation-delay: 1s; animation-duration: 12s; }
.cp-tickets-bubbles span:nth-child(5) { left: 74%; width: 7px;  height: 7px;  animation-delay: 3.5s; }
.cp-tickets-bubbles span:nth-child(6) { left: 90%; width: 11px; height: 11px; animation-delay: 5s; animation-duration: 14s; }
@keyframes cp-ticket-bubble {
  0%   { transform: translateY(0) scale(0.7); opacity: 0; }
  12%  { opacity: 0.7; }
  100% { transform: translateY(-110vh) scale(1.1); opacity: 0; }
}

.cp-tickets-head {
  text-align: center;
  max-width: 640px;
  margin: 0 auto 48px;
}
.cp-tickets-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--cp-aqua) 18%, transparent);
  border: 1px solid color-mix(in srgb, var(--cp-aqua) 45%, transparent);
  color: var(--cp-ice);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  margin-bottom: 18px;
}
.cp-tickets-head h2 {
  color: var(--cp-ice);
  font-size: clamp(28px, 4vw, 42px);
  margin-bottom: 12px;
}
.cp-tickets-head p {
  color: color-mix(in srgb, var(--cp-ice) 78%, transparent);
  margin: 0;
  font-size: 16px;
}
.cp-tickets-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin-top: 22px;
}
.cp-tickets-divider::before,
.cp-tickets-divider::after {
  content: "";
  width: min(140px, 28vw);
  height: 1px;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--cp-aqua) 70%, transparent), transparent);
}
.cp-tickets-fish {
  width: 18px;
  height: 10px;
  background: var(--cp-aqua);
  border-radius: 50% 60% 60% 50%;
  position: relative;
  display: inline-block;
}
.cp-tickets-fish::after {
  content: "";
  position: absolute;
  right: -7px;
  top: 1px;
  border: 4px solid transparent;
  border-left-color: var(--cp-aqua);
}

.cp-tickets-row {
  margin-bottom: 36px;
  overflow: visible;
}
.cp-tickets-row > [class*="col-"] {
  overflow: visible;
}
.cp-ticket-card {
  --ticket-accent: var(--ticket-regular);
  --ticket-border-angle: 0deg;
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
  padding: 0;
  margin-bottom: 28px;
  margin-top: 12px;
  border-radius: 22px;
  background: color-mix(in srgb, var(--cp-card) 96%, transparent);
  border: 3px solid transparent;
  box-shadow:
    0 16px 40px color-mix(in srgb, var(--ticket-accent) 18%, transparent),
    0 4px 14px rgba(0, 0, 0, 0.18);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: transform 0.45s ease, box-shadow 0.45s ease;
  overflow: visible;
  isolation: isolate;
  z-index: 1;
}
.cp-ticket-card::before {
  content: "";
  position: absolute;
  inset: -3px;
  border-radius: 25px;
  background: conic-gradient(
    from var(--ticket-border-angle),
    var(--ticket-accent) 0deg,
    color-mix(in srgb, var(--ticket-accent) 35%, var(--cp-ice)) 90deg,
    var(--ticket-accent) 180deg,
    color-mix(in srgb, var(--ticket-accent) 55%, var(--cp-navy)) 270deg,
    var(--ticket-accent) 360deg
  );
  z-index: -2;
  animation: cp-ticket-border-spin 4.5s linear infinite;
  pointer-events: none;
}
.cp-ticket-card::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 19px;
  background: color-mix(in srgb, var(--cp-card) 96%, transparent);
  z-index: -1;
  pointer-events: none;
}
@property --ticket-border-angle {
  syntax: "<angle>";
  inherits: false;
  initial-value: 0deg;
}
@keyframes cp-ticket-border-spin {
  to { --ticket-border-angle: 360deg; }
}
.cp-ticket-regular { --ticket-accent: var(--ticket-regular); }
.cp-ticket-student { --ticket-accent: var(--ticket-student); }
.cp-ticket-corporate { --ticket-accent: var(--ticket-corporate); }

.cp-ticket-featured {
  transform: scale(1.04);
  z-index: 2;
  margin-top: 22px;
  box-shadow:
    0 22px 50px color-mix(in srgb, var(--ticket-accent) 30%, transparent),
    0 0 0 1px color-mix(in srgb, var(--ticket-accent) 40%, transparent);
}

.cp-ticket-card:hover {
  transform: translateY(-10px);
  box-shadow:
    0 26px 55px color-mix(in srgb, var(--ticket-accent) 34%, transparent),
    0 0 0 1px color-mix(in srgb, var(--ticket-accent) 45%, transparent);
}
.cp-ticket-card:hover::before {
  animation-duration: 2.2s;
}
.cp-ticket-featured:hover {
  transform: scale(1.04) translateY(-10px);
}

/* ---- Card media header (image + badge + wave) ---- */
.cp-ticket-media {
  position: relative;
  height: clamp(170px, 22vw, 210px);
  overflow: hidden;
  flex: 0 0 auto;
  border-radius: 19px 19px 0 0;
  z-index: 1;
}
.cp-ticket-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.7s ease, filter 0.45s ease;
}
.cp-ticket-card:hover .cp-ticket-media img {
  transform: scale(1.08);
  filter: brightness(1.05) saturate(1.06);
}
.cp-ticket-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, color-mix(in srgb, var(--ticket-accent) 18%, transparent) 0%, transparent 45%, color-mix(in srgb, var(--cp-navy) 25%, transparent) 100%);
  pointer-events: none;
  z-index: 1;
}
.cp-ticket-media-tag {
  position: absolute;
  top: 14px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 3;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(145deg, var(--ticket-accent), color-mix(in srgb, var(--ticket-accent) 70%, var(--cp-navy)));
  color: #fff;
  font-size: 20px;
  border: 3px solid color-mix(in srgb, var(--cp-ice) 88%, transparent);
  box-shadow: 0 8px 20px color-mix(in srgb, var(--ticket-accent) 45%, transparent);
  backdrop-filter: blur(6px);
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.cp-ticket-card:hover .cp-ticket-media-tag {
  transform: translateX(-50%) scale(1.08);
  box-shadow: 0 12px 26px color-mix(in srgb, var(--ticket-accent) 55%, transparent);
}
.cp-ticket-popular {
  position: absolute;
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 5;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 18px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--ticket-accent), color-mix(in srgb, var(--ticket-accent) 70%, var(--cp-navy)));
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.9px;
  text-transform: uppercase;
  white-space: nowrap;
  line-height: 1.2;
  border: 2px solid #fff;
  box-shadow: 0 10px 22px color-mix(in srgb, var(--ticket-accent) 45%, transparent);
  pointer-events: none;
}
.cp-ticket-waves {
  position: absolute;
  left: -1px;
  right: -1px;
  bottom: -1px;
  width: calc(100% + 2px);
  height: 78px;
  z-index: 2;
  pointer-events: none;
  overflow: hidden;
}
.cp-ticket-wave {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  display: block;
  will-change: transform;
}
.cp-ticket-regular .cp-ticket-wave,
.cp-ticket-student .cp-ticket-wave,
.cp-ticket-corporate .cp-ticket-wave {
  bottom: -15px;
}
.cp-ticket-wave path {
  fill: currentColor;
}
/* Calm sea: crest bob only (no left/right drift) */
.cp-ticket-wave-back {
  color: color-mix(in srgb, var(--ticket-accent) 45%, #ffffff);
  height: 100%;
  opacity: 0.9;
  animation: cp-wave-bob-calm 4.8s ease-in-out infinite;
}
.cp-ticket-wave-mid {
  color: var(--ticket-accent);
  height: 88%;
  opacity: 0.85;
  animation: cp-wave-bob-calm 3.6s ease-in-out infinite;
  animation-delay: -1.2s;
}
.cp-ticket-wave-front {
  color: color-mix(in srgb, var(--cp-card) 97%, transparent);
  height: 70%;
  animation: cp-wave-bob-calm 5.4s ease-in-out infinite;
  animation-delay: -2.4s;
}
@keyframes cp-wave-bob-calm {
  0%, 100% { transform: translate3d(0, 0, 0); }
  50% { transform: translate3d(0, -10px, 0); }
}
.cp-ticket-media-icon {
  position: absolute;
  left: 50%;
  bottom: 8px;
  transform: translateX(-50%);
  z-index: 4;
  width: 54px;
  height: 54px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(145deg, var(--ticket-accent), color-mix(in srgb, var(--ticket-accent) 65%, var(--cp-navy)));
  color: #fff;
  font-size: 22px;
  border: 3px solid #fff;
  box-shadow: 0 10px 24px color-mix(in srgb, var(--ticket-accent) 40%, transparent);
  transition: transform 0.4s ease;
}
.cp-ticket-card:hover .cp-ticket-media-icon {
  transform: translateX(-50%) scale(1.08) rotate(-6deg);
}

.cp-ticket-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 8px 24px 26px;
  position: relative;
  z-index: 1;
}
.cp-ticket-card:has(.cp-ticket-media-icon) .cp-ticket-body {
  padding-top: 22px;
}

.cp-ticket-card h3 {
  margin: 0 0 4px;
  color: var(--cp-navy);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}
.cp-ticket-sub {
  margin: 0 0 18px;
  color: color-mix(in srgb, var(--cp-navy) 55%, var(--cp-gray));
  font-size: 14px;
  text-align: center;
}
.cp-ticket-price {
  text-align: center;
  padding: 14px 12px 16px;
  margin-bottom: 18px;
  border-radius: 16px;
  background: color-mix(in srgb, var(--ticket-accent) 10%, transparent);
  border: 1px dashed color-mix(in srgb, var(--ticket-accent) 35%, transparent);
}
.cp-ticket-price small {
  display: block;
  color: color-mix(in srgb, var(--cp-navy) 55%, transparent);
  font-size: 12px;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  margin-bottom: 2px;
}
.cp-ticket-price strong {
  display: block;
  color: var(--ticket-accent);
  font-size: clamp(34px, 4vw, 42px);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.5px;
}
.cp-ticket-price span {
  display: block;
  color: color-mix(in srgb, var(--cp-navy) 60%, transparent);
  font-size: 13px;
  margin-top: 2px;
}

.cp-ticket-features {
  list-style: none;
  margin: 0 0 22px;
  padding: 0;
  flex: 1;
}
.cp-ticket-features li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 10px;
  color: color-mix(in srgb, var(--cp-navy) 78%, var(--cp-gray));
  font-size: 14px;
  line-height: 1.45;
}
.cp-ticket-features li i {
  color: var(--ticket-accent);
  margin-top: 2px;
  font-size: 13px;
}

.cp-ticket-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 14px 18px;
  border-radius: 999px;
  background: var(--ticket-accent);
  color: #fff;
  font-family: "Rajdhani", sans-serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  box-shadow: 0 10px 22px color-mix(in srgb, var(--ticket-accent) 35%, transparent);
  transition: transform 0.35s ease, box-shadow 0.35s ease, filter 0.35s ease;
  position: relative;
  overflow: hidden;
}
.cp-ticket-btn::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 30%, rgba(255,255,255,0.28) 50%, transparent 70%);
  transform: translateX(-120%);
  transition: transform 0.55s ease;
}
.cp-ticket-btn:hover {
  color: #fff;
  transform: translateY(-2px);
  filter: brightness(1.05);
  box-shadow: 0 14px 28px color-mix(in srgb, var(--ticket-accent) 45%, transparent);
}
.cp-ticket-btn:hover::before {
  transform: translateX(120%);
}

.cp-tickets-trust {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  padding: 18px 16px;
  border-radius: 18px;
  background: color-mix(in srgb, var(--cp-card) 92%, transparent);
  border: 1px solid color-mix(in srgb, var(--cp-ice) 35%, transparent);
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18);
  margin-top: 60px;
  margin-bottom: 18px;
}
.cp-trust-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 8px 10px;
  position: relative;
  transition: transform 0.35s ease;
}
.cp-trust-item:not(:last-child)::after {
  content: "";
  position: absolute;
  right: -6px;
  top: 12%;
  height: 76%;
  width: 1px;
  background: color-mix(in srgb, var(--cp-border) 45%, transparent);
}
.cp-trust-item:hover {
  transform: translateY(-3px);
}
.cp-trust-item i {
  flex: 0 0 auto;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in srgb, var(--cp-aqua) 14%, transparent);
  color: var(--cp-aqua);
  font-size: 16px;
}
.cp-trust-item:nth-child(2) i { color: var(--ticket-student); background: color-mix(in srgb, var(--ticket-student) 14%, transparent); }
.cp-trust-item:nth-child(3) i { color: var(--ticket-corporate); background: color-mix(in srgb, var(--ticket-corporate) 14%, transparent); }
.cp-trust-item:nth-child(4) i { color: color-mix(in srgb, var(--cp-aqua) 55%, #f59e0b); background: color-mix(in srgb, #f59e0b 14%, transparent); }
.cp-trust-item strong {
  display: block;
  color: var(--cp-navy);
  font-size: 14px;
  margin-bottom: 2px;
}
.cp-trust-item span {
  display: block;
  color: color-mix(in srgb, var(--cp-navy) 55%, var(--cp-gray));
  font-size: 12px;
  line-height: 1.4;
}
.cp-tickets-note {
  text-align: center;
  color: color-mix(in srgb, var(--cp-ice) 75%, transparent);
  font-size: 13px;
  margin: 0;
}
.cp-tickets-note i {
  color: var(--cp-aqua);
  margin-right: 6px;
}

@media (max-width: 991px) {
  .cp-ticket-featured {
    transform: none;
    margin-top: 22px;
  }
  .cp-ticket-featured:hover {
    transform: translateY(-10px);
  }
  .cp-tickets-trust {
    grid-template-columns: repeat(2, 1fr);
  }
  .cp-trust-item:nth-child(2)::after {
    display: none;
  }
}
@media (max-width: 767px) {
  .cp-tickets-trust {
    grid-template-columns: 1fr;
  }
  .cp-trust-item:not(:last-child)::after {
    display: none;
  }
  .cp-ticket-card {
    max-width: 420px;
    margin-left: auto;
    margin-right: auto;
  }
  .cp-ticket-popular {
    font-size: 11px;
    padding: 7px 14px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .cp-tickets-bubbles span {
    animation: none;
    opacity: 0.35;
  }
  .cp-ticket-card::before {
    animation: none;
  }
  .cp-ticket-wave-back,
  .cp-ticket-wave-mid,
  .cp-ticket-wave-front {
    animation: none;
    transform: none;
  }
}

/* ============================================================
   Footer 3x3 Aquarium Park gallery
   ============================================================ */
.footer-section .widget.subscribe .cp-footer-gallery {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-top: 4px;
}
.footer-section .widget.subscribe .cp-fg-item {
  position: relative;
  display: block;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 0;
  border: 1.5px solid color-mix(in srgb, var(--cp-aqua) 45%, transparent);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--cp-aqua) 18%, transparent), color-mix(in srgb, var(--cp-ocean) 12%, transparent));
  box-shadow:
    0 6px 16px color-mix(in srgb, var(--cp-aqua) 14%, transparent),
    inset 0 0 0 1px color-mix(in srgb, var(--cp-ice) 18%, transparent);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: transform 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease;
}
.footer-section .widget.subscribe .cp-fg-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.55s ease, filter 0.4s ease;
}
.footer-section .widget.subscribe .cp-fg-item::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, transparent 40%, color-mix(in srgb, var(--cp-navy) 45%, transparent) 100%);
  opacity: 0.35;
  transition: opacity 0.4s ease;
  pointer-events: none;
}
.footer-section .widget.subscribe .cp-fg-item:hover {
  transform: translateY(-3px) scale(1.03);
  border-color: var(--cp-aqua);
  box-shadow:
    0 12px 26px color-mix(in srgb, var(--cp-aqua) 28%, transparent),
    0 0 0 1px color-mix(in srgb, var(--cp-aqua) 40%, transparent);
  z-index: 1;
}
.footer-section .widget.subscribe .cp-fg-item:hover img {
  transform: scale(1.12);
  filter: brightness(1.08) saturate(1.08);
}
.footer-section .widget.subscribe .cp-fg-item:hover::after {
  opacity: 0.15;
}
.footer-section .widget.subscribe .cp-fg-item:focus-visible {
  outline: 2px solid var(--cp-aqua);
  outline-offset: 2px;
}
@media (max-width: 991px) {
  .footer-section .widget.subscribe .cp-footer-gallery {
    max-width: 240px;
  }
}
@media (max-width: 575px) {
  .footer-section .widget.subscribe .cp-footer-gallery {
    max-width: 100%;
    gap: 6px;
  }
}

/* ============================================================
   Footer brand / explore / visit (cols 1?3)
   ============================================================ */
.footer-section .widget-title h3 {
  position: relative;
  display: inline-block;
  padding-bottom: 12px;
}
.footer-section .widget-title h3::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 42px;
  height: 3px;
  border-radius: 2px;
  background: linear-gradient(90deg, var(--cp-aqua), var(--cp-ocean));
  transform-origin: left center;
  transition: width 0.45s ease;
}
.footer-section .widget:hover .widget-title h3::after,
.footer-section .widget:focus-within .widget-title h3::after {
  width: 72px;
}

.footer-section .cp-footer-about .logo {
  max-width: 200px;
  margin-bottom: 18px;
}
.footer-section .cp-footer-logo {
  display: inline-block;
  position: relative;
  transition: transform 0.45s ease, filter 0.45s ease;
}
.footer-section .cp-footer-logo::after {
  content: "";
  position: absolute;
  left: 12%;
  right: 12%;
  bottom: -6px;
  height: 10px;
  border-radius: 50%;
  background: radial-gradient(ellipse at center, color-mix(in srgb, var(--cp-aqua) 45%, transparent), transparent 70%);
  opacity: 0;
  transition: opacity 0.45s ease;
  pointer-events: none;
}
.footer-section .cp-footer-logo img {
  width: 100%;
  max-width: 180px;
  height: auto;
  display: block;
}
.footer-section .cp-footer-logo:hover,
.footer-section .cp-footer-logo:focus-visible {
  transform: translateY(-3px);
  filter: drop-shadow(0 8px 16px color-mix(in srgb, var(--cp-aqua) 28%, transparent));
  outline: none;
}
.footer-section .cp-footer-logo:hover::after,
.footer-section .cp-footer-logo:focus-visible::after {
  opacity: 1;
}
.footer-section .cp-footer-about p {
  margin-top: 0;
  margin-bottom: 1.25rem;
  color: var(--cp-gray);
  font-size: 15px;
  line-height: 1.75;
  max-width: 28ch;
}

.footer-section .cp-footer-social ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
}
.footer-section .cp-footer-social ul li + li {
  margin-left: 0;
}
.footer-section .cp-footer-social ul li a {
  width: 42px;
  height: 42px;
  line-height: 42px;
  border: 1px solid color-mix(in srgb, var(--cp-aqua) 40%, transparent);
  background: color-mix(in srgb, var(--cp-ice) 55%, transparent);
  color: var(--cp-navy);
  box-shadow: 0 4px 12px color-mix(in srgb, var(--cp-aqua) 12%, transparent);
  transition: transform 0.35s ease, background 0.35s ease, color 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
}
.footer-section .cp-footer-social ul li a:hover,
.footer-section .cp-footer-social ul li a:focus-visible {
  background: var(--cp-navy);
  border-color: var(--cp-navy);
  color: var(--cp-ice);
  transform: translateY(-3px) scale(1.06);
  box-shadow: 0 10px 22px color-mix(in srgb, var(--cp-navy) 28%, transparent);
  outline: none;
}

.footer-section .cp-footer-links {
  padding-left: 24px;
}
@media (max-width: 1199px) {
  .footer-section .cp-footer-links {
    padding-left: 0;
  }
}
.footer-section .cp-footer-links ul li + li {
  margin-top: 2px;
}
.footer-section .cp-footer-links ul li a {
  padding: 6px 0 6px 28px;
  line-height: 1.4;
  color: var(--cp-gray);
  transition: color 0.3s ease, padding-left 0.35s ease, transform 0.35s ease;
}
.footer-section .cp-footer-links ul li a::after {
  color: var(--cp-aqua);
  transition: transform 0.35s ease, color 0.3s ease;
}
.footer-section .cp-footer-links ul li a:hover,
.footer-section .cp-footer-links ul li a:focus-visible {
  color: var(--cp-navy);
  padding-left: 34px;
  outline: none;
}
.footer-section .cp-footer-links ul li a:hover::after,
.footer-section .cp-footer-links ul li a:focus-visible::after {
  transform: translateX(4px);
  color: var(--cp-ocean);
}

.footer-section .cp-footer-contact .contact-ft {
  margin-top: 8px;
}
.footer-section .cp-footer-contact .contact-ft ul li {
  padding: 0;
  padding-bottom: 12px;
  padding-left: 0;
  color: inherit;
}
.footer-section .cp-footer-contact .contact-ft ul li:last-child {
  padding-bottom: 0;
}
.footer-section .cp-footer-contact .contact-ft ul li a {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 10px 12px;
  border-radius: 10px;
  color: var(--cp-navy);
  text-decoration: none;
  border: 1px solid transparent;
  background: transparent;
  transition: background 0.35s ease, border-color 0.35s ease, transform 0.35s ease, box-shadow 0.35s ease;
}
.footer-section .cp-footer-contact .contact-ft ul li a i {
  position: static;
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  line-height: 36px;
  text-align: center;
  border-radius: 50%;
  background: color-mix(in srgb, var(--cp-aqua) 18%, transparent);
  color: var(--cp-ocean);
  transition: background 0.35s ease, color 0.35s ease, transform 0.35s ease;
}
.footer-section .cp-footer-contact .contact-ft ul li a span {
  flex: 1;
  padding-top: 6px;
  font-size: 15px;
  line-height: 1.45;
  transition: color 0.3s ease;
}
.footer-section .cp-footer-contact .contact-ft ul li a:hover,
.footer-section .cp-footer-contact .contact-ft ul li a:focus-visible {
  background: color-mix(in srgb, var(--cp-ice) 70%, transparent);
  border-color: color-mix(in srgb, var(--cp-aqua) 35%, transparent);
  transform: translateX(4px);
  box-shadow: 0 8px 18px color-mix(in srgb, var(--cp-aqua) 14%, transparent);
  outline: none;
}
.footer-section .cp-footer-contact .contact-ft ul li a:hover i,
.footer-section .cp-footer-contact .contact-ft ul li a:focus-visible i {
  background: var(--cp-navy);
  color: var(--cp-ice);
  transform: scale(1.06);
}

@media (max-width: 991px) {
  .footer-section .upper-footer .col {
    min-height: 0;
    margin-bottom: 36px;
  }
  .footer-section .cp-footer-about p {
    max-width: 40ch;
  }
}
@media (max-width: 575px) {
  .footer-section .cp-footer-about .logo {
    max-width: 160px;
  }
  .footer-section .cp-footer-about p {
    max-width: none;
    font-size: 14px;
  }
  .footer-section .cp-footer-contact .contact-ft ul li a {
    padding: 8px 8px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .footer-section .cp-footer-logo,
  .footer-section .cp-footer-logo::after,
  .footer-section .cp-footer-social ul li a,
  .footer-section .cp-footer-links ul li a,
  .footer-section .cp-footer-links ul li a::after,
  .footer-section .cp-footer-contact .contact-ft ul li a,
  .footer-section .cp-footer-contact .contact-ft ul li a i,
  .footer-section .widget-title h3::after {
    transition: none;
  }
  .footer-section .cp-footer-logo:hover,
  .footer-section .cp-footer-social ul li a:hover,
  .footer-section .cp-footer-links ul li a:hover,
  .footer-section .cp-footer-contact .contact-ft ul li a:hover {
    transform: none;
  }
}

/* ============================================================
   Aquarium Park testimonial cards (carousel-ready)
   ============================================================ */
.testimonial-section .cp-testimonial-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 280px;
  padding: 28px 28px 24px;
  border-radius: 22px;
  overflow: hidden;
  isolation: isolate;
  color: color-mix(in srgb, var(--cp-ice) 92%, #fff);
  background:
    linear-gradient(
      155deg,
      color-mix(in srgb, var(--cp-navy) 88%, #000) 0%,
      var(--cp-ocean) 42%,
      color-mix(in srgb, var(--cp-aqua) 72%, var(--cp-ocean)) 100%
    );
  border: 1px solid color-mix(in srgb, var(--cp-aqua-light) 45%, transparent);
  box-shadow:
    0 18px 40px color-mix(in srgb, var(--cp-navy) 35%, transparent),
    inset 0 1px 0 color-mix(in srgb, #fff 22%, transparent);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  transition: transform 0.45s ease, box-shadow 0.45s ease, border-color 0.45s ease;
}
.testimonial-section .cp-testimonial-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background:
    linear-gradient(180deg, color-mix(in srgb, #fff 14%, transparent) 0%, transparent 38%),
    radial-gradient(ellipse 80% 55% at 18% 0%, color-mix(in srgb, var(--cp-aqua-light) 28%, transparent), transparent 60%);
  pointer-events: none;
  z-index: 0;
}
.testimonial-section .cp-testimonial-card:hover,
.testimonial-section .cp-testimonial-card:focus-within {
  transform: translateY(-8px);
  border-color: color-mix(in srgb, var(--cp-aqua-pale) 55%, transparent);
  box-shadow:
    0 26px 52px color-mix(in srgb, var(--cp-navy) 42%, transparent),
    0 0 0 1px color-mix(in srgb, var(--cp-aqua) 25%, transparent),
    inset 0 1px 0 color-mix(in srgb, #fff 28%, transparent);
}
.testimonial-section .cp-tc-quote {
  position: absolute;
  top: 6px;
  right: 18px;
  z-index: 1;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(4.5rem, 9vw, 6.5rem);
  line-height: 1;
  font-weight: 700;
  color: color-mix(in srgb, #fff 22%, transparent);
  pointer-events: none;
  user-select: none;
}
.testimonial-section .cp-testimonial-card .testimonial-avatar {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  padding: 3px;
  background: #fff;
  box-shadow:
    0 0 0 2px color-mix(in srgb, var(--cp-aqua-pale) 55%, transparent),
    0 8px 18px color-mix(in srgb, var(--cp-navy) 35%, transparent);
}
.testimonial-section .cp-testimonial-card .testimonial-avatar img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
  background: color-mix(in srgb, var(--cp-ocean) 70%, var(--cp-aqua));
}
.testimonial-section .cp-testimonial-card .testimonial-text-btm h3 {
  color: #fff;
  letter-spacing: 0.01em;
}
.testimonial-section .cp-testimonial-card .testimonial-text-btm span {
  color: var(--cp-aqua-pale);
}
.testimonial-section .cp-testimonial-card > p {
  flex: 1;
  margin: 0 0 18px;
  font-size: 15px;
  line-height: 1.75;
  color: color-mix(in srgb, var(--cp-ice) 90%, #fff);
  text-wrap: pretty;
}
.testimonial-section .cp-tc-rating {
  position: relative;
  z-index: 2;
  display: flex;
  gap: 4px;
  margin-top: auto;
  color: #f5c542;
  font-size: 16px;
  filter: drop-shadow(0 2px 4px color-mix(in srgb, #000 25%, transparent));
}
.testimonial-section .cp-tc-rating .ti-star:before {
  margin: 0;
}

/* Underwater deco ? CSS only, no image weight */
.testimonial-section .cp-tc-deco {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  border-radius: inherit;
}
.testimonial-section .cp-tc-bubble {
  position: absolute;
  border-radius: 50%;
  border: 1.5px solid color-mix(in srgb, #fff 28%, transparent);
  background: color-mix(in srgb, #fff 10%, transparent);
  animation: cp-tc-rise 7s ease-in-out infinite;
}
.testimonial-section .cp-tc-bubble-1 {
  width: 10px;
  height: 10px;
  left: 14%;
  bottom: 18%;
  animation-delay: 0s;
}
.testimonial-section .cp-tc-bubble-2 {
  width: 7px;
  height: 7px;
  left: 28%;
  bottom: 12%;
  animation-delay: 1.4s;
  animation-duration: 8.5s;
}
.testimonial-section .cp-tc-bubble-3 {
  width: 12px;
  height: 12px;
  right: 22%;
  bottom: 22%;
  animation-delay: 2.2s;
  animation-duration: 9s;
}
.testimonial-section .cp-tc-coral {
  position: absolute;
  left: -4%;
  bottom: -8%;
  width: 120px;
  height: 90px;
  opacity: 0.22;
  background:
    radial-gradient(ellipse 28% 55% at 22% 100%, color-mix(in srgb, var(--cp-aqua-pale) 80%, transparent) 0 42%, transparent 44%),
    radial-gradient(ellipse 24% 70% at 48% 100%, color-mix(in srgb, var(--cp-aqua-light) 75%, transparent) 0 40%, transparent 42%),
    radial-gradient(ellipse 26% 60% at 74% 100%, color-mix(in srgb, var(--cp-aqua-pale) 70%, transparent) 0 38%, transparent 40%);
}
.testimonial-section .cp-tc-fish {
  position: absolute;
  width: 22px;
  height: 12px;
  opacity: 0.28;
  background: color-mix(in srgb, var(--cp-aqua-pale) 85%, #fff);
  border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
  animation: cp-tc-swim 11s ease-in-out infinite;
}
.testimonial-section .cp-tc-fish::before {
  content: "";
  position: absolute;
  right: -7px;
  top: 2px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 0 4px 8px;
  border-color: transparent transparent transparent color-mix(in srgb, var(--cp-aqua-pale) 85%, #fff);
}
.testimonial-section .cp-tc-fish::after {
  content: "";
  position: absolute;
  left: 5px;
  top: 4px;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--cp-navy) 70%, transparent);
}
.testimonial-section .cp-tc-fish-1 {
  right: 16%;
  bottom: 14%;
  animation-delay: 0.5s;
}
.testimonial-section .cp-tc-fish-2 {
  right: 34%;
  bottom: 8%;
  width: 16px;
  height: 9px;
  opacity: 0.2;
  animation-delay: 2.8s;
  animation-duration: 13s;
  animation-direction: reverse;
}
@keyframes cp-tc-rise {
  0%, 100% { transform: translateY(0) scale(1); opacity: 0.35; }
  50% { transform: translateY(-28px) scale(1.08); opacity: 0.7; }
}
@keyframes cp-tc-swim {
  0%, 100% { transform: translateX(0) translateY(0); }
  50% { transform: translateX(-18px) translateY(-6px); }
}

.testimonial-section .owl-nav [class*=owl-] {
  border-color: var(--cp-aqua);
  color: var(--cp-navy);
  background: color-mix(in srgb, var(--cp-ice) 80%, #fff);
}
.testimonial-section .owl-nav [class*=owl-]:hover {
  background: var(--cp-aqua);
  color: #fff;
  border-color: var(--cp-aqua);
}
.testimonial-section .owl-dots button.active {
  background-color: var(--cp-aqua);
}

@media (max-width: 767px) {
  .testimonial-section .cp-testimonial-card {
    min-height: 0;
    padding: 22px 20px 20px;
    border-radius: 20px;
  }
  .testimonial-section .cp-testimonial-card > p {
    font-size: 14px;
    line-height: 1.7;
  }
  .testimonial-section .cp-testimonial-card .testimonial-avatar {
    width: 56px;
    height: 56px;
  }
  .testimonial-section .testimonial-item .testimonial-text .testimonial-info .testimonial-avatar img {
    width: 56px;
    height: 56px;
  }
  .testimonial-section .cp-tc-quote {
    right: 12px;
    font-size: 4rem;
  }
}
@media (max-width: 575px) {
  .testimonial-section .testimonial-left {
    margin-bottom: 28px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .testimonial-section .cp-testimonial-card,
  .testimonial-section .cp-tc-bubble,
  .testimonial-section .cp-tc-fish {
    animation: none;
    transition: none;
  }
  .testimonial-section .cp-testimonial-card:hover,
  .testimonial-section .cp-testimonial-card:focus-within {
    transform: none;
  }
}

/* ============================================================
   Aquarium Park skill / funfact counters
   ============================================================ */
.ch-skill-area.cp-skill-area {
  overflow: hidden;
}
.ch-skill-area.cp-skill-area .ch-top-title span {
  color: var(--cp-aqua-pale);
}
.ch-skill-area.cp-skill-area .ch-top-title h2 {
  color: #fff;
}
.ch-skill-area.cp-skill-area .ch-top-btn {
  text-align: right;
}
@media (max-width: 991px) {
  .ch-skill-area.cp-skill-area .ch-top-btn {
    text-align: left;
    margin-top: 24px;
  }
}

.cp-funfact-area .cp-funfact-card {
  position: relative;
  height: 100%;
  padding: 28px 24px 24px;
  border-radius: 18px;
  border: 1px solid color-mix(in srgb, var(--cp-aqua-light) 35%, transparent);
  background:
    linear-gradient(160deg, color-mix(in srgb, var(--cp-ocean) 78%, transparent), color-mix(in srgb, var(--cp-navy) 88%, transparent));
  box-shadow:
    0 14px 32px color-mix(in srgb, #000 28%, transparent),
    inset 0 1px 0 color-mix(in srgb, #fff 14%, transparent);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  overflow: hidden;
  transition: transform 0.4s ease, border-color 0.4s ease, box-shadow 0.4s ease;
}
.cp-funfact-area .cp-funfact-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 85% 15%, color-mix(in srgb, var(--cp-aqua) 28%, transparent), transparent 45%);
  pointer-events: none;
  z-index: 0;
}
.cp-funfact-area .cp-funfact-card:hover,
.cp-funfact-area .cp-funfact-card:focus-within,
.cp-funfact-area .cp-funfact-card.is-counting {
  transform: translateY(-6px);
  border-color: color-mix(in srgb, var(--cp-aqua-pale) 50%, transparent);
  box-shadow:
    0 20px 40px color-mix(in srgb, #000 35%, transparent),
    0 0 0 1px color-mix(in srgb, var(--cp-aqua) 22%, transparent);
}
.cp-funfact-area .cp-funfact-icon {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  margin-bottom: 14px;
  border-radius: 50%;
  color: var(--cp-navy);
  background: linear-gradient(135deg, var(--cp-aqua-pale), var(--cp-aqua-light));
  box-shadow: 0 8px 16px color-mix(in srgb, var(--cp-aqua) 30%, transparent);
  font-size: 16px;
  transition: transform 0.4s ease;
}
.cp-funfact-area .cp-funfact-card:hover .cp-funfact-icon,
.cp-funfact-area .cp-funfact-card.is-counting .cp-funfact-icon {
  transform: scale(1.08) rotate(-6deg);
}
.cp-funfact-area .cp-funfact-card p {
  position: relative;
  z-index: 1;
  margin-bottom: 8px;
  font-size: 14px;
  line-height: 1.4;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--cp-ice) 82%, #fff);
}
.cp-funfact-area .cp-funfact-card h3 {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: baseline;
  gap: 2px;
  font-size: clamp(2.4rem, 4vw, 3.6rem);
  line-height: 1.05;
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 1.2px color-mix(in srgb, var(--cp-ice) 88%, #fff);
  color: transparent;
}
.cp-funfact-area .cp-funfact-card h3 .odometer,
.cp-funfact-area .cp-funfact-card h3 .cp-funfact-suffix {
  -webkit-text-fill-color: transparent;
  -webkit-text-stroke: 1.2px color-mix(in srgb, var(--cp-ice) 88%, #fff);
}
.cp-funfact-area .cp-funfact-card.is-counting h3 .odometer,
.cp-funfact-area .cp-funfact-card.is-counting h3 .cp-funfact-suffix {
  filter: drop-shadow(0 0 10px color-mix(in srgb, var(--cp-aqua-light) 45%, transparent));
}
.cp-funfact-area .row > [class*="col-"] {
  margin-bottom: 20px;
}
@media (min-width: 992px) {
  .cp-funfact-area .row > [class*="col-"] {
    margin-bottom: 0;
  }
}
@media (max-width: 575px) {
  .cp-funfact-area .cp-funfact-card {
    padding: 22px 18px 18px;
    text-align: left;
  }
}

/* Instant reset helper used by funfact-counters.js */
.odometer.cp-counter-instant,
.odometer.cp-counter-instant .odometer-ribbon-inner {
  transition: none !important;
  transform: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .cp-funfact-area .cp-funfact-card,
  .cp-funfact-area .cp-funfact-icon {
    transition: none;
  }
  .cp-funfact-area .cp-funfact-card:hover,
  .cp-funfact-area .cp-funfact-card:focus-within,
  .cp-funfact-area .cp-funfact-card.is-counting {
    transform: none;
  }
}

/* ============================================================
   Aquarium Park home blog cards (.cp-blog-area)
   Keeps existing blog-item structure; refines look & motion
   ============================================================ */
.ch-blog-area.cp-blog-area .ch-top-title-s2 {
  text-align: center;
  margin-bottom: 10px;
}
.ch-blog-area.cp-blog-area .ch-top-title-s2 span {
  color: var(--cp-aqua);
}
.ch-blog-area.cp-blog-area .blog-items {
  margin-top: 36px;
}
.ch-blog-area.cp-blog-area .blog-items .blog-item {
  position: relative;
  align-items: center;
  gap: 0;
  margin-left: 0;
  margin-bottom: 28px;
  padding: 18px;
  border-radius: 20px;
  border: 1px solid color-mix(in srgb, var(--cp-aqua) 22%, var(--cp-border));
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--cp-card) 94%, var(--cp-aqua-pale)), var(--cp-card));
  box-shadow:
    0 14px 34px color-mix(in srgb, var(--cp-navy) 10%, transparent),
    inset 0 1px 0 color-mix(in srgb, #fff 70%, transparent);
  overflow: hidden;
  transition: transform 0.45s ease, box-shadow 0.45s ease, border-color 0.45s ease;
}
.ch-blog-area.cp-blog-area .blog-items .blog-item::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, var(--cp-aqua), var(--cp-ocean), transparent 85%);
  transform: scaleX(0.28);
  transform-origin: left center;
  transition: transform 0.5s ease;
  pointer-events: none;
}
.ch-blog-area.cp-blog-area .blog-items .blog-item:hover,
.ch-blog-area.cp-blog-area .blog-items .blog-item:focus-within {
  transform: translateY(-8px);
  border-color: color-mix(in srgb, var(--cp-aqua) 45%, transparent);
  box-shadow:
    0 22px 44px color-mix(in srgb, var(--cp-navy) 16%, transparent),
    0 0 0 1px color-mix(in srgb, var(--cp-aqua) 18%, transparent);
}
.ch-blog-area.cp-blog-area .blog-items .blog-item:hover::after,
.ch-blog-area.cp-blog-area .blog-items .blog-item:focus-within::after {
  transform: scaleX(1);
}
.ch-blog-area.cp-blog-area .blog-items .blog-item .blog-img-left {
  flex: 0 0 auto;
  width: clamp(148px, 28%, 200px);
  margin-left: 0;
  align-self: center;
}
.ch-blog-area.cp-blog-area .blog-items .blog-item .blog-img-left .blog-img {
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  height: auto;
  min-height: 0;
  margin-bottom: 0;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 10px 24px color-mix(in srgb, var(--cp-navy) 18%, transparent);
}
.ch-blog-area.cp-blog-area .blog-items .blog-item .blog-img-left .blog-img::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(160deg, transparent 45%, color-mix(in srgb, var(--cp-navy) 38%, transparent));
  opacity: 0.45;
  transition: opacity 0.45s ease;
  pointer-events: none;
  z-index: 1;
}
.ch-blog-area.cp-blog-area .blog-items .blog-item:hover .blog-img-left .blog-img::after,
.ch-blog-area.cp-blog-area .blog-items .blog-item:focus-within .blog-img-left .blog-img::after {
  opacity: 0.2;
}
.ch-blog-area.cp-blog-area .blog-items .blog-item .blog-img-left img {
  width: 100%;
  height: 100%;
  min-height: 0;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
  transform: scale(1.01);
  transition: transform 0.7s ease, filter 0.45s ease;
}
.ch-blog-area.cp-blog-area .blog-items .blog-item:hover .blog-img-left img,
.ch-blog-area.cp-blog-area .blog-items .blog-item:focus-within .blog-img-left img {
  transform: scale(1.12);
  filter: brightness(1.06) saturate(1.08);
}
.ch-blog-area.cp-blog-area .blog-items .blog-item .blog-content {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 4px 4px 4px 18px;
}
.ch-blog-area.cp-blog-area .blog-items .blog-item .blog-content ul {
  flex-wrap: wrap;
  gap: 8px 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.ch-blog-area.cp-blog-area .blog-items .blog-item .blog-content ul li {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--cp-gray);
  font-size: 13px;
  font-weight: 500;
}
.ch-blog-area.cp-blog-area .blog-items .blog-item .blog-content ul li i {
  color: var(--cp-aqua);
  font-size: 14px;
  transition: transform 0.35s ease, color 0.35s ease;
}
.ch-blog-area.cp-blog-area .blog-items .blog-item:hover .blog-content ul li i,
.ch-blog-area.cp-blog-area .blog-items .blog-item:focus-within .blog-content ul li i {
  color: var(--cp-ocean);
  transform: translateY(-1px);
}
.ch-blog-area.cp-blog-area .blog-items .blog-item .blog-content h2 {
  margin-top: 12px;
  margin-bottom: 10px;
  font-size: clamp(1.15rem, 1.6vw, 1.45rem);
  line-height: 1.35;
}
.ch-blog-area.cp-blog-area .blog-items .blog-item .blog-content h2 a {
  color: var(--cp-navy);
  text-decoration: none;
  transition: color 0.3s ease;
}
.ch-blog-area.cp-blog-area .blog-items .blog-item .blog-content h2 a:hover,
.ch-blog-area.cp-blog-area .blog-items .blog-item .blog-content h2 a:focus-visible {
  color: var(--cp-aqua);
  outline: none;
}
.ch-blog-area.cp-blog-area .blog-items .blog-item .blog-content p {
  margin-bottom: 18px;
  color: var(--cp-gray);
  font-size: 15px;
  line-height: 1.7;
  text-wrap: pretty;
}
.ch-blog-area.cp-blog-area .blog-items .blog-item .blog-content .ch-btn-style-3 {
  align-self: flex-start;
  margin-top: auto;
  color: var(--cp-aqua);
  border-color: var(--cp-aqua);
}
.ch-blog-area.cp-blog-area .blog-items .blog-item .blog-content .ch-btn-style-3:hover,
.ch-blog-area.cp-blog-area .blog-items .blog-item .blog-content .ch-btn-style-3:focus,
.ch-blog-area.cp-blog-area .blog-items .blog-item .blog-content .ch-btn-style-3:active {
  color: var(--cp-navy);
  border-color: var(--cp-aqua);
}

@media (max-width: 1199px) {
  .ch-blog-area.cp-blog-area .blog-items .blog-item {
    margin-left: 0;
    padding: 16px;
  }
  .ch-blog-area.cp-blog-area .blog-items .blog-item .blog-img-left {
    margin-left: 0;
    width: clamp(140px, 30%, 180px);
  }
  .ch-blog-area.cp-blog-area .blog-items .blog-item .blog-content {
    padding-left: 16px;
  }
}
@media (max-width: 767px) {
  .ch-blog-area.cp-blog-area .blog-items .blog-item {
    display: block;
    margin-left: 0;
    padding: 14px;
    text-align: left;
  }
  .ch-blog-area.cp-blog-area .blog-items .blog-item .blog-img-left {
    width: 100%;
    max-width: 280px;
    margin-left: 0;
    margin-bottom: 0;
  }
  .ch-blog-area.cp-blog-area .blog-items .blog-item .blog-img-left .blog-img,
  .ch-blog-area.cp-blog-area .blog-items .blog-item .blog-img-left img {
    min-height: 0;
    max-height: none;
    aspect-ratio: 1 / 1;
  }
  .ch-blog-area.cp-blog-area .blog-items .blog-item .blog-content {
    padding: 14px 0 0;
    margin-top: 0;
  }
  .ch-blog-area.cp-blog-area .blog-items .blog-item .blog-content ul {
    justify-content: flex-start;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ch-blog-area.cp-blog-area .blog-items .blog-item,
  .ch-blog-area.cp-blog-area .blog-items .blog-item::after,
  .ch-blog-area.cp-blog-area .blog-items .blog-item .blog-img-left img,
  .ch-blog-area.cp-blog-area .blog-items .blog-item .blog-img-left .blog-img::after,
  .ch-blog-area.cp-blog-area .blog-items .blog-item .blog-content ul li i {
    transition: none;
  }
  .ch-blog-area.cp-blog-area .blog-items .blog-item:hover,
  .ch-blog-area.cp-blog-area .blog-items .blog-item:focus-within {
    transform: none;
  }
  .ch-blog-area.cp-blog-area .blog-items .blog-item:hover .blog-img-left img,
  .ch-blog-area.cp-blog-area .blog-items .blog-item:focus-within .blog-img-left img {
    transform: none;
  }
}

/* ============================================================
   Aquarium Park subscribe / newsletter (.cp-newsletter-area)
   ============================================================ */
.ch-newsletter-area.cp-newsletter-area {
  padding: 0 0 40px;
  position: relative;
  z-index: 2;
}
.ch-newsletter-area.cp-newsletter-area .cp-newsletter-wrap {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  padding: clamp(48px, 7vw, 88px) clamp(20px, 4vw, 48px);
  border-radius: 28px;
  border: 1px solid color-mix(in srgb, var(--cp-aqua-light) 35%, transparent);
  background:
    linear-gradient(
      155deg,
      color-mix(in srgb, var(--cp-navy) 92%, #000) 0%,
      var(--cp-ocean) 48%,
      color-mix(in srgb, var(--cp-aqua) 68%, var(--cp-ocean)) 100%
    );
  box-shadow:
    0 28px 60px color-mix(in srgb, var(--cp-navy) 35%, transparent),
    inset 0 1px 0 color-mix(in srgb, #fff 16%, transparent);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.ch-newsletter-area.cp-newsletter-area .cp-newsletter-wrap:before {
  display: none;
}
.ch-newsletter-area.cp-newsletter-area .cp-nl-deco {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  border-radius: inherit;
}
.ch-newsletter-area.cp-newsletter-area .cp-nl-rays {
  position: absolute;
  inset: -20% -10% auto;
  height: 70%;
  background:
    radial-gradient(ellipse 55% 70% at 50% -10%, color-mix(in srgb, var(--cp-aqua-pale) 35%, transparent), transparent 70%),
    conic-gradient(from 200deg at 50% -5%, transparent 0deg, color-mix(in srgb, #fff 10%, transparent) 18deg, transparent 36deg, color-mix(in srgb, #fff 8%, transparent) 55deg, transparent 75deg);
  opacity: 0.55;
}
.ch-newsletter-area.cp-newsletter-area .cp-nl-waves {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -2px;
  height: 90px;
  opacity: 0.35;
  background:
    radial-gradient(ellipse 120% 100% at 10% 120%, color-mix(in srgb, var(--cp-aqua-pale) 40%, transparent) 0 28%, transparent 30%),
    radial-gradient(ellipse 100% 90% at 50% 130%, color-mix(in srgb, var(--cp-aqua-light) 35%, transparent) 0 30%, transparent 32%),
    radial-gradient(ellipse 110% 100% at 90% 125%, color-mix(in srgb, var(--cp-aqua-pale) 30%, transparent) 0 26%, transparent 28%);
}
.ch-newsletter-area.cp-newsletter-area .cp-nl-bubble {
  position: absolute;
  border-radius: 50%;
  border: 1.5px solid color-mix(in srgb, #fff 30%, transparent);
  background: color-mix(in srgb, #fff 10%, transparent);
  animation: cp-nl-rise 8s ease-in-out infinite;
}
.ch-newsletter-area.cp-newsletter-area .cp-nl-b1 { width: 12px; height: 12px; left: 12%; bottom: 22%; animation-delay: 0s; }
.ch-newsletter-area.cp-newsletter-area .cp-nl-b2 { width: 8px; height: 8px; left: 22%; bottom: 14%; animation-delay: 1.5s; animation-duration: 9.5s; }
.ch-newsletter-area.cp-newsletter-area .cp-nl-b3 { width: 14px; height: 14px; right: 18%; bottom: 28%; animation-delay: 2.2s; animation-duration: 10s; }
.ch-newsletter-area.cp-newsletter-area .cp-nl-b4 { width: 7px; height: 7px; right: 28%; bottom: 16%; animation-delay: 0.8s; animation-duration: 7.5s; }
.ch-newsletter-area.cp-newsletter-area .cp-nl-coral {
  position: absolute;
  bottom: -6%;
  width: 140px;
  height: 100px;
  opacity: 0.2;
  background:
    radial-gradient(ellipse 26% 58% at 22% 100%, color-mix(in srgb, var(--cp-aqua-pale) 80%, transparent) 0 40%, transparent 42%),
    radial-gradient(ellipse 22% 72% at 48% 100%, color-mix(in srgb, var(--cp-aqua-light) 75%, transparent) 0 38%, transparent 40%),
    radial-gradient(ellipse 24% 62% at 74% 100%, color-mix(in srgb, var(--cp-aqua-pale) 70%, transparent) 0 36%, transparent 38%);
}
.ch-newsletter-area.cp-newsletter-area .cp-nl-coral-l { left: -2%; }
.ch-newsletter-area.cp-newsletter-area .cp-nl-coral-r { right: -2%; transform: scaleX(-1); }
.ch-newsletter-area.cp-newsletter-area .cp-nl-fish {
  position: absolute;
  width: 26px;
  height: 14px;
  opacity: 0.28;
  background: color-mix(in srgb, var(--cp-aqua-pale) 85%, #fff);
  border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%;
  animation: cp-nl-swim 12s ease-in-out infinite;
}
.ch-newsletter-area.cp-newsletter-area .cp-nl-fish::before {
  content: "";
  position: absolute;
  right: -8px;
  top: 3px;
  border-style: solid;
  border-width: 4px 0 4px 9px;
  border-color: transparent transparent transparent color-mix(in srgb, var(--cp-aqua-pale) 85%, #fff);
}
.ch-newsletter-area.cp-newsletter-area .cp-nl-fish::after {
  content: "";
  position: absolute;
  left: 6px;
  top: 5px;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--cp-navy) 70%, transparent);
}
.ch-newsletter-area.cp-newsletter-area .cp-nl-fish-1 { right: 14%; top: 28%; }
.ch-newsletter-area.cp-newsletter-area .cp-nl-fish-2 {
  left: 16%;
  top: 36%;
  width: 18px;
  height: 10px;
  opacity: 0.2;
  animation-duration: 14s;
  animation-direction: reverse;
}

@keyframes cp-nl-rise {
  0%, 100% { transform: translateY(0) scale(1); opacity: 0.35; }
  50% { transform: translateY(-36px) scale(1.08); opacity: 0.7; }
}
@keyframes cp-nl-swim {
  0%, 100% { transform: translateX(0) translateY(0); }
  50% { transform: translateX(-22px) translateY(-8px); }
}

.ch-newsletter-area.cp-newsletter-area .cp-nl-inner {
  position: relative;
  z-index: 1;
  max-width: 760px;
  margin: 0 auto;
  text-align: center;
}
.ch-newsletter-area.cp-newsletter-area .cp-nl-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 18px;
  padding: 8px 16px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #fff;
  background: color-mix(in srgb, #fff 12%, transparent);
  border: 1px solid color-mix(in srgb, #fff 28%, transparent);
  box-shadow: 0 8px 20px color-mix(in srgb, #000 18%, transparent);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.ch-newsletter-area.cp-newsletter-area .cp-nl-badge-icon {
  display: inline-flex;
  color: var(--cp-aqua-pale);
}
.ch-newsletter-area.cp-newsletter-area .cp-newsletter-wrap h2 {
  color: #fff;
  font-size: clamp(1.75rem, 3.4vw, 2.75rem);
  line-height: 1.2;
  margin-bottom: 14px;
  text-transform: none;
}
.ch-newsletter-area.cp-newsletter-area .cp-nl-desc {
  max-width: 540px;
  margin: 0 auto 28px;
  color: color-mix(in srgb, var(--cp-ice) 88%, #fff);
  font-size: 16px;
  line-height: 1.7;
}

.ch-newsletter-area.cp-newsletter-area .cp-nl-form .form-field {
  display: flex;
  align-items: stretch;
  gap: 12px;
  padding: 10px;
  border-radius: 999px;
  background: color-mix(in srgb, #fff 12%, transparent);
  border: 1px solid color-mix(in srgb, #fff 22%, transparent);
  box-shadow:
    0 16px 36px color-mix(in srgb, #000 22%, transparent),
    inset 0 1px 0 color-mix(in srgb, #fff 18%, transparent);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.ch-newsletter-area.cp-newsletter-area .cp-nl-input-wrap {
  position: relative;
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
}
.ch-newsletter-area.cp-newsletter-area .cp-nl-input-wrap .ti-email {
  position: absolute;
  left: 18px;
  color: var(--cp-aqua-pale);
  font-size: 16px;
  pointer-events: none;
  z-index: 1;
}
.ch-newsletter-area.cp-newsletter-area .cp-nl-form .form-field input {
  width: 100%;
  height: 56px;
  margin: 0;
  padding: 0 18px 0 48px;
  border: 0;
  border-radius: 999px;
  background: color-mix(in srgb, #fff 92%, var(--cp-ice));
  color: var(--cp-navy);
  font-size: 15px;
  box-shadow: inset 0 1px 2px color-mix(in srgb, var(--cp-navy) 8%, transparent);
}
.ch-newsletter-area.cp-newsletter-area .cp-nl-form .form-field input::placeholder {
  color: color-mix(in srgb, var(--cp-gray) 85%, var(--cp-navy));
}
.ch-newsletter-area.cp-newsletter-area .cp-nl-form .form-field input:focus {
  outline: 2px solid var(--cp-aqua-pale);
  outline-offset: 2px;
  border-color: transparent;
}
.ch-newsletter-area.cp-newsletter-area .cp-nl-form .form-field button {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 56px;
  width: auto;
  min-width: 168px;
  margin: 0;
  padding: 0 26px;
  border: 0;
  border-radius: 999px;
  background: #fff;
  color: var(--cp-navy);
  font-family: "Rajdhani", sans-serif;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  box-shadow: 0 10px 24px color-mix(in srgb, #000 20%, transparent);
  transition: transform 0.35s ease, background 0.35s ease, color 0.35s ease, box-shadow 0.35s ease;
}
.ch-newsletter-area.cp-newsletter-area .cp-nl-form .form-field button .ti-arrow-right {
  font-size: 12px;
  transition: transform 0.35s ease;
}
.ch-newsletter-area.cp-newsletter-area .cp-nl-form .form-field button:hover,
.ch-newsletter-area.cp-newsletter-area .cp-nl-form .form-field button:focus-visible {
  background: var(--cp-aqua-pale);
  color: var(--cp-navy);
  transform: translateY(-2px);
  box-shadow: 0 14px 28px color-mix(in srgb, #000 28%, transparent);
  outline: none;
}
.ch-newsletter-area.cp-newsletter-area .cp-nl-form .form-field button:hover .ti-arrow-right,
.ch-newsletter-area.cp-newsletter-area .cp-nl-form .form-field button:focus-visible .ti-arrow-right {
  transform: translateX(4px);
}

.ch-newsletter-area.cp-newsletter-area .cp-nl-features {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  list-style: none;
  margin: 32px 0 0;
  padding: 0;
}
.ch-newsletter-area.cp-newsletter-area .cp-nl-features li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  text-align: left;
  padding: 14px 14px;
  border-radius: 16px;
  background: color-mix(in srgb, #fff 10%, transparent);
  border: 1px solid color-mix(in srgb, #fff 18%, transparent);
  box-shadow: 0 10px 22px color-mix(in srgb, #000 14%, transparent);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  transition: transform 0.35s ease, border-color 0.35s ease, background 0.35s ease;
}
.ch-newsletter-area.cp-newsletter-area .cp-nl-features li:hover {
  transform: translateY(-4px);
  border-color: color-mix(in srgb, var(--cp-aqua-pale) 45%, transparent);
  background: color-mix(in srgb, #fff 14%, transparent);
}
.ch-newsletter-area.cp-newsletter-area .cp-nl-feat-icon {
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  color: var(--cp-navy);
  background: linear-gradient(135deg, #fff, var(--cp-aqua-pale));
  box-shadow: 0 8px 16px color-mix(in srgb, #000 18%, transparent);
  font-size: 16px;
}
.ch-newsletter-area.cp-newsletter-area .cp-nl-features strong {
  display: block;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 2px;
}
.ch-newsletter-area.cp-newsletter-area .cp-nl-features span {
  display: block;
  color: color-mix(in srgb, var(--cp-ice) 82%, #fff);
  font-size: 13px;
  line-height: 1.45;
}

@media (max-width: 991px) {
  .ch-newsletter-area.cp-newsletter-area .cp-nl-features {
    grid-template-columns: 1fr;
    max-width: 420px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media (max-width: 640px) {
  .ch-newsletter-area.cp-newsletter-area .cp-newsletter-wrap {
    border-radius: 22px;
    padding: 40px 16px;
  }
  .ch-newsletter-area.cp-newsletter-area .cp-nl-form .form-field {
    flex-direction: column;
    border-radius: 22px;
    padding: 12px;
  }
  .ch-newsletter-area.cp-newsletter-area .cp-nl-form .form-field input,
  .ch-newsletter-area.cp-newsletter-area .cp-nl-form .form-field button {
    width: 100%;
    height: 52px;
  }
  .ch-newsletter-area.cp-newsletter-area .cp-nl-desc {
    font-size: 15px;
    margin-bottom: 22px;
  }
  .ch-newsletter-area.cp-newsletter-area .cp-nl-features {
    margin-top: 24px;
    gap: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ch-newsletter-area.cp-newsletter-area .cp-nl-bubble,
  .ch-newsletter-area.cp-newsletter-area .cp-nl-fish,
  .ch-newsletter-area.cp-newsletter-area .cp-nl-form .form-field button,
  .ch-newsletter-area.cp-newsletter-area .cp-nl-form .form-field button .ti-arrow-right,
  .ch-newsletter-area.cp-newsletter-area .cp-nl-features li {
    animation: none;
    transition: none;
  }
  .ch-newsletter-area.cp-newsletter-area .cp-nl-form .form-field button:hover,
  .ch-newsletter-area.cp-newsletter-area .cp-nl-features li:hover {
    transform: none;
  }
}

/* Keep legacy dark-mode newsletter overrides from conflicting */
body.dark-mode .ch-newsletter-area.cp-newsletter-area .cp-newsletter-wrap {
  background:
    linear-gradient(
      155deg,
      color-mix(in srgb, var(--cp-navy) 92%, #000) 0%,
      var(--cp-ocean) 48%,
      color-mix(in srgb, var(--cp-aqua) 68%, var(--cp-ocean)) 100%
    );
  border: 1px solid color-mix(in srgb, var(--cp-aqua-light) 35%, transparent);
}
body.dark-mode .ch-newsletter-area.cp-newsletter-area .cp-newsletter-wrap:before {
  display: none;
}

/* ============================================================
   Aquarium Park ? Global Responsive & A11y Polish (last layer)
   ------------------------------------------------------------
   Preserves existing branding, animations and functionality.
   Only fixes overflow, media, breakpoint gaps, tap targets,
   focus visibility, motion preferences, and typography scale.
   ============================================================ */

/* --- Global media & flow -------------------------------------------------- */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
html,
body {
  max-width: 100%;
}
body {
  overflow-x: clip;
}
img,
video,
picture,
canvas,
svg {
  max-width: 100%;
  height: auto;
}
img[width][height] {
  height: auto;
}
iframe {
  max-width: 100%;
}
pre,
code,
kbd,
samp {
  overflow-x: auto;
  word-break: break-word;
}

/* Prevent long links / emails from overflowing narrow cards */
.footer-section .cp-footer-contact .contact-ft ul li a span,
.footer-section p,
.ch-blog-area .blog-content p,
.testimonial-section .cp-testimonial-card p {
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* Bootstrap container fluid gutter on very small screens */
@media (max-width: 480px) {
  .container,
  .container-fluid,
  .container-sm,
  .container-md,
  .container-lg,
  .container-xl {
    padding-left: 14px;
    padding-right: 14px;
  }
}
@media (max-width: 360px) {
  .container,
  .container-fluid {
    padding-left: 12px;
    padding-right: 12px;
  }
}

/* --- Accessibility: focus + skip link ------------------------------------- */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--cp-aqua);
  outline-offset: 2px;
  border-radius: 4px;
}
.cp-skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 10000;
  padding: 10px 16px;
  background: var(--cp-navy);
  color: #fff;
  font-weight: 700;
  border-radius: 0 0 8px 0;
}
.cp-skip-link:focus,
.cp-skip-link:focus-visible {
  left: 0;
  outline: 2px solid var(--cp-aqua);
  outline-offset: 2px;
}

/* --- Tap targets & interactive sizing (mobile) ---------------------------- */
@media (pointer: coarse), (max-width: 767px) {
  .cp-header-area .cp-header-area-right .call-btn,
  .cp-lang-btn,
  .cp-social-icons a,
  .footer-section .cp-footer-social ul li a,
  .cp-footer-contact .contact-ft ul li a,
  .cp-tickets-cta,
  .ch-btn-style-1,
  .ch-btn-style-2,
  .ch-btn-style-3,
  .newsletter-form .form-field button,
  .cp-nl-form .form-field button,
  .owl-nav [class*="owl-"],
  .owl-dots button,
  .back-btn {
    min-height: 44px;
  }
  .owl-dots button {
    min-width: 22px;
    min-height: 22px;
  }
}

/* --- Motion preferences (safety net) ------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
  .wow {
    visibility: visible !important;
  }
}

/* --- Fluid typography for large heading families ------------------------- */
.ch-top-title h2,
.ch-top-title-s2 h2,
.ch-top-title-s3 h2 {
  font-size: clamp(1.6rem, 2.4vw + 0.8rem, 2.8rem);
  line-height: 1.2;
}
.site-split-text {
  word-wrap: break-word;
  overflow-wrap: anywhere;
}
h1 {
  font-size: clamp(1.85rem, 3vw + 0.9rem, 3.25rem);
  line-height: 1.15;
}

/* --- Sections that historically overflow --------------------------------- */
.page-wrap,
.page-wrapper {
  overflow-x: clip;
}
.hero-slider,
.hero-slider-s2,
#wowslider-container1,
.testimonial-section,
.text-moving-sec,
.text-moving-sec-s2,
.cp-tickets-area,
.ch-newsletter-area,
.footer-section {
  overflow-x: clip;
}

/* Owl carousels: stop items from spilling on narrow screens */
.owl-carousel {
  max-width: 100%;
}
.owl-carousel .owl-stage-outer {
  overflow: hidden;
}

/* --- Forms polish -------------------------------------------------------- */
input,
select,
textarea,
button {
  font: inherit;
}
input,
select,
textarea {
  max-width: 100%;
}
@media (max-width: 575px) {
  .newsletter-form .form-field input,
  .cp-nl-form .form-field input {
    font-size: 16px; /* prevent iOS zoom on focus */
  }
}
.form-field input,
.form-field textarea,
.form-field select {
  min-height: 44px;
}

/* --- Header / navigation responsive polish -------------------------------- */
@media (max-width: 991px) {
  .cp-header-area {
    padding-left: 4px;
    padding-right: 4px;
  }
  .cp-header-area .site-branding img {
    max-height: 46px;
    width: auto;
  }
  .mean-container .mean-bar {
    padding: 0 12px;
  }
  .mean-container .mean-nav ul li a {
    padding: 12px 5% !important;
    min-height: 44px;
  }
}
@media (max-width: 400px) {
  .cp-header-area .site-branding img {
    max-height: 40px;
  }
}

/* --- Footer 4-column widget grid safety net ------------------------------ */
@media (max-width: 991px) {
  .footer-section .upper-footer .row {
    row-gap: 24px;
  }
  .footer-section .upper-footer .col {
    min-height: 0 !important;
    margin-bottom: 0;
  }
}
@media (max-width: 480px) {
  .footer-section .widget.subscribe .cp-footer-gallery {
    max-width: 100%;
  }
}

/* --- Subscribe / newsletter narrow-screen fine tuning -------------------- */
@media (max-width: 380px) {
  .ch-newsletter-area.cp-newsletter-area .cp-nl-features li {
    padding: 12px;
    gap: 10px;
  }
  .ch-newsletter-area.cp-newsletter-area .cp-nl-feat-icon {
    flex: 0 0 36px;
    width: 36px;
    height: 36px;
  }
}

/* --- Testimonial carousel narrow phones ---------------------------------- */
@media (max-width: 400px) {
  .testimonial-section .cp-testimonial-card {
    padding: 20px 16px 18px;
    border-radius: 18px;
  }
  .testimonial-section .cp-testimonial-card .testimonial-info {
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .testimonial-section .cp-testimonial-card .testimonial-avatar {
    width: 52px;
    height: 52px;
  }
}

/* --- Blog cards vertical fallback (? 380px) ------------------------------ */
@media (max-width: 380px) {
  .ch-blog-area.cp-blog-area .blog-items .blog-item .blog-content h2 {
    font-size: 1.05rem;
    line-height: 1.35;
  }
  .ch-blog-area.cp-blog-area .blog-items .blog-item .blog-content p {
    font-size: 14px;
  }
}

/* --- Skill / funfact cards on narrow phones ------------------------------ */
@media (max-width: 400px) {
  .cp-funfact-area .cp-funfact-card h3 {
    font-size: clamp(2rem, 8vw, 2.6rem);
  }
}

/* --- Fix owl navigation buttons that may hang off narrow screens --------- */
@media (max-width: 575px) {
  .owl-nav [class*="owl-"] {
    width: 40px;
    height: 40px;
    line-height: 40px;
    font-size: 16px;
  }
}

/* --- Tables (defensive; no tables currently but future-proof) ------------ */
table {
  width: 100%;
  border-collapse: collapse;
}
.table-responsive-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

/* --- Ultra-wide screens (? 1600px) container widening -------------------- */
@media (min-width: 1600px) {
  .container {
    max-width: 1340px;
  }
}

/* ============================================================
   Aquarium Park ? Contact Us section (.cp-contact-info)
   Full-width card layout (35% info / 65% map) + underwater deco
   ============================================================ */
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap");

.cp-contact-info {
  position: relative;
  padding: clamp(72px, 9vw, 120px) 0;
  overflow: hidden;
  isolation: isolate;
  background: transparent;
  font-family: "Poppins", "Rubik", system-ui, sans-serif;
}
.cp-contact-info,
.cp-contact-info p,
.cp-contact-info a,
.cp-contact-info h2,
.cp-contact-info h3,
.cp-contact-info table {
  font-family: "Poppins", "Rubik", system-ui, sans-serif;
}

/* -- Wave dividers (top / bottom) ------------------------------------------ */
.cp-contact-info .cp-ci-waves {
  display: none;
}

/* -- Underwater deco ------------------------------------------------------- */
.cp-contact-info .cp-ci-deco {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}
.cp-contact-info .cp-ci-bubble {
  position: absolute;
  border-radius: 50%;
  border: 1.5px solid color-mix(in srgb, var(--cp-aqua) 40%, transparent);
  background: color-mix(in srgb, var(--cp-aqua-pale) 30%, transparent);
  animation: cp-ci-rise 9s ease-in-out infinite;
}
.cp-contact-info .cp-ci-b1 { width: 14px; height: 14px; left: 6%;  bottom: 18%; animation-delay: 0s; }
.cp-contact-info .cp-ci-b2 { width: 10px; height: 10px; left: 12%; bottom: 40%; animation-delay: 2.1s; }
.cp-contact-info .cp-ci-b3 { width: 18px; height: 18px; left: 22%; bottom: 8%;  animation-delay: 1.2s; animation-duration: 11s; }
.cp-contact-info .cp-ci-b4 { width: 12px; height: 12px; right: 8%; top: 22%;    animation-delay: 3s; animation-duration: 10s; }
.cp-contact-info .cp-ci-b5 { width: 8px;  height: 8px;  right: 18%; bottom: 32%; animation-delay: 0.6s; animation-duration: 8.5s; }
.cp-contact-info .cp-ci-coral {
  position: absolute;
  bottom: 0;
  width: 240px;
  height: 90px;
  opacity: 0.28;
  background:
    radial-gradient(ellipse 22% 55% at 20% 100%, color-mix(in srgb, var(--cp-aqua) 55%, transparent) 0 42%, transparent 44%),
    radial-gradient(ellipse 24% 68% at 46% 100%, color-mix(in srgb, var(--cp-ocean) 45%, transparent) 0 40%, transparent 42%),
    radial-gradient(ellipse 22% 58% at 74% 100%, color-mix(in srgb, var(--cp-aqua-light) 55%, transparent) 0 40%, transparent 42%);
}
.cp-contact-info .cp-ci-coral-l { left: -3%; }
.cp-contact-info .cp-ci-coral-r { right: -3%; transform: scaleX(-1); }
@keyframes cp-ci-rise {
  0%, 100% { transform: translateY(0) scale(1); opacity: 0.45; }
  50% { transform: translateY(-32px) scale(1.08); opacity: 0.9; }
}

/* -- Header --------------------------------------------------------------- */
.cp-contact-info .container {
  position: relative;
  z-index: 1;
}
.cp-contact-info .cp-ci-head {
  text-align: center;
  max-width: 720px;
  margin: 0 auto 48px;
}
.cp-contact-info .cp-ci-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 16px;
  margin-bottom: 16px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--cp-navy);
  background: color-mix(in srgb, var(--cp-aqua-pale) 65%, #fff);
  border: 1px solid color-mix(in srgb, var(--cp-aqua) 30%, transparent);
  box-shadow: 0 6px 14px color-mix(in srgb, var(--cp-aqua) 15%, transparent);
}
.cp-contact-info .cp-ci-badge i {
  color: var(--cp-aqua);
  font-size: 12px;
}
.cp-contact-info .cp-ci-head h2 {
  color: var(--cp-navy);
  font-family: "Poppins", "Rajdhani", sans-serif;
  font-size: clamp(1.9rem, 3.4vw, 2.75rem);
  font-weight: 700;
  line-height: 1.15;
  margin: 0 0 12px;
}
.cp-contact-info .cp-ci-head p {
  color: color-mix(in srgb, var(--cp-gray) 90%, var(--cp-navy));
  font-size: 16px;
  line-height: 1.7;
  margin: 0;
}

/* -- Grid ----------------------------------------------------------------- */
.cp-contact-info .cp-ci-grid {
  display: grid;
  grid-template-columns: 35fr 65fr;
  gap: 28px;
  align-items: stretch;
}
.cp-contact-info .cp-ci-cards {
  display: grid;
  grid-template-rows: repeat(4, 1fr);
  gap: 16px;
}

/* -- Info cards ----------------------------------------------------------- */
.cp-contact-info .cp-ci-card {
  position: relative;
  display: flex;
  gap: 16px;
  padding: 20px 22px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid color-mix(in srgb, var(--cp-aqua) 15%, var(--cp-border));
  box-shadow:
    0 12px 28px color-mix(in srgb, var(--cp-navy) 10%, transparent),
    inset 0 1px 0 color-mix(in srgb, #fff 85%, transparent);
  overflow: hidden;
  transition: transform 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease;
}
.cp-contact-info .cp-ci-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  background: linear-gradient(180deg, var(--cp-aqua), var(--cp-ocean));
  transform: scaleY(0.25);
  transform-origin: top center;
  transition: transform 0.45s ease;
}
.cp-contact-info .cp-ci-card:hover,
.cp-contact-info .cp-ci-card:focus-within {
  transform: translateY(-4px);
  border-color: color-mix(in srgb, var(--cp-aqua) 45%, transparent);
  box-shadow:
    0 20px 36px color-mix(in srgb, var(--cp-navy) 15%, transparent),
    0 0 0 1px color-mix(in srgb, var(--cp-aqua) 20%, transparent);
}
.cp-contact-info .cp-ci-card:hover::before,
.cp-contact-info .cp-ci-card:focus-within::before {
  transform: scaleY(1);
}
.cp-contact-info .cp-ci-icon {
  flex: 0 0 56px;
  width: 56px;
  height: 56px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 16px;
  color: #fff;
  background: linear-gradient(135deg, var(--cp-aqua), var(--cp-ocean));
  box-shadow: 0 10px 20px color-mix(in srgb, var(--cp-aqua) 30%, transparent);
  font-size: 22px;
  transition: transform 0.4s ease;
}
.cp-contact-info .cp-ci-card:hover .cp-ci-icon,
.cp-contact-info .cp-ci-card:focus-within .cp-ci-icon {
  transform: rotate(-6deg) scale(1.05);
}
.cp-contact-info .cp-ci-body {
  flex: 1 1 auto;
  min-width: 0;
}
.cp-contact-info .cp-ci-body h3 {
  color: var(--cp-navy);
  font-size: 17px;
  font-weight: 700;
  line-height: 1.25;
  margin: 0 0 6px;
}
.cp-contact-info .cp-ci-body p {
  margin: 0;
  color: color-mix(in srgb, var(--cp-gray) 90%, var(--cp-navy));
  font-size: 14.5px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}
.cp-contact-info .cp-ci-body a {
  color: var(--cp-ocean);
  text-decoration: none;
  transition: color 0.3s ease;
}
.cp-contact-info .cp-ci-body a:hover,
.cp-contact-info .cp-ci-body a:focus-visible {
  color: var(--cp-aqua);
  text-decoration: underline;
  outline: none;
}

/* -- Open hours table ---------------------------------------------------- */
.cp-contact-info .cp-ci-hours {
  width: 100%;
  border-collapse: collapse;
  margin-top: 4px;
}
.cp-contact-info .cp-ci-hours tr + tr th,
.cp-contact-info .cp-ci-hours tr + tr td {
  border-top: 1px dashed color-mix(in srgb, var(--cp-aqua) 25%, var(--cp-border));
}
.cp-contact-info .cp-ci-hours th,
.cp-contact-info .cp-ci-hours td {
  padding: 6px 0;
  font-size: 14px;
  line-height: 1.4;
  text-align: left;
  vertical-align: middle;
}
.cp-contact-info .cp-ci-hours th {
  color: var(--cp-navy);
  font-weight: 600;
  width: 42%;
}
.cp-contact-info .cp-ci-hours td {
  color: color-mix(in srgb, var(--cp-gray) 92%, var(--cp-navy));
  font-weight: 500;
  text-align: right;
}

/* -- Map ----------------------------------------------------------------- */
.cp-contact-info .cp-ci-map {
  position: relative;
  min-height: 460px;
  height: 100%;
  border-radius: 22px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--cp-aqua) 22%, var(--cp-border));
  box-shadow:
    0 18px 40px color-mix(in srgb, var(--cp-navy) 15%, transparent),
    inset 0 0 0 1px color-mix(in srgb, #fff 60%, transparent);
  background: #eaf2f7;
}
.cp-contact-info .cp-ci-map iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
  filter: saturate(1.05) contrast(1.02);
}
.cp-contact-info .cp-ci-map-badge {
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.92);
  color: var(--cp-navy);
  font-size: 13px;
  font-weight: 600;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.cp-contact-info .cp-ci-map-badge i {
  color: var(--cp-aqua);
  font-size: 14px;
}

/* -- Responsive ---------------------------------------------------------- */
@media (max-width: 1199px) {
  .cp-contact-info .cp-ci-grid {
    grid-template-columns: 40fr 60fr;
    gap: 22px;
  }
  .cp-contact-info .cp-ci-map {
    min-height: 420px;
  }
}
@media (max-width: 991px) {
  .cp-contact-info .cp-ci-grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }
  .cp-contact-info .cp-ci-cards {
    grid-template-rows: none;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }
  .cp-contact-info .cp-ci-map {
    min-height: 380px;
  }
}
@media (max-width: 640px) {
  .cp-contact-info .cp-ci-cards {
    grid-template-columns: 1fr;
  }
  .cp-contact-info .cp-ci-card {
    padding: 18px 18px;
  }
  .cp-contact-info .cp-ci-icon {
    flex: 0 0 48px;
    width: 48px;
    height: 48px;
    font-size: 20px;
  }
  .cp-contact-info .cp-ci-map {
    min-height: 320px;
    border-radius: 18px;
  }
  .cp-contact-info .cp-ci-head {
    margin-bottom: 32px;
  }
}
@media (max-width: 380px) {
  .cp-contact-info .cp-ci-card {
    gap: 12px;
    padding: 16px 14px;
  }
  .cp-contact-info .cp-ci-hours th,
  .cp-contact-info .cp-ci-hours td {
    font-size: 13px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .cp-contact-info .cp-ci-bubble,
  .cp-contact-info .cp-ci-card,
  .cp-contact-info .cp-ci-icon,
  .cp-contact-info .cp-ci-card::before {
    animation: none;
    transition: none;
  }
  .cp-contact-info .cp-ci-card:hover,
  .cp-contact-info .cp-ci-card:focus-within {
    transform: none;
  }
  .cp-contact-info .cp-ci-card:hover .cp-ci-icon,
  .cp-contact-info .cp-ci-card:focus-within .cp-ci-icon {
    transform: none;
  }
}

/* ============================================================
   Aquarium Park ? Blog listing page (.cp-blog-page)
   Preserves blog-item / sidebar structure; theme polish only
   ============================================================ */
.page-title.cp-blog-hero {
  position: relative;
  overflow: hidden;
}
.page-title.cp-blog-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 50% 80% at 85% 20%, color-mix(in srgb, var(--cp-aqua) 28%, transparent), transparent 60%),
    radial-gradient(ellipse 40% 60% at 10% 80%, color-mix(in srgb, var(--cp-ocean) 22%, transparent), transparent 55%);
  z-index: 0;
}
.page-title.cp-blog-hero .container {
  position: relative;
  z-index: 1;
}

.blog-page-area.cp-blog-page {
  position: relative;
}
.blog-page-area.cp-blog-page .cp-blog-intro {
  max-width: 640px;
  margin: 0 0 40px;
}
.blog-page-area.cp-blog-page .cp-blog-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
  padding: 6px 14px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--cp-navy);
  background: color-mix(in srgb, var(--cp-aqua-pale) 70%, #fff);
  border: 1px solid color-mix(in srgb, var(--cp-aqua) 30%, transparent);
}
.blog-page-area.cp-blog-page .cp-blog-intro p {
  margin: 0;
  color: color-mix(in srgb, var(--cp-gray) 90%, var(--cp-navy));
  font-size: 16px;
  line-height: 1.7;
}

.blog-page-area.cp-blog-page .blog-item {
  position: relative;
  margin-bottom: 36px;
  padding: 0;
  border-radius: 22px;
  overflow: hidden;
  background: color-mix(in srgb, var(--cp-card) 96%, var(--cp-aqua-pale));
  border: 1px solid color-mix(in srgb, var(--cp-aqua) 18%, var(--cp-border));
  box-shadow: 0 16px 36px color-mix(in srgb, var(--cp-navy) 10%, transparent);
  transition: transform 0.45s ease, box-shadow 0.45s ease, border-color 0.45s ease;
}
.blog-page-area.cp-blog-page .blog-item:last-child {
  margin-bottom: 36px;
}
.blog-page-area.cp-blog-page .blog-item:hover,
.blog-page-area.cp-blog-page .blog-item:focus-within {
  transform: translateY(-6px);
  border-color: color-mix(in srgb, var(--cp-aqua) 40%, transparent);
  box-shadow: 0 24px 48px color-mix(in srgb, var(--cp-navy) 16%, transparent);
}
.blog-page-area.cp-blog-page .blog-item .blog-img {
  position: relative;
  overflow: hidden;
  margin: 0;
}
.blog-page-area.cp-blog-page .blog-item .blog-img a {
  display: block;
}
.blog-page-area.cp-blog-page .blog-item .blog-img img {
  width: 100%;
  height: clamp(220px, 36vw, 360px);
  object-fit: cover;
  display: block;
  transform: scale(1.01);
  transition: transform 0.7s ease, filter 0.45s ease;
}
.blog-page-area.cp-blog-page .blog-item:hover .blog-img img,
.blog-page-area.cp-blog-page .blog-item:focus-within .blog-img img {
  transform: scale(1.08);
  filter: brightness(1.05) saturate(1.06);
}
.blog-page-area.cp-blog-page .blog-item .blog-img ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin: 0;
  padding: 10px 16px;
  max-width: none;
  left: 16px;
  bottom: 16px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--cp-navy) 82%, transparent);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid color-mix(in srgb, #fff 18%, transparent);
  box-shadow: 0 8px 18px color-mix(in srgb, #000 20%, transparent);
}
.blog-page-area.cp-blog-page .blog-item .blog-img ul li {
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  margin: 0;
}
.blog-page-area.cp-blog-page .blog-item .blog-img ul li + li {
  margin-left: 0;
  padding-left: 10px;
  border-left: 1px solid color-mix(in srgb, #fff 25%, transparent);
}
.blog-page-area.cp-blog-page .blog-item .blog-img ul li i {
  color: var(--cp-aqua-pale);
  margin-right: 4px;
}
.blog-page-area.cp-blog-page .blog-item .blog-content {
  padding: 26px 28px 28px;
}
.blog-page-area.cp-blog-page .blog-item .blog-content h2 {
  font-size: clamp(1.25rem, 2vw, 1.7rem);
  line-height: 1.3;
  margin-bottom: 12px;
}
.blog-page-area.cp-blog-page .blog-item .blog-content h2 a {
  color: var(--cp-navy);
  text-decoration: none;
  transition: color 0.3s ease;
}
.blog-page-area.cp-blog-page .blog-item .blog-content h2 a:hover,
.blog-page-area.cp-blog-page .blog-item .blog-content h2 a:focus-visible {
  color: var(--cp-aqua);
  outline: none;
}
.blog-page-area.cp-blog-page .blog-item .blog-content p {
  color: color-mix(in srgb, var(--cp-gray) 92%, var(--cp-navy));
  margin-bottom: 20px;
  line-height: 1.75;
}
.blog-page-area.cp-blog-page .blog-item .blog-content .ch-btn-style-3 {
  color: var(--cp-aqua);
  border-color: var(--cp-aqua);
}
.blog-page-area.cp-blog-page .blog-item .blog-content .ch-btn-style-3:hover,
.blog-page-area.cp-blog-page .blog-item .blog-content .ch-btn-style-3:focus,
.blog-page-area.cp-blog-page .blog-item .blog-content .ch-btn-style-3:active {
  color: var(--cp-navy);
  border-color: var(--cp-aqua);
}

.blog-page-area.cp-blog-page .pagination-wrapper {
  margin-top: 8px;
}
.blog-page-area.cp-blog-page .pg-pagination li a {
  border-radius: 50%;
  border-color: color-mix(in srgb, var(--cp-aqua) 35%, var(--cp-border));
  transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
}
.blog-page-area.cp-blog-page .pg-pagination li a:hover,
.blog-page-area.cp-blog-page .pg-pagination .active a {
  background: var(--cp-aqua);
  border-color: var(--cp-aqua);
  color: #fff;
  transform: translateY(-2px);
}

/* Sidebar */
.blog-page-area.cp-blog-page .blog-sidebar .widget,
.blog-page-area.cp-blog-page .blog-sidebar .search-widget {
  border-radius: 18px;
  border: 1px solid color-mix(in srgb, var(--cp-aqua) 16%, var(--cp-border));
  background: color-mix(in srgb, var(--cp-card) 96%, var(--cp-aqua-pale));
  box-shadow: 0 12px 28px color-mix(in srgb, var(--cp-navy) 8%, transparent);
  padding: 24px 22px;
  margin-bottom: 24px;
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}
.blog-page-area.cp-blog-page .blog-sidebar .widget:hover,
.blog-page-area.cp-blog-page .blog-sidebar .search-widget:hover {
  box-shadow: 0 16px 34px color-mix(in srgb, var(--cp-navy) 12%, transparent);
}
.blog-page-area.cp-blog-page .blog-sidebar .widget h3 {
  color: var(--cp-navy);
  position: relative;
  padding-bottom: 12px;
  margin-bottom: 18px;
}
.blog-page-area.cp-blog-page .blog-sidebar .widget h3:before {
  background: linear-gradient(90deg, var(--cp-aqua), var(--cp-ocean));
  width: 42px;
  height: 3px;
  border-radius: 2px;
}
.blog-page-area.cp-blog-page .blog-sidebar .search-widget {
  padding: 18px;
}
.blog-page-area.cp-blog-page .blog-sidebar .search-widget input {
  border-radius: 999px;
  border-color: color-mix(in srgb, var(--cp-aqua) 28%, var(--cp-border));
  color: var(--cp-navy);
  font-weight: 500;
  padding-right: 54px;
  min-height: 48px;
}
.blog-page-area.cp-blog-page .blog-sidebar .search-widget input:focus {
  border-color: var(--cp-aqua);
  outline: none;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--cp-aqua) 20%, transparent);
}
.blog-page-area.cp-blog-page .blog-sidebar .search-widget form button {
  border-radius: 50%;
  background: var(--cp-aqua);
  color: #fff;
  width: 40px;
  height: 40px;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
  transition: background 0.3s ease, transform 0.3s ease;
}
.blog-page-area.cp-blog-page .blog-sidebar .search-widget form button:hover,
.blog-page-area.cp-blog-page .blog-sidebar .search-widget form button:focus-visible {
  background: var(--cp-ocean);
  outline: none;
}
.blog-page-area.cp-blog-page .blog-sidebar .category-widget ul li a {
  color: color-mix(in srgb, var(--cp-gray) 70%, var(--cp-navy));
  border-radius: 10px;
  padding: 10px 12px;
  transition: background 0.3s ease, color 0.3s ease, padding-left 0.3s ease;
}
.blog-page-area.cp-blog-page .blog-sidebar .category-widget ul li a:hover,
.blog-page-area.cp-blog-page .blog-sidebar .category-widget ul li a:focus-visible {
  background: color-mix(in srgb, var(--cp-aqua-pale) 55%, transparent);
  color: var(--cp-navy);
  padding-left: 16px;
  outline: none;
}
.blog-page-area.cp-blog-page .blog-sidebar .category-widget ul li a i {
  color: var(--cp-aqua);
}
.blog-page-area.cp-blog-page .blog-sidebar .recent-post .post {
  align-items: center;
  gap: 12px;
  padding-bottom: 14px;
  margin-bottom: 14px;
  border-bottom: 1px dashed color-mix(in srgb, var(--cp-aqua) 25%, var(--cp-border));
}
.blog-page-area.cp-blog-page .blog-sidebar .recent-post .post:last-child {
  border-bottom: 0;
  margin-bottom: 0;
  padding-bottom: 0;
}
.blog-page-area.cp-blog-page .blog-sidebar .recent-post .post .post-img {
  flex: 0 0 72px;
  width: 72px;
  height: 72px;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 6px 14px color-mix(in srgb, var(--cp-navy) 12%, transparent);
}
.blog-page-area.cp-blog-page .blog-sidebar .recent-post .post .post-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.45s ease;
}
.blog-page-area.cp-blog-page .blog-sidebar .recent-post .post:hover .post-img img {
  transform: scale(1.08);
}
.blog-page-area.cp-blog-page .blog-sidebar .recent-post .post .post-content h4 a {
  color: var(--cp-navy);
}
.blog-page-area.cp-blog-page .blog-sidebar .recent-post .post .post-content h4 a:hover,
.blog-page-area.cp-blog-page .blog-sidebar .recent-post .post .post-content h4 a:focus-visible {
  color: var(--cp-aqua);
  outline: none;
}
.blog-page-area.cp-blog-page .blog-sidebar .recent-post .post .post-content ul li {
  color: var(--cp-aqua);
}
.blog-page-area.cp-blog-page .blog-sidebar .about-widget .img-holder {
  border-radius: 16px;
  overflow: hidden;
  margin-bottom: 14px;
}
.blog-page-area.cp-blog-page .blog-sidebar .about-widget .img-holder img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  display: block;
}
.blog-page-area.cp-blog-page .blog-sidebar .about-widget h4 {
  color: var(--cp-navy);
  font-weight: 700;
}
.blog-page-area.cp-blog-page .blog-sidebar .about-widget .social ul {
  display: flex;
  gap: 10px;
  margin-top: 14px;
}
.blog-page-area.cp-blog-page .blog-sidebar .about-widget .social ul li a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid color-mix(in srgb, var(--cp-aqua) 35%, transparent);
  color: var(--cp-navy);
  transition: background 0.3s ease, color 0.3s ease, transform 0.3s ease;
}
.blog-page-area.cp-blog-page .blog-sidebar .about-widget .social ul li a:hover,
.blog-page-area.cp-blog-page .blog-sidebar .about-widget .social ul li a:focus-visible {
  background: var(--cp-navy);
  color: #fff;
  transform: translateY(-2px);
  outline: none;
}
.blog-page-area.cp-blog-page .blog-sidebar .tag-widget ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.blog-page-area.cp-blog-page .blog-sidebar .tag-widget ul li {
  margin: 0;
}
.blog-page-area.cp-blog-page .blog-sidebar .tag-widget ul li a {
  display: inline-block;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--cp-aqua) 30%, var(--cp-border));
  background: color-mix(in srgb, var(--cp-ice) 55%, #fff);
  color: var(--cp-navy);
  padding: 7px 14px;
  font-size: 13px;
  font-weight: 600;
  transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
}
.blog-page-area.cp-blog-page .blog-sidebar .tag-widget ul li a:hover,
.blog-page-area.cp-blog-page .blog-sidebar .tag-widget ul li a:focus-visible {
  background: var(--cp-aqua);
  border-color: var(--cp-aqua);
  color: #fff;
  transform: translateY(-2px);
  outline: none;
}

@media (max-width: 991px) {
  .blog-page-area.cp-blog-page .blog-sidebar {
    margin-top: 40px;
  }
  .blog-page-area.cp-blog-page .blog-item .blog-content {
    padding: 22px 20px 24px;
  }
}
@media (max-width: 575px) {
  .blog-page-area.cp-blog-page .cp-blog-intro {
    margin-bottom: 28px;
  }
  .blog-page-area.cp-blog-page .blog-item .blog-img ul {
    left: 10px;
    right: 10px;
    bottom: 10px;
    border-radius: 14px;
  }
  .blog-page-area.cp-blog-page .blog-item .blog-img img {
    height: 210px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .blog-page-area.cp-blog-page .blog-item,
  .blog-page-area.cp-blog-page .blog-item .blog-img img,
  .blog-page-area.cp-blog-page .pg-pagination li a,
  .blog-page-area.cp-blog-page .blog-sidebar .tag-widget ul li a,
  .blog-page-area.cp-blog-page .blog-sidebar .about-widget .social ul li a {
    transition: none;
  }
  .blog-page-area.cp-blog-page .blog-item:hover,
  .blog-page-area.cp-blog-page .blog-item:focus-within {
    transform: none;
  }
  .blog-page-area.cp-blog-page .blog-item:hover .blog-img img,
  .blog-page-area.cp-blog-page .blog-item:focus-within .blog-img img {
    transform: none;
  }
}

/* ============================================================
   Aquarium Park ? Blog single post (.cp-blog-single)
   Reuses listing sidebar language; article body polish
   ============================================================ */
.blog-single-page-area.cp-blog-single .blog-single-wrap {
  border-radius: 22px;
  overflow: hidden;
  background: color-mix(in srgb, var(--cp-card) 96%, var(--cp-aqua-pale));
  border: 1px solid color-mix(in srgb, var(--cp-aqua) 16%, var(--cp-border));
  box-shadow: 0 16px 40px color-mix(in srgb, var(--cp-navy) 10%, transparent);
  padding: 0 0 8px;
}
.blog-single-page-area.cp-blog-single .blog-single-text .blog-img {
  position: relative;
  margin: 0;
  overflow: hidden;
}
.blog-single-page-area.cp-blog-single .blog-single-text .blog-img img {
  width: 100%;
  height: clamp(240px, 42vw, 460px);
  object-fit: cover;
  display: block;
}
.blog-single-page-area.cp-blog-single .blog-single-text .blog-img ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  align-items: center;
  max-width: none;
  left: 16px;
  bottom: 16px;
  padding: 10px 16px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--cp-navy) 82%, transparent);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid color-mix(in srgb, #fff 18%, transparent);
  color: #fff;
}
.blog-single-page-area.cp-blog-single .blog-single-text .blog-img ul li {
  color: #fff;
  font-size: 13px;
  font-weight: 500;
}
.blog-single-page-area.cp-blog-single .blog-single-text .blog-img ul li i {
  color: var(--cp-aqua-pale);
}
.blog-single-page-area.cp-blog-single .blog-single-text .blog-img .date {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 2;
  padding: 8px 14px;
  border-radius: 999px;
  background: color-mix(in srgb, #fff 92%, transparent);
  color: var(--cp-navy);
  font-size: 13px;
  font-weight: 700;
  box-shadow: 0 8px 18px color-mix(in srgb, #000 14%, transparent);
}
.blog-single-page-area.cp-blog-single .blog-single-text-wrap,
.blog-single-page-area.cp-blog-single > .blog-single-wrap > h2,
.blog-single-page-area.cp-blog-single > .blog-single-wrap > p,
.blog-single-page-area.cp-blog-single .blog-single-wrap > h2,
.blog-single-page-area.cp-blog-single .blog-single-wrap > p,
.blog-single-page-area.cp-blog-single .blog-single-wrap > blockquote,
.blog-single-page-area.cp-blog-single .detail-img,
.blog-single-page-area.cp-blog-single .more-posts,
.blog-single-page-area.cp-blog-single .tag-share,
.blog-single-page-area.cp-blog-single .comments-area,
.blog-single-page-area.cp-blog-single .comment-respond {
  padding-left: 28px;
  padding-right: 28px;
}
.blog-single-page-area.cp-blog-single .blog-single-text-wrap {
  padding-top: 28px;
}
.blog-single-page-area.cp-blog-single .blog-single-wrap h2,
.blog-single-page-area.cp-blog-single .blog-single-text-wrap h2 {
  color: var(--cp-navy);
  font-size: clamp(1.45rem, 2.4vw, 2rem);
  line-height: 1.25;
  margin: 18px 0 14px;
}
.blog-single-page-area.cp-blog-single .blog-single-wrap p,
.blog-single-page-area.cp-blog-single .blog-single-text-wrap p {
  color: color-mix(in srgb, var(--cp-gray) 88%, var(--cp-navy));
  line-height: 1.8;
  margin-bottom: 16px;
}
.blog-single-page-area.cp-blog-single .blog-single-wrap > blockquote,
.blog-single-page-area.cp-blog-single blockquote {
  margin: 24px 28px;
  padding: 22px 24px 22px 28px;
  border-radius: 16px;
  border: 0;
  border-left: 4px solid var(--cp-aqua);
  background:
    linear-gradient(135deg,
      color-mix(in srgb, var(--cp-aqua-pale) 55%, #fff),
      color-mix(in srgb, var(--cp-ice) 70%, #fff));
  color: var(--cp-navy);
  font-size: 17px;
  font-style: italic;
  line-height: 1.65;
  box-shadow: 0 10px 24px color-mix(in srgb, var(--cp-aqua) 12%, transparent);
}
.blog-single-page-area.cp-blog-single blockquote span {
  display: block;
  margin-top: 12px;
  font-style: normal;
  font-size: 14px;
  font-weight: 700;
  color: var(--cp-ocean);
}
.blog-single-page-area.cp-blog-single .detail-img {
  margin: 10px 0 28px;
}
.blog-single-page-area.cp-blog-single .detail-img img {
  width: 100%;
  height: 100%;
  min-height: 220px;
  object-fit: cover;
  border-radius: 16px;
  box-shadow: 0 12px 28px color-mix(in srgb, var(--cp-navy) 14%, transparent);
}
.blog-single-page-area.cp-blog-single .more-posts.cp-more-posts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  margin: 10px 28px 24px;
  padding: 0 !important;
}
.blog-single-page-area.cp-blog-single .more-posts.cp-more-posts > .previous-post,
.blog-single-page-area.cp-blog-single .more-posts.cp-more-posts > .next-post {
  float: none;
  width: auto;
  text-align: left;
  position: relative;
  padding: 0;
  margin-top: 0;
  padding-right: 0;
  padding-left: 0;
}
.blog-single-page-area.cp-blog-single .more-posts.cp-more-posts > .previous-post:before,
.blog-single-page-area.cp-blog-single .more-posts.cp-more-posts > .next-post:before {
  display: none;
}
.blog-single-page-area.cp-blog-single .more-posts .cp-nav-post-link {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  height: 100%;
  padding: 14px;
  border-radius: 16px;
  border: 1px solid color-mix(in srgb, var(--cp-aqua) 22%, var(--cp-border));
  background: color-mix(in srgb, var(--cp-ice) 45%, #fff);
  text-decoration: none;
  transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
}
.blog-single-page-area.cp-blog-single .more-posts .cp-nav-post-link:hover,
.blog-single-page-area.cp-blog-single .more-posts .cp-nav-post-link:focus-visible {
  transform: translateY(-3px);
  border-color: var(--cp-aqua);
  box-shadow: 0 14px 28px color-mix(in srgb, var(--cp-aqua) 16%, transparent);
  outline: none;
}
.blog-single-page-area.cp-blog-single .more-posts .cp-nav-post-media {
  flex: 0 0 96px;
  width: 96px;
  height: 96px;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 8px 16px color-mix(in srgb, var(--cp-navy) 14%, transparent);
}
.blog-single-page-area.cp-blog-single .more-posts .cp-nav-post-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  aspect-ratio: 1 / 1;
  transition: transform 0.5s ease;
}
.blog-single-page-area.cp-blog-single .more-posts .cp-nav-post-link:hover .cp-nav-post-media img,
.blog-single-page-area.cp-blog-single .more-posts .cp-nav-post-link:focus-visible .cp-nav-post-media img {
  transform: scale(1.08);
}
.blog-single-page-area.cp-blog-single .more-posts .cp-nav-post-body {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}
.blog-single-page-area.cp-blog-single .more-posts .post-control-link {
  display: block;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--cp-aqua);
  margin-bottom: 2px;
}
.blog-single-page-area.cp-blog-single .more-posts .cp-nav-post-tag {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  color: var(--cp-ocean);
  background: color-mix(in srgb, var(--cp-aqua-pale) 60%, #fff);
  border: 1px solid color-mix(in srgb, var(--cp-aqua) 25%, transparent);
}
.blog-single-page-area.cp-blog-single .more-posts .post-name {
  display: block;
  color: var(--cp-navy);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.35;
  margin-top: 2px;
}
.blog-single-page-area.cp-blog-single .more-posts .cp-nav-post-desc {
  display: block;
  color: color-mix(in srgb, var(--cp-gray) 88%, var(--cp-navy));
  font-size: 13px;
  line-height: 1.5;
  margin-top: 2px;
}
.blog-single-page-area.cp-blog-single .more-posts .next-post {
  text-align: left;
}
.blog-single-page-area.cp-blog-single .tag-share {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin: 0 28px 28px;
  padding: 18px 0 !important;
  border-top: 1px dashed color-mix(in srgb, var(--cp-aqua) 28%, var(--cp-border));
  border-bottom: 1px dashed color-mix(in srgb, var(--cp-aqua) 28%, var(--cp-border));
}
.blog-single-page-area.cp-blog-single .tag-share .tag ul,
.blog-single-page-area.cp-blog-single .tag-share .share ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin: 0;
}
.blog-single-page-area.cp-blog-single .tag-share .tag ul li a {
  display: inline-block;
  padding: 6px 12px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--cp-aqua-pale) 55%, #fff);
  border: 1px solid color-mix(in srgb, var(--cp-aqua) 25%, transparent);
  color: var(--cp-navy);
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.3s ease, color 0.3s ease;
}
.blog-single-page-area.cp-blog-single .tag-share .tag ul li a:hover,
.blog-single-page-area.cp-blog-single .tag-share .tag ul li a:focus-visible {
  background: var(--cp-aqua);
  color: #fff;
  outline: none;
}
.blog-single-page-area.cp-blog-single .tag-share .share ul li a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid color-mix(in srgb, var(--cp-aqua) 35%, transparent);
  color: var(--cp-navy);
  transition: background 0.3s ease, color 0.3s ease, transform 0.3s ease;
}
.blog-single-page-area.cp-blog-single .tag-share .share ul li a:hover,
.blog-single-page-area.cp-blog-single .tag-share .share ul li a:focus-visible {
  background: var(--cp-navy);
  color: #fff;
  transform: translateY(-2px);
  outline: none;
}
.blog-single-page-area.cp-blog-single .comments-title,
.blog-single-page-area.cp-blog-single .comment-reply-title {
  color: var(--cp-navy);
  font-weight: 700;
  margin-bottom: 18px;
}
.blog-single-page-area.cp-blog-single .comments-area {
  margin-bottom: 10px;
}
.blog-single-page-area.cp-blog-single .comment {
  padding: 18px;
  margin-bottom: 14px;
  border-radius: 16px;
  border: 1px solid color-mix(in srgb, var(--cp-aqua) 16%, var(--cp-border));
  background: color-mix(in srgb, #fff 88%, var(--cp-aqua-pale));
}
.blog-single-page-area.cp-blog-single .comment-image img {
  border-radius: 50%;
  object-fit: cover;
}
.blog-single-page-area.cp-blog-single .comments-meta h4 {
  color: #000;
  font-weight: 700;
}
.blog-single-page-area.cp-blog-single .comments-date {
  color: #000;
  font-weight: 500;
}
.blog-single-page-area.cp-blog-single .comment-area p {
  color: #000;
}
.blog-single-page-area.cp-blog-single .comments-area .comments-meta h4,
.blog-single-page-area.cp-blog-single .comments-area .comments-meta h4 span,
.blog-single-page-area.cp-blog-single .comments-area .comment-area,
.blog-single-page-area.cp-blog-single .comments-area .comment-area p {
  color: #000 !important;
}
.blog-single-page-area.cp-blog-single .comment-reply-link {
  display: inline-flex;
  margin-top: 8px;
  color: var(--cp-aqua);
  font-weight: 700;
  text-decoration: none;
}
.blog-single-page-area.cp-blog-single .comment-reply-link:hover,
.blog-single-page-area.cp-blog-single .comment-reply-link:focus-visible {
  color: var(--cp-ocean);
  outline: none;
}
.blog-single-page-area.cp-blog-single .comment-respond {
  margin: 8px 28px 28px;
  padding: 24px !important;
  border-radius: 18px;
  border: 1px solid color-mix(in srgb, var(--cp-aqua) 20%, var(--cp-border));
  background:
    linear-gradient(160deg,
      color-mix(in srgb, var(--cp-ice) 55%, #fff),
      color-mix(in srgb, var(--cp-aqua-pale) 35%, #fff));
  box-shadow: 0 12px 28px color-mix(in srgb, var(--cp-navy) 8%, transparent);
}
.blog-single-page-area.cp-blog-single .comment-respond > p,
.blog-single-page-area.cp-blog-single .comment-respond-inner > p {
  color: color-mix(in srgb, var(--cp-gray) 85%, var(--cp-navy));
  margin-bottom: 18px;
}
.blog-single-page-area.cp-blog-single .comment-form label {
  display: block;
  margin-bottom: 6px;
  color: var(--cp-navy);
  font-weight: 600;
  font-size: 14px;
}
.blog-single-page-area.cp-blog-single .comment-form input[type="text"],
.blog-single-page-area.cp-blog-single .comment-form textarea {
  width: 100%;
  border-radius: 12px;
  border: 1px solid color-mix(in srgb, var(--cp-aqua) 28%, var(--cp-border));
  background: #fff;
  color: var(--cp-navy);
  font-weight: 500;
  padding: 12px 14px;
  min-height: 48px;
  margin-bottom: 14px;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
.blog-single-page-area.cp-blog-single .comment-form textarea {
  min-height: 140px;
  resize: vertical;
}
.blog-single-page-area.cp-blog-single .comment-form input[type="text"]:focus,
.blog-single-page-area.cp-blog-single .comment-form textarea:focus {
  border-color: var(--cp-aqua);
  outline: none;
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--cp-aqua) 18%, transparent);
}
.blog-single-page-area.cp-blog-single .comment-form input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 12px 28px;
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--cp-aqua), var(--cp-ocean));
  color: #fff;
  font-family: "Rajdhani", sans-serif;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: 0 10px 22px color-mix(in srgb, var(--cp-aqua) 28%, transparent);
  transition: transform 0.35s ease, box-shadow 0.35s ease, filter 0.35s ease;
}
.blog-single-page-area.cp-blog-single .comment-form input[type="submit"]:hover,
.blog-single-page-area.cp-blog-single .comment-form input[type="submit"]:focus-visible {
  transform: translateY(-2px);
  filter: brightness(1.05);
  outline: none;
}

/* Sidebar ? match listing page language */
.blog-single-page-area.cp-blog-single .blog-sidebar .widget,
.blog-single-page-area.cp-blog-single .blog-sidebar .search-widget {
  border-radius: 18px;
  border: 1px solid color-mix(in srgb, var(--cp-aqua) 16%, var(--cp-border));
  background: color-mix(in srgb, var(--cp-card) 96%, var(--cp-aqua-pale));
  box-shadow: 0 12px 28px color-mix(in srgb, var(--cp-navy) 8%, transparent);
  padding: 24px 22px;
  margin-bottom: 24px;
}
.blog-single-page-area.cp-blog-single .blog-sidebar .search-widget { padding: 18px; }
.blog-single-page-area.cp-blog-single .blog-sidebar .widget h3 {
  color: var(--cp-navy);
  padding-bottom: 12px;
  margin-bottom: 18px;
}
.blog-single-page-area.cp-blog-single .blog-sidebar .widget h3:before {
  background: linear-gradient(90deg, var(--cp-aqua), var(--cp-ocean));
  width: 42px;
  height: 3px;
  border-radius: 2px;
}
.blog-single-page-area.cp-blog-single .blog-sidebar .search-widget input {
  border-radius: 999px;
  border-color: color-mix(in srgb, var(--cp-aqua) 28%, var(--cp-border));
  color: var(--cp-navy);
  font-weight: 500;
  padding-right: 54px;
  min-height: 48px;
}
.blog-single-page-area.cp-blog-single .blog-sidebar .search-widget form button {
  border-radius: 50%;
  background: var(--cp-aqua);
  color: #fff;
  width: 40px;
  height: 40px;
  right: 6px;
  top: 50%;
  transform: translateY(-50%);
}
.blog-single-page-area.cp-blog-single .blog-sidebar .category-widget ul li a {
  color: color-mix(in srgb, var(--cp-gray) 70%, var(--cp-navy));
  border-radius: 10px;
  padding: 10px 12px;
  transition: background 0.3s ease, color 0.3s ease, padding-left 0.3s ease;
}
.blog-single-page-area.cp-blog-single .blog-sidebar .category-widget ul li a:hover,
.blog-single-page-area.cp-blog-single .blog-sidebar .category-widget ul li a:focus-visible {
  background: color-mix(in srgb, var(--cp-aqua-pale) 55%, transparent);
  color: var(--cp-navy);
  padding-left: 16px;
  outline: none;
}
.blog-single-page-area.cp-blog-single .blog-sidebar .category-widget ul li a i { color: var(--cp-aqua); }
.blog-single-page-area.cp-blog-single .blog-sidebar .recent-post .post {
  align-items: center;
  gap: 12px;
  padding-bottom: 14px;
  margin-bottom: 14px;
  border-bottom: 1px dashed color-mix(in srgb, var(--cp-aqua) 25%, var(--cp-border));
}
.blog-single-page-area.cp-blog-single .blog-sidebar .recent-post .post:last-child {
  border-bottom: 0;
  margin-bottom: 0;
  padding-bottom: 0;
}
.blog-single-page-area.cp-blog-single .blog-sidebar .recent-post .post .post-img {
  flex: 0 0 72px;
  width: 72px;
  height: 72px;
  border-radius: 14px;
  overflow: hidden;
}
.blog-single-page-area.cp-blog-single .blog-sidebar .recent-post .post .post-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.blog-single-page-area.cp-blog-single .blog-sidebar .recent-post .post .post-content h4 a { color: var(--cp-navy); }
.blog-single-page-area.cp-blog-single .blog-sidebar .recent-post .post .post-content h4 a:hover { color: var(--cp-aqua); }
.blog-single-page-area.cp-blog-single .blog-sidebar .about-widget .img-holder {
  border-radius: 16px;
  overflow: hidden;
  margin-bottom: 14px;
}
.blog-single-page-area.cp-blog-single .blog-sidebar .about-widget .img-holder img {
  width: 100%;
  height: 180px;
  object-fit: cover;
  display: block;
}
.blog-single-page-area.cp-blog-single .blog-sidebar .about-widget h4 { color: var(--cp-navy); font-weight: 700; }
.blog-single-page-area.cp-blog-single .blog-sidebar .about-widget .social ul {
  display: flex;
  gap: 10px;
  margin-top: 14px;
}
.blog-single-page-area.cp-blog-single .blog-sidebar .about-widget .social ul li a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid color-mix(in srgb, var(--cp-aqua) 35%, transparent);
  color: var(--cp-navy);
  transition: background 0.3s ease, color 0.3s ease, transform 0.3s ease;
}
.blog-single-page-area.cp-blog-single .blog-sidebar .about-widget .social ul li a:hover {
  background: var(--cp-navy);
  color: #fff;
  transform: translateY(-2px);
}
.blog-single-page-area.cp-blog-single .blog-sidebar .tag-widget ul {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.blog-single-page-area.cp-blog-single .blog-sidebar .tag-widget ul li { margin: 0; }
.blog-single-page-area.cp-blog-single .blog-sidebar .tag-widget ul li a {
  display: inline-block;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--cp-aqua) 30%, var(--cp-border));
  background: color-mix(in srgb, var(--cp-ice) 55%, #fff);
  color: var(--cp-navy);
  padding: 7px 14px;
  font-size: 13px;
  font-weight: 600;
  transition: background 0.3s ease, color 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
}
.blog-single-page-area.cp-blog-single .blog-sidebar .tag-widget ul li a:hover {
  background: var(--cp-aqua);
  border-color: var(--cp-aqua);
  color: #fff;
  transform: translateY(-2px);
}

@media (max-width: 991px) {
  .blog-single-page-area.cp-blog-single .blog-sidebar { margin-top: 40px; }
  .blog-single-page-area.cp-blog-single .blog-single-text-wrap,
  .blog-single-page-area.cp-blog-single .blog-single-wrap > h2,
  .blog-single-page-area.cp-blog-single .blog-single-wrap > p,
  .blog-single-page-area.cp-blog-single .detail-img,
  .blog-single-page-area.cp-blog-single .tag-share,
  .blog-single-page-area.cp-blog-single .comments-area {
    padding-left: 18px;
    padding-right: 18px;
  }
  .blog-single-page-area.cp-blog-single .blog-single-wrap > blockquote,
  .blog-single-page-area.cp-blog-single blockquote {
    margin-left: 18px;
    margin-right: 18px;
  }
  .blog-single-page-area.cp-blog-single .more-posts.cp-more-posts {
    margin-left: 18px;
    margin-right: 18px;
  }
  .blog-single-page-area.cp-blog-single .comment-respond {
    margin-left: 18px;
    margin-right: 18px;
  }
}
@media (max-width: 991px) {
  .blog-single-page-area.cp-blog-single .more-posts.cp-more-posts {
    margin-left: 18px;
    margin-right: 18px;
  }
  .blog-single-page-area.cp-blog-single .more-posts .cp-nav-post-media {
    flex: 0 0 80px;
    width: 80px;
    height: 80px;
  }
}
@media (max-width: 767px) {
  .blog-single-page-area.cp-blog-single .more-posts.cp-more-posts {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 575px) {
  .blog-single-page-area.cp-blog-single .more-posts {
    grid-template-columns: 1fr;
  }
  .blog-single-page-area.cp-blog-single .more-posts .next-post {
    text-align: left;
  }
  .blog-single-page-area.cp-blog-single .more-posts .cp-nav-post-link {
    gap: 12px;
    padding: 12px;
  }
  .blog-single-page-area.cp-blog-single .blog-single-text .blog-img ul {
    left: 10px;
    right: 10px;
    bottom: 10px;
    border-radius: 14px;
  }
  .blog-single-page-area.cp-blog-single .detail-img img {
    min-height: 180px;
    margin-top: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .blog-single-page-area.cp-blog-single .more-posts a,
  .blog-single-page-area.cp-blog-single .tag-share a,
  .blog-single-page-area.cp-blog-single .comment-form input[type="submit"] {
    transition: none;
  }
  .blog-single-page-area.cp-blog-single .more-posts a:hover {
    transform: none;
  }
}

/* ============================================================
   Aquarium Park ? Gallery Albums Index (.cp-gallery-*)
   ============================================================ */
.cp-gallery-hero {
  position: relative;
  min-height: clamp(320px, 48vh, 520px);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  color: #fff;
  text-align: center;
  isolation: isolate;
}
.cp-gallery-hero-media {
  position: absolute;
  inset: 0;
  z-index: 0;
}
.cp-gallery-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.04);
  animation: cp-gallery-hero-ken 18s ease-in-out infinite alternate;
}
.cp-gallery-hero-shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--cp-navy) 72%, transparent) 0%, color-mix(in srgb, var(--cp-ocean) 55%, transparent) 48%, color-mix(in srgb, var(--cp-navy) 70%, transparent) 100%),
    radial-gradient(ellipse 45% 55% at 80% 35%, color-mix(in srgb, var(--cp-aqua) 28%, transparent), transparent 65%);
}
.cp-gallery-hero .container {
  position: relative;
  z-index: 2;
  padding-top: 72px;
  padding-bottom: 96px;
}
.cp-gallery-hero-inner {
  max-width: 720px;
  margin: 0 auto;
}
.cp-gallery-hero h1 {
  margin: 14px 0 16px;
  color: #fff;
  font-size: clamp(2.2rem, 5vw, 3.6rem);
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1.15;
  text-shadow: 0 8px 28px color-mix(in srgb, var(--cp-navy) 45%, transparent);
}
.cp-gallery-hero p {
  margin: 0 auto;
  max-width: 560px;
  color: color-mix(in srgb, #fff 90%, var(--cp-aqua-pale));
  font-size: clamp(0.98rem, 1.5vw, 1.12rem);
  line-height: 1.7;
}
.cp-gallery-hero-wave {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  z-index: 3;
  line-height: 0;
  pointer-events: none;
  color: var(--cp-ocean);
}
.cp-gallery-hero-wave svg {
  display: block;
  width: 100%;
  height: clamp(48px, 8vw, 90px);
}

.cp-gallery-ornament {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.cp-gallery-ornament-line {
  width: 56px;
  height: 2px;
  border-radius: 2px;
  background: linear-gradient(90deg, transparent, color-mix(in srgb, #fff 80%, transparent), transparent);
}
.cp-gallery-ornament-dark .cp-gallery-ornament-line {
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--cp-aqua) 70%, transparent), transparent);
}
.cp-gallery-ornament-fish {
  width: 28px;
  height: 16px;
  position: relative;
  display: inline-block;
}
.cp-gallery-ornament-fish::before {
  content: "";
  position: absolute;
  inset: 0;
  background: currentColor;
  color: #fff;
  clip-path: polygon(0% 50%, 18% 18%, 62% 10%, 88% 35%, 100% 50%, 88% 65%, 62% 90%, 18% 82%);
  opacity: 0.95;
}
.cp-gallery-ornament-dark .cp-gallery-ornament-fish::before {
  color: var(--cp-aqua);
}
.cp-gallery-ornament-fish::after {
  content: "";
  position: absolute;
  width: 3px;
  height: 3px;
  border-radius: 50%;
  background: var(--cp-navy);
  top: 45%;
  left: 64%;
}

.cp-gallery-bubble {
  position: absolute;
  border-radius: 50%;
  border: 1px solid color-mix(in srgb, #fff 35%, transparent);
  background: color-mix(in srgb, #fff 12%, transparent);
  animation: cp-gallery-bubble-rise 9s linear infinite;
  z-index: 1;
  pointer-events: none;
}
.cp-gb-1 { width: 10px; height: 10px; left: 12%; bottom: 8%; animation-duration: 8s; }
.cp-gb-2 { width: 16px; height: 16px; left: 28%; bottom: 2%; animation-duration: 11s; animation-delay: -2s; }
.cp-gb-3 { width: 8px; height: 8px; left: 55%; bottom: 12%; animation-duration: 7s; animation-delay: -4s; }
.cp-gb-4 { width: 14px; height: 14px; left: 72%; bottom: 4%; animation-duration: 10s; animation-delay: -1s; }
.cp-gb-5 { width: 11px; height: 11px; left: 88%; bottom: 10%; animation-duration: 9s; animation-delay: -3s; }

.cp-gallery-fish {
  position: absolute;
  z-index: 1;
  width: 36px;
  height: 18px;
  opacity: 0.45;
  background: color-mix(in srgb, var(--cp-aqua-pale) 80%, #fff);
  clip-path: polygon(0% 50%, 18% 18%, 62% 10%, 88% 35%, 100% 50%, 88% 65%, 62% 90%, 18% 82%);
  animation: cp-gallery-fish-swim 16s ease-in-out infinite;
  pointer-events: none;
}
.cp-gf-1 { top: 28%; left: -40px; animation-duration: 22s; }
.cp-gf-2 { top: 58%; left: -40px; width: 28px; height: 14px; animation-duration: 18s; animation-delay: -6s; opacity: 0.3; }

@keyframes cp-gallery-hero-ken {
  from { transform: scale(1.02) translate3d(0, 0, 0); }
  to { transform: scale(1.08) translate3d(-1.5%, -1%, 0); }
}
@keyframes cp-gallery-bubble-rise {
  0% { transform: translate3d(0, 20px, 0); opacity: 0; }
  15% { opacity: 0.7; }
  100% { transform: translate3d(12px, -320px, 0); opacity: 0; }
}
@keyframes cp-gallery-fish-swim {
  0% { transform: translate3d(0, 0, 0) scaleX(1); }
  45% { transform: translate3d(110vw, -18px, 0) scaleX(1); }
  50% { transform: translate3d(110vw, -18px, 0) scaleX(-1); }
  95% { transform: translate3d(-10vw, 12px, 0) scaleX(-1); }
  100% { transform: translate3d(-10vw, 12px, 0) scaleX(1); }
}

.cp-gallery-page {
  background: var(--cp-ocean);
  color: #fff;
  position: relative;
}

.cp-gallery-features {
  padding: 28px 0 8px;
  margin-top: -8px;
  position: relative;
  z-index: 4;
}
.cp-gallery-features-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px 24px;
  align-items: start;
}
.cp-gallery-feature {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 8px 4px;
}
.cp-gallery-feature-icon {
  flex: 0 0 auto;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: color-mix(in srgb, #fff 16%, transparent);
  border: 1px solid color-mix(in srgb, #fff 28%, transparent);
  transition: transform 0.35s ease, box-shadow 0.35s ease, background 0.35s ease;
}
.cp-gallery-feature:hover .cp-gallery-feature-icon {
  transform: translateY(-3px) scale(1.04);
  background: color-mix(in srgb, var(--cp-aqua) 55%, transparent);
  box-shadow: 0 10px 22px color-mix(in srgb, var(--cp-navy) 28%, transparent);
}
.cp-gallery-feature-text h3 {
  margin: 2px 0 4px;
  color: #fff;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.3;
}
.cp-gallery-feature-text p {
  margin: 0;
  color: color-mix(in srgb, #fff 82%, transparent);
  font-size: 0.92rem;
  line-height: 1.45;
}

.cp-gallery-albums {
  padding-top: 56px;
}
.cp-gallery-section-head {
  text-align: center;
  margin-bottom: 28px;
}
.cp-gallery-section-head h2 {
  margin: 0 0 12px;
  color: #fff;
  font-size: clamp(1.75rem, 3vw, 2.35rem);
  font-weight: 800;
}
.cp-gallery-page .cp-gallery-ornament-dark .cp-gallery-ornament-line {
  background: linear-gradient(90deg, transparent, color-mix(in srgb, #fff 70%, transparent), transparent);
}
.cp-gallery-page .cp-gallery-ornament-dark .cp-gallery-ornament-fish::before {
  color: #fff;
}
.cp-gallery-page .cp-gallery-ornament-dark .cp-gallery-ornament-fish::after {
  background: var(--cp-ocean);
}

.cp-gallery-filters {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 14px;
  margin: 0 auto 36px;
  max-width: 920px;
}
.cp-gallery-filter {
  appearance: none;
  border: 0;
  background: transparent;
  color: #fff;
  font-weight: 600;
  font-size: 0.95rem;
  padding: 10px 18px;
  border-radius: 999px;
  cursor: pointer;
  transition: background 0.3s ease, color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
  min-height: 44px;
}
.cp-gallery-filter:hover,
.cp-gallery-filter:focus-visible {
  color: #fff;
  background: color-mix(in srgb, #fff 12%, transparent);
  outline: none;
}
.cp-gallery-filter:focus-visible {
  box-shadow: 0 0 0 3px color-mix(in srgb, #fff 35%, transparent);
}
.cp-gallery-filter.is-active {
  background: var(--cp-aqua);
  color: #fff;
  box-shadow: 0 10px 22px color-mix(in srgb, var(--cp-navy) 35%, transparent);
}

.cp-gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 28px 22px;
}
.cp-gallery-card {
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--cp-border) 28%, #fff);
  box-shadow: 0 12px 28px color-mix(in srgb, var(--cp-navy) 8%, transparent);
  transition: transform 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease;
}
.cp-gallery-card:hover,
.cp-gallery-card:focus-within {
  transform: translateY(-8px);
  border-color: color-mix(in srgb, var(--cp-aqua) 35%, transparent);
  box-shadow: 0 22px 44px color-mix(in srgb, var(--cp-navy) 14%, transparent);
}
.cp-gallery-card[hidden],
.cp-gallery-card.is-filtered-out {
  display: none !important;
}
.cp-gallery-card-media {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: color-mix(in srgb, var(--cp-ice) 70%, #fff);
}
.cp-gallery-card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.7s ease;
}
.cp-gallery-card:hover .cp-gallery-card-media img,
.cp-gallery-card:focus-within .cp-gallery-card-media img {
  transform: scale(1.08);
}
.cp-gallery-badge {
  position: absolute;
  top: 12px;
  left: 12px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  color: #fff;
  background: color-mix(in srgb, var(--cp-ocean) 78%, transparent);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  box-shadow: 0 6px 16px color-mix(in srgb, var(--cp-navy) 25%, transparent);
}
.cp-gallery-card-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 18px 18px 16px;
}
.cp-gallery-card-body h3 {
  margin: 0 0 8px;
  font-size: 1.12rem;
  font-weight: 700;
  line-height: 1.3;
}
.cp-gallery-card-body h3 a {
  color: var(--cp-navy);
  text-decoration: none;
  transition: color 0.25s ease;
}
.cp-gallery-card-body h3 a:hover,
.cp-gallery-card-body h3 a:focus-visible {
  color: var(--cp-aqua);
}
.cp-gallery-card-body > p {
  margin: 0 0 16px;
  color: var(--cp-gray);
  font-size: 0.92rem;
  line-height: 1.55;
  flex: 1;
}
.cp-gallery-card-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: auto;
  padding-top: 4px;
}
.cp-gallery-card-foot time {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: color-mix(in srgb, var(--cp-gray) 88%, var(--cp-navy));
  font-size: 0.86rem;
}
.cp-gallery-card-btn {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--cp-ocean);
  background: color-mix(in srgb, var(--cp-aqua-pale) 80%, #fff);
  border: 1px solid color-mix(in srgb, var(--cp-aqua) 25%, transparent);
  text-decoration: none;
  transition: transform 0.3s ease, background 0.3s ease, color 0.3s ease, box-shadow 0.3s ease;
}
.cp-gallery-card-btn:hover,
.cp-gallery-card-btn:focus-visible {
  background: var(--cp-aqua);
  color: #fff;
  transform: translateX(3px);
  box-shadow: 0 8px 18px color-mix(in srgb, var(--cp-aqua) 35%, transparent);
  outline: none;
}

.cp-gallery-load-wrap {
  display: flex;
  justify-content: center;
  margin-top: 42px;
}
.cp-gallery-load-more {
  appearance: none;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 12px 28px;
  border-radius: 999px;
  border: 1.5px solid color-mix(in srgb, #fff 75%, transparent);
  background: transparent;
  color: #fff;
  font-weight: 700;
  font-size: 0.98rem;
  cursor: pointer;
  transition: background 0.3s ease, color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease, border-color 0.3s ease;
}
.cp-gallery-load-more i {
  transition: transform 0.45s ease;
}
.cp-gallery-load-more:hover,
.cp-gallery-load-more:focus-visible {
  background: #fff;
  color: var(--cp-ocean);
  border-color: #fff;
  transform: translateY(-2px);
  box-shadow: 0 12px 26px color-mix(in srgb, var(--cp-navy) 32%, transparent);
  outline: none;
}
.cp-gallery-load-more.is-loading i {
  animation: cp-gallery-spin 0.7s linear infinite;
}
.cp-gallery-load-more[hidden] {
  display: none !important;
}

@keyframes cp-gallery-spin {
  to { transform: rotate(360deg); }
}

@media (max-width: 1199.98px) {
  .cp-gallery-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .cp-gallery-features-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }
}
@media (max-width: 991.98px) {
  .cp-gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px 16px;
  }
  .cp-gallery-hero .container {
    padding-top: 64px;
    padding-bottom: 84px;
  }
}
@media (max-width: 767.98px) {
  .cp-gallery-grid {
    grid-template-columns: 1fr;
    max-width: 460px;
    margin: 0 auto;
  }
  .cp-gallery-features-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .cp-gallery-feature {
    justify-content: flex-start;
  }
  .cp-gallery-filters {
    gap: 8px;
  }
  .cp-gallery-filter {
    padding: 9px 14px;
    font-size: 0.88rem;
  }
  .cp-gallery-albums {
    padding-top: 40px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .cp-gallery-hero-media img,
  .cp-gallery-bubble,
  .cp-gallery-fish,
  .cp-gallery-card,
  .cp-gallery-card-media img,
  .cp-gallery-card-btn,
  .cp-gallery-load-more,
  .cp-gallery-feature-icon {
    animation: none !important;
    transition: none !important;
  }
  .cp-gallery-card:hover,
  .cp-gallery-card:focus-within {
    transform: none;
  }
}

/* ============================================================
   Aquarium Park ? Gallery Album Details (.cp-gallery-single-*)
   ============================================================ */
.cp-gallery-single-hero .cp-gs-hero-inner {
  max-width: 760px;
}
.cp-gallery-single-hero.cp-gallery-hero .container {
  padding-top: 150px;
}
.cp-gs-breadcrumb {
  margin: 0 0 18px;
}
.cp-gs-breadcrumb ol {
  display: inline-flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px 10px;
  margin: 0;
  padding: 8px 16px;
  list-style: none;
  border-radius: 999px;
  background: color-mix(in srgb, #fff 12%, transparent);
  border: 1px solid color-mix(in srgb, #fff 22%, transparent);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.cp-gs-breadcrumb li {
  color: color-mix(in srgb, #fff 82%, transparent);
  font-size: 0.88rem;
  font-weight: 600;
}
.cp-gs-breadcrumb li:not(:last-child)::after {
  content: "/";
  margin-left: 10px;
  opacity: 0.55;
}
.cp-gs-breadcrumb a {
  color: #fff;
  text-decoration: none;
}
.cp-gs-breadcrumb a:hover,
.cp-gs-breadcrumb a:focus-visible {
  color: var(--cp-aqua-pale);
  outline: none;
}
.cp-gs-hero-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 18px;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}
.cp-gs-hero-meta li {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--cp-navy) 35%, transparent);
  border: 1px solid color-mix(in srgb, #fff 18%, transparent);
  color: #fff;
  font-size: 0.9rem;
  font-weight: 600;
}
.cp-gs-hero-meta i {
  color: var(--cp-aqua-pale);
}

.cp-gs-info {
  padding: 8px 0 0;
  position: relative;
  z-index: 4;
}
.cp-gs-info-card {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 22px 28px;
  align-items: center;
  padding: 22px;
  border-radius: 22px;
  background: color-mix(in srgb, #fff 10%, transparent);
  border: 1px solid color-mix(in srgb, #fff 18%, transparent);
  box-shadow: 0 18px 40px color-mix(in srgb, var(--cp-navy) 22%, transparent);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.cp-gs-info-thumb {
  width: 120px;
  height: 120px;
  border-radius: 18px;
  overflow: hidden;
  border: 2px solid color-mix(in srgb, #fff 35%, transparent);
  box-shadow: 0 10px 24px color-mix(in srgb, var(--cp-navy) 28%, transparent);
}
.cp-gs-info-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cp-gs-info-kicker {
  margin: 0 0 4px;
  color: color-mix(in srgb, #fff 70%, transparent);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.cp-gs-info-main h2 {
  margin: 0 0 8px;
  color: #fff;
  font-size: clamp(1.35rem, 2.4vw, 1.85rem);
  font-weight: 800;
}
.cp-gs-info-desc {
  margin: 0 0 16px;
  color: color-mix(in srgb, #fff 84%, transparent);
  font-size: 0.95rem;
  line-height: 1.6;
  max-width: 560px;
}
.cp-gs-stats {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.cp-gs-stats li {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.cp-gs-stat-icon {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: color-mix(in srgb, var(--cp-aqua) 55%, transparent);
}
.cp-gs-stat-text {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
}
.cp-gs-stat-text strong {
  color: #fff;
  font-size: 1rem;
}
.cp-gs-stat-text span {
  color: color-mix(in srgb, #fff 72%, transparent);
  font-size: 0.78rem;
}
.cp-gs-info-actions {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 190px;
}
.cp-gs-btn {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 46px;
  padding: 10px 16px;
  border-radius: 999px;
  border: 1.5px solid transparent;
  font-weight: 700;
  font-size: 0.92rem;
  cursor: pointer;
  transition: transform 0.3s ease, background 0.3s ease, color 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}
.cp-gs-btn-share {
  background: var(--cp-aqua);
  color: #fff;
  border-color: var(--cp-aqua);
}
.cp-gs-btn-share:hover,
.cp-gs-btn-share:focus-visible {
  background: #fff;
  color: var(--cp-ocean);
  border-color: #fff;
  outline: none;
  transform: translateY(-2px);
}
.cp-gs-btn-fav {
  background: transparent;
  color: #fff;
  border-color: color-mix(in srgb, #fff 55%, transparent);
}
.cp-gs-btn-fav:hover,
.cp-gs-btn-fav:focus-visible,
.cp-gs-btn-fav.is-active {
  background: #fff;
  color: var(--cp-ocean);
  border-color: #fff;
  outline: none;
  transform: translateY(-2px);
}

.cp-gs-photos {
  padding-top: 48px;
}
.cp-gs-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 28px;
}
.cp-gs-filters {
  margin: 0;
  justify-content: flex-start;
  max-width: none;
  flex: 1 1 auto;
}
.cp-gs-toolbar-right {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.cp-gs-sort select {
  min-height: 44px;
  padding: 8px 36px 8px 14px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, #fff 28%, transparent);
  background: color-mix(in srgb, #fff 10%, transparent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23ffffff' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 14px center;
  color: #fff;
  font-weight: 600;
  appearance: none;
  -webkit-appearance: none;
  cursor: pointer;
}
.cp-gs-sort select:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px color-mix(in srgb, #fff 28%, transparent);
}
.cp-gs-sort select option {
  color: var(--cp-navy);
  background: #fff;
}
.cp-gs-view-toggle {
  display: inline-flex;
  border-radius: 999px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, #fff 28%, transparent);
  background: color-mix(in srgb, #fff 10%, transparent);
}
.cp-gs-view {
  width: 44px;
  height: 44px;
  border: 0;
  background: transparent;
  color: #fff;
  cursor: pointer;
  transition: background 0.25s ease, color 0.25s ease;
}
.cp-gs-view.is-active,
.cp-gs-view:hover,
.cp-gs-view:focus-visible {
  background: var(--cp-aqua);
  color: #fff;
  outline: none;
}

.cp-gs-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}
.cp-gs-grid[data-view="list"] {
  grid-template-columns: 1fr;
  max-width: 920px;
  margin: 0 auto;
}
.cp-gs-item {
  position: relative;
  display: block;
  overflow: hidden;
  border-radius: 16px;
  aspect-ratio: 4 / 3;
  background: color-mix(in srgb, var(--cp-navy) 35%, transparent);
  box-shadow: 0 12px 28px color-mix(in srgb, var(--cp-navy) 18%, transparent);
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}
.cp-gs-grid[data-view="list"] .cp-gs-item {
  aspect-ratio: 21 / 9;
}
.cp-gs-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.7s ease;
}
.cp-gs-item-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 1.25rem;
  background: color-mix(in srgb, var(--cp-navy) 45%, transparent);
  opacity: 0;
  transition: opacity 0.35s ease;
}
.cp-gs-item:hover,
.cp-gs-item:focus-visible {
  transform: translateY(-6px);
  box-shadow: 0 20px 40px color-mix(in srgb, var(--cp-navy) 28%, transparent);
  outline: none;
}
.cp-gs-item:hover img,
.cp-gs-item:focus-visible img {
  transform: scale(1.08);
}
.cp-gs-item:hover .cp-gs-item-overlay,
.cp-gs-item:focus-visible .cp-gs-item-overlay {
  opacity: 1;
}
.cp-gs-video-badge {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 2;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: color-mix(in srgb, var(--cp-aqua) 85%, transparent);
  box-shadow: 0 8px 18px color-mix(in srgb, var(--cp-navy) 30%, transparent);
}

.cp-gs-pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 12px 16px;
  margin-top: 42px;
}
.cp-gs-pagination ul {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.cp-gs-pagination a,
.cp-gs-page-ellipsis {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  min-height: 42px;
  padding: 0 12px;
  border-radius: 999px;
  color: #fff;
  text-decoration: none;
  font-weight: 700;
  border: 1px solid color-mix(in srgb, #fff 25%, transparent);
  background: color-mix(in srgb, #fff 8%, transparent);
  transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease, transform 0.25s ease;
}
.cp-gs-pagination a:hover,
.cp-gs-pagination a:focus-visible,
.cp-gs-pagination a.is-active {
  background: var(--cp-aqua);
  border-color: var(--cp-aqua);
  color: #fff;
  outline: none;
}
.cp-gs-page-btn {
  gap: 8px;
}
.cp-gs-page-btn:hover,
.cp-gs-page-btn:focus-visible {
  transform: translateY(-2px);
}

@media (max-width: 1199.98px) {
  .cp-gs-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .cp-gs-info-card {
    grid-template-columns: auto 1fr;
  }
  .cp-gs-info-actions {
    grid-column: 1 / -1;
    flex-direction: row;
    flex-wrap: wrap;
  }
}
@media (max-width: 991.98px) {
  .cp-gs-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .cp-gs-toolbar {
    flex-direction: column;
    align-items: stretch;
  }
  .cp-gs-toolbar-right {
    justify-content: space-between;
  }
}
@media (max-width: 767.98px) {
  .cp-gs-grid,
  .cp-gs-grid[data-view="list"] {
    grid-template-columns: 1fr;
    max-width: 480px;
  }
  .cp-gs-info-card {
    grid-template-columns: 1fr;
    text-align: center;
  }
  .cp-gs-info-thumb {
    margin: 0 auto;
  }
  .cp-gs-info-desc {
    margin-left: auto;
    margin-right: auto;
  }
  .cp-gs-stats {
    justify-content: center;
  }
  .cp-gs-info-actions {
    justify-content: center;
  }
  .cp-gs-hero-meta {
    gap: 8px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .cp-gs-item,
  .cp-gs-item img,
  .cp-gs-btn,
  .cp-gs-pagination a {
    transition: none !important;
  }
  .cp-gs-item:hover,
  .cp-gs-item:focus-visible {
    transform: none;
  }
}

/* ============================================================
   Aquarium Park ? Service / Attraction Details (.cp-ss-*)
   ============================================================ */
.cp-ss-hero.cp-gallery-hero .container {
  padding-top: 130px;
}
.cp-ss-hero-inner {
  max-width: 760px;
}
.cp-ss-page {
  background: var(--cp-ocean);
  color: #fff;
  position: relative;
}
.cp-ss-main {
  position: relative;
  z-index: 2;
}
.cp-ss-article {
  display: flex;
  flex-direction: column;
  gap: 28px;
}
.cp-ss-media {
  position: relative;
  overflow: hidden;
  border-radius: 22px;
  box-shadow: 0 22px 48px color-mix(in srgb, var(--cp-navy) 28%, transparent);
  isolation: isolate;
}
.cp-ss-media img {
  width: 100%;
  height: auto;
  min-height: 280px;
  max-height: 480px;
  object-fit: cover;
  display: block;
  transition: transform 0.8s ease;
}
.cp-ss-media:hover img {
  transform: scale(1.05);
}
.cp-ss-play {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 72px;
  height: 72px;
  margin: -36px 0 0 -36px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--cp-ocean);
  background: #fff;
  font-size: 28px;
  text-decoration: none;
  box-shadow: 0 14px 30px color-mix(in srgb, var(--cp-navy) 35%, transparent);
  transition: transform 0.35s ease, background 0.35s ease, color 0.35s ease;
  z-index: 2;
}
.cp-ss-play:hover,
.cp-ss-play:focus-visible {
  transform: scale(1.08);
  background: var(--cp-aqua);
  color: #fff;
  outline: none;
}
.cp-ss-media-badge {
  position: absolute;
  top: 16px;
  left: 16px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #fff;
  background: color-mix(in srgb, var(--cp-navy) 72%, transparent);
  border: 1px solid color-mix(in srgb, #fff 22%, transparent);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.cp-ss-kicker {
  margin: 0 0 8px;
  color: color-mix(in srgb, #fff 70%, transparent);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.cp-ss-content h2 {
  margin: 0 0 14px;
  color: #fff;
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  font-weight: 800;
  line-height: 1.25;
}
.cp-ss-content p {
  margin: 0 0 14px;
  color: color-mix(in srgb, #fff 86%, transparent);
  font-size: 1.02rem;
  line-height: 1.75;
}
.cp-ss-content p:last-child {
  margin-bottom: 0;
}

.cp-ss-highlights {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.cp-ss-highlight {
  padding: 18px 16px;
  border-radius: 18px;
  background: color-mix(in srgb, #fff 10%, transparent);
  border: 1px solid color-mix(in srgb, #fff 16%, transparent);
  transition: transform 0.35s ease, background 0.35s ease, box-shadow 0.35s ease;
}
.cp-ss-highlight:hover {
  transform: translateY(-6px);
  background: color-mix(in srgb, #fff 14%, transparent);
  box-shadow: 0 16px 30px color-mix(in srgb, var(--cp-navy) 22%, transparent);
}
.cp-ss-highlight-icon {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
  color: #fff;
  background: color-mix(in srgb, var(--cp-aqua) 55%, transparent);
}
.cp-ss-highlight h3 {
  margin: 0 0 6px;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
}
.cp-ss-highlight p {
  margin: 0;
  color: color-mix(in srgb, #fff 76%, transparent);
  font-size: 0.9rem;
  line-height: 1.45;
}

.cp-ss-expect,
.cp-ss-gallery,
.cp-ss-related {
  padding: 24px;
  border-radius: 20px;
  background: color-mix(in srgb, #fff 8%, transparent);
  border: 1px solid color-mix(in srgb, #fff 14%, transparent);
}
.cp-ss-expect h3,
.cp-ss-gallery h3,
.cp-ss-related h3 {
  margin: 0 0 18px;
  color: #fff;
  font-size: 1.35rem;
  font-weight: 800;
}
.cp-ss-steps {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.cp-ss-steps li {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 14px;
  border-radius: 16px;
  background: color-mix(in srgb, var(--cp-navy) 22%, transparent);
  transition: transform 0.3s ease, background 0.3s ease;
}
.cp-ss-steps li:hover {
  transform: translateX(4px);
  background: color-mix(in srgb, var(--cp-navy) 32%, transparent);
}
.cp-ss-step-num {
  flex: 0 0 auto;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  color: #fff;
  background: var(--cp-aqua);
}
.cp-ss-steps h4 {
  margin: 0 0 4px;
  color: #fff;
  font-size: 1.05rem;
}
.cp-ss-steps p {
  margin: 0;
  color: color-mix(in srgb, #fff 78%, transparent);
  font-size: 0.92rem;
  line-height: 1.55;
}

.cp-ss-gallery-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.cp-ss-gallery-grid a {
  display: block;
  overflow: hidden;
  border-radius: 14px;
  aspect-ratio: 4 / 3;
}
.cp-ss-gallery-grid img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.55s ease;
}
.cp-ss-gallery-grid a:hover img,
.cp-ss-gallery-grid a:focus-visible img {
  transform: scale(1.08);
}

.cp-ss-related-card {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
  padding: 12px;
  border-radius: 16px;
  text-decoration: none;
  background: color-mix(in srgb, var(--cp-navy) 22%, transparent);
  border: 1px solid color-mix(in srgb, #fff 12%, transparent);
  transition: transform 0.3s ease, background 0.3s ease, box-shadow 0.3s ease;
}
.cp-ss-related-card:hover,
.cp-ss-related-card:focus-visible {
  transform: translateY(-4px);
  background: color-mix(in srgb, var(--cp-aqua) 28%, transparent);
  box-shadow: 0 14px 28px color-mix(in srgb, var(--cp-navy) 24%, transparent);
  outline: none;
}
.cp-ss-related-card img {
  width: 72px;
  height: 56px;
  object-fit: cover;
  border-radius: 10px;
  flex: 0 0 auto;
}
.cp-ss-related-card span {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.cp-ss-related-card strong {
  color: #fff;
  font-size: 0.98rem;
}
.cp-ss-related-card em {
  color: color-mix(in srgb, #fff 72%, transparent);
  font-style: normal;
  font-size: 0.84rem;
}
.cp-ss-related-card > i {
  color: #fff;
}

.cp-ss-sidebar {
  display: flex;
  flex-direction: column;
  gap: 18px;
  position: sticky;
  top: 110px;
}
.cp-ss-side-card {
  padding: 22px;
  border-radius: 20px;
  background: color-mix(in srgb, #fff 10%, transparent);
  border: 1px solid color-mix(in srgb, #fff 16%, transparent);
  box-shadow: 0 16px 36px color-mix(in srgb, var(--cp-navy) 18%, transparent);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
}
.cp-ss-side-card h3 {
  margin: 0 0 16px;
  color: #fff;
  font-size: 1.15rem;
  font-weight: 800;
}
.cp-ss-facts ul,
.cp-ss-hours ul {
  margin: 0 0 18px;
  padding: 0;
  list-style: none;
}
.cp-ss-facts li,
.cp-ss-hours li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid color-mix(in srgb, #fff 12%, transparent);
  color: color-mix(in srgb, #fff 78%, transparent);
  font-size: 0.9rem;
}
.cp-ss-facts li:last-child,
.cp-ss-hours li:last-child {
  border-bottom: 0;
}
.cp-ss-facts strong,
.cp-ss-hours strong {
  color: #fff;
  text-align: right;
}
.cp-ss-cta,
.cp-ss-cta-alt {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-height: 48px;
  margin-top: 8px;
  padding: 10px 16px;
  border-radius: 999px;
  font-weight: 700;
  text-decoration: none;
  transition: transform 0.3s ease, background 0.3s ease, color 0.3s ease, box-shadow 0.3s ease;
}
.cp-ss-cta {
  background: var(--cp-aqua);
  color: #fff;
}
.cp-ss-cta:hover,
.cp-ss-cta:focus-visible {
  background: #fff;
  color: var(--cp-ocean);
  transform: translateY(-2px);
  box-shadow: 0 12px 24px color-mix(in srgb, var(--cp-navy) 28%, transparent);
  outline: none;
}
.cp-ss-cta-alt {
  background: transparent;
  color: #fff;
  border: 1.5px solid color-mix(in srgb, #fff 55%, transparent);
}
.cp-ss-cta-alt:hover,
.cp-ss-cta-alt:focus-visible {
  background: #fff;
  color: var(--cp-ocean);
  border-color: #fff;
  transform: translateY(-2px);
  outline: none;
}
.cp-ss-nav-list ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.cp-ss-nav-list li + li {
  margin-top: 8px;
}
.cp-ss-nav-list a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 12px;
  color: #fff;
  text-decoration: none;
  background: color-mix(in srgb, var(--cp-navy) 18%, transparent);
  transition: background 0.25s ease, transform 0.25s ease;
}
.cp-ss-nav-list a:hover,
.cp-ss-nav-list a:focus-visible {
  background: color-mix(in srgb, var(--cp-aqua) 40%, transparent);
  transform: translateX(4px);
  outline: none;
}
.cp-ss-help p {
  margin: 0 0 12px;
  color: color-mix(in srgb, #fff 80%, transparent);
  line-height: 1.55;
}
.cp-ss-help a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}
.cp-ss-help a:hover,
.cp-ss-help a:focus-visible {
  color: var(--cp-aqua-pale);
  outline: none;
}

@media (max-width: 1199.98px) {
  .cp-ss-highlights {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .cp-ss-gallery-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 991.98px) {
  .cp-ss-sidebar {
    position: static;
    margin-top: 28px;
  }
}
@media (max-width: 767.98px) {
  .cp-ss-highlights {
    grid-template-columns: 1fr;
  }
  .cp-ss-gallery-grid {
    grid-template-columns: 1fr 1fr;
  }
  .cp-ss-expect,
  .cp-ss-gallery,
  .cp-ss-related {
    padding: 18px;
  }
  .cp-ss-play {
    width: 58px;
    height: 58px;
    margin: -29px 0 0 -29px;
    font-size: 22px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .cp-ss-media img,
  .cp-ss-play,
  .cp-ss-highlight,
  .cp-ss-steps li,
  .cp-ss-related-card,
  .cp-ss-cta,
  .cp-ss-cta-alt,
  .cp-ss-nav-list a,
  .cp-ss-gallery-grid img {
    transition: none !important;
  }
  .cp-ss-media:hover img,
  .cp-ss-highlight:hover,
  .cp-ss-related-card:hover {
    transform: none;
  }
}

/* ============================================================
   Aquarium Park ? About page (.cp-about-page)
   ============================================================ */
.cp-about-hero.cp-gallery-hero .container {
  padding-top: 130px;
}
.cp-about-page {
  background: transparent;
  color: #fff;
  position: relative;
  overflow: hidden;
}
.cp-about-page::before {
  display: none;
}
.cp-about-page > * {
  position: relative;
  z-index: 1;
}

.cp-about-intro,
.cp-about-video,
.cp-about-testimonials,
.cp-about-experiences,
.cp-about-mission {
  background: var(--cp-ocean);
}
.cp-about-video {
  padding-top: 50px;
  padding-bottom: 50px;
}

.cp-about-pillars {
  background: transparent !important;
  isolation: isolate;
}
.cp-about-pillars .cp-about-section-head span,
.cp-about-pillars .cp-about-section-head h2 {
  text-shadow: 0 4px 18px color-mix(in srgb, var(--cp-navy) 55%, transparent);
}

.cp-about-section-head {
  text-align: center;
  max-width: 640px;
  margin: 0 auto 42px;
}
.cp-about-section-head span {
  display: inline-block;
  margin-bottom: 10px;
  color: color-mix(in srgb, #fff 75%, transparent);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}
.cp-about-section-head h2 {
  margin: 0 0 14px;
  color: #fff;
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  font-weight: 800;
}

.cp-about-page .about-right-text > span,
.cp-about-page .ch-top-title > span,
.cp-about-page .ch-top-title-s3 > span {
  color: color-mix(in srgb, #fff 72%, transparent);
}
.cp-about-page .about-right-text h2,
.cp-about-page .ch-top-title h2,
.cp-about-page .ch-top-title-s3 h2,
.cp-about-page .about-right-text h2 small {
  color: #fff;
}
.cp-about-page .about-right-text p {
  color: color-mix(in srgb, #fff 86%, transparent);
}

.cp-about-media .right-img,
.cp-about-media .left-img,
.cp-about-mission-media .about-left-img > img,
.cp-about-mission-media .left-inner-img > img,
.cp-about-mission-media .about-right-img img {
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 18px 40px color-mix(in srgb, var(--cp-navy) 28%, transparent);
}
.cp-about-media .right-img img,
.cp-about-media .left-img img,
.cp-about-mission-media img {
  transition: transform 0.7s ease;
}
.cp-about-media:hover .right-img img,
.cp-about-mission-media:hover .about-left-img > img {
  transform: scale(1.04);
}
.cp-about-media .right-text {
  background: color-mix(in srgb, #fff 12%, transparent);
  border: 1px solid color-mix(in srgb, #fff 18%, transparent);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border-radius: 16px;
}
.cp-about-media .experience-text-right h3,
.cp-about-media .experience-text-right span {
  color: #fff;
}
.cp-about-feature {
  padding: 16px;
  border-radius: 16px;
  background: color-mix(in srgb, #fff 10%, transparent);
  border: 1px solid color-mix(in srgb, #fff 14%, transparent);
  transition: transform 0.35s ease, background 0.35s ease, box-shadow 0.35s ease;
  height: 100%;
}
.cp-about-feature:hover {
  transform: translateY(-6px);
  background: color-mix(in srgb, #fff 14%, transparent);
  box-shadow: 0 14px 28px color-mix(in srgb, var(--cp-navy) 22%, transparent);
}
.cp-about-feature h4 {
  color: #fff !important;
}
.cp-about-feature i {
  color: var(--cp-aqua-pale) !important;
}
.cp-about-intro-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  margin-top: 28px;
}
.cp-about-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  transition: color 0.25s ease, transform 0.25s ease;
}
.cp-about-link:hover,
.cp-about-link:focus-visible {
  color: var(--cp-aqua-pale);
  transform: translateX(3px);
  outline: none;
}

.cp-about-marquee {
  background:
    linear-gradient(
      180deg,
      color-mix(in srgb, var(--cp-navy) 72%, transparent) 0%,
      color-mix(in srgb, var(--cp-ocean) 55%, transparent) 50%,
      color-mix(in srgb, var(--cp-navy) 72%, transparent) 100%
    );
  border-block: 1px solid color-mix(in srgb, #fff 12%, transparent);
  overflow: hidden;
}
.cp-about-marquee .text-moving {
  z-index: 1;
}
.cp-about-page .cp-about-marquee .track {
  animation: marquee2 10s linear infinite;
}
.cp-about-page .cp-about-marquee h1 {
  animation: marquee2 10s linear infinite;
}
.cp-about-page .cp-about-marquee h1,
.cp-about-page .cp-about-marquee h1 span,
.cp-about-page .cp-about-marquee h1 span:nth-child(odd),
.cp-about-page .cp-about-marquee h1 span:nth-child(even),
.cp-about-page .cp-about-marquee .text-moving h1 span,
.cp-about-page .cp-about-marquee .text-moving h1 span:nth-child(odd),
.cp-about-page .cp-about-marquee .text-moving h1 span:nth-child(even),
.cp-about-page .cp-about-marquee h1 span i {
  color: transparent !important;
  -webkit-text-fill-color: transparent;
  background-image: linear-gradient(
    110deg,
    #7fd8ff 0%,
    #ffffff 14%,
    #1c7ec9 28%,
    #5fe3d0 42%,
    #bfe3f7 56%,
    #38bdf8 70%,
    #0ea5e9 84%,
    #7fd8ff 100%
  );
  background-size: 280% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  animation: cp-about-marquee-flow 7s linear infinite;
  filter: drop-shadow(0 2px 10px color-mix(in srgb, var(--cp-aqua) 35%, transparent));
}
.cp-about-page .cp-about-marquee h1 span:nth-child(even),
.cp-about-page .cp-about-marquee .text-moving h1 span:nth-child(even) {
  animation-duration: 9s;
  animation-direction: reverse;
}
.cp-about-page .cp-about-marquee h1 span:nth-child(3n),
.cp-about-page .cp-about-marquee .text-moving h1 span:nth-child(3n) {
  animation-duration: 8s;
  animation-delay: -2s;
}
.cp-about-page .cp-about-marquee h1 span i {
  display: inline-block;
  margin: 0 0.15em;
  animation: cp-about-marquee-flow 5.5s linear infinite, cp-about-marquee-glow 2.4s ease-in-out infinite;
}

@keyframes cp-about-marquee-flow {
  0% { background-position: 0% 50%; }
  100% { background-position: 280% 50%; }
}
@keyframes cp-about-marquee-glow {
  0%, 100% { filter: drop-shadow(0 0 4px color-mix(in srgb, #7fd8ff 45%, transparent)); opacity: 0.92; }
  50% { filter: drop-shadow(0 0 12px color-mix(in srgb, #5fe3d0 70%, transparent)); opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .cp-about-page .cp-about-marquee h1,
  .cp-about-page .cp-about-marquee h1 span,
  .cp-about-page .cp-about-marquee h1 span i,
  .cp-about-page .cp-about-marquee .text-moving h1 span {
    animation: none !important;
    background-position: 40% 50%;
  }
}

.cp-about-pillar {
  height: 100%;
  border-radius: 20px;
  overflow: hidden;
  background: #fff;
  border: 1px solid color-mix(in srgb, var(--cp-border) 28%, #fff);
  box-shadow: 0 16px 36px color-mix(in srgb, var(--cp-navy) 16%, transparent);
  transition: transform 0.4s ease, box-shadow 0.4s ease, border-color 0.4s ease;
}
.cp-about-pillar:hover {
  transform: translateY(-8px);
  border-color: color-mix(in srgb, var(--cp-aqua) 45%, transparent);
  box-shadow: 0 24px 48px color-mix(in srgb, var(--cp-navy) 28%, transparent);
}
.cp-about-pillar .service-text {
  padding: 28px 24px;
  text-align: center;
}
.cp-about-pillar .icon {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in srgb, var(--cp-aqua-pale) 70%, #fff);
  color: var(--cp-ocean);
  margin: 0 auto 16px;
}
.cp-about-pillar h3 {
  text-align: center;
}
.cp-about-pillar h3 a {
  color: #000 !important;
  text-decoration: none;
  display: inline-block;
  transition: color 0.25s ease;
}
.cp-about-pillar h3 a:hover,
.cp-about-pillar h3 a:focus-visible {
  color: var(--cp-aqua) !important;
  outline: none;
}
.cp-about-pillar p {
  color: #000;
  text-align: center;
}
.cp-about-pillar .read-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  margin-top: 8px;
  padding: 10px 36px 10px 22px;
  border-radius: 999px;
  border: 1.5px solid var(--cp-navy);
  background: #fff;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.04em;
  text-decoration: none;
  color: #000 !important;
  box-shadow: 0 0 0 transparent;
  position: relative;
  transition: transform 0.35s ease, background 0.35s ease, color 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
}
.cp-about-pillar .read-more:before {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  content: "\e914";
  font-family: "icomoon";
  font-size: 12px;
  line-height: 1;
  color: inherit;
  transition: right 0.3s ease, transform 0.3s ease;
}
.cp-about-pillar .read-more:hover,
.cp-about-pillar .read-more:focus-visible {
  color: #fff !important;
  background: var(--cp-aqua);
  border-color: var(--cp-aqua);
  letter-spacing: 0.04em;
  transform: translateY(-3px);
  box-shadow: 0 12px 24px color-mix(in srgb, var(--cp-aqua) 35%, transparent);
  outline: none;
}
.cp-about-pillar .read-more:hover:before,
.cp-about-pillar .read-more:focus-visible:before {
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
}
.cp-about-pillar .read-more:active {
  transform: translateY(-1px);
}

.cp-about-video .video-img {
  position: relative;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 24px 50px color-mix(in srgb, var(--cp-navy) 35%, transparent);
}
.cp-about-video .video-img img {
  width: 100%;
  min-height: 320px;
  max-height: 520px;
  object-fit: cover;
}
.cp-about-video-caption {
  position: absolute;
  left: 24px;
  bottom: 24px;
  z-index: 2;
  max-width: 320px;
  padding: 14px 18px;
  border-radius: 14px;
  background: color-mix(in srgb, var(--cp-navy) 70%, transparent);
  border: 1px solid color-mix(in srgb, #fff 18%, transparent);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  color: #fff;
}
.cp-about-video-caption span {
  display: block;
  font-weight: 800;
  margin-bottom: 4px;
}
.cp-about-video-caption p {
  margin: 0;
  font-size: 0.9rem;
  color: color-mix(in srgb, #fff 82%, transparent);
}

.cp-about-testimonials {
  background: transparent;
}
.cp-about-page .ch-service-area {
  background: transparent;
}
.cp-about-experiences .ch-service-left-wrapper {
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 20px 44px color-mix(in srgb, var(--cp-navy) 28%, transparent);
}
.cp-about-experiences .ch-service-right-wrap .item {
  border-radius: 14px;
  padding: 18px 20px;
  margin-bottom: 12px;
  background: color-mix(in srgb, #fff 8%, transparent);
  border: 1px solid color-mix(in srgb, #fff 12%, transparent);
  transition: transform 0.3s ease, background 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}
.cp-about-experiences .ch-service-right-wrap .item:hover,
.cp-about-experiences .ch-service-right-wrap .item.active {
  transform: translateX(6px);
  background: color-mix(in srgb, var(--cp-aqua) 28%, transparent);
  border-color: color-mix(in srgb, var(--cp-aqua) 40%, transparent);
  box-shadow: 0 12px 28px color-mix(in srgb, var(--cp-navy) 22%, transparent);
}
.cp-about-experiences .ch-service-right-wrap .item h2,
.cp-about-experiences .ch-service-right-wrap .item span,
.cp-about-experiences .ch-service-right-wrap .item i {
  color: #fff;
}
.cp-about-experiences .ch-top-btn .ch-btn-style-1 {
  background: var(--cp-aqua);
  color: #fff;
  border-color: var(--cp-aqua);
}

.cp-about-mission .exprience-wrap .exprience-inner {
  background: var(--cp-aqua);
  color: #fff;
  border-radius: 16px;
  box-shadow: 0 14px 30px color-mix(in srgb, var(--cp-navy) 28%, transparent);
}
.cp-about-mission .exprience-wrap .exprience-inner p,
.cp-about-mission .exprience-wrap .exprience-inner span {
  color: #fff;
}

@media (max-width: 991.98px) {
  .cp-about-intro-actions {
    margin-top: 22px;
  }
  .cp-about-video-caption {
    left: 14px;
    right: 14px;
    bottom: 14px;
    max-width: none;
  }
}
@media (max-width: 767.98px) {
  .cp-about-section-head {
    margin-bottom: 28px;
  }
  .cp-about-pillar {
    margin-bottom: 8px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .cp-about-feature,
  .cp-about-pillar,
  .cp-about-link,
  .cp-about-experiences .ch-service-right-wrap .item,
  .cp-about-media .right-img img,
  .cp-about-mission-media img {
    transition: none !important;
  }
  .cp-about-feature:hover,
  .cp-about-pillar:hover,
  .cp-about-experiences .ch-service-right-wrap .item:hover {
    transform: none;
  }
}
