/*
Template: Seanova – Modern Yacht Charter & Rental wordpress theme
Author: peacefulqode.co.in
Version: 1.0
Design and Developed by: Peacefulqode

*/

/*================================================
[  Table of contents  ]
================================================

==> Moz Selection
==> General
==> Loading
==> Back to Top
==> WordPress Core
==> Button Core
==> Dummy data
==> OWL Carousel
==> Pagination
==> Error
==> Breadcrumb
==> Service Single
==> Header
==> Section Title
==> Isotope Portfolio
==> Portfolio
==> Image Marquee
==> Yacht Tab Layout
==> Service Box
==> Pricing Plan
==> Team Box 
==> Video Popup
==> Journey
==> Woocommerce Button
==> Blog Post
==> Circle Process
==> Recent Post
==> widget
==> Testimonial
==> Map Container
==> Product
==> Advance Tab
==> Custom Css


======================================
[ End table content ]
======================================*/

/*================================================
Moz Selection
================================================*/

@font-face {
    font-family: 'Rage Italic';
    src: url('fonts/rage italic/Rage Italic.woff') format('woff'),
        url('fonts/rage italic/Rage Italic.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

::-moz-selection {
    text-shadow: none;
    background: var(--primary-color);
    color: #fff;
}

/*================================================
General
================================================*/
body {
    background: var(--white-color);
    font-family: var(--body-fonts);
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 1.6;
    /* ~24px → 28px */
    color: var(--secondary-color);
    overflow-x: hidden;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--title-fonts);
    color: var(--dark-color);
    font-style: normal;
    font-weight: 700;
    margin: 0;
    -ms-word-wrap: break-word;
    word-wrap: break-word;
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a,
h6 a {
    color: inherit;
}

h1 {
    font-size: clamp(2.25rem, 1.5rem + 2vw, 3.5rem);
    /* 36px → 56px */
    line-height: 1.25;
    /* ~72px (multiple of 8) */
}

h2 {
    font-size: clamp(2rem, 1.3rem + 1.8vw, 3rem);
    /* 32px → 48px */
    line-height: 1.25;
    /* ~56px (multiple of 8) */
}

h3 {
    font-size: clamp(1.75rem, 1.2rem + 1.6vw, 2.5rem);
    /* 28px → 40px */
    line-height: 1.3;
    /* ~48px (multiple of 8) */
}

h4 {
    font-size: clamp(1.5rem, 1rem + 1.4vw, 2rem);
    /* 24px → 32px */
    line-height: 1.35;
    /* ~40px (multiple of 8) */
}

h5 {
    font-size: clamp(1.25rem, 0.9rem + 1.2vw, 1.75rem);
    /* 20px → 28px */
    line-height: 1.4;
    /* ~32px (multiple of 8) */
}

h6 {
    font-size: clamp(1.25rem, 0.8rem + 1vw, 1.5rem);
    /* 16px → 24px */
    line-height: 1.5;
    /* ~24px/32px (fits grid) */
}

/*===== Container =====*/
.container,
.elementor-section.elementor-section-boxed>.elementor-container {
    max-width: 1400px;
}

.content-area .site-main {
    padding: 90px 0;
    display: inline-block;
    width: 100%;
    overflow: hidden;
    float: left;
}

/*===== Navigation Shop =====*/
.pt-shop-btn .dropdown-toggle::after {
    display: none;
}

.pt-cart-button {
    list-style-type: none;
    margin: 0;
    padding: 0;
    position: relative;
}

.pt-shop-btn .pt-cart>a {
    color: var(--dark-color);
    position: relative;
    line-height: 90px;
    padding: 0 0 0;
    font-size: 22px;
    transform: rotateY(180deg);
}

.pt-shop-btn .pt-cart .basket-item-count .woocommerce-Price-amount {
    display: none;
}

.pt-shop-btn .pt-cart:hover .dropdown-menu-mini-cart {
    display: block;
}

.pt-shop-btn ul.product_list_widget {
    margin: 0;
    padding: 0;
}

.pt-shop-btn ul.product_list_widget li {
    margin: 0 0 15px;
    padding: 0;
    list-style: none;
    display: inline-block;
    width: 100%;
    position: relative;
}

.pt-shop-btn ul.product_list_widget a.remove {
    float: right;
    right: 0;
    top: 0;
    left: inherit;
    bottom: 0;
    margin: auto 0;
    font-size: 30px;
    text-align: center;
    position: absolute;
}

.dropdown-menu-mini-cart,
.dropdown-menu[data-bs-popper] {
    right: -3%;
    width: 330px;
    left: inherit;
    border: none;
    box-shadow: 0px 5px 15px 0px rgba(0, 33, 85, 0.1);
    padding: 20px;
    top: 90px;
    border-radius: 0;
    margin: 0;
}

.pt-shop-btn .woocommerce-mini-cart__total.total {
    margin-bottom: 5px;
}

.pt-shop-btn .woocommerce-mini-cart__total.total strong {
    font-weight: 600;
    text-transform: capitalize;
    font-family: var(--title-fonts);
}

.pt-shop-btn .woocommerce-mini-cart__total.total .woocommerce-Price-amount.amount {
    float: right;
}

.pt-shop-btn p {
    margin-bottom: 0;
}

.pt-shop-btn .pt-cart a.remove {
    line-height: 0.8;
    color: var(--dark-color) !important;
    height: 1em;
    width: 1em;
}

.pt-shop-btn .pt-cart a.remove:hover {
    color: var(--primary-color) !important;
    background: transparent;
}

.pt-shop-btn .pt-cart ul.cart_list li a,
.pt-shop-btn .pt-cart ul.product_list_widget li a {
    display: block;
    text-transform: capitalize;
    font-weight: 600;
    font-family: var(--title-fonts);
    color: var(--dark-color);
    padding-right: 30px;
    line-height: normal;
}

.pt-shop-btn .pt-cart ul.product_list_widget li a:hover {
    color: var(--primary-color);
}

.pt-shop-btn .pt-cart ul.product_list_widget li a.remove {
    padding: 0;
}

/*================================================
Loading
================================================*/
/* Fullscreen overlay */
#pt-loading {
    position: fixed;
    inset: 0;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
    transition: opacity 0.6s ease, visibility 0.6s ease;
}

/* Hide state */
#pt-loading.hide {
    opacity: 0;
    visibility: hidden;
}

/* Loader wrapper */
.pt-loader {
    position: relative;
    width: 150px;
    height: 150px;
}

/* Rotating half-half border */
.pt-loader-circle {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 2px solid transparent;
    border-top-color: var(--primary-color);
    /* top half color */
    border-right-color: var(--grey-color);
    /* right half color */
    border-bottom-color: var(--primary-color);
    /* bottom half color */
    border-left-color: var(--grey-color);
    /* left half color */
    animation: spin 1.5s linear infinite;
}

/* Center logo */
.pt-loader img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    max-width: 60px;
}

/* Spin animation */
@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/*================================================
Back to Top
================================================*/
.progress-wrap {
    position: fixed;
    right: 30px;
    bottom: 30px;
    height: 55px;
    width: 55px;
    cursor: pointer;
    display: block;
    border-radius: var(--big-border-radius);
    box-shadow: inset 0 0 0 2px rgba(var(--dark-color-rgb), 0.2);
    background: var(--white-color);
    z-index: 10000;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: all 200ms linear;
    transition: all 200ms linear;
}

.progress-wrap.active-progress {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.progress-wrap::after {
    position: absolute;
    font-family: 'themify';
    content: "\e660";
    text-align: center;
    line-height: 55px;
    font-size: 24px;
    color: var(--dark-color);
    left: 0;
    top: 0;
    height: 55px;
    width: 55px;
    cursor: pointer;
    display: block;
    z-index: 1;
    -webkit-transition: all 200ms linear;
    transition: all 200ms linear;
}

.progress-wrap:hover::after {
    color: var(--dark-color);
}

.progress-wrap svg path {
    fill: none;
}

.progress-wrap svg.progress-circle path {
    stroke: var(--primary-color);
    stroke-width: 4;
    box-sizing: border-box;
    -webkit-transition: all 200ms linear;
    transition: all 200ms linear;
}


/*================================================
WordPress Core
================================================*/
.alignnone {
    margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
    display: block;
    margin: 5px auto 15px auto;
}

.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

a img.alignnone {
    margin: 5px 20px 20px 0;
}

a img.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.wp-caption {
    background: #fff;
    border: 1px solid var(--grey-color);
    max-width: 96%;
    padding: 5px;
    text-align: center;
}

.wp-caption.alignnone {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
    margin: 5px 0 20px 20px;
}

.wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 98.5%;
    padding: 0;
    width: auto;
}

.wp-caption p.wp-caption-text {
    font-size: 11px;
    line-height: 17px;
    margin: 0;
    padding: 0 4px 5px;
}

.wp-block-audio figcaption,
.wp-block-video figcaption,
.wp-block-image figcaption,
.wp-block-gallery .blocks-gallery-image figcaption,
.wp-block-gallery .blocks-gallery-item figcaption {
    font-size: 14px;
    line-height: 1.6;
    margin: 0;
    padding: 0.5rem;
    text-align: center;
}

.wp-block-gallery figcaption.blocks-gallery-caption {
    margin-bottom: 10px;
}

.bypostauthor {
    display: block;
}

.wp-caption-text {
    font-size: 14px;
    margin: 4px 0 0;
    line-height: normal;
}

/*===== Text meant only for screen readers =====*/
.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    white-space: nowrap;
    height: 0px;
    width: 1px;
    overflow: hidden;
}

.screen-reader-text:focus {
    background-color: var(--grey-color);
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip: auto !important;
    color: #21759b;
    display: block;
    font-size: 14px;
    font-size: 0.875rem;
    font-weight: 600;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
}

/*================================================
Button Core
================================================*/
[type="button"],
[type="reset"],
[type="submit"],
.woocommerce a.button {
    padding: 12px 30px;
    font-family: var(--title-fonts);
    font-size: 18px;
    letter-spacing: 0.04em;
    background: var(--primary-color);
    color: var(--white-color);
    text-transform: capitalize;
    display: inline-block;
    border: none;
    width: auto;
    height: auto;
    line-height: 1.6;
    -webkit-border-radius: 900px;
    -moz-border-radius: 900px;
    border-radius: 900px;
    transition: all 0.5s ease-in-out;
    -moz-transition: all 0.5s ease-in-out;
    -ms-transition: all 0.5s ease-in-out;
    -o-transition: all 0.5s ease-in-out;
    -webkit-transition: all 0.5s ease-in-out;
}

[type="button"]:hover,
[type="reset"]:hover,
[type="submit"]:hover,
.woocommerce a.button:hover,
.woocommerce a.button:focus {
    background: var(--dark-color);
    color: var(--white-color);
}

/*===== Button Flat =====*/

.pt-btn-container {
    display: inline-block;
}

.pt-button.pt-button-flat {
    overflow: hidden;
    font-family: var(--title-fonts);
    line-height: 1.6;
    font-size: 18px;
    padding: 16px 30px;
    position: relative;
    width: auto;
    height: auto;
    color: var(--white-color);
    vertical-align: middle;
    display: inline-flex;
    align-items: center;
    background: var(--primary-color);
    text-decoration: none;
    border-radius: var(--big-border-radius);
    transition: var(--transition);
}

.pt-button.pt-button-flat .pt-button-text {
    transition: var(--transition);
}

.pt-button.pt-button-flat i {
    max-width: 20px;
    height: 1em;
    line-height: 1.3;
    margin: 0 0 0 8px;
    transition: var(--transition);
}

@keyframes pt-text-animate {
    0% {
        opacity: 0;
        transform: translateY(10px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

.pt-button-text span {
    display: inline-block;
    opacity: 1;
    transition: var(--transition);
}

.pt-button.pt-button-flat .pt-button-text span {
    opacity: 1;
}

.pt-button.pt-button-flat:hover .pt-button-text span {
    animation: pt-text-animate 0.4s forwards;
}

/*===== Button link =====*/

.pt-button.pt-button-link {
    display: flex;
    font-family: var(--title-fonts);
    text-transform: capitalize;
    line-height: 1.8;
    letter-spacing: 1px;
    font-size: 18px;
    align-items: center;
    position: relative;
}

.pt-button.pt-button-link .pt-button-text {
    position: relative;
    color: var(--primary-color);
}

.pt-button.pt-button-link .pt-button-text::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 0;
    height: 1px;
    background-color: var(--primary-color);
    transition: all 0.7s ease-in-out;
}

.pt-button.pt-button-link:hover .pt-button-text::before {
    width: 100%;
}

.pt-button.pt-button-link .pt-button-text::after {
    content: "";
    position: absolute;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 1px;
    background-color: var(--primary-color);
    transition: all 0.4s ease-in-out;
}

.pt-button.pt-button-link:hover .pt-button-text::after {
    width: 0;
}

/*===== Button outline =====*/

.pt-button.pt-button-outline {
    overflow: hidden;
    font-family: var(--title-fonts);
    text-transform: uppercase;
    line-height: 2;
    letter-spacing: 0.04em;
    font-size: 18px;
    padding: 4px 4px 4px 30px;
    position: relative;
    width: auto;
    height: auto;
    color: var(--dark-color);
    vertical-align: middle;
    display: inline-flex;
    align-items: center;
    background: transparent;
    border: 2px solid var(--dark-color);
    gap: 10px;
    text-decoration: none;
    border-radius: var(--big-border-radius);
    transition: var(--transition);
}

.pt-button.pt-button-outline:hover {
    border: 2px solid var(--primary-color);
    color: var(--primary-color);
}

.pt-button.pt-button-outline i {
    height: 40px;
    width: 40px;
    background-color: var(--primary-color);
    color: var(--white-color);
    border-radius: var(--big-border-radius);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    transform: rotate(-45deg);
    transition: var(--transition);
}

.pt-button.pt-button-outline:hover i {
    transform: rotate(0deg);
}

/*===== Button Rounded =====*/

.pt-button.pt-button-rounded {
    display: inline-block;
    width: 52px;
    height: 52px;
    line-height: 52px;
    font-size: 24px;
    border-radius: var(--big-border-radius);
    background: var(--dark-color);
    color: var(--white-color);
    text-align: center;
    transition: var(--transition);
}

.pt-button.pt-button-rounded:hover {
    background: var(--primary-color);
    color: var(--white-color);
}


/*================================================
Dummy data
================================================*/

/*=====  Tags =====*/
.wp-block-tag-cloud .tag-cloud-link {
    font-size: 14px !important;
    background: var(--primary-color);
    margin: 0 10px 10px 0;
    display: inline-block;
    float: left;
    color: var(--white-color);
    padding: 4px 8px;
    border: 1px solid var(--primary-color);
    transition: all 0.5s ease-in-out;
    -webkit-transition: all 0.5s ease-in-out;
    -o-transition: all 0.5s ease-in-out;
    -moz-transition: all 0.5s ease-in-out;
    -ms-transition: all 0.5s ease-in-out;
    -webkit-border-radius: 900px;
    -moz-border-radius: 900px;
    border-radius: 900px;
}

.wp-block-tag-cloud .tag-cloud-link:hover {
    border-color: var(--dark-color);
    background: var(--primary-color);
    color: var(--white-color);
}

/*================================================
OWL Carousel
================================================*/
.owl-carousel .owl-nav.disabled {
    display: none;
}

.owl-nav {
    position: relative;
    top: 0%;
    transform: translateY(0);
    margin: 0;
    width: 100%;
    display: flex;
    cursor: inherit;
    justify-content: center;
}

.owl-carousel .owl-nav button.owl-prev,
.owl-carousel .owl-nav button.owl-next {
    outline: none;
    text-align: center;
    text-indent: inherit;
    cursor: pointer;
    position: relative;
    padding: 0 !important;
    margin: 0 5px;
    border: none;
    border-radius: 100%;
    width: 52px;
    height: 52px;
    line-height: 52px;
    font-size: 24px;
    background: var(--primary-color);
    color: var(--white-color);
    transition: var(--transition);
}

.owl-carousel .owl-nav button.owl-next {
    right: 0;
}

.owl-carousel .owl-nav button:hover {
    color: var(--white-color);
    background: var(--dark-color);
}

.pt-dark-bg .owl-carousel .owl-nav button:hover {
    color: var(--white-color);
    background: var(--dark-color);
}

.owl-carousel .owl-nav button i::before {
    line-height: inherit;
}

.owl-carousel .owl-nav button.owl-prev {
    transform: rotate(180deg);
}


/*++++++++++++++++ Dots +++++++++++*/
.owl-carousel .owl-dots.disabled {
    display: none;
}

.owl-carousel .owl-dots {
    margin-top: 30px;
    line-height: normal;
    position: relative;
    width: 100%;
    text-indent: inherit;
    text-align: center;
    cursor: pointer;
}

.owl-carousel .owl-dots .owl-dot {
    box-shadow: none;
    outline: none;
    background: rgba(var(--dark-color-rgb), .4);
    border: 0 solid rgba(var(--dark-color-rgb), .08);
    display: inline-block;
    padding: 0;
    margin: 0px 5px;
    height: 12px;
    width: 12px;
    transition: var(--transition-duration);
    -webkit-transition: var(--transition-duration);
    -o-transition: var(--transition-duration);
    -moz-transition: var(--transition-duration);
    -ms-transition: var(--transition-duration);
    cursor: pointer;
    -webkit-border-radius: var(--pt-border-radius);
    -moz-border-radius: var(--pt-border-radius);
    border-radius: var(--pt-border-radius);
}

.owl-carousel .owl-dots .owl-dot span {
    display: none;
}

.owl-carousel .owl-dots .owl-dot:hover {
    background: var(--dark-color);
    border-color: var(--dark-color);
    opacity: 1;
}

.owl-carousel .owl-dots .owl-dot.active {
    background: var(--dark-color);
    border-color: var(--dark-color);
    opacity: 1;
}

/*================================================
Pagination
================================================*/
.pt-pagination {
    margin-top: 60px;
}

.pt-pagination .page-numbers {
    display: -ms-flexbox;
    display: flex;
    padding-left: 0;
    list-style: none;
    padding: 0;
    margin: 0;
}

.pt-pagination .page-numbers li:first-child .page-numbers {
    margin-left: 0;
}

.pt-pagination .page-numbers li .page-numbers {
    position: relative;
    display: block;
    padding: 0px 20px;
    text-transform: uppercase;
    height: 60px;
    width: 60px;
    text-align: center;
    line-height: 60px;
    font-size: 16px;
    margin: 0 5px;
    color: var(--dark-color);
    background-color: var(--grey-color);
    letter-spacing: 0.04em;
    border: 0 solid var(--grey-color);
    -webkit-border-radius: var(--big-border-radius);
    -moz-border-radius: var(--big-border-radius);
    border-radius: var(--big-border-radius);
    font-family: var(--title-fonts);
}

.pt-pagination .page-numbers li .page-numbers:hover {
    color: var(--white-color);
    text-decoration: none;
    background-color: var(--primary-color);
    border-color: var(--primary-color);
    z-index: 2;
}

.pt-pagination .page-numbers li .page-numbers:focus {
    box-shadow: none;
    outline: 0;
    z-index: 2;
}

.pt-pagination .page-numbers li .page-numbers:not(:disabled):not(.disabled) {
    cursor: pointer
}

.pt-pagination .page-numbers li .page-numbers.current {
    color: var(--white-color);
    background: var(--dark-color);
    border-color: var(--dark-color);
    z-index: 1;
    -webkit-transition: all 0.5s ease-out 0s;
    -moz-transition: all 0.5s ease-out 0s;
    -ms-transition: all 0.5s ease-out 0s;
    -o-transition: all 0.5s ease-out 0s;
    transition: all 0.5s ease-out 0s;
}

.pt-pagination .page-numbers li .next.page-numbers,
.pt-pagination .page-numbers li .prev.page-numbers {
    width: auto;
}

@media(max-width:767px) {
    .pt-pagination {
        margin-top: 0;
    }

    .pt-pagination .page-numbers li .next.page-numbers,
    .pt-pagination .page-numbers li .prev.page-numbers {
        width: auto;
        display: none;
    }
}

/*================================================
Error
================================================*/
.pt-error-block {
    text-align: center;
}

.pt-error-block .pt-errot-text {
    font-size: 420px;
    font-family: var(--title-fonts);
    color: var(--dark-color);
    line-height: 0.8;
    letter-spacing: 0.04em;
    margin-bottom: 30px;
    font-style: normal;
    text-transform: uppercase;
    font-weight: 600;
}

@media(max-width:1023px) {
    .pt-error-block .pt-errot-text {
        font-size: 320px;
    }
}

@media(max-width:767px) {
    .pt-error-block .pt-errot-text {
        font-size: 200px;
    }

    .pt-error-block h2 {
        font-size: 26px;
        line-height: 34px;
    }
}

@media(max-width:479px) {
    .pt-error-block .pt-errot-text {
        font-size: 130px;
    }
}

/*================================================
Breadcrumb
================================================*/
.pt-breadcrumb-style-1 {
    padding: 160px 0 320px 0;
    position: relative;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    text-align: start;
    z-index: 1;
    overflow: hidden;
    margin: 0 30px;
    border-radius: 20px;
}

.pt-breadcrumb-style-1::before {
    content: "";
    opacity: 0;
    position: absolute;
    background-color: var(--dark-color);
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}

.pt-breadcrumb-style-1 .pt-breadcrumb-title h1 {
    font-size: clamp(2.25rem, 1.5rem + 3vw, 4.5rem);
    line-height: 1.2;
    color: var(--white-color);
    margin-bottom: 20px;
}

.pt-breadcrumb-style-1 .pt-breadcrumb-container .breadcrumb {
    display: inline-block;
    margin: 0;
}

.pt-breadcrumb-style-1 .pt-breadcrumb-container .breadcrumb li {
    list-style-type: none;
    margin-right: 5px;
    padding-left: 0;
    display: inline-block;
    text-transform: capitalize;
    font-size: 18px;
    line-height: 1.25;
}

.pt-breadcrumb-style-1 .pt-breadcrumb-container .breadcrumb li.active {
    color: var(--white-color);
}

.pt-breadcrumb-style-1 .pt-breadcrumb-container .breadcrumb li a {
    color: var(--white-color);
}

.pt-breadcrumb-style-1 .pt-breadcrumb-container .breadcrumb li a i {
    margin-right: 5px;
}

.pt-breadcrumb-style-1 .pt-breadcrumb-container .breadcrumb li a:hover {
    color: var(--white-color);
}

.pt-breadcrumb-style-1 .pt-breadcrumb-container .breadcrumb .breadcrumb-item+.breadcrumb-item::before {
    content: "\e649";
    font-size: 12px;
    font-family: "themify";
    padding-right: 15px;
    color: var(--white-color);
    float: none;
}

.pt-breadcrumb-style-1 .pt-breadcrumb-title,
.pt-breadcrumb-style-1 .pt-breadcrumb-container {
    width: 80%;
}

@media(max-width:1500px) {
    .pt-breadcrumb-style-1 {
        padding: 160px 20px 320px 20px;
        margin: 0;
        border-radius: 0;
    }

    .pt-breadcrumb-wrapper {
        padding: 0;
    }
}

@media(max-width:1366px) {
    .pt-breadcrumb-style-1 {
        margin: 0;
        border-radius: 0;
    }
}

@media(max-width:1023px) {
    .pt-breadcrumb-style-1 {
        padding: 90px 20px 90px 20px;
    }
}

@media(max-width:767px) {
    .pt-breadcrumb-style-1 .pt-breadcrumb-container .breadcrumb .breadcrumb-item+.breadcrumb-item::before {
        padding-right: 10px;
        font-size: 12px;
    }

    .pt-breadcrumb-style-1 .pt-breadcrumb-title,
    .pt-breadcrumb-style-1 .pt-breadcrumb-container {
        width: 100%;
    }
}

/*================================================
Service Single
================================================*/
[data-widget_type="sidebar.default"] .widget .menu-service-menu-container {
    border: none;
    box-shadow: none;
}

[data-widget_type="sidebar.default"] .widget .menu-service-menu-container .menu {
    margin: 0;
    padding: 0;
}

[data-widget_type="sidebar.default"] .widget .menu-service-menu-container .menu li {
    margin: 0 0 20px;
}

[data-widget_type="sidebar.default"] .widget .menu-service-menu-container .menu li:last-child {
    margin: 0;
}

[data-widget_type="sidebar.default"] .widget .menu-service-menu-container .menu li a {
    padding: 17px 20px;
    border: 1px solid rgba(var(--dark-color-rgb), 0);
    background: var(--white-color);
    display: inline-block;
    width: 100%;
    position: relative;
    font-family: var(--body-fonts);
    /* font-size: 16px;
    line-height: 24px; */
    text-transform: capitalize;
    color: var(--dark-color);
    border-radius: 20px;
}

[data-widget_type="sidebar.default"] .widget .menu-service-menu-container .menu li a:before {
    content: '\f054';
    font-family: "Font Awesome 5 Free";
    font-weight: 700;
    font-size: 12px;
    right: 20px;
    left: auto;
    top: 24px;
    position: absolute;
    color: inherit;
    line-height: normal;
}

[data-widget_type="sidebar.default"] .widget .menu-service-menu-container .menu li a:hover,
[data-widget_type="sidebar.default"] .widget .menu-service-menu-container .menu li.current_page_item a {
    background: var(--primary-color);
    border: 1px solid rgba(var(--primary-color-rgb), 1);
    color: var(--white-color);
}

/*================================================
Header
================================================*/

#mega-menu-wrap-primary #mega-menu-primary span.mega-indicator:after {
    content: "" !important;
    display: none !important;
}

#mega-menu-wrap-primary #mega-menu-primary span.mega-indicator:before {
    content: "\f144" !important;
    font-family: flaticon_handyman_new_2 !important;
    font-style: normal;
    font-weight: normal !important;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;

    display: inline-block;
    opacity: 0;
    transition: opacity 0.4s ease-in-out, transform 0.4s ease-in-out;
}

#mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-item-has-children:hover>a.mega-menu-link>span.mega-indicator:before {
    opacity: 1;
}

#mega-menu-wrap-primary #mega-menu-primary ul.mega-sub-menu span.mega-indicator:before {
    display: none !important;
}

#mega-menu-wrap-primary #mega-menu-primary li.mega-menu-item-has-children:hover>a.mega-menu-link>span.mega-indicator:before {
    opacity: 1;
}

#mega-menu-wrap-primary #mega-menu-primary li.mega-menu-item-has-children.mega-current-menu-ancestor>a.mega-menu-link>span.mega-indicator:before,
#mega-menu-wrap-primary #mega-menu-primary li.mega-menu-item-has-children.mega-current-menu-item>a.mega-menu-link>span.mega-indicator:before {
    opacity: 1;
}

#mega-menu-wrap-primary #mega-menu-primary li.mega-menu-item-has-children>a.mega-menu-link>span.mega-indicator {
    line-height: 18px;
    font-size: 14px;
    margin-left: 8px;
}

#mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-item {
    margin: 0 45px 0 0;
}

@media (max-width:1200px) {
    #mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-item {
        margin: 0 0 0 0;
    }

    #mega-menu-wrap-primary #mega-menu-primary li.mega-menu-item-has-children>a.mega-menu-link>span.mega-indicator {
        display: none;
    }
}

/*===== Transparent  Header =====*/
.admin-bar .transparent-header {
    top: 32px !important;
}

.transparent-header {
    background: transparent;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 9;
}

.transparent-header #mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-item>a.mega-menu-link {
    color: var(--white-color);
}

.transparent-header #mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-item>a.mega-menu-link:hover {
    color: var(--primary-color);
}

/*===== Sticky  Header =====*/
.admin-bar .pt-header-sticky {
    top: 32px;
}

header.pt-header-sticky {
    position: fixed;
    top: 0;
    left: 0;
    display: inline-block;
    width: 100%;
    background: var(--dark-color);
    -webkit-box-shadow: 0px 5px 15px 0px rgba(26, 26, 26, 0.1);
    -moz-box-shadow: 0px 5px 15px 0px rgba(26, 26, 26, 0.1);
    box-shadow: 0px 5px 15px 0px rgba(26, 26, 26, 0.1);
    border-bottom: none;
    z-index: 9999;
}


@media (max-width: 1365px) {
    #mega-menu-wrap-primary #mega-menu-primary li.mega-menu-item-has-children>a.mega-menu-link>span.mega-indicator:after {
        display: none !important;

    }
}

@media (max-width: 1200px) {
    #mega-menu-wrap-primary #mega-menu-primary li.mega-menu-item-has-children>a.mega-menu-link>span.mega-indicator:after {
        display: inline-block !important;
    }
}

@media (max-width: 767px) {
    .admin-bar .transparent-header.pt-header-sticky {
        top: 0 !important;
    }
}

@media (max-width: 1200px) {
    .transparent-header #mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-item>a.mega-menu-link {
        color: var(--dark-color);
    }
}


/* ====== Menu Toggle Right Blocks Spacing ====== */
@media only screen and (max-width: 1200px) {

    #mega-menu-wrap-primary .mega-menu-toggle .mega-toggle-blocks-right .mega-toggle-block:only-child {
        margin-left: 10px;
    }

    #mega-menu-wrap-primary .mega-menu-toggle .mega-toggle-blocks-right .mega-toggle-block {
        margin-right: 10px;
    }
}


@media only screen and (max-width: 767px) {

    #mega-menu-wrap-primary .mega-menu-toggle .mega-toggle-blocks-right .mega-toggle-block:only-child {
        margin-left: 5px;
    }

    #mega-menu-wrap-primary .mega-menu-toggle .mega-toggle-blocks-right .mega-toggle-block {
        margin-right: 5px;
    }

    #mega-menu-wrap-primary .mega-menu-toggle {
        line-height: 50px;
        height: 50px;

    }
}

/* ============ Custom header style ================ */

.pt-header-bg-blur #mega-menu-wrap-primary #mega-menu-primary {
    padding: 18px 45px;
    border-radius: var(--big-border-radius);
    border: 1px solid rgba(var(--dark-color-rgb), .2);
}

.transparent-header.pt-header-bg-blur #mega-menu-wrap-primary #mega-menu-primary {
    border: 1px solid #ffffff2b;
}

.pt-header-bg-blur #mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-item>a.mega-menu-link {
    font-size: 18px;
    line-height: 26px;
    height: inherit;
}

.pt-header-bg-blur #mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-flyout ul.mega-sub-menu {
    top: 60px;
}

.pt-header-bg-blur #mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-flyout ul.mega-sub-menu>li .mega-sub-menu {
    top: 0;
}

.pt-header-bg-blur #mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-item:last-child {
    margin-right: 0;
}

.pt-header-bg-blur .pt-header-right .pt-header-icon .pt-header-contact a {
    color: var(--white-color);
}

@media(max-width:1279px) {
    .pt-header-bg-blur #mega-menu-wrap-primary #mega-menu-primary {
        padding: 18px 30px;
    }
}


@media (max-width:1200px) {
    .pt-header-bg-blur #mega-menu-wrap-primary #mega-menu-primary li.mega-menu-item-has-children>a.mega-menu-link>span.mega-indicator:after {
        display: block;
    }

    .transparent-header.pt-header-bg-blur #mega-menu-wrap-primary #mega-menu-primary {
        border: none;
    }

}

@media (max-width:1200px) {
    .pt-header-bg-blur #mega-menu-wrap-primary #mega-menu-primary {
        background-color: var(--white-color);
        padding: 0;
        border-radius: 0px;
        border: none;
    }

    .pt-header-bg-blur #mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-item.mega-current-menu-item>a.mega-menu-link,
    .pt-header-bg-blur #mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-item.mega-toggle-on>a.mega-menu-link,
    .pt-header-bg-blur #mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-item.mega-current-menu-parent>a.mega-menu-link {
        color: var(--white-color);
    }

    .pt-header-bg-blur #mega-menu-wrap-primary #mega-menu-primary>li.mega-menu-item>a.mega-menu-link {
        border-radius: 0;
        border: 0;
        margin: 0;
        line-height: 50px;
        height: 50px;
        padding: 0 10px;
        color: var(--dark-color);
    }
}

.pt-header-bg-blur .pt-search-button {
    background-color: var(--white-color);
}

/*++++++ Cart ++++++*/
.pt-header-info .pt-shop-btn .pt-cart-button .pt-icon {
    width: 56px;
    height: 56px;
    font-size: 20px;
    line-height: 56px;
    text-align: center;
    background: var(--grey-color);
    color: var(--dark-color);
    border-radius: var(--big-border-radius);
    display: inline-block;
}

.pt-shop-btn .dropdown-toggle::after {
    display: none;
}

.pt-cart-button {
    list-style-type: none;
    margin: 0;
    padding: 0;
    position: relative;
}

.pt-shop-btn .pt-cart>a {
    color: var(--dark-color);
    position: relative;
    line-height: 90px;
    padding: 0 0 0;
    font-size: 22px;
    transform: rotateY(180deg);
}

.pt-cart-button .basket-item-count {
    font-size: 12px;
    font-weight: 400;
    background: var(--primary-color);
    color: var(--white-color);
    position: absolute;
    bottom: 8px;
    right: 8px;
    height: 18px;
    width: 18px;
    line-height: 18px;
    text-align: center;
    border-radius: var(--big-border-radius);
}

.pt-shop-btn .pt-cart .basket-item-count .woocommerce-Price-amount {
    display: none;
}

.pt-shop-btn .pt-cart:hover .dropdown-menu-mini-cart {
    display: block;
}

.pt-shop-btn ul.product_list_widget {
    margin: 0;
    padding: 0;
}

.pt-shop-btn ul.product_list_widget li {
    margin: 0 0 15px;
    padding: 0;
    list-style: none;
    display: inline-block;
    width: 100%;
    position: relative;
}

.pt-shop-btn ul.product_list_widget a.remove {
    float: right;
    right: 0;
    top: 0;
    left: inherit;
    bottom: 0;
    margin: auto 0;
    font-size: 30px;
    text-align: center;
    position: absolute;
}

.dropdown-menu-mini-cart,
.dropdown-menu[data-bs-popper] {
    right: -3%;
    width: 330px;
    left: inherit;
    border: none;
    box-shadow: 0px 5px 15px 0px rgba(0, 33, 85, 0.1);
    padding: 20px;
    top: 90px;
    border-radius: 0;
    margin: 0;
}

.pt-shop-btn .woocommerce-mini-cart__total.total {
    margin-bottom: 5px;
}

.pt-shop-btn .woocommerce-mini-cart__total.total strong {
    font-weight: 700;
    text-transform: capitalize;
    font-family: var(--title-fonts);
}

.pt-shop-btn .woocommerce-mini-cart__total.total .woocommerce-Price-amount.amount {
    float: right;
}

.pt-shop-btn p {
    margin-bottom: 0;
}

.pt-shop-btn .pt-cart a.remove {
    line-height: 0.8;
    color: var(--dark-color) !important;
    font-weight: 400;
    height: 1em;
    width: 1em;
}

.pt-shop-btn .pt-cart a.remove:hover {
    color: var(--primary-color) !important;
    background: transparent;
}

.pt-shop-btn .pt-cart ul.cart_list li a,
.pt-shop-btn .pt-cart ul.product_list_widget li a {
    display: block;
    text-transform: capitalize;
    font-weight: 700;
    font-family: var(--title-fonts);
    color: var(--dark-color);
    padding-right: 30px;
    line-height: normal;
}

.pt-shop-btn .pt-cart ul.product_list_widget li a:hover {
    color: var(--primary-color);
}

.pt-shop-btn .pt-cart ul.product_list_widget li a.remove {
    font-weight: 400;
    padding: 0;
}

/*================================================
Section Title
================================================*/

.pt-section-title.text-center .pt-title .pt-title-subtitle {
    justify-content: center;
}

.pt-section-title.text-center .pt-title .pt-title-heading {
    margin-bottom: 0;
}

.pt-section-title .pt-title .pt-title-heading {
    color: var(--dark-color);
}

.pt-section-title .pt-title .pt-title-subtitle {
    position: relative;
    text-transform: capitalize;
    display: inline-block;
    letter-spacing: 0.04em;
    align-items: center;
    line-height: 1em;
    color: var(--primary-color);
    font-size: 32px;
    font-family: var(--special-fonts);
}

.pt-section-title .pt-title .pt-title-subtitle img {
    position: absolute;
    left: 0;
    top: -40px;
}

.pt-section-title .pt-title .pt-title-description {
    font-size: 18px;
    line-height: 1.8;
    color: var(--secondary-color);
    margin-top: 10px;
    margin-bottom: 0;
}

@media (max-width: 767px) {
    .pt-section-title .pt-title .pt-title-subtitle img {
        display: none;
    }
}


/*================================================
Isotope Portfolio
================================================*/
.pt-filters .pt-filter-button-group ul {
    margin: 0 0 45px;
    padding: 0;
    display: inline-block;
    width: 100%;
    text-align: center;
}

.pt-filters .pt-filter-button-group ul li {
    font-family: var(--title-fonts);
    font-size: 20px;
    line-height: 28px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    list-style: none;
    color: var(--dark-color);
    display: inline-block;
    cursor: pointer;
    padding: 8px 24px;
    transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
    -moz-transition: all 0.5s ease-in-out;
    -ms-transition: all 0.5s ease-in-out;
    -o-transition: all 0.5s ease-in-out;
    -webkit-transition: all 0.5s ease-in-out;
}

.pt-filters .pt-filter-button-group ul li:last-child {
    margin-right: 0;
}

.pt-filters .pt-filter-button-group ul li.active,
.pt-filters .pt-filter-button-group ul li.active:hover {
    background: var(--dark-color);
    color: var(--white-color);
    -webkit-border-radius: var(--big-border-radius);
    -moz-border-radius: var(--big-border-radius);
    border-radius: var(--big-border-radius);
}

.pt-filters .pt-filter-button-group ul li:hover {
    color: var(--dark-color);
}

/*===== Portfolio Grid =====*/
.pt-grid {
    display: inline-block;
    width: 100%;
    float: left;
}

.pt-grid:after {
    content: '';
    display: block;
    clear: both;
}

.pt-grid .pt-col-3 {
    width: 25%;
    padding: 0 15px 30px;
}

.pt-grid .pt-col-6 {
    width: 50%;
    padding: 0 15px 30px;
}

.pt-grid .pt-col-4 {
    width: 33.33%;
    padding: 0 15px 30px;
}

@media(max-width:1199px) {
    .pt-grid .pt-col-3 {
        width: 33.333%;
    }
}

@media(max-width:1023px) {

    .pt-grid .pt-col-4,
    .pt-grid .pt-col-3 {
        width: 50%;
    }
}

@media(max-width:767px) {

    .pt-grid .pt-col-6,
    .pt-grid .pt-col-4,
    .pt-grid .pt-col-3 {
        width: 100%;
        padding: 0 0 30px;
    }
}

/*===== Portfolio Masonry =====*/
.pt-masonry {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.pt-masonry .ipt-lg-6 {
    width: 50%;
    padding: 0 15px 30px;
}

.pt-masonry .ipt-lg-4 {
    width: 33.333%;
    padding: 0 15px 30px;
}

.pt-masonry .ipt-lg-3 {
    width: 25%;
    padding: 0 15px 30px;
}

.pt-masonry-item.visible_item {
    display: none !important;
}

.pt-grid-item.visible_item {
    display: none !important;
}

.pt-job-item.visible_item {
    display: none !important;
}

.pt-job-grid-item.visible_item {
    display: none !important;
}

@media(max-width:1199px) {
    .pt-masonry .ipt-lg-3 {
        width: 33.333%;
    }
}

@media(max-width:1023px) {

    .pt-masonry .ipt-lg-4,
    .pt-masonry .ipt-lg-3 {
        width: 50%;
    }
}

@media(max-width:767px) {

    .pt-masonry .ipt-lg-6,
    .pt-masonry .ipt-lg-4,
    .pt-masonry .ipt-lg-3 {
        width: 100%;
        padding: 0 0 30px;
    }
}

/*================================================
Portfolio
================================================*/
.pt-hover-bellow {
    position: relative;
}

.pt-hover-bellow .pt-portfolio-img {
    overflow: hidden;
    border-radius: var(--pt-border-radius);
}

.pt-hover-bellow .pt-portfolio-img img {
    transition: var(--transition);
    height: 300px;
    width: 100%;
    object-fit: cover;
}

.pt-hover-bellow:hover .pt-portfolio-img img {
    transform: scale(1.1);
    -webkit-transform: scale(1.1);
}

.pt-hover-bellow .pt-potfolio-content {
    margin-top: 30px;
}

.pt-hover-bellow .pt-potfolio-content .pt-portfolio-category {
    color: var(--secondary-color);
}

.pt-hover-bellow .pt-potfolio-content .pt-portfolio-category a {
    color: var(--secondary-color);
}

.pt-hover-bellow .pt-potfolio-content .pt-portfolio-title a:hover {
    color: var(--dark-color);
}

.pt-hover-bellow .pt-potfolio-content .pt-button {
    margin-top: 15px;
}

/*===== Portfolio style-1 =====*/

.pt-portfoliobox-1.pt-hover-bellow {
    background-color: var(--grey-color);
    border-radius: var(--pt-border-radius);
}

.pt-portfoliobox-1.pt-hover-bellow .pt-portfolio-img {
    border-radius: 20px 20px 0 0;
}

.pt-portfoliobox-1.pt-hover-bellow .pt-potfolio-content {
    margin: 0;
    padding: 30px;
}

.pt-portfoliobox-1.pt-hover-bellow .pt-potfolio-content .pt-portfolio-title {
    color: var(--dark-color);
    font-size: 24px;
    line-height: 32px;
    margin-bottom: 5px;
}

.pt-portfoliobox-1.pt-hover-bellow .pt-potfolio-content .pt-portfolio-details {
    padding: 0;
    margin: 0;
    margin-top: 20px;
}

.pt-portfoliobox-1.pt-hover-bellow .pt-potfolio-content .pt-portfolio-details li {
    list-style: none;
    display: flex;
    justify-content: space-between;
    padding-bottom: 10px;
    margin-bottom: 10px;
    border-bottom: 1px solid rgba(var(--dark-color-rgb), .1);
    font-size: 16px;
    line-height: 24px;
}

.pt-portfoliobox-1.pt-hover-bellow .pt-potfolio-content .pt-portfolio-details li:last-child {
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.pt-portfoliobox-1.pt-hover-bellow .pt-potfolio-content .pt-portfolio-details li .pt-label {
    color: var(--dark-color);
}


/*===== Portfolio Fade =====*/
.pt-hover-fade {
    position: relative;
}

.pt-hover-fade .pt-portfolio-media {
    overflow: hidden;
    border-radius: var(--pt-border-radius);
    margin-bottom: 0;
}

.pt-hover-fade .pt-portfolio-media img {
    transition: var(--transition);
    border-radius: var(--pt-border-radius);
}

.pt-hover-fade:hover .pt-portfolio-media img {
    transform: scale(1.1);
    -webkit-transform: scale(1.1);
}

.pt-hover-fade .pt-potfolio-content {
    opacity: 0;
    max-width: unset;
    position: absolute;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    bottom: 0;
    left: 0;
    right: 0;
    top: 0;
    padding: 30px;
    background: #063036;
    background: linear-gradient(0deg, rgba(6, 48, 54, 1) 20%, rgba(6, 48, 54, 0) 100%);
    will-change: opacity;
    border-radius: var(--pt-border-radius);
    transition: var(--transition);
}

.pt-hover-fade:hover .pt-potfolio-content {
    opacity: 1;
}

.pt-hover-fade .pt-potfolio-content .pt-portfolio-category {
    font-size: 18px;
    line-height: 26px;
    letter-spacing: 0.04em;
    font-weight: 400;
    text-transform: uppercase;
    font-family: var(--title-fonts);
    color: var(--white-color);
    margin-bottom: 5px;
}

.pt-hover-fade .pt-potfolio-content .pt-portfolio-category a {
    color: var(--primary-color);
}

.pt-hover-fade .pt-potfolio-content .pt-portfolio-title a {
    color: var(--white-color);
}

.pt-hover-fade .pt-potfolio-content .pt-button-rounded {
    position: absolute;
    top: 30px;
    right: 30px;
    z-index: 1;
    transition: var(--transition);
    transform: scale(0);
    -webkit-transform: scale(0);
    -moz-transform: scale(0);
    background-color: var(--primary-color);
}

.pt-hover-fade:hover .pt-potfolio-content .pt-button-rounded {
    transform: scale(1);
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
}

.pt-hover-fade .pt-potfolio-content .pt-button-rounded i {
    color: var(--dark-color);
}

.pt-hover-fade .pt-potfolio-content .pt-button-rounded i::before {
    line-height: inherit;
}

.pt-hover-fade:hover .pt-potfolio-content .pt-button-rounded i {
    color: var(--dark-color);
}

.pt-hover-fade .pt-post-link {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 9;
}

/*===== Portfolio Slide =====*/
.pt-hover-slide {
    position: relative;
    border-radius: var(--pt-border-radius);
    overflow: hidden;
}

.pt-hover-slide .pt-portfolio-img {
    overflow: hidden;
    position: relative;
    border-radius: var(--pt-border-radius);
}

.pt-hover-slide .pt-portfolio-img img {
    transition: var(--transition);
}

.pt-hover-slide:hover .pt-portfolio-img img {
    transform: scale(1.1);
    -webkit-transform: scale(1.1);
}

.pt-hover-slide .pt-potfolio-content {
    position: absolute;
    left: 30px;
    right: 30px;
    bottom: 30px;
    background: rgba(var(--primary-color-rgb), .7);
    backdrop-filter: blur(20px);
    padding: 30px;
    border-radius: var(--pt-border-radius);
    transition: var(--transition);
    transform: scale(0.9);
    -webkit-transform: scale(0.9);
    -moz-transform: scale(0.9);
    opacity: 0;
    z-index: 9;
    -webkit-box-shadow: 0px 0px 25px 0px rgba(4, 20, 36, 0.1);
    -moz-box-shadow: 0px 0px 25px 0px rgba(4, 20, 36, 0.1);
    box-shadow: 0px 0px 25px 0px rgba(4, 20, 36, 0.1);
}

.pt-hover-slide:hover .pt-potfolio-content {
    opacity: 1;
    transform: scale(1);
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
}

.pt-hover-slide .pt-potfolio-content .pt-portfolio-category a {

    text-transform: capitalize;
    color: var(--white-color);
    font-family: var(--title-fonts);
    display: inline-block;
    letter-spacing: 0.04em;
    margin-bottom: 5px;
    align-items: center;
    font-size: 16px;
    line-height: 1em;
}

.pt-potfolio-content .pt-portfolio-title {
    color: var(--white-color);
}

.pt-potfolio-content .pt-portfolio-title a:hover {
    color: var(--white-color);
}

.pt-potfolio-content .pt-button {
    margin-top: 15px;
}

@media(max-width:1199px) {
    .pt-hover-slide .pt-potfolio-content {
        left: 15px;
        right: 15px;
        bottom: 15px;
    }
}

@media(max-width:767px) {
    .pt-hover-slide .pt-potfolio-content {
        opacity: 1;
        transform: scale(1);
        -webkit-transform: scale(1);
        -moz-transform: scale(1);
    }

    .pt-hover-slide .pt-potfolio-content .pt-portfolio-title {
        font-size: 24px;
        line-height: 32px;
    }
}

/*===== Portfolio Load More Button =====*/
.pt-loadmore-button {
    margin: 10px 0 0 0;
    display: inline-block;
    width: 100%;
}

.pt-loadmore-button .pt-button.pt-button-flat {
    background-color: var(--dark-color);
    color: var(--white-color);
    transition: var(--transition);
}

.pt-loadmore-button .pt-button.pt-button-flat i {
    color: var(--white-color);
    transition: var(--transition);
    display: none;
}

.pt-loadmore-button .pt-button.pt-button-flat:hover {
    background-color: var(--primary-color);
    color: var(--white-color);
}


/*===== Portfolio End Message =====*/
.pt-end-meassge {
    color: var(--dark-color);
    text-align: center;
    background: var(--grey-color);
    padding: 10px;
    text-transform: uppercase;
    font-family: var(--title-fonts);
    font-size: 18px;
    line-height: 26px;
    letter-spacing: 0.04em;
    border-radius: var(--pt-border-radius);
    display: none;
}

.visible {
    display: block;
}

/*===== Portfolio Loader Icon =====*/
#pt-loaderIcon {
    display: none;
    text-align: center;
    margin: 20px auto;
}

.pt-dots {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 30px;
}

.pt-dot {
    width: 12px;
    height: 12px;
    background-color: #333;
    border-radius: 50%;
    animation: bounce 1.4s infinite ease-in-out both;
}

.pt-dot:nth-child(1) {
    animation-delay: -0.32s;
}

.pt-dot:nth-child(2) {
    animation-delay: -0.16s;
}

@keyframes bounce {

    0%,
    80%,
    100% {
        transform: scale(0);
    }

    40% {
        transform: scale(1);
    }
}

/*================================================
Image Marquee
================================================*/
.pt-marquee-container {
    overflow: hidden;
    display: flex;
    align-items: center;
}

.pt-marquee-track {
    display: flex;
    width: max-content;
    animation-name: pt-marquee-anim;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}

.pt-left-to-right .pt-marquee-track {
    animation-name: pt-marquee-anim-2;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}

.pt-marquee-sequence {
    display: flex;
}

.pt-marquee-item {
    white-space: nowrap;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 700;
    font-size: 222px;
    line-height: 1;
    color: var(--white-color);
    font-family: var(--title-fonts);
    text-transform: uppercase;
}

.pt-marquee-2 .pt-marquee-item {
    font-size: 160px;
}

/* Global Keyframes */
@keyframes pt-marquee-anim {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-50%);
    }
}

@keyframes pt-marquee-anim-2 {
    from {
        transform: translateX(-50%);
    }

    to {
        transform: translateX(0);
    }
}

/* Pause when hover (enabled via PHP) */
.pt-marquee-container.pause-on-hover:hover .pt-marquee-track {
    animation-play-state: paused;
}

@media(max-width:1099px) {
    .pt-marquee-item {
        font-size: 160px;
    }
}

@media(max-width:767px) {
    .pt-marquee-item {
        font-size: 120px;
    }
}

@media(max-width:397px) {
    .pt-marquee-item {
        font-size: 90px;
    }
}

/*================================================
   Yacht Tab Layout
================================================*/

/* <-------- tabs --------> */

.pt-yacht-layout .pt-yacht-tabs {
    display: flex;
    gap: 20px;
}

.pt-yacht-layout .pt-yacht-tabs .tab-btn {
    padding: 12px 34px;
    border-radius: var(--big-border-radius);
    border: 1px solid var(--secondary-color);
    background: transparent;
    font-size: 18px;
    font-weight: 700;
    transition: var(--transition);
    color: var(--secondary-color);
    font-family: var(--title-fonts);
}

.pt-yacht-layout .pt-yacht-tabs .tab-btn.active {
    background: var(--primary-color);
    color: var(--white-color);
    border-color: var(--primary-color);
}

/* <--------  Tab Panels --------> */

.pt-yacht-layout .pt-yacht-tab-panel {
    display: none;
}

.pt-yacht-layout .pt-yacht-tab-panel.active {
    display: block;
}


/* <--------   Content Layout --------> */

.pt-yacht-layout .pt-yacht-details .pt-yacht-content {
    position: relative;
    display: grid;
    grid-template-columns: 2fr 0.8fr;
    gap: 60px;
    align-items: center;
    padding: 110px 0;
}

/* <--------  Image --------> */

.pt-yacht-layout .pt-yacht-details .pt-yacht-content .pt-yacht-image {
    width: 100%;
}

.pt-yacht-layout .pt-yacht-details .pt-yacht-content .pt-yacht-image img {
    width: 100%;
    height: auto;
    display: block;
}

.pt-yacht-layout .pt-yacht-details .pt-yacht-content .pt-yacht-points ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.pt-yacht-layout .pt-yacht-details .pt-yacht-content .pt-yacht-points li {
    position: absolute;
    font-size: 16px;
    line-height: 24px;
    color: var(--dark-color);
    width: 35%;
}

/* <-------- tab-1 --------> */

.pt-yacht-layout .pt-yacht-details #pt-tab-6440b220-0 .pt-yacht-content .pt-yacht-points li:nth-child(1) {
    top: 15%;
    right: -80px;
}

.pt-yacht-layout .pt-yacht-details #pt-tab-6440b220-0 .pt-yacht-content .pt-yacht-points li:nth-child(2) {
    top: 45%;
    right: -67px;
}

.pt-yacht-layout .pt-yacht-details #pt-tab-6440b220-0 .pt-yacht-content .pt-yacht-points li:nth-child(3) {
    bottom: 13%;
    right: -1%;

}

.pt-yacht-layout .pt-yacht-details .pt-yacht-content .pt-yacht-points li svg {
    position: absolute;
}

.pt-yacht-layout .pt-yacht-details #pt-tab-6440b220-0 .pt-yacht-content .pt-yacht-points li:nth-child(1) svg {
    left: -111px;
    top: -8px;
    width: 94px;
    height: 100px;
}

.pt-yacht-layout .pt-yacht-details #pt-tab-6440b220-0 .pt-yacht-content .pt-yacht-points li:nth-child(2) svg {
    left: -61px;
    top: 10px;
}

.pt-yacht-layout .pt-yacht-details #pt-tab-6440b220-0 .pt-yacht-content .pt-yacht-points li:nth-child(3) svg {
    left: -44%;
    top: -44%;
}

/* <-------- tab-2 --------> */

.pt-yacht-layout .pt-yacht-details #pt-tab-6440b220-1 .pt-yacht-content .pt-yacht-points li:nth-child(1) {
    top: 19%;
}

.pt-yacht-layout .pt-yacht-details #pt-tab-6440b220-1 .pt-yacht-content .pt-yacht-points li:nth-child(2) {
    bottom: 13%;
    right: 0%;
}

.pt-yacht-layout .pt-yacht-details #pt-tab-6440b220-1 .pt-yacht-content .pt-yacht-points li:nth-child(1) svg {
    left: -94%;
    top: 20%;
}

.pt-yacht-layout .pt-yacht-details #pt-tab-6440b220-1 .pt-yacht-content .pt-yacht-points li:nth-child(2) svg {
    left: -98%;
    top: -39%;
}

/* <-------- tab-3 --------> */

/* TAB 2 & TAB 3 – First Point */
.pt-yacht-layout .pt-yacht-details #pt-tab-6440b220-2 .pt-yacht-content .pt-yacht-points li:nth-child(1),
.pt-yacht-layout .pt-yacht-details #pt-tab-6440b220-3 .pt-yacht-content .pt-yacht-points li:nth-child(1) {
    top: 21%;
}

/* TAB 2 & TAB 3 – Second Point */
.pt-yacht-layout .pt-yacht-details #pt-tab-6440b220-2 .pt-yacht-content .pt-yacht-points li:nth-child(2),
.pt-yacht-layout .pt-yacht-details #pt-tab-6440b220-3 .pt-yacht-content .pt-yacht-points li:nth-child(2) {
    bottom: 15%;
    right: -8%;
}

/* TAB 2 & TAB 3 – First SVG */
.pt-yacht-layout .pt-yacht-details #pt-tab-6440b220-2 .pt-yacht-content .pt-yacht-points li:nth-child(1) svg,
.pt-yacht-layout .pt-yacht-details #pt-tab-6440b220-3 .pt-yacht-content .pt-yacht-points li:nth-child(1) svg {
    position: absolute;
    left: -170%;
    top: 26%;
}

/* TAB 2 & TAB 3 – Second SVG */
.pt-yacht-layout .pt-yacht-details #pt-tab-6440b220-2 .pt-yacht-content .pt-yacht-points li:nth-child(2) svg,
.pt-yacht-layout .pt-yacht-details #pt-tab-6440b220-3 .pt-yacht-content .pt-yacht-points li:nth-child(2) svg {
    position: absolute;
    left: -189%;
    top: -76%;
}

/* <-------- Specs Section --------> */

.pt-yacht-layout .pt-yacht-details .pt-yacht-info h3 {
    font-size: 28px;
    line-height: 34px;
    margin-bottom: 20px;
}

.pt-yacht-layout .pt-yacht-details .pt-yacht-info .pt-yacht-info-list {
    display: grid;
    grid-template-columns: 0.7fr 1fr 1fr;
    list-style: none;
    padding: 0;
    margin: 0;
}

.pt-yacht-layout .pt-yacht-details .pt-yacht-info .pt-yacht-info-list li span {
    font-size: 18px;
    line-height: 26px;
    font-weight: 700;
    font-family: var(--title-fonts);
    color: var(--secondary-color);
}


/* <-------- Responsive --------> */


@media (max-width: 991px) {
    .pt-yacht-content {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .pt-yacht-info-list {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media(max-width:767px) {
    .pt-yacht-layout .pt-yacht-details .pt-yacht-content {
        grid-template-columns: 1fr;
        padding: 40px 0 0 0;
        gap: 30px;
        margin-bottom: 30px;
    }

    .pt-yacht-layout .pt-yacht-details .pt-yacht-content .pt-yacht-points li svg {
        display: none;
    }

    .pt-yacht-layout .pt-yacht-details .pt-yacht-content .pt-yacht-points li {
        position: relative !important;
        width: auto !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        margin-bottom: 15px;
    }

    .pt-yacht-layout .pt-yacht-details .pt-yacht-content .pt-yacht-points li:last-child {
        margin-bottom: 0;
    }

    .pt-yacht-layout .pt-yacht-details .pt-yacht-info .pt-yacht-info-list {
        grid-template-columns: 1fr;
        gap: 10px;
    }

}

@media (max-width: 575px) {
    .pt-yacht-tabs {
        flex-wrap: wrap;
        gap: 12px;
    }

    .pt-yacht-info-list {
        grid-template-columns: 1fr;
    }
}

/*================================================
service Box
================================================*/
.pt-cards-body .content-area .site-main,
.pt-cards-body .content-area .site-main .elementor-section.elementor-top-section.pt-cards-section {
    overflow: visible;
}

.pt-service-box.pt-cards .pt-service-box.pt-style-1 {
    position: sticky;
    top: 130px;
}

.pt-service-box.pt-style-1 .pt-service-details {
    background-color: var(--white-color);
    padding: 60px 45px;
    border-radius: var(--pt-border-radius);
    position: relative;
    overflow: hidden;
}

.pt-service-box.pt-style-1 .pt-service-details .pt-service-number {
    font-family: var(--title-fonts);
    font-size: 28px;
    line-height: 36px;
    font-weight: 700;
    color: var(--primary-color);
    margin-bottom: 20px;
    display: inline-block;
}

.pt-service-box.pt-style-1 .pt-service-details .pt-service-content .pt-service-title {
    line-height: 1.2;
    margin-bottom: 30px;
}

.pt-service-box.pt-style-1 .pt-service-details .pt-service-content ul {
    list-style: none;
    padding: 0;
    margin: 0;
    margin-bottom: 30px;
}

.pt-service-box.pt-style-1 .pt-service-details .pt-service-content ul li i {
    color: var(--primary-color);
    margin-right: 5px;
    display: inline-block;
    transform: rotate(-90deg);
}

.pt-service-box.pt-style-1 .pt-service-details .pt-service-content ul li {
    color: var(--dark-color);
    margin-bottom: 10px;
}

.pt-service-box.pt-style-1 .pt-service-details .pt-service-content ul li:last-child {
    margin-bottom: 0;
}

.pt-service-box.pt-style-1 .pt-service-details .pt-service-bg-img {
    position: absolute;
    top: 15%;
    right: -24%;
    animation: rotateBg 25s linear infinite;
    transform-origin: center center;
}

.pt-service-box-slider.pt-style-1 .owl-nav {
    margin: 30px 0 0 0;
}

.pt-service-box-slider.pt-style-1 .owl-carousel .owl-nav button.owl-prev,
.pt-service-box-slider.pt-style-1 .owl-carousel .owl-nav button.owl-next {
    background-color: var(--dark-color);
}

.pt-service-box-slider.pt-style-1 .owl-carousel .owl-nav button.owl-prev:hover,
.pt-service-box-slider.pt-style-1 .owl-carousel .owl-nav button.owl-next:hover {
    background-color: var(--primary-color);
}

/* Keyframes */
@keyframes rotateBg {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

@media(max-width:767px) {
    .pt-service-box.pt-style-1 .pt-service-details {
        padding: 30px 20px;
    }

    .pt-service-box.pt-style-1 .pt-service-details .pt-service-number {
        margin-bottom: 10px;
    }

    .pt-service-box.pt-style-1 .pt-service-details .pt-service-bg-img {
        right: -55%;
    }
}

/* <-------- Card hover movement control --------> */

.pt-service-box.pt-cards .pt-card {
    position: sticky;
    top: 130px;
    transition: transform 0.25s ease-out;
    will-change: transform;
    z-index: 1;
}

.pt-service-box.pt-cards .pt-card.pt-hover-active {
    z-index: 10;
}

.pt-service-box.pt-cards .pt-sticky-wrapper,
.pt-service-box.pt-cards .pt-service-bg-icon {
    transform: none !important;
}

/* <-------- Service  Slider service box 2 --------> */

.pt-service-slick-slider {
    display: grid;
    grid-template-columns: calc(450px) calc(100% - 450px);
    align-items: center;
}

.pt-service-slick-slider .pt-content-column {
    margin-left: 45px;
}

.pt-service-slick-slider .slick-slider-thumb .slick-track {
    width: 100% !important;
    transform: inherit !important;
}

.pt-service-slick-slider .slick-slide {
    margin: 0;
}

.pt-service-slick-slider .slick-slider-thumb .slick-track .slick-slide {
    width: 100% !important;
}

.pt-service-slick-slider .slick-slider-main .slick-arrow {
    display: none !important;
}

.pt-service-slick-slider .slick-slider-thumb .slick-track .slick-slide:last-child .pt-service-main.pt-style-2 {
    margin-bottom: 0;
}

.pt-service-main.pt-style-2 {
    display: flex;
    gap: 15px;
    align-items: center;
    padding: 25px 30px;
    margin-bottom: 30px;
    background-color: var(--grey-color);
    border-radius: var(--pt-border-radius);
    transition: var(--transition);
}

.slick-slide.slick-current .pt-service-main.pt-style-2 {
    background-color: var(--primary-color);
}

.pt-service-main.pt-style-2 .pt-service-box-number {
    font-size: 18px;
    color: var(--dark-color);
    line-height: 1;
}

.pt-service-main.pt-style-2 .pt-service-box-content {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 30px;
    align-items: center;
    width: 100%;
}

.pt-service-main.pt-style-2 .pt-service-box-title {
    font-size: clamp(1.25rem, 0.9rem + 0.8vw, 1.75rem);
    line-height: 1.35;
}

.pt-service-main.pt-style-2 .pt-service-box-content .pt-button.pt-button-rounded {
    width: 46px;
    height: 46px;
    line-height: 54px;
    font-size: 22px;
}

.slick-slide.slick-current .pt-service-main.pt-style-2 .pt-service-box-number,
.slick-slide.slick-current .pt-service-main.pt-style-2 .pt-service-box-title {
    color: var(--white-color);
}

.slick-slide .pt-button.pt-button-rounded {
    visibility: hidden;
    transform: scale(0);
    transition: var(--transition);
}

.slick-slide.slick-current .pt-button.pt-button-rounded {
    background-color: var(--white-color);
    color: var(--primary-color);
    transform: scale(1);
    visibility: visible;
}

.slick-slide.slick-current .pt-button.pt-button-rounded:hover {
    background-color: var(--dark-color);
    color: var(--white-color);
}

.pt-service-box.pt-style-2 {
    background: var(--grey-color);
    padding: 30px;
    border-radius: var(--pt-border-radius);
    display: grid;
    gap: 30px;
    grid-template-columns: 1fr 1.1fr;
    position: relative;
    transition: var(--transition);
}

.pt-service-box.pt-style-2 .pt-service-box-info .pt-service-icon {
    width: 76px;
    height: 76px;
    font-size: 44px;
    line-height: 78px;
    margin-bottom: 30px;
    text-align: center;
    background-color: var(--primary-color);
    color: var(--white-color);
    border-radius: var(--big-border-radius);
}

.pt-service-box.pt-style-2 .pt-service-box-info .pt-service-box-title {
    margin-bottom: 15px;
}

.pt-service-box.pt-style-2 .pt-service-box-info .pt-service-icon i::before {
    line-height: inherit;
}

.pt-service-box.pt-style-2 .pt-service-box-info .pt-service-description {
    margin-bottom: 30px;
    font-size: clamp(1rem, 0.95rem + 0.3vw, 1.125rem);
    line-height: 1.8;
}

.pt-service-box.pt-style-2 .pt-service-box-info .pt-service-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.pt-service-box.pt-style-2 .pt-service-box-info .pt-service-list .pt-service-item {
    display: inline-flex;
    align-items: baseline;
    font-size: 18px;
    line-height: 24px;
    padding: 5px 15px;
    color: var(--dark-color);
    background: var(--white-color);
    border-radius: var(--big-border-radius);
}

.pt-service-box.pt-style-2 .pt-service-box-info .pt-service-list .pt-service-item span {
    position: relative;
    padding-left: 20px;
}

.pt-service-box.pt-style-2 .pt-service-box-info .pt-service-list .pt-service-item span::before {
    content: "";
    position: absolute;
    width: 9px;
    height: 9px;
    background-color: var(--primary-color);
    border-radius: 100%;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

.pt-service-box.pt-style-2 .pt-service-box-info .pt-service-list .pt-service-item i {
    color: var(--primary-color);
}

.pt-service-box.pt-style-2 .pt-service-box-info .pt-service-list .pt-service-item i::before {
    line-height: inherit;
}

.pt-service-box.pt-style-2 .pt-service-box-media {
    position: relative;
    overflow: hidden;
    display: inline-block;
    border-radius: var(--pt-border-radius);
}

.pt-service-box.pt-style-2 .pt-service-box-media::after {
    content: "";
    position: absolute;
    top: 0;
    left: -150%;
    width: 60%;
    height: 100%;
    background: linear-gradient(120deg,
            rgba(255, 255, 255, 0) 20%,
            rgba(255, 255, 255, 0.3) 50%,
            rgba(255, 255, 255, 0) 80%);
    transform: skewX(-25deg);
    opacity: 0;
    pointer-events: none;
}

.pt-service-box.pt-style-2 .pt-service-box-media:hover::after {
    opacity: 1;
    animation: shineMove 0.7s linear;
}

@keyframes shineMove {
    from {
        left: -150%;
    }

    to {
        left: 150%;
    }
}

.pt-service-box.pt-style-2 .pt-service-box-media img {
    transform: scale(1);
    width: 100%;
    height: 100%;
    aspect-ratio: 1 / 1.1;
    object-fit: cover;
    border-radius: var(--pt-border-radius);
    transition: var(--transition);
}

.pt-service-box.pt-style-2 .pt-service-box-media:hover img {
    transform: scale(1.08);
}


@media(max-width:1365px) {
    .pt-service-slick-slider {
        grid-template-columns: calc(380px) calc(100% - 380px);
    }

    .pt-service-box.pt-style-2 {
        gap: 20px;
        grid-template-columns: 1.2fr 1fr;

    }
}

@media(max-width:1023px) {
    .pt-service-slick-slider {
        grid-template-columns: 100% 100%;
        gap: 30px;
    }

    .pt-service-slick-slider .pt-content-column {
        margin-left: 0;
        grid-row: 2;
    }

    .pt-service-box.pt-style-2 {
        grid-template-columns: 1fr 1fr;
    }
}


@media(max-width:767px) {

    .pt-service-box.pt-style-2 {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .pt-service-main.pt-style-2 .pt-button.pt-button-rounded {
        width: 42px;
        height: 42px;
        line-height: 42px;

    }
}

@media(max-width:576px) {
    .pt-service-main.pt-style-2 {
        display: flex;
        gap: 10px;
        padding: 20px;
    }

    .pt-service-main.pt-style-2 .pt-service-box-content {
        gap: 10px;
    }
}

@media(max-width:397px) {
    .pt-service-box.pt-style-2 {
        padding: 30px 20px 20px;
    }

    .pt-service-box.pt-style-2 .pt-service-box-info {
        gap: 20px;
    }
}

/* ============ service box style-3 ================ */

.pt-service-box-list.pt-style-3 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 30px;
}

.pt-service-box.pt-style-3 {
    position: relative;
    padding: 45px 30px;
    background-color: var(--grey-color);
    border-radius: var(--pt-border-radius);
    overflow: hidden;
    z-index: 2;
    transition: all 0.5s ease;
}

.pt-service-box.pt-style-3:hover {
    transform: translateY(-6px);
}

.pt-service-box.pt-style-3 .pt-service-box-info {
    position: relative;
    z-index: 2;
    transition: opacity 0.4s ease, visibility 0.4s ease;
}

.pt-service-box.pt-style-3.pt-active .pt-service-box-info {
    opacity: 0;
    visibility: hidden;
}

.pt-service-box.pt-style-3 .pt-service-box-info .pt-service-icon i {
    color: var(--primary-color);
    font-size: 62px;
    line-height: 70px;
}

.pt-service-box.pt-style-3 .pt-service-box-info .pt-service-box-title {
    margin-bottom: 5px;
    font-size: 28px;
    line-height: 36px;
}

.pt-service-box.pt-style-3 .pt-service-box-info .pt-service-list {
    list-style: none;
    padding: 0;
    margin: 0 0 30px;
}

.pt-service-box.pt-style-3 .pt-service-box-info .pt-service-list li {
    color: var(--dark-color);
    margin-bottom: 10px;
    display: flex;
    align-items: flex-start;
}

.pt-service-box.pt-style-3 .pt-service-box-info .pt-service-list li:last-child {
    margin-bottom: 0;
}

.pt-service-box.pt-style-3 .pt-service-box-info .pt-service-list li i {
    color: var(--primary-color);
    margin-right: 5px;
    transform: rotate(-90deg);
}

.pt-service-box.pt-style-3 .pt-service-box-media {
    position: absolute;
    inset: 0;
    z-index: 1;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.6s ease, visibility 0.6s ease;
}

.pt-service-box.pt-style-3 .pt-service-box-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--pt-border-radius);
}

.pt-service-box.pt-style-3.pt-active .pt-service-box-media {
    opacity: 1;
    visibility: visible;
    z-index: 3;
}

@media(max-width:1099px) {
    .pt-service-box-list.pt-style-3 {
        grid-template-columns: 1fr 1fr;
    }
}

@media(max-width:1023px) {
    .pt-service-box-list.pt-style-3 {
        grid-template-columns: 1fr;
    }
}

@media(max-width:767px) {
    .pt-service-box.pt-style-3 {
        padding: 30px 20px;
    }

    .pt-service-box.pt-style-3 .pt-service-box-info .pt-service-box-title {
        font-size: 24px;
        line-height: 32px;
    }
}

/*================================================
Pricing Plan
================================================*/

.pt-price-plan-slick-slider.pt-style-1 {
    --gap: 30px;
    display: grid;
    grid-template-columns: minmax(700px, 65%) minmax(30%, calc(100% - 550px - var(--gap)));
    gap: var(--gap);
}

.pt-price-plan-slick-slider.pt-style-1 .slick-slider-thumb .slick-track {
    width: 100% !important;
    transform: inherit !important;
}

.pt-price-plan-slick-slider.pt-style-1 .slick-slide {
    margin: 0;
}

.pt-price-plan-slick-slider.pt-style-1 .slick-slider-thumb .slick-track .slick-slide {
    width: 100% !important;
    flex: 1;
    transition: var(--transition);
    margin-top: 30px;
}

.pt-price-plan-slick-slider.pt-style-1 .slick-slider-thumb .slick-track .slick-slide:first-child {
    margin-top: 0;
}

.pt-price-plan-slick-slider.pt-style-1 .slick-slider-thumb .slick-track .slick-slide.slick-current {
    margin-top: 30px;
}

.pt-price-plan-slick-slider.pt-style-1 .slick-slider-thumb .slick-track .slick-slide.slick-current:first-child {
    margin-top: 0;
}

.pt-price-plan-slick-slider.pt-style-1 .slick-slider-thumb .slick-track .slick-slide:last-child {
    margin-bottom: 0;
}

.pt-price-plan-slick-slider.pt-style-1 .slick-slider-main .slick-arrow {
    display: none !important;
}

.pt-price-plan-slick-slider.pt-style-1 .pt-thumbs-column .pt-price-plan.pt-style-1 {
    background-color: var(--white-color);
    border-radius: var(--pt-border-radius);
    padding: 30px;
    transition: var(--transition);
}

.pt-price-2 .pt-price-plan-slick-slider.pt-style-1 .pt-thumbs-column .pt-price-plan.pt-style-1 {
    background-color: var(--grey-color);
}

.pt-price-plan-slick-slider.pt-style-1 .pt-thumbs-column .slick-current .pt-price-plan.pt-style-1 {
    background-color: var(--primary-color);
}

.pt-price-plan-slick-slider.pt-style-1 .pt-thumbs-column .pt-price-plan.pt-style-1 .pt-price-content {
    display: grid;
    grid-template-columns: auto 1fr auto;
    justify-content: space-between;
    gap: 30px;
}

.pt-price-plan-slick-slider.pt-style-1 .pt-thumbs-column .slick-current .pt-price-plan.pt-style-1 .pt-price-content .pt-price-number {
    color: var(--white-color);
}

.pt-price-plan-slick-slider.pt-style-1 .pt-thumbs-column .pt-price-plan.pt-style-1 .pt-price-content .pt-price-heading .pt-price-title {
    margin-bottom: 5px;
}

.pt-price-plan-slick-slider.pt-style-1 .pt-thumbs-column .slick-current .pt-price-plan.pt-style-1 .pt-price-content .pt-price-heading .pt-price-title {
    color: var(--white-color);
}

.pt-price-plan-slick-slider.pt-style-1 .pt-thumbs-column .pt-price-plan.pt-style-1 .pt-price-content .pt-price-heading .pt-price-description {
    margin: 0;
}

.pt-price-plan-slick-slider.pt-style-1 .pt-thumbs-column .slick-current .pt-price-plan.pt-style-1 .pt-price-content .pt-price-heading .pt-price-description {
    color: var(--white-color);
}

.pt-price-plan-slick-slider.pt-style-1 .pt-thumbs-column .pt-price-plan.pt-style-1 .pt-price-content .pt-price-row {
    display: flex;
    align-items: center;
}

.pt-price-plan-slick-slider.pt-style-1 .pt-thumbs-column .pt-price-plan.pt-style-1 .pt-price-content .pt-price-row .pt-price-period {
    font-size: 22px;
    line-height: 30px;
    margin-left: 10px;
}

.pt-price-plan-slick-slider.pt-style-1 .pt-thumbs-column .slick-current .pt-price-plan.pt-style-1 .pt-price-content .pt-price-row .pt-price-period {
    color: var(--white-color);
}

.pt-price-plan-slick-slider.pt-style-1 .pt-thumbs-column .pt-price-plan.pt-style-1 .pt-price-content .pt-price-row .pt-price-amount {
    font-size: 52px;
    line-height: 60px;
    font-weight: 700;
    font-family: var(--title-fonts);
    color: var(--dark-color);
}

.pt-price-plan-slick-slider.pt-style-1 .pt-thumbs-column .slick-current .pt-price-plan.pt-style-1 .pt-price-content .pt-price-row .pt-price-amount {
    color: var(--white-color);
}

.pt-price-plan-slick-slider.pt-style-1 .pt-content-column .pt-price-plan.pt-style-1 {
    background-color: var(--white-color);
    padding: 45px 30px;
    border-radius: var(--pt-border-radius);
}

.pt-price-2 .pt-price-plan-slick-slider.pt-style-1 .pt-content-column .pt-price-plan.pt-style-1 {
    background-color: var(--grey-color);
}

.pt-price-plan-slick-slider.pt-style-1 .pt-content-column .pt-price-plan.pt-style-1 .pt-price-details {
    position: relative;
}

.pt-price-plan-slick-slider.pt-style-1 .pt-content-column .pt-price-plan.pt-style-1 .pt-price-details .pt-price-title {
    font-size: 42px;
    line-height: 50px;
    margin-bottom: 15px;
}

.pt-price-plan-slick-slider.pt-style-1 .pt-content-column .pt-price-plan.pt-style-1 .pt-price-details .pt-price-description {
    margin-bottom: 30px;
}

.pt-price-plan-slick-slider.pt-style-1 .pt-content-column .pt-price-plan.pt-style-1 .pt-price-details .pt-price-features {
    padding: 0;
    margin: 0;
    margin-bottom: 30px;
}

.pt-price-plan-slick-slider.pt-style-1 .pt-content-column .pt-price-plan.pt-style-1 .pt-price-details .pt-price-features li {
    list-style: none;
    margin-bottom: 20px;
    display: flex;
    align-items: center;
    gap: 10px;
}

.pt-price-plan-slick-slider.pt-style-1 .pt-content-column .pt-price-plan.pt-style-1 .pt-price-details .pt-price-features li svg {
    height: 18px;
}

.pt-price-plan-slick-slider.pt-style-1 .pt-content-column .pt-price-plan.pt-style-1 .pt-price-details .pt-price-features li span {
    font-size: 20px;
    line-height: 28px;
}

.pt-price-plan-slick-slider.pt-style-1 .pt-content-column .pt-price-plan.pt-style-1 .pt-price-details .pt-price-image {
    position: absolute;
    bottom: -8%;
    right: 0;
}

@media (max-width: 1199px) {

    .pt-price-plan-slick-slider.pt-style-1 {
        grid-template-columns: minmax(0, 1fr);
        gap: 30px;
    }
}

@media(max-width:1023px) {

    .pt-price-plan-slick-slider.pt-style-1 .pt-thumbs-column .pt-price-plan.pt-style-1 .pt-price-content .pt-price-row .pt-price-amount {
        font-size: 42px;
        line-height: 50px;
    }
}

@media(max-width:767px) {
    .pt-price-plan-slick-slider.pt-style-1 .pt-thumbs-column .pt-price-plan.pt-style-1 .pt-price-content {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .pt-price-plan-slick-slider.pt-style-1 .pt-thumbs-column .pt-price-plan.pt-style-1 {
        padding: 30px 20px;
    }

    .pt-price-plan-slick-slider.pt-style-1 .pt-content-column .pt-price-plan.pt-style-1 {
        padding: 30px 20px;
    }

    .pt-price-plan-slick-slider.pt-style-1 .pt-content-column .pt-price-plan.pt-style-1 .pt-price-details .pt-price-features li span {
        font-size: 18px;
        line-height: 26px;
    }
}

/*================================================
Team Box 
================================================*/

.pt-team-box.pt-style-1 {
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    padding: 10px;
    background-color: var(--grey-color);
    border-radius: var(--pt-border-radius);
    gap: 30px;
}

/* Make container relative */
.pt-team-box.pt-style-1 .pt-team-box-media {
    position: relative;
    overflow: hidden;
    border-radius: var(--pt-border-radius);
}

/* Image style */
.pt-team-box.pt-style-1 .pt-team-box-media img {
    width: 100%;
    display: block;
    border-radius: var(--pt-border-radius);
    transform: scale(1);
    transition: var(--transition);
}

.pt-team-box.pt-style-1:hover .pt-team-box-media img {
    transform: scale(1.1);
}

/* Shine effect */
.pt-team-box.pt-style-1 .pt-team-box-media::after {
    content: "";
    position: absolute;
    top: 0;
    left: -150%;
    width: 60%;
    height: 100%;
    background: linear-gradient(120deg,
            rgba(255, 255, 255, 0) 20%,
            rgba(255, 255, 255, 0.4) 50%,
            rgba(255, 255, 255, 0) 80%);
    transform: skewX(-25deg);
    opacity: 0;
    pointer-events: none;
}

/* Hover trigger */
.pt-team-box.pt-style-1:hover .pt-team-box-media::after {
    opacity: 1;
    animation: shineMove 0.8s linear;
}

/* Animation */
@keyframes shineMove {
    from {
        left: -150%;
    }

    to {
        left: 150%;
    }
}

.pt-team-box.pt-style-1 .pt-team-info {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 20px 0;
}

.pt-team-box.pt-style-1 .pt-team-info .pt-team-social {
    padding: 0;
    margin: 0;
    list-style: none;
    display: flex;
    gap: 10px;
}

.pt-team-box.pt-style-1 .pt-team-info .pt-team-social a {
    background: var(--white-color);
    color: var(--primary-color);
    width: 42px;
    height: 42px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: var(--big-border-radius);
    font-size: 18px;
    transition: all 0.4s ease;
}

/* Hover Effect */
.pt-team-box.pt-style-1 .pt-team-info .pt-team-social a:hover {
    background: var(--primary-color);
    color: var(--white-color);
    transform: translateY(-6px);
    /* Move UP */
}

@media(max-width:397px) {
    .pt-team-box.pt-style-1 {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .pt-team-box.pt-style-1 .pt-team-info {
        padding: 0;
        gap: 15px;
    }
}

/*================================================
Video Popup
================================================*/
.pt-popup-video-block.pt-popup-style-1 .pt-video-icon a {
    margin: auto;
    text-decoration: none;
    color: var(--dark-color);
    font-size: 16px;
    width: 50px;
    height: 50px;
    line-height: 50px;
    border: 1px solid var(--dark-color);
    text-align: center;
    display: inline-block;
    background-color: transparent;
    border-radius: 100%;
    transition: 0.5s ease-in-out;
}

.pt-video-2 .pt-popup-video-block.pt-popup-style-1 .pt-video-icon a {
    border: 1px solid var(--primary-color);
    color: var(--primary-color);
}


.pt-popup-video-block.pt-popup-style-1 {
    position: relative;
    text-align: center;
}

.pt-popup-video-block.pt-popup-style-1 .pt-video-icon {
    display: inline-block;
    position: relative;
}

.mfp-wrap .mfp-close {
    padding: 0;
    top: -50px;
    right: 0;
    font-size: 20px;
    opacity: 1;
    height: 50px;
    width: 50px;
    line-height: 50px;
    text-align: center;
    color: var(--white-color);
    background-color: var(--primary-color);
    position: absolute;
    letter-spacing: 0;
    font-weight: 400;
}

.mfp-wrap .mfp-close:hover {
    background: var(--primary-color);
}

.mfp-wrap .mfp-close:focus {
    outline: none;
}

/*================================================
Journey
================================================*/

.pt-journey-wrapper.pt-style-1 {
    display: flex;
    gap: 30px;
    width: 100%;
}

.pt-journey-wrapper.pt-style-1 .pt-journey-map-area {
    position: relative;
    width: 73%;
    aspect-ratio: 16 / 9;
    overflow: hidden;
}

.pt-journey-wrapper.pt-style-1 .pt-journey-map-area .pt-journey-map-img {
    width: 100%;
    height: 67%;
    object-fit: cover;
    display: block;
    opacity: 1;
    position: absolute;
    top: 21%;
}

.pt-journey-wrapper.pt-style-1 .pt-journey-map-area .pt-journey-route-svg {
    position: absolute;
    inset: 0;
    width: 125%;
    height: 129%;
    pointer-events: none;
}

.pt-journey-wrapper.pt-style-1 .pt-journey-map-area .pt-journey-route {
    fill: none;
    stroke: #D9D9D9;
    stroke-width: 2;
    stroke-dasharray: 6 8;
}

.pt-journey-wrapper.pt-style-1 .pt-journey-map-area .pt-journey-point {
    fill: var(--primary-color);
    opacity: 0.6;
    transition: 0.3s ease;
}

.pt-journey-wrapper.pt-style-1 .pt-journey-map-area .pt-journey-point.active {
    opacity: 0;
}

.pt-journey-wrapper.pt-style-1 .pt-journey-map-area .pt-journey-boat {
    pointer-events: none;
}

.pt-journey-boat-icon {
    width: 40px;
    height: 40px;
    font-size: 28px;
    color: var(--primary-color);
    display: flex;
    align-items: center;
    justify-content: center;
}

.pt-journey-wrapper.pt-style-1 .pt-journey-map-area .pt-journey-start-img,
.pt-journey-wrapper.pt-style-1 .pt-journey-map-area .pt-journey-end-img {
    position: absolute;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    overflow: hidden;
    border: 3px solid var(--white-color);
    box-shadow: 0 6px 15px rgba(0, 0, 0, 0.2);
}

.pt-journey-wrapper.pt-style-1 .pt-journey-map-area .pt-journey-start-img {
    left: 12%;
    top: 70%;
}

.pt-journey-wrapper.pt-style-1 .pt-journey-map-area .pt-journey-end-img {
    right: 10%;
    top: 60%;
}

.pt-journey-wrapper.pt-style-1 .pt-journey-map-area .pt-journey-start-img img,
.pt-journey-wrapper.pt-style-1 .pt-journey-map-area .pt-journey-end-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.pt-journey-wrapper.pt-style-1 .pt-journey-timeline-area {
    width: 35%;
}

.pt-journey-wrapper.pt-style-1 .pt-journey-timeline-area .pt-journey-head {
    display: flex;
    gap: 60px;
    margin-bottom: 30px;
}

.pt-journey-wrapper.pt-style-1 .pt-journey-timeline-area .pt-journey-head span {
    font-family: var(--title-fonts);
    font-weight: 700;
    color: var(--dark-color);
    font-size: 32px;
    line-height: 40px;
}

.pt-journey-wrapper.pt-style-1 .pt-journey-timeline-area .pt-journey-timeline {
    position: relative;
}


.pt-journey-wrapper.pt-style-1 .pt-journey-timeline-area .pt-journey-item {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 32px;
    cursor: pointer;
    opacity: 0.35;
    transition: 0.3s ease;
}

.pt-journey-wrapper.pt-style-1 .pt-journey-timeline-area .pt-journey-item.active {
    opacity: 1;
}

.pt-journey-wrapper.pt-style-1 .pt-journey-timeline-area .pt-journey-day {
    width: 40px;
    text-align: center;
    font-weight: 700;
    color: var(--dark-color);
    font-size: 24px;
    line-height: 32px;
    font-family: var(--title-fonts);
}

.pt-journey-wrapper.pt-style-1 .pt-journey-timeline-area .pt-journey-port {
    display: flex;
    gap: 15px;
}

.pt-journey-wrapper.pt-style-1 .pt-journey-timeline-area .pt-journey-icon {
    color: var(--primary-color);
    font-size: 18px;
    margin-top: 4px;
}

.pt-journey-wrapper.pt-style-1 .pt-journey-timeline-area .pt-journey-content h5 {
    margin: 0;
    font-size: 24px;
    line-height: 32px;
}

.pt-journey-wrapper.pt-style-1 .pt-journey-timeline-area .pt-journey-content p {
    margin: 5px 0 0;
    font-size: 18px;
    color: var(--secondary-color);
}

.pt-journey-wrapper.pt-style-1 .pt-journey-timeline-area .pt-journey-item {
    position: relative;
    display: flex;
    gap: 70px;
    margin-bottom: 60px;
    opacity: 0.4;
    cursor: pointer;
    transition: 0.3s ease;
}

.pt-journey-wrapper.pt-style-1 .pt-journey-timeline-area .pt-journey-item.active {
    opacity: 1;
}

.pt-journey-wrapper.pt-style-1 .pt-journey-timeline-area .pt-journey-icon {
    position: relative;
    width: 26px;
    min-width: 26px;
    color: var(--primary-color);
    font-size: 18px;
    margin: 0;
}

.pt-journey-wrapper.pt-style-1 .pt-journey-timeline-area .pt-journey-icon::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 34px;
    width: 2px;
    height: calc(100% + 18px);
    transform: translateX(-50%);
    background: repeating-linear-gradient(to bottom,
            #ccc,
            #ccc 6px,
            transparent 6px,
            transparent 12px);
}

.pt-journey-wrapper.pt-style-1 .pt-journey-timeline-area .pt-journey-item:last-child .pt-journey-icon::after {
    display: none;
}

.pt-journey-wrapper.pt-style-1 .pt-journey-timeline-area .pt-journey-item.active .pt-journey-icon::after {
    background: repeating-linear-gradient(to bottom,
            var(--primary-color),
            var(--primary-color) 6px,
            transparent 6px,
            transparent 12px);
}

/* ---------- LARGE TABLET (≤1199px) ---------- */
@media (max-width: 1099px) {

    .pt-journey-wrapper.pt-style-1 {
        gap: 20px;
    }

    .pt-journey-wrapper.pt-style-1 .pt-journey-map-area {
        width: 60%;
    }

    .pt-journey-wrapper.pt-style-1 .pt-journey-timeline-area {
        width: 40%;
    }

    .pt-journey-wrapper.pt-style-1 .pt-journey-timeline-area .pt-journey-head span {
        font-size: 26px;
        line-height: 34px;
    }

    .pt-journey-wrapper.pt-style-1 .pt-journey-timeline-area .pt-journey-content h5 {
        font-size: 22px;
        line-height: 30px;
    }

}

/* ---------- TABLET (≤991px) ---------- */
@media (max-width: 979px) {

    .pt-journey-wrapper.pt-style-1 {
        flex-direction: column;
        gap: 50px;
    }

    .pt-journey-wrapper.pt-style-1 .pt-journey-map-area,
    .pt-journey-wrapper.pt-style-1 .pt-journey-timeline-area {
        width: 100%;
    }

    .pt-journey-wrapper.pt-style-1 .pt-journey-map-area {
        aspect-ratio: 16 / 10;
    }

    .pt-journey-wrapper.pt-style-1 .pt-journey-map-area .pt-journey-map-img {
        position: relative;
        height: auto;
        top: auto;
    }

    .pt-journey-wrapper.pt-style-1 .pt-journey-route-svg {
        width: 100%;
        height: 100%;
    }

    .pt-journey-wrapper.pt-style-1 .pt-journey-map-area .pt-journey-start-img {
        left: 8%;
        bottom: 18%;
        top: auto;
    }

    .pt-journey-wrapper.pt-style-1 .pt-journey-map-area .pt-journey-end-img {
        right: 6%;
        top: 32%;
    }

    .pt-journey-wrapper.pt-style-1 .pt-journey-timeline-area .pt-journey-head {
        gap: 30px;
        margin-bottom: 20px;
    }
}

/* ---------- MOBILE (≤767px) ---------- */
@media (max-width: 767px) {

    .pt-journey-wrapper.pt-style-1 {
        gap: 40px;
    }

    .pt-journey-wrapper.pt-style-1 .pt-journey-map-area {
        aspect-ratio: 4 / 3;
    }

    .pt-journey-wrapper.pt-style-1 .pt-journey-map-area .pt-journey-start-img,
    .pt-journey-wrapper.pt-style-1 .pt-journey-map-area .pt-journey-end-img {
        width: 48px;
        height: 48px;
    }

    .pt-journey-wrapper.pt-style-1 .pt-journey-timeline-area .pt-journey-head span {
        font-size: 22px;
        line-height: 30px;
    }

    .pt-journey-wrapper.pt-style-1 .pt-journey-timeline-area .pt-journey-item {
        gap: 40px;
        margin-bottom: 40px;
    }

    .pt-journey-wrapper.pt-style-1 .pt-journey-timeline-area .pt-journey-day {
        width: 30px;
        font-size: 22px;
    }
}

/* ---------- SMALL MOBILE (≤575px) ---------- */
@media (max-width: 479px) {

    .pt-journey-wrapper.pt-style-1 .pt-journey-map-area {
        aspect-ratio: 1 / 1;
    }

    .pt-journey-wrapper.pt-style-1 .pt-journey-timeline-area .pt-journey-item {
        gap: 30px;
    }

    .pt-journey-wrapper.pt-style-1 .pt-journey-timeline-area .pt-journey-icon {
        font-size: 16px;
    }

    .pt-journey-wrapper.pt-style-1 .pt-journey-timeline-area .pt-journey-icon::after {
        top: 35px;
        height: calc(100% + -1px);
    }
}


/*================================================
Woocommerce Button
================================================*/

/*+++++ Cart Block +++++*/
.admin-bar .offcanvas-end {
    top: 47px;
}

.pt-cart-button .offcanvas {
    padding: 75px 30px 45px;
    height: calc(100% - 0);
    top: 0;
    right: 0;
}

.admin-bar .pt-cart-button .offcanvas {
    height: calc(100% - 62px);
    top: 47px;
    border-radius: var(--pt-border-radius);
}

.pt-cart-button .widget_shopping_cart_content {
    height: calc(100vh - 360px);
}

.admin-bar .pt-cart-button .widget_shopping_cart_content {
    height: calc(100vh - 410px);
}

.pt-cart-button .widget_shopping_cart_content .product_list_widget {
    height: 100%;
    overflow: auto;
    margin: 0;
    padding: 0 15px 0 0;
}

.pt-cart-button .widget_shopping_cart_content .product_list_widget::-webkit-scrollbar {
    width: 8px;
    border-radius: 8px;
}

.pt-cart-button .widget_shopping_cart_content .product_list_widget::-webkit-scrollbar-track {
    background-color: var(--grey-color);
    border-radius: 8px
}

.pt-cart-button .widget_shopping_cart_content .product_list_widget::-webkit-scrollbar-thumb {
    background-color: var(--primary-color);
    border-radius: 8px
}

.pt-cart-button .offcanvas .pt-cart-header h3.modal-title {
    font-size: 24px;
    line-height: 32px;
    margin-bottom: 30px;
    font-family: var(--title-fonts);
}

.pt-cart-button ul.product_list_widget li.mini_cart_item {
    font-size: 16px;
    margin: 0 0 30px;
    padding: 0;
    list-style: none;
    display: inline-block;
    width: 100%;
    position: relative;
}

.pt-cart-button ul.cart_list li img,
ul.product_list_widget li img {
    width: 80px;
    float: left;
    margin-left: 0;
    margin-right: 15px;
    -webkit-border-radius: var(--pt-border-radius);
    -moz-border-radius: var(--pt-border-radius);
    border-radius: var(--pt-border-radius);
}

.pt-cart-button ul.cart_list li a {
    display: block;
    color: var(--dark-color);
    text-decoration: none;
    font-weight: 400;
    font-family: var(--title-fonts);
    padding-right: 30px;
    line-height: normal;
    text-transform: capitalize;
    font-size: 18px;
    line-height: 26px;
}

.pt-cart-button ul.product_list_widget a.remove {
    float: right;
    right: 8px;
    top: 0;
    left: inherit;
    font-size: 28px;
    font-weight: 400;
    position: absolute;
    padding: 0;
    line-height: 1;
    height: 1em;
    width: 1em;
    color: var(--dark-color);
    text-align: center;
    background: transparent;
    font-family: var(--body-fonts);
    margin: 0;
}

.pt-cart-button ul.product_list_widget a.remove:hover {
    color: var(--primary-color) !important;
}

.pt-cart-button .woocommerce-mini-cart__total.total {
    margin-bottom: 20px;
    margin-top: 20px;
    font-family: var(--title-fonts);
    font-size: 20px;
    line-height: 28px;
    text-transform: capitalize;
    letter-spacing: 1px;
    font-weight: 700;
    color: var(--dark-color);
}

.pt-cart-button .woocommerce-mini-cart__total.total .woocommerce-Price-amount.amount {
    float: right;
    color: var(--dark-color);
    font-weight: 700;
    font-family: var(--body-fonts);
}

.pt-cart-button .woocommerce-mini-cart__buttons .button {
    display: block;
    text-align: center;
    margin-bottom: 10px;
    background: var(--primary-color);
    color: var(--white-color);
    border-radius: 0;
    font-weight: 400;
    padding: 12px 30px;
    height: auto;
    font-size: 16px;
    line-height: 2;
    text-transform: uppercase;
    letter-spacing: 1px;
    border-radius: 900px;
}

.pt-cart-button .woocommerce-mini-cart__buttons .button:hover {
    background: var(--dark-color);
}

.pt-cart-button .woocommerce-mini-cart__buttons .button.checkout {
    margin-bottom: 0;
    background: none;
    border: 1px solid var(--dark-color);
    color: var(--dark-color);
}

.pt-cart-button .woocommerce-mini-cart__buttons .button.checkout:hover {
    background: var(--dark-color);
    border-color: var(--dark-color);
    color: var(--white-color);
}

.pt-cart-button p {
    margin-bottom: 0;
}

.pt-cart-button .btn-close {
    position: absolute;
    right: 30px;
    top: 30px;
    background: var(--primary-color);
    width: 50px;
    height: 50px;
    line-height: 56px;
    text-align: center;
    color: var(--white-color);
    font-size: 20px;
    -webkit-border-radius: 900px;
    -moz-border-radius: 900px;
    border-radius: 900px;
    padding: 0;
    opacity: 1;
}

.pt-cart-button .btn-close:hover {
    background: var(--dark-color);
}

.pt-sidebar .pt-close-btn i {
    line-height: inherit;
}

.widget_shopping_cart_content .woocommerce-mini-cart .woocommerce-mini-cart-item dl.variation {
    display: none;
}

.woocommerce-checkout td.product-name dl.variation {
    display: none;
}

/*================================================
Blog Post
================================================*/

.single-post .pt-blog-post,
.pt-blog .owl-carousel .pt-blog-post {
    margin-bottom: 0;
}

.pt-blog-post {
    display: inline-block;
    width: 100%;
    overflow: hidden;
    float: left;
}

/*===== Blog Image =====*/
.pt-blog-post .pt-post-media {
    margin-bottom: 20px;
    overflow: hidden;
    position: relative;
    border-radius: var(--pt-border-radius);
}

.pt-blog-post .pt-post-media img {
    transition: var(--transition);
    -webkit-transition: var(--transition);
    width: 100%;
}

.pt-blog-post:hover .pt-post-media img {
    transform: scale(1.1);
    -webkit-transform: scale(1.1);
}

.pt-blog-post .pt-post-media .pt-post-date a {
    position: absolute;
    left: 15px;
    bottom: 15px;
    background: var(--primary-color);
    padding: 8px 12px;
    border-radius: var(--small-border-radius);
    color: var(--white-color);
    font-size: 18px;
    line-height: 1em;
    letter-spacing: 0.04em;
    border-radius: var(--small-border-radius);
    text-transform: uppercase;
    font-family: var(--title-fonts);
}

/*===== Blog Meta =====*/
.pt-blog-post .pt-post-meta {
    margin-bottom: 8px;
}

.pt-blog-post .pt-post-meta ul {
    padding: 0;
    margin: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}

.pt-blog-post .pt-post-meta ul li {
    display: inline-block;
    text-align: center;
}

.pt-blog-post .pt-post-meta ul li a {
    color: var(--primary-color);
}

.pt-blog-post .pt-post-meta ul li a:hover {
    text-decoration: underline !important;
}

.pt-blog-post .pt-post-meta ul li:last-child {
    margin-right: 0;
}

.pt-blog-post .pt-blog-contain .pt-post-meta .pt-post-date a {
    color: var(--secondary-color);
    transition: var(--transition);
}

.pt-blog-post .pt-blog-contain .pt-post-meta .pt-post-date:hover {
    color: var(--primary-color);
}

/*===== Blog contain =====*/
.pt-blog-post .pt-blog-contain .pt-blog-title {
    margin-bottom: 10px;
    line-height: 1.2;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.pt-blog-post .pt-blog-contain .pt-btn-container {
    margin-top: 15px;
}

/*===== Blog 1 Column =====*/
.pt-blog.pt-blog-col-1 {
    display: grid;
    grid-template-columns: 1fr;
    gap: 45px 30px;
}

.pt-blog.pt-blog-col-1 .pt-blog-post {
    margin-bottom: 0;
}

/*===== Blog 2 Column =====*/
.pt-blog.pt-blog-col-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 45px 30px;
}

.pt-blog.pt-blog-col-2 .pt-blog-post {
    margin-bottom: 0;
}

@media(max-width:767px) {
    .pt-blog.pt-blog-col-2 {
        grid-template-columns: 1fr;
    }
}

/*===== Blog 3 Column =====*/
.pt-blog.pt-blog-col-3 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 45px 30px;
    row-gap: 0;
}

.pt-blog.pt-blog-col-3 .pt-blog-post .pt-blog-contain {
    margin-bottom: 0;
}

@media(max-width:1023px) {
    .pt-blog.pt-blog-col-3 {
        grid-template-columns: 1fr 1fr;
    }
}

@media(max-width:767px) {
    .pt-blog.pt-blog-col-3 {
        grid-template-columns: 1fr;
    }
}

/*===== Blog-list =====*/
.pt-blog-post.pt-list {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 2fr;
    align-items: center;
    padding: 30px;
    -webkit-border-radius: var(--pt-border-radius);
    -moz-border-radius: var(--pt-border-radius);
    border-radius: var(--pt-border-radius);
    gap: 30px;
    background-color: var(--grey-color);
    border: 1px solid transparent;
    transition: var(--transition);
    margin-bottom: 30px;
}

.pt-blog-post.pt-list:last-child {
    margin-bottom: 0;
}

.pt-blog-post.pt-list .pt-post-media img {
    height: 150px;
    object-fit: cover;
}

.pt-blog-post.pt-list .pt-post-media {
    border-radius: var(--pt-border-radius);
}

.pt-blog-post.pt-list .pt-blog-contain {
    padding: 0;
    background-color: none;
    margin-bottom: 0;
}

.pt-blog-post.pt-list .pt-blog-contain .pt-blog-title {
    font-size: 24px;
    line-height: 32px;
    transition: var(--transition);
}

.pt-blog-post.pt-list.pt-active .pt-blog-contain .pt-blog-title {
    color: var(--primary-color);
}

.pt-blog-post.pt-list .pt-btn-container {
    margin-top: 0;
}

.pt-blog-post.pt-list .pt-button {
    position: absolute;
    top: 20px;
    right: 30px;
    transition: var(--transition);
}

.pt-blog-post.pt-list.pt-active .pt-button {
    transform: rotate(-32deg);
    background: var(--primary-color);
}

@media(max-width:1279px) {
    .pt-blog-post.pt-list .pt-button {
        position: relative;
        top: inherit;
        right: inherit;
    }
}

@media(max-width:1023px) {
    .pt-blog-post.pt-list .pt-button {
        position: absolute;
        top: 20px;
        right: 30px;
    }

    .pt-blog .owl-carousel .owl-dots {
        display: none;
    }
}

@media(max-width:767px) {
    .pt-blog-post.pt-list .pt-button {
        position: relative;
        top: inherit;
        right: inherit;
        margin-top: 20px;
    }
}

@media(max-width:575px) {
    .pt-blog-post.pt-list {
        display: block;
        padding: 0;
    }

    .pt-blog-post.pt-list .pt-post-media img {
        height: 100%;
    }

    .pt-blog-post.pt-list .pt-blog-contain {
        padding: 15px;
    }
}

/*===== single project css =====*/
.single-post .pt-blog-post {
    margin-bottom: 0;
}

.pt-single-post-bottom-holder {
    margin: 45px 0;
    padding: 15px 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    align-content: center;
    border-bottom: 1px solid rgba(var(--dark-color-rgb), .2);
    border-top: 1px solid rgba(var(--dark-color-rgb), .2);
}

.pt-single-post-bottom-holder .pt-single-post-tags {
    display: flex;
    align-items: center;
}

.pt-single-post-bottom-holder .pt-single-post-tags-title {
    font-family: var(--title-fonts);
    color: var(--dark-color);
    text-transform: uppercase;
    font-weight: 400;
    display: inline-block;
}

.pt-single-post-bottom-holder ul.pt-single-post-tags-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: inline-block;
}

.pt-single-post-bottom-holder ul.pt-single-post-tags-list li {
    margin: 0 0 0 8px;
    padding: 0;
    list-style: none;
    display: inline-block;
    vertical-align: middle;
}

.pt-single-post-bottom-holder ul.pt-single-post-tags-list li a {
    font-size: 16px;
    line-height: 24px;
    font-family: var(--title-fonts);
    text-transform: uppercase;
    background: var(--grey-color);
    margin: 0;
    display: inline-block;
    float: left;
    color: var(--dark-color);
    padding: 4px 16px;
    letter-spacing: 0.04em;
    border: 1px solid var(--grey-color);
    transition: all 0.5s ease-in-out;
    -webkit-transition: all 0.5s ease-in-out;
    -o-transition: all 0.5s ease-in-out;
    -moz-transition: all 0.5s ease-in-out;
    -ms-transition: all 0.5s ease-in-out;
    -webkit-border-radius: var(--big-border-radius);
    -moz-border-radius: var(--big-border-radius);
    border-radius: var(--big-border-radius);
}

.pt-single-post-bottom-holder ul.pt-single-post-tags-list li a:hover {
    border-color: var(--primary-color);
    background: var(--primary-color);
    color: var(--white-color);
}

/*===== Blog Single Post - Social Media =====*/

.pt-single-post-bottom-holder .pt-single-post-social-title {
    font-family: var(--title-fonts);
    color: var(--dark-color);
    text-transform: uppercase;
    font-weight: 400;
    display: inline-block;
}

.pt-single-post-bottom-holder ul.pt-single-post-shortcode-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: inline-flex;
}

.pt-single-post-bottom-holder ul.pt-single-post-shortcode-list li {
    margin: 0 0 0 8px;
    padding: 0;
    list-style: none;
}

.pt-single-post-bottom-holder ul.pt-single-post-shortcode-list li a {
    width: 50px;
    height: 50px;
    background: var(--grey-color);
    color: var(--dark-color);
    display: inline-block;
    text-align: center;
    line-height: 50px;
    -webkit-border-radius: var(--big-border-radius);
    -moz-border-radius: var(--big-border-radius);
    border-radius: var(--big-border-radius);
}

.pt-single-post-bottom-holder ul.pt-single-post-shortcode-list li a:hover {
    background: var(--primary-color);
    color: var(--white-color);
}

.pt-single-post-usernav .pt-user {
    background: var(--grey-color);
    padding: 30px;
    display: flex;
    align-items: flex-start;

    -webkit-border-radius: var(--pt-border-radius);
    -moz-border-radius: var(--pt-border-radius);
    border-radius: var(--pt-border-radius);
}

.pt-single-post-usernav .pt-user .pt-user-media {
    margin-right: 30px;
}

.pt-single-post-usernav .pt-user .pt-user-media img {
    width: 180px;
    -webkit-border-radius: var(--pt-border-radius);
    -moz-border-radius: var(--pt-border-radius);
    border-radius: var(--pt-border-radius);
    border: 1px solid rgba(var(--dark-color-rgb), .2);
}

.pt-single-post-usernav .pt-user-info .pt-user-title {
    font-size: 24px;
    line-height: 32px;
    margin-bottom: 5px;
}

.pt-single-post-usernav .pt-user-info .pt-user-sub-title {
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--primary-color);
}

.pt-single-post-usernav .pt-user-description {
    margin-bottom: 0;
    margin-top: 10px;
}

.pt-blog.pt-single-post {
    padding: 0 30px 45px;
}

.pt-blog.pt-single-post h2 {
    margin-bottom: 30px;
    font-size: 28px;
    line-height: 36px;
}

@media(max-width:767px) {
    .pt-single-post-bottom-holder {
        display: block;
    }

    .pt-single-post-social-share {
        margin-bottom: 30px;
    }

    .pt-single-post-usernav .pt-user {
        align-items: flex-start;
        padding: 15px;
    }
}

@media(max-width:479px) {
    .pt-single-post-bottom-holder {
        padding-bottom: 20px;
    }

    .pt-single-post-usernav .pt-user {
        display: block;
    }

    .pt-single-post-usernav .pt-user .pt-user-media img {
        width: 80px;
    }

    .pt-single-post-usernav .pt-user .pt-user-media {
        margin-right: 0;
        margin-bottom: 15px;
    }

    .pt-single-post-bottom-holder ul.pt-single-post-tags-list li {
        margin-bottom: 5px;
    }
}

/*===== Single Project =====*/
.pt-single-post-navigation {
    display: flex;
    align-items: center;
    justify-content: space-between;
    align-content: center;
    padding: 45px 30px;
    margin-bottom: 0;
    background: var(--grey-color);
    /* border-top: 1px solid rgba(var(--dark-color-rgb), .2); */
    -webkit-border-radius: var(--pt-border-radius);
    -moz-border-radius: var(--pt-border-radius);
    border-radius: var(--pt-border-radius);
}

.single-post .pt-single-post-navigation {
    margin-bottom: 40px;
    margin-top: 30px;
}

.pt-single-post-navigation .pt-single-post-nav {
    position: relative;
    padding-left: 75px;
    display: inline-block;
    cursor: pointer;
}

.pt-single-post-navigation .pt-single-post-nav:before {
    position: absolute;
    width: 60px;
    height: 60px;
    line-height: 60px;
    font-family: "Font Awesome 5 Free";
    font-weight: 600;
    content: "\f053";
    top: 50%;
    transform: translate(0, -50%);
    left: 0;
    font-size: 20px;
    color: var(--white-color);
    background: var(--dark-color);
    text-align: center;
    transition: all 0.5s ease-in-out;
    -moz-transition: all 0.5s ease-in-out;
    -ms-transition: all 0.5s ease-in-out;
    -o-transition: all 0.5s ease-in-out;
    -webkit-transition: all 0.5s ease-in-out;
    -webkit-border-radius: var(--big-border-radius);
    -moz-border-radius: var(--big-border-radius);
    border-radius: var(--big-border-radius);
}

.pt-single-post-navigation .pt-single-post-nav.pt--next {
    padding-left: 0;
    padding-right: 75px;
    text-align: right;
}

.pt-single-post-navigation .pt-single-post-nav.pt--next:before {
    content: "\f054";
    right: 0;
    left: inherit;
}

.pt-single-post-navigation .pt-single-post-nav-title h4 {
    font-size: 24px;
    line-height: 32px;
}

.pt-single-post-nav-label {
    color: var(--dark-color);
    font-family: var(--title-fonts);
    font-size: 18px;
    line-height: 26px;
    text-transform: uppercase;
    transition: var(--transition);
    letter-spacing: 0.04em;
}

.pt-single-post-navigation+h2+.pt-masonry {
    margin-left: -15px;
    margin-top: 30px;
}

.pt-single-post-navigation .pt-single-post-nav:hover .pt-single-post-nav-label {
    color: var(--primary-color);
}

.pt-single-post-navigation .pt-single-post-nav:hover:before {
    background: var(--primary-color);
}

@media(max-width:767px) {
    .pt-single-post-navigation {
        padding: 45px 15px;
    }

    .pt-single-post-navigation .pt-single-post-nav-title h4 {
        font-size: 20px;
        line-height: 28px;
    }

    .pt-single-post-navigation+h2+.pt-masonry {
        margin-left: 0;
    }
}

@media(max-width:576px) {
    .pt-single-post-navigation {
        display: block;
    }

    .pt-single-post-navigation .pt-single-post-nav.pt--next {
        margin-top: 15px;
        display: block;
    }
}

/*================================================
Circle Process
================================================*/

.pt-circle-progress.pt-circle-progress-style-1 .pt-circle-progress-bar {
    position: relative;
    display: inline-block;
    margin-bottom: 10px;
}

.pt-circle-progress.pt-circle-progress-style-1 .pt-circle-progress-bar .pt-progress-count {
    position: absolute;
    top: 47%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 32px;
    line-height: 98px;
    color: var(--dark-color);
    font-family: var(--title-fonts);
    width: 98px;
    height: 98px;
    text-align: center;
    background: var(--grey-color);
    border-radius: var(--big-border-radius);
}

.pt-circle-progress.pt-circle-progress-style-1 .pt-progress-details span {
    font-size: 22px;
    line-height: 1;
    font-weight: 600;
    color: var(--dark-color);
    font-family: var(--title-fonts);
}

/*================================================
Recent Post
================================================*/

.pt-recent-post {
    display: flex;
    align-items: center;
    margin-bottom: 30px;
}

.pt-recent-post:last-child {
    margin-bottom: 0;
    padding: 0;
    border: none;
}

.pt-recent-post .pt-recent-post-media {
    margin-right: 15px;
}

.pt-recent-post .pt-recent-post-media img {
    width: 90px;
    height: 90px;
    -webkit-border-radius: var(--pt-border-radius);
    -moz-border-radius: var(--pt-border-radius);
    border-radius: var(--pt-border-radius);
}

.pt-recent-post .pt-recent-post-info {
    flex: 1;
    align-self: center;
}

.pt-recent-post .pt-recent-post-info .pt-post-date {
    font-family: var(--body-fonts);
    color: var(--dark-color);
    font-size: 16px;
}

.pt-recent-post .pt-recent-post-info .pt-post-date i {
    margin-right: 10px;
}

.pt-recent-post .pt-recent-post-info h6 {
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 5px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    color: var(--dark-color);
}

.pt-recent-post .pt-recent-post-info h6 a:hover {
    color: var(--primary-color);
}

@media(max-width:397px) {
    .pt-recent-post .pt-recent-post-info h6 {
        font-size: 18px;
        line-height: 26px;
    }
}

/*================================================
widget
================================================*/

.sidebar.widget-area {
    padding: 30px;
    border: 1px solid #2d2a2a2e;
    border-radius: var(--pt-border-radius);
}

.sidebar.widget-area .widget:last-child {
    margin-bottom: 0 !important;
}

.sidebar.widget-area .wp-block-gallery {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr);
    margin: 0;
}

.sidebar.widget-area .wp-block-gallery .wp-block-image img {
    border-radius: var(--pt-border-radius);
}

.sidebar.widget-area .widget .widget-title,
.sidebar.widget-area .widget .widget-title,
.sidebar.widget-area .widget.widget_block h2,
.sidebar.widget-area .widget .wp-block-heading {
    color: var(--dark-color) !important;
}

.sidebar.widget-area .widget .wp-block-image {
    margin: 0;
}

.sidebar.widget-area .widget .wp-block-image img {
    border-radius: var(--pt-border-radius);
}

@media(max-width:1279px) {
    .sidebar.widget-area .widget {
        margin-bottom: 30px !important;
    }
}

@media (max-width: 1023px) {
    .sidebar.widget-area {
        margin-top: 0 !important;
    }
}

@media (max-width: 991px) {
    .sidebar.widget-area {
        margin-top: 45px !important;
        padding: 30px 20px !important;
    }
}

/*================================================
Testimonial
================================================*/

.testimonial-section {
    text-align: center;
    position: relative;
}

.pt-testimonial-box.pt-style-2 .pt-testimonial-content .pt-testimonial-description {
    font-size: 22px;
    line-height: 38px;
    max-width: 1060px;
}

.pt-testimonial-box.pt-style-2 .pt-testimonial-content .pt-quote {
    position: absolute;
    left: -80px;
    font-size: 46px;
    top: -24px;
    opacity: 1;
}

.pt-testimonial-box.pt-style-2 .pt-testimonial-content .pt-testimonial-author-img {
    width: 142px;
    height: 142px;
    border-radius: var(--pt-border-radius);
    object-fit: cover;
    margin-bottom: 20px;
}

.pt-testimonial-box.pt-style-2 .pt-testimonial-content .pt-testimonial-star {
    color: var(--primary-color);
    font-size: 28px;
    margin-bottom: 10px;
}

.pt-testimonial-box.pt-style-2 .pt-testimonial-content .pt-testimonial-author-details .pt-testimonial-author-name {
    font-size: 34px;
    line-height: 42px;
}

.pt-testimonial-box.pt-style-2 .pt-testimonial-content .pt-testimonial-author-details .pt-testimonial-author-designation {
    font-size: 18px;
    line-height: 26px;
}

.testimonial-section .testimonial-thumbs {
    display: flex;
    justify-content: center;
    gap: 20px;
    margin-top: 35px;
}

.testimonial-section .testimonial-item {
    cursor: pointer;
    opacity: 0.7;
    transition: all 0.3s ease-in-out;
}

.testimonial-section .testimonial-item.active {
    opacity: 1;
    transform: scale(1.30);
}

.testimonial-section .testimonial-item img {
    width: 68px;
    height: 68px;
    border-radius: 10px;
    object-fit: cover;
}

.testimonial-section .arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 62px;
    height: 62px;
    line-height: 12px;
    background: var(--primary-color);
    color: var(--white-color);
    border-radius: 50%;
    font-size: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease-in-out;
}

.testimonial-section .arrow:hover {
    background: var(--dark-color);
    color: var(--white-color);
}

.testimonial-section .arrow.left {
    left: -30%;
}

.testimonial-section .arrow.left i { 
    transform: rotate(180deg);
} 

.testimonial-section .arrow.right {
    right: -30%;
}

@media (max-width: 1499px) {
    .testimonial-section .arrow.left {
        left: 0;
    }

    .testimonial-section .arrow.right {
        right: 0;
    }
}

@media(max-width:1023px) {

    .testimonial-section .arrow {
        display: none;
    }
}

@media(max-width:767px) {

    .pt-testimonial-box.pt-style-2 .pt-testimonial-content .pt-testimonial-star {
        margin: 0;
    }

    .pt-testimonial-box.pt-style-2 .pt-testimonial-content .pt-testimonial-description {
        font-size: 18px;
        line-height: 28px;
    }
}


/* ===== testimonial style-1 ===== */

.pt-testimonial-box.pt-style-1 {
    background-color: var(--grey-color);
    border-radius: var(--pt-border-radius);
    padding: 40px;
}

.pt-testimonial-box.pt-style-1 .pt-testimonial-content .pt-quote {
    margin-bottom: 30px;
}


.pt-testimonial-box.pt-style-1 .pt-testimonial-media {
    display: flex;
    gap: 15px;
}

.pt-testimonial-box.pt-style-1 .pt-testimonial-media .pt-testimonial-author-img img {
    width: 70px;
    height: 70px;
    border-radius: 50%;
    object-fit: cover;
}

.pt-testimonial-box-slider.pt-style-1 .owl-nav {
    position: absolute;
    top: -45%;
    right: 25%;
    display: block;
    width: auto;
}

@media(max-width:1499px) {
    .pt-testimonial-box-slider.pt-style-1 .owl-nav {
        display: none;
    }
}

/*================================================
Map Container
================================================*/
/* yacht map route  */

.map-container {
    position: relative;
    width: 100%;
    max-width: 100%;
    height: auto;
    min-height: 420px;
    aspect-ratio: 10 / 5;
    margin: auto;
    border-radius: 12px;
    overflow: hidden;
    background-position: center;
}

.map-container .route-svg {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.map-container .route-svg path {
    fill: none;
    stroke: var(--primary-color);
    stroke-width: 0.1;
    stroke-dasharray: 3 2;
}

@keyframes dash {
    to {
        stroke-dashoffset: -120;

    }
}

/* -------------------------Boat-------------------------- */
.map-container .boat {
    position: absolute;
    width: 42px;
    height: 42px;
    transform: translate(-186%, -86%);
    pointer-events: none;
}

/* -------------------------Cities-------------------------- */
.map-container .city {
    position: absolute;
    font-size: 18px;
    line-height: 26px;
    color: var(--primary-color);
}


.map-container .city::before {
    content: "\f11d";
    position: absolute;
    left: -30px;
    top: 50%;
    font-size: 24px;
    font-family: flaticon_handyman_new_2 !important;
    font-style: normal;
    font-weight: normal !important;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    transform: translateY(-50%);
    animation: cityPulse 1.5s ease-in-out infinite;
}

@keyframes cityPulse {
    0% {
        transform: translateY(-50%) scale(1);
        opacity: 1;
    }

    50% {
        transform: translateY(-50%) scale(1.2);
        opacity: 0.6;
    }

    100% {
        transform: translateY(-50%) scale(1);
        opacity: 1;
    }
}

/* ------------------------- SLIDER WRAPPER -------------------------- */

.tickets-slider {
    margin-top: -220px;
}

.tickets-slider .ticket {
    background: var(--white-color);
    border-radius: var(--pt-border-radius);
    position: relative;
}

.pt-ticket-card {
    position: relative;
    overflow: hidden;
    border-radius: var(--pt-border-radius);
}

.pt-ticket-card .pt-ticket-bg {
    position: relative;
}

.pt-ticket-card .pt-ticket-bg::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 350px;
    background: rgba(var(--dark-color-rgb), 0.8);
    z-index: 9;
    opacity: 0;
}

.ticket.active .pt-ticket-card .pt-ticket-bg::before {
    opacity: 1;
    transition: opacity 0.3s ease-in-out;
}

.pt-ticket-card .pt-ticket-bg img {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    opacity: 0;
}

.ticket.active .pt-ticket-card .pt-ticket-bg img {
    opacity: 1;
    transition: opacity 0.3s ease-in-out;
    width: 100%;
}

.pt-ticket-card .pt-ticket-details {
    position: relative;
    z-index: 9;
    padding: 30px 25px;
}

.pt-ticket-card .pt-ticket-details .pt-ticket-top {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 120px;
}

.pt-ticket-card .pt-ticket-details .pt-ticket-top .pt-ticket-distance {
    display: flex;
    align-items: baseline;
    gap: 10px;
}

.pt-ticket-card .pt-ticket-details .pt-ticket-top .pt-ticket-distance h2 {
    font-size: 64px;
    line-height: 72px;
}

.ticket.active .pt-ticket-card .pt-ticket-details .pt-ticket-top .pt-ticket-distance h2 {
    color: var(--white-color);
    transition: color 0.3s ease-in-out;
}

.pt-ticket-card .pt-ticket-details .pt-ticket-top .pt-ticket-distance span {
    font-size: 18px;
    line-height: 26px;
    color: var(--dark-color);
    font-family: var(--title-fonts);
    font-weight: 600;
}

.ticket.active .pt-ticket-card .pt-ticket-details .pt-ticket-top .pt-ticket-distance span {
    color: var(--white-color);
    transition: color 0.3s ease-in-out;
}

.pt-ticket-card .pt-ticket-details .pt-ticket-top .pt-ticket-date {
    display: flex;
    gap: 5px;
    align-items: center;
    color: var(--dark-color);
}

.ticket.active .pt-ticket-card .pt-ticket-details .pt-ticket-top .pt-ticket-date {
    color: var(--white-color);
    transition: color 0.3s ease-in-out;
}

.pt-ticket-card .pt-ticket-details .pt-ticket-top .pt-ticket-date i {
    color: var(--primary-color);
}

.pt-ticket-card .pt-ticket-details .pt-ticket-route {
    font-size: 32px;
    line-height: 40px;
    margin-bottom: 10px;
}

.ticket.active .pt-ticket-card .pt-ticket-details .pt-ticket-route {
    color: var(--white-color);
    transition: color 0.3s ease-in-out;
}

.pt-ticket-card .pt-ticket-details .pt-ticket-description {
    margin: 0;
}

.ticket.active .pt-ticket-card .pt-ticket-details .pt-ticket-description {
    color: var(--white-color);
    transition: color 0.3s ease-in-out;
}


@media(max-width:1499px) {
    .tickets-slider {
        margin-top: -100px;
    }
}

@media(max-width:799px) {
    .tickets-slider {
        margin-top: -50px;
    }
}

@media (max-width: 767px) {
    .ticket.active .pt-ticket-card .pt-ticket-bg img {
        height: 600px;
        object-fit: cover;
    }

    .pt-ticket-card .pt-ticket-bg::before {

        height: 600px;
    }
}

/*================================================
    Product
================================================*/

.pt-woo-single-product-main {
    padding: 20px;
    border-radius: var(--pt-border-radius);
    background-color: var(--grey-color);
}

.pt-woo-single-product-main .pt-product-item .pt-product-img-inner {
    margin-bottom: 30px;
    overflow: hidden;
    border-radius: var(--pt-border-radius);
}

.pt-woo-single-product-main .pt-product-item .pt-product-img-inner img {
    border-radius: var(--pt-border-radius);
    height: 230px;
    object-fit: cover;
    transition: all 0.5s ease-in-out;
}

.pt-woo-single-product-main:hover .pt-product-item .pt-product-img-inner img {
    transform: scale(1.1);
    -webkit-transform: scale(1.1);
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
    transition: all 0.4s ease-in-out;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title:hover {
    color: var(--primary-color);
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
    margin: 0 30px 30px 0;
}

.star-rating {
    position: relative;
    display: inline-block;
    font-size: 22px;
    line-height: 1;
    font-family: Arial, sans-serif;
}


@media(max-width:799px) {

    .woocommerce ul.products li.product,
    .woocommerce-page ul.products li.product {
        margin: 0 0 30px 0 !important;
    }
}

/* ===================================== */
/*  WOOCOMMERCE STAR RATING – FINAL CSS  */
/*  STAR SIZE: 20PX | PERFECT CENTER    */
/* ===================================== */

/* Center wrapper */
.pt-product-meta {
    text-align: center !important;
}

/* Star rating base */
.woocommerce .star-rating {
    position: relative !important;
    display: inline-block !important;
    width: 6.4em !important;
    height: 22px !important;
    line-height: 18px !important;
    font-size: 18px !important;
    /* ⭐ STAR SIZE */
    font-family: WooCommerce !important;
    overflow: hidden !important;
    margin: 10px auto !important;
    float: none !important;
    letter-spacing: 5px !important;
}

/* Empty stars */
.woocommerce .star-rating::before {
    content: "sssss" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    color: #dcdcdc !important;
}

/* Filled stars wrapper */
.woocommerce .star-rating span {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    height: 100% !important;
    overflow: hidden !important;
}

/* Filled stars */
.woocommerce .star-rating span::before {
    content: "SSSSS" !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    color: #ff7a00 !important;
}

/* Remove WooCommerce default floats */
.woocommerce .woocommerce-product-rating .star-rating,
.woocommerce .products .star-rating {
    float: none !important;
    margin: 0 auto !important;
}

/* Center inside heading */
.pt-product-meta h2.woocommerce-Reviews-title {
    display: flex !important;
    justify-content: center !important;
}

/* Product page spacing */
.woocommerce .woocommerce-product-rating {
    display: block !important;
    line-height: 1 !important;
    margin-bottom: 10px !important;
}

.pt-product-meta .pt-product-info {
    padding: 0 !important;
}

.pt-product-meta .pt-product-info .woocommerce-loop-product__title {
    font-size: 28px !important;
    line-height: 36px !important;
    margin: 15px 0 !important;
    padding: 0 !important;
}

.pt-product-meta .pt-product-info .pt-product-description {
    margin-bottom: 15px !important;
}

.pt-product-meta .pt-product-info span {
    font-size: 28px !important;
    color: var(--dark-color) !important;
    font-family: var(--title-fonts);
    font-weight: 700 !important;
    margin: 0 !important;
    margin-bottom: 10px !important;
}

/* =====  */
.woocommerce.columns-3 ul.products.columns-3 {
    display: grid;
    grid-template-columns: auto auto auto;
    gap: 30px;
}

.woocommerce.columns-3 ul.products.columns-3 li.product:first-child {
    grid-column: 1;
}

.woocommerce.columns-3 ul.products.columns-3 li.product {
    margin: 0;
    width: 100%;
}


@media (max-width:1023px) {
    .woocommerce.columns-3 ul.products.columns-3 {
        grid-template-columns: auto auto;
    }
}

@media (max-width:767px) {
    .woocommerce.columns-3 ul.products.columns-3 {
        grid-template-columns: auto;
    }

    .woocommerce.columns-3 ul.products.columns-3 li.product {
        margin: 0 !important;
    }
}

/*================================================
Advance Tab
================================================*/

.pt-advance-tab {
    display: inline-block;
    text-align: center;
    width: 100%;
}

.pt-advance-tab .nav-tabs {
    border: none;
    display: flex;
    gap: 15px;
    text-align: center;
    margin-bottom: 45px;
}

.pt-advance-tab .nav-tabs .pt-tabs.nav-link {
    margin: 0;
    line-height: 2;
    display: inline-block;
    color: var(--secondary-color);
    font-family: var(--title-fonts);
    font-size: 22px;
    padding: 12px 45px;
    text-align: center;
    border: none;
    font-weight: 700;
    -webkit-border-radius: 9000px;
    -moz-border-radius: 9000px;
    border-radius: 9000px;
    border: 1px solid var(--secondary-color);
    letter-spacing: 1px;
}

.pt-advance-tab .nav-tabs .pt-tabs.nav-link.active {
    background: var(--primary-color);
    color: var(--white-color);
}

@media(max-width:397px) {
    .pt-advance-tab .nav-tabs .pt-tabs.nav-link {
        padding: 12px 30px;
    }
}

/*================================================
Custom Css
================================================*/

.pt-text-font {
    font-family: var(--special-fonts) !important;
    font-size: 28px;
    line-height: 36px;
    font-weight: 600;
}

.pt-footer-contact a {
    color: var(--white-color);
}

.pt-anchor-wrap {
    position: absolute;
    top: -120px;
    left: 50%;
    transform: translateX(-50%);
    animation: ptAnchorDrop 4s ease-in-out infinite;
}

@keyframes ptAnchorDrop {
    0% {
        transform: translate(-50%, -120px);
        opacity: 0;
    }

    30% {
        opacity: 1;
    }

    70% {
        transform: translate(-50%, 60px);
        opacity: 1;
    }

    100% {
        transform: translate(-50%, 120px);
        opacity: 0;
    }
}


.pt-icon-center .elementor-social-icon {
    justify-content: start !important;
}

/* <-------- image animation --------> */

.pt-img-animation {
    position: relative;
    z-index: 1;
}

.pt-img-animation::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    background: repeating-linear-gradient(#868686, #fff 6.25%),
        linear-gradient(#000 33.3%, grey 0, #fff 66.7%) 0/100% 305%;
    background-blend-mode: multiply;
    background-position: 0 0;
    -webkit-filter: contrast(999);
    filter: contrast(999);
    mix-blend-mode: screen;
    opacity: 0;
}

/* ✅ section visible thai tyare 1 time run */
.pt-img-animation.pt-animate::after {
    opacity: 1;
    animation: pt-img-animation 1s linear forwards;
}

@keyframes pt-img-animation {

    0%,
    25% {
        background-position: 0 100%;
    }

    75%,
    100% {
        background-position: 0 0;
    }
}

/* ======  Custom Faq ======= */
.pt-custom-faq .e-n-accordion>.e-n-accordion-item[open]>.e-n-accordion-item-title {
    border-radius: 10px 10px 0 0 !important;
}

/* ======  Custom Icon box======= */
.pt-custom-icon-box .elementor-icon-box-icon {
    padding-bottom: 30px;
    margin-bottom: 30px;
    border-bottom: 1px solid rgba(var(--dark-color-rgb), .1);
}

@media(max-width:1023px) {
    .pt-custom-icon-box .elementor-icon-box-icon {
        margin-top: 20px;
        padding-top: 20px;
    }
}

/* ======  image sine effect======= */

.shine-hover-effect {
    position: relative;
    overflow: hidden;
    display: inline-block;
    border-radius: 20px;
}

.shine-hover-effect img {
    width: 100%;
    height: 100%;
    display: block;
    transition: transform 0.4s ease;
}

.shine-hover-effect:hover img {
    transform: scale(1.08);
}

.shine-hover-effect::after {
    content: "";
    position: absolute;
    top: 0;
    left: -150%;
    width: 60%;
    height: 100%;
    background: linear-gradient(120deg,
            rgba(255, 255, 255, 0) 20%,
            rgba(255, 255, 255, 0.3) 50%,
            rgba(255, 255, 255, 0) 80%);
    transform: skewX(-25deg);
    opacity: 0;
    pointer-events: none;
}

.shine-hover-effect:hover::after {
    opacity: 1;
    animation: shineMove 0.7s linear;
}

@keyframes shineMove {
    from {
        left: -150%;
    }

    to {
        left: 150%;
    }
}

/* <-------- image rotate animation --------> */

.pt-image-rotate img {
    display: inline-block;
    animation: rotateBg 10s linear infinite;
    transform-origin: center center;
}

/* <-------- image anchor animation --------> */

.pt-anchor-anim {
    display: inline-block;
    animation: anchorSwingDown 1.5s linear infinite;
    /* key change */
    transform-origin: top center;
}

@keyframes anchorSwingDown {
    0% {
        transform: translateY(-20px);
        opacity: 0;
    }

    20% {
        opacity: 1;
    }

    50% {
        transform: translateY(0);
    }

    80% {
        opacity: 1;
    }

    100% {
        transform: translateY(20px);
        opacity: 0;
    }
}

@media(max-width:1499px) {
    .pt-anchor-anim {
        animation: none;
        transform: none;
    }
}


/* ======  AUTO SCREEN SIZE SVG ======= */

.pt-auto-svg svg {
    width: 100%;
    height: auto;
    max-width: 100%;
    display: block;
}

.pt-shap-set .pt-shape svg {
    margin-top: -210px;
}

.pt-shap-set .pt-anchor svg {
    margin-top: -50px;
}



@media(max-width:1679px) {
    .pt-shap-set .pt-shape svg {
        margin-top: -185px;
    }

    .pt-shap-set .pt-anchor svg {
        margin-top: -30px;
    }
}

@media(max-width:1499px) {
    .pt-shap-set .pt-anchor svg {
        margin-top: -80px;
    }
}

@media(max-width:1365px) {
    .pt-shap-set .pt-shape svg {
        margin-top: -175px;
    }
}

@media(max-width:1279px) {
    .pt-shap-set .pt-shape svg {
        margin-top: -160px;
    }

    .pt-shap-set .pt-anchor svg {
        margin-top: -55px;
    }
}

@media(max-width:1099px) {
    .pt-shap-set .pt-shape svg {
        margin-top: -150px;
    }
}

@media(max-width:1024px) {
    .pt-shap-set .pt-shape svg {
        margin-top: -145px;
    }

    .pt-shap-set .pt-anchor svg {
        margin-top: -90px;
        height: 45px;
    }
}

@media(max-width:979px) {
    .pt-shap-set .pt-shape svg {
        margin-top: -140px;
    }
}

@media(max-width:799px) {
    .pt-shap-set .pt-shape svg {
        margin-top: -120px;
    }

    .pt-shap-set .pt-anchor svg {
        margin-top: -70px;
        height: 40px;
    }
}

@media(max-width:479px) {
    .pt-shap-set .pt-shape svg {
        margin-top: -91px;
    }

    .pt-shap-set .pt-anchor svg {
        margin-top: -75px;
        height: 30px;
    }
}

@media(max-width:397px) {
    .pt-shap-set .pt-shape svg {
        margin-top: -80px;
    }

    .pt-shap-set .pt-anchor svg {
        margin-top: -65px;
    }
}

.pt-auto-svg .elementor-icon i, .pt-auto-svg .elementor-icon svg { 
    height: auto;
}