/* Text meant only for screen readers. */
.screen-reader-text {
    border    : 0;
    clip      : rect(1px, 1px, 1px, 1px);
    clip-path : inset(50%);
    height    : 1px;
    margin    : -1px;
    overflow  : hidden;
    padding   : 0;
    position  : absolute;
    width     : 1px;
    word-wrap : normal; /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}

.screen-reader-text:focus {
    background-color : #eee;
    clip             : auto;
    clip-path        : none;
    color            : #444;
    display          : block;
    font-size        : 1em;
    height           : auto;
    left             : 5px;
    line-height      : normal;
    padding          : 15px 23px 14px;
    text-decoration  : none;
    top              : 5px;
    width            : auto;
    z-index          : 100000;
    /* Above WP toolbar. */
}

.screen-reader-text.skip-link:focus {
    -webkit-clip-path : none;
    clip-path         : none
}

.page-title::before {
    background : var(--page-title-bgc);
}

.contact-page-section .info-column .info-list li {
    font-weight : normal;
}

.service-list li:not(.current-cat, .current-cat-ancestor)::before {
    display : none;
}

.service-list li:not(.current-cat, .current-cat-ancestor) > a {
    padding-left : 0;
}

.styled-pagination li .current {
    position           : relative;
    display            : inline-block;
    line-height        : 48px;
    width              : 50px;
    height             : 50px;
    font-size          : var(--font-16);
    font-weight        : 400;
    text-align         : center;
    border-radius      : 50px;
    background         : var(--white-color);
    text-transform     : capitalize;
    transition         : all 500ms ease;
    -webkit-transition : all 500ms ease;
    -ms-transition     : all 500ms ease;
    -o-transition      : all 500ms ease;
    -moz-transition    : all 500ms ease;
    color              : #fff;
    border-color       : var(--main-color);
    background-color   : var(--main-color);
}

.popular-tags .tags-list,
.service-list {
    max-height : 250px;
    overflow-x : hidden;
}

.service-list ul.children {
    padding-left : 10px;
    margin-top   : 10px;
}

.main-menu .navigation > li.current-menu-ancestor > a,
.main-menu .navigation > li.current-menu-item > a,
.main-menu .navigation .sub-menu li.current-menu-item > a {
    color : var(--main-color);
}

.sidebar-page-container .comments-area .comment-box.pingback .comment-body,
.sidebar-page-container .comments-area .comment-box.trackback .comment-body {
    padding-left : 0;
}

.news-section .owl-nav {
    display : none;
}

.news-section .owl-dots {
    position   : relative;
    text-align : center;
    margin-top : var(--margin-top-20);
}

.news-section .owl-dots .owl-dot {
    position           : relative;
    width              : 10px;
    height             : 10px;
    opacity            : 0.50;
    margin             : 0 6px;
    border-radius      : 50px;
    display            : inline-block;
    background-color   : var(--main-color);
    -webkit-transition : all 300ms ease;
    -ms-transition     : all 300ms ease;
    -o-transition      : all 300ms ease;
    -moz-transition    : all 300ms ease;
    transition         : all 300ms ease;
}

.news-section .owl-dots .owl-dot.active,
.news-section .owl-dots .owl-dot:hover {
    opacity : 1;
}

@-webkit-keyframes spin {
    from {
        -webkit-transform : rotate(0deg);
        transform         : rotate(0deg);
    }
    to {
        -webkit-transform : rotate(360deg);
        transform         : rotate(360deg);
    }
}

@keyframes spin {
    from {
        -webkit-transform : rotate(0deg);
        transform         : rotate(0deg);
    }
    to {
        -webkit-transform : rotate(360deg);
        transform         : rotate(360deg);
    }
}

.blockUI.blockOverlay,
.loading,
.loader {
    position : relative
}

.blockUI.blockOverlay::before,
.loading::before,
.loader::before {
    height            : 1em;
    width             : 1em;
    display           : block;
    position          : absolute;
    top               : 50%;
    left              : 50%;
    margin-left       : -.5em;
    margin-top        : -.5em;
    content           : "";
    -webkit-animation : spin 1s ease-in-out infinite;
    animation         : spin 1s ease-in-out infinite;
    background        : url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 91.3 91.1'%3E%3Ccircle cx='45.7' cy='45.7' r='45.7'/%3E%3Ccircle fill='%23FFF' cx='45.7' cy='24.4' r='12.5'/%3E%3C/svg%3E") center center;
    background-size   : cover;
    line-height       : 1;
    text-align        : center;
    font-size         : 2em;
    color             : rgba(0, 0, 0, .75);
    z-index           : 2;
}

.blockUI.blockOverlay::after,
.loading::after,
.loader::after {
    content    : "";
    display    : block;
    position   : absolute;
    top        : 0;
    left       : 0;
    right      : 0;
    bottom     : 0;
    background : rgba(255, 255, 255, .75);
    z-index    : 1;
}

.image-preview {
    display        : inline-flex;
    flex-direction : column;
    align-items    : center;
}

.image-preview input {
    display : none;
}

.image-preview img {
    height : 100px;
    border : 1px solid #ebebeb;
}

.single_add_to_cart_button {
    position           : relative;
    line-height        : 30px;
    font-weight        : 500;
    overflow           : hidden;
    text-align         : center;
    display            : inline-grid;
    padding            : 13px 40px 13px;
    font-size          : var(--font-16);
    text-transform     : capitalize;
    color              : var(--white-color);
    background-color   : var(--main-color);
    width              : 100%;
    cursor             : pointer;
    transition         : all 0.3s ease;
    -moz-transition    : all 0.3s ease;
    -webkit-transition : all 0.3s ease;
    -ms-transition     : all 0.3s ease;
    -o-transition      : all 0.3s ease;
}

.single_add_to_cart_button:hover {
    color            : var(--white-color);
    background-color : var(--main-color-two);
}

.product-block .inner-box .onsale {
    position         : absolute;
    top              : 10px;
    left             : 10px;
    z-index          : 2;
    background-color : var(--danger);
    color            : var(--light);
    padding          : 3px 8px;
}

/* mini cart */
.product_list_widget {
    list-style  : none;
    margin-left : 0
}

.product_list_widget li {
    border-bottom : 1px solid rgba(0, 0, 0, .05);
    padding       : 1em 0
}

.product_list_widget li:after, .product_list_widget li:before {
    content : "";
    display : table
}

.product_list_widget li:after {
    clear : both
}

.product_list_widget li img {
    float     : right;
    max-width : 5em
}

.product_list_widget li > a {
    display       : block;
    font-size     : 14px;
    margin-bottom : 5px;
}

.product_list_widget li > a:hover {
    color : #2c2d33
}

.widget_shopping_cart .woocommerce-mini-cart__empty-message {
    margin : 1.41575em
}

.widget_shopping_cart .product_list_widget {
    margin-bottom : 0
}

.widget_shopping_cart .product_list_widget img {
    margin-left : 1em
}

.widget_shopping_cart .product_list_widget li {
    font-size    : 12px;
    padding-left : 2em;
    position     : relative
}

.widget_shopping_cart .product_list_widget li a.remove {
    background   : var(--color-action);
    float        : left;
    height       : 16px;
    line-height  : 16px;
    margin-right : 10px;
    text-align   : center;
    width        : 16px
}

.widget_shopping_cart .product_list_widget .variation dd {
    margin-left : 10px
}

.widget_shopping_cart p.buttons, .widget_shopping_cart p.total {
    margin     : 0;
    padding    : 1em 0;
    text-align : center
}

.widget_shopping_cart p.total {
    border-bottom : 1px solid rgba(0, 0, 0, .05)
}

.widget_shopping_cart li, .widget_shopping_cart p.buttons, .widget_shopping_cart p.total {
    padding-left  : 1.41575em;
    padding-right : 1.41575em
}

.widget_shopping_cart p.buttons a {
    display       : block;
    margin-bottom : .6180469716em
}

.widget_shopping_cart p.buttons a img {
    margin-left  : auto;
    margin-right : auto
}

.widget_shopping_cart p.buttons a:last-child {
    margin-bottom : 0
}

.widget_shopping_cart .woocommerce-mini-cart__buttons .button {
    position           : relative;
    color              : var(--white-color);
    font-weight        : 500;
    font-size          : var(--font-12);
    padding            : 5px 20px 5px;
    border-radius      : 2px;
    display            : inline-block;
    background-color   : var(--main-color);
    border             : 1px solid var(--main-color);
    text-transform     : uppercase;
    transition         : all 300ms ease;
    -webkit-transition : all 300ms ease;
    -ms-transition     : all 300ms ease;
    -o-transition      : all 300ms ease;
    -moz-transition    : all 300ms ease;
    width              : 100%;
}

/* Cart form */
.cart table,
.shop_attributes {
    width : 100%;
}

.shop_attributes td,
.shop_attributes th,
.cart table td,
.cart table th {
    padding : 10px;
}

.cart .woocommerce-variation {
    margin-bottom : 15px;
}

.product-info-tabs .woocommerce-Tabs-panel > h2,
.product-info-tabs .woocommerce-Reviews-title {
    position      : relative;
    color         : var(--text-color);
    font-size     : var(--font-20);
    font-weight   : 400;
    margin-top    : var(--margin-top-10);
    margin-bottom : var(--margin-bottom-25);
}

/* my account */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
    border-bottom : 1px solid var(--danger);
    display       : flex;
    flex-wrap     : wrap;
    margin-bottom : 20px;
}

.woocommerce-account .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link:hover a {
    background-color : var(--danger);
    color            : var(--white-color)
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
    display     : block;
    line-height : 2.3;
    padding     : 5px 15px
}

.woocommerce-account .addresses .title {
    *zoom : 1
}

.woocommerce-account .addresses .title:after, .woocommerce-account .addresses .title:before {
    content : " ";
    display : table
}

.woocommerce-account .addresses .title:after {
    clear : both
}

.woocommerce-account .addresses .title h3 {
    float : left
}

.woocommerce-account .addresses .title .edit {
    float : right
}

.woocommerce-account #customer_login .woocommerce-form-login__submit {
    margin-top : 20px
}

.woocommerce-account #customer_login .button, .woocommerce-account .button[type=submit] {
    position           : relative;
    color              : var(--white-color);
    font-weight        : 500;
    font-size          : var(--font-12);
    padding            : 5px 20px 5px;
    border-radius      : 2px;
    display            : inline-block;
    background-color   : var(--main-color);
    border             : 1px solid var(--main-color);
    text-transform     : uppercase;
    transition         : all 300ms ease;
    -webkit-transition : all 300ms ease;
    -ms-transition     : all 300ms ease;
    -o-transition      : all 300ms ease;
    -moz-transition    : all 300ms ease;
    cursor             : pointer;
}

.woocommerce-account .button[type=submit] {
    margin-top : 20px
}

.woocommerce-account .form-row {
    margin-right   : 0;
    margin-left    : 0;
    flex-direction : column;
}

.woocommerce-account .col2-set h2,
.woocommerce-account h3 {
    position      : relative;
    color         : var(--text-color);
    font-size     : var(--font-20);
    font-weight   : 400;
    margin-top    : var(--margin-top-10);
    margin-bottom : var(--margin-bottom-25);
}

.col2-set {
    display : flex;
    gap     : 30px;
}

.col2-set .col-1,
.col2-set .col-2 {
    -ms-flex  : 0 0 50%;
    flex      : 0 0 50%;
    max-width : 50%;
    padding   : 0;
}

input, textarea {
    font-family   : inherit;
    font-size     : inherit;
    border        : 1px solid #d1d1d1;
    border-radius : var(--theme-border-radius);
    padding       : 5px 10px;
    outline       : none;
}

/* Previews */
.woocommerce-Reviews .comment_container {
    display     : flex;
    align-items : flex-start;
    gap         : 20px;
}

.woocommerce-Reviews .comment-text {
    display         : flex;
    flex-wrap       : wrap;
    justify-content : space-between;
    align-items     : first baseline;
    flex            : 1 auto;
}

.woocommerce-Reviews .meta {
    order  : 1;
    margin : 0;
}

.woocommerce-Reviews .star-rating {
    order : 2;
}

.woocommerce-Reviews .description {
    order : 3;
    width : 100%;
}

.woocommerce .woocommerce-product-rating {
    display     : flex;
    align-items : center;
    margin-top  : 15px;
}

.woocommerce .star-rating {
    overflow    : hidden;
    position    : relative;
    height      : 1em;
    line-height : 1;
    font-size   : 1em;
    width       : 5.4em;
    font-family : "Fontawesome", sans-serif;
    color       : var(--main-color);
}

.woocommerce .star-rating::before {
    content  : "\f006\f006\f006\f006\f006";
    color    : #d3ced2;
    float    : left;
    top      : 0;
    left     : 0;
    position : absolute
}

.woocommerce .star-rating span {
    overflow    : hidden;
    float       : left;
    top         : 0;
    left        : 0;
    position    : absolute;
    padding-top : 1.5em
}

.woocommerce .star-rating span::before {
    content  : "\f005\f005\f005\f005\f005";
    top      : 0;
    position : absolute;
    left     : 0
}

.woocommerce .hreview-aggregate .star-rating {
    margin : 10px 0 0
}

.woocommerce #review_form #respond {
    position   : static;
    margin     : 0;
    width      : auto;
    padding    : 0;
    background : transparent none;
    border     : 0
}

.woocommerce #review_form #respond::after, .woocommerce #review_form #respond::before {
    content : " ";
    display : table
}

.woocommerce #review_form #respond::after {
    clear : both
}

.woocommerce #review_form #respond p {
    margin : 0 0 10px
}

.woocommerce #review_form #respond .form-submit input {
    left : auto
}

.woocommerce #review_form #respond textarea {
    box-sizing : border-box;
    width      : 100%;
    max-height : 120px;
}

.woocommerce #submit {
    position           : relative;
    line-height        : 30px;
    font-weight        : 500;
    overflow           : hidden;
    text-align         : center;
    display            : inline-grid;
    border-radius      : 3px;
    padding            : 13px 40px 13px;
    font-size          : var(--font-16);
    text-transform     : capitalize;
    color              : var(--white-color);
    background-color   : var(--main-color);
    cursor             : pointer;
    transition         : all 0.3s ease;
    -moz-transition    : all 0.3s ease;
    -webkit-transition : all 0.3s ease;
    -ms-transition     : all 0.3s ease;
    -o-transition      : all 0.3s ease;
}

.woocommerce #submit:hover {
    color            : var(--white-color);
    background-color : var(--main-color-two);
}

.woocommerce #review_form #respond p > label {
    position    : relative;
    color       : var(--main-color-two);
    font-size   : var(--font-16);
    font-weight : 300;
}

.woocommerce .comment-reply-title {
    text-align  : center;
    display     : block;
    font-size   : 18px;
    line-height : 24px;
    font-weight : 600;
    margin      : 0;
}

.woocommerce .comment-notes {
    font-style : italic;
    font-size  : 12px;
    text-align : center;
}

.woocommerce .comment-form-author,
.woocommerce .comment-form-email {
    display        : flex;
    flex-direction : column;
}

.woocommerce .comment-form-rating {
    display     : flex;
    align-items : center;
}

.woocommerce .comment-form-rating > label {
    margin-bottom : 0;
    position      : relative;
    color         : var(--main-color-two);
    font-size     : var(--font-16);
    font-weight   : 300;
}

.woocommerce #review_form #respond p.stars {
    margin-top    : 10px;
    margin-left   : 20px;
    margin-bottom : 0;
}

.woocommerce p.stars a {
    position        : relative;
    height          : 1em;
    width           : 1em;
    text-indent     : -999em;
    display         : inline-block;
    text-decoration : none
}

.woocommerce p.stars a::before {
    display     : block;
    position    : absolute;
    top         : 0;
    left        : 0;
    width       : 1em;
    height      : 1em;
    line-height : 1;
    font-family : "Fontawesome", sans-serif;
    content     : "\f006";
    text-indent : 0
}

.woocommerce p.stars a:hover ~ a::before {
    content : "\f006"
}

.woocommerce p.stars:hover a::before {
    content : "\f005"
}

.woocommerce p.stars.selected a.active::before {
    content : "\f005"
}

.woocommerce p.stars.selected a.active ~ a::before {
    content : "\f006"
}

.woocommerce p.stars.selected a:not(.active)::before {
    content : "\f005"
}

.woocommerce table.shop_attributes {
    border        : 0;
    border-top    : 1px dotted rgba(0, 0, 0, .1);
    margin-bottom : 1.618em;
    width         : 100%
}

.woocommerce table.shop_attributes th {
    width         : 150px;
    font-weight   : 700;
    padding       : 8px;
    border-top    : 0;
    border-bottom : 1px dotted rgba(0, 0, 0, .1);
    margin        : 0;
    line-height   : 1.5
}

.woocommerce table.shop_attributes td {
    font-style    : italic;
    padding       : 0;
    border-top    : 0;
    border-bottom : 1px dotted rgba(0, 0, 0, .1);
    margin        : 0;
    line-height   : 1.5
}

.woocommerce table.shop_attributes td p {
    margin  : 0;
    padding : 8px 0
}

.woocommerce table.shop_attributes tr:nth-child(even) td, .woocommerce table.shop_attributes tr:nth-child(even) th {
    background : rgba(0, 0, 0, .025)
}

.woocommerce table.shop_table {
    border          : 1px solid rgba(0, 0, 0, .1);
    margin          : 0 -1px 24px 0;
    text-align      : left;
    width           : 100%;
    border-collapse : separate;
    border-radius   : 5px
}

.woocommerce table.shop_table th {
    font-weight : 700;
    padding     : 9px 12px;
    line-height : 1.5em
}

.woocommerce table.shop_table td {
    border-top     : 1px solid rgba(0, 0, 0, .1);
    padding        : 9px 12px;
    vertical-align : middle;
    line-height    : 1.5em
}

.woocommerce table.shop_table td small {
    font-weight : 400
}

.woocommerce table.shop_table td del {
    font-weight : 400
}

.woocommerce table.shop_table tbody:first-child tr:first-child td, .woocommerce table.shop_table tbody:first-child tr:first-child th {
    border-top : 0
}

.woocommerce table.shop_table tbody th, .woocommerce table.shop_table tfoot td, .woocommerce table.shop_table tfoot th {
    font-weight : 700;
    border-top  : 1px solid rgba(0, 0, 0, .1)
}

.main-header .sticky-header .auto-container,
.main-header .inner-container {
    display         : flex;
    flex-wrap       : wrap;
    justify-content : space-between;
    align-items     : center;
}

.main-header .sticky-logo a,
.main-header .logo a {
    display : flex;
}

.banner-section {
    position  : relative;
    max-width : 100%;
    overflow  : hidden;
}

.banner-section .video-container {
    position        : absolute;
    width           : 100%;
    height          : 100%;
    top             : 0;
    left            : 0;
    pointer-events  : none;
    user-select     : none;
    text-align      : center;
    display         : flex;
    align-items     : center;
    justify-content : center;
}

.banner-section .title_ct {
    position          : absolute;
    top               : 50%;
    left              : 50%;
    transform         : translate(-50%, -50%);
    -webkit-transform : translate(-50%, -50%);
    -ms-transform     : translate(-50%, -50%);
    height            : 85%;
    width             : 100%;
    max-width         : 90%;
    display           : flex;
    z-index           : 1;
}

.banner-section .title_ct img {
    height    : 100%;
    margin    : 0 auto;
    max-width : 100%;
}

.banner-section-scroll {
    position : relative;
}

.banner-section-scroll::before {
    position          : absolute;
    top               : -75px;
    left              : 50%;
    transform         : translateX(-50%);
    -webkit-transform : translateX(-50%);
    -ms-transform     : translateX(-50%);
    content           : 'Scroll down';
    z-index           : 3;
}

.banner-section-scroll::after {
    position          : absolute;
    top               : -32px;
    left              : 50%;
    transform         : translateX(-50%);
    -webkit-transform : translateX(-50%);
    -ms-transform     : translateX(-50%);
    content           : '';
    width             : 1px;
    height            : 64px;
    background-color  : #d5d5d5;
    z-index           : 3;
}

.main-header.header-style-four .search-box-outer {
    border  : none;
    padding : 0;
}

body:not(.page-template-home-04) .header-style-four {
    position : relative;
}

.services-section-three .inner-box .icon-box {
    display         : flex;
    align-items     : center;
    justify-content : center;
}

.services-section-three .owl-stage-outer {
    position : static;
    padding  : 20px 0;
}

.services-section-three .owl-theme .facility-block {
    margin : 0 15px;
}

.services-section-three .facility-block .inner-box {
    box-shadow : 0 0 15px rgba(0, 0, 0, 0.10);
}

.widget-services .owl-nav {
    display : none;
}

/* Button */

.btn02 > path:first-child, .btn02 > path:nth-child(2) {
    fill         : none;
    stroke-width : 1px;
}

.btn02 > path:first-child {
    stroke : #aaaaaa;
}

.btn02 > path:nth-child(2) {
    transition                 : stroke-dashoffset .45s;
    transition-timing-function : linear;
    stroke                     : var(--main-color);
    stroke-dasharray           : 120;
    stroke-dashoffset          : 120;
    stroke-linejoin            : bevel;
    fill                       : none;
    stroke-width               : 1px;
}

.btn02 .st1 {
    transition                 : transform .45s;
    transition-timing-function : linear;
    fill                       : var(--main-color);
}

.button-link .button-g {
    display     : flex;
    align-items : center;
    gap         : 10px;
    color       : var(--dark-color);
}

.button-link:hover .btn02 > path:nth-child(2) {
    stroke-dashoffset                  : 0;
    -webkit-transition-timing-function : cubic-bezier(.785, .135, .15, .86);
    transition-timing-function         : cubic-bezier(.785, .135, .15, .86);
}

.button-link:hover .st1 {
    transition-timing-function : cubic-bezier(0, .58, .58, 1);
    transform                  : translateX(.2rem);
}

/* Blog style 2 */
.news-section-02 .inner {
    z-index         : 2;
    position        : relative;
    display         : -webkit-box;
    display         : -ms-flexbox;
    display         : flex;
    margin          : 0 0 2vw 0;
    justify-content : space-between;
    align-items     : flex-end;
}

.news-section-02 .inner .box-hd .box-hd-Tl {
    padding-bottom : 1vw;
    font-size      : 2.6rem;
    line-height    : 1;
}

.news-section-02 .inner .box-hd .box-hd-TlSub {
    font-size : 12px;
    display   : block;
}

.news-section-02 {
    position   : relative;
    top        : 0;
    left       : 0;
    background : #eaeaea;
    padding    : 5vw 10vw 3vw 10vw;
}

.news-section-02 .news-box a {
    display         : block;
    color           : var(--dark-color);
    text-decoration : none;
}

.news-section-02 .news-lead {
    position : relative;
    top      : 0;
    left     : 0;
    margin   : .5vw 0 0 0;
    padding  : 2.5vw 0 0 0;
}

.news-section-02 .hvr span {
    background-image    : linear-gradient(#5a5a5a, #5a5a5a);
    background-position : left 0 bottom 0;
    background-repeat   : no-repeat;
    background-size     : 0 1px;
    font-weight         : bold;
}

.news-section-02 .hvr:hover span {
    transition      : background-size .4s cubic-bezier(.785, .135, .15, .86);
    background-size : 100% 1px;
}

.news-section-02 .news-lead::before {
    position         : absolute;
    top              : 0;
    left             : 0;
    content          : '';
    width            : 100%;
    height           : 1px;
    background-color : #c3c3c3;
}

.news-section-02 .news-lead::after {
    position         : absolute;
    top              : 0;
    left             : 0;
    content          : '';
    width            : 60px;
    height           : 1px;
    background-color : var(--main-color);
}

.news-section-02 .news-date {
    padding   : 1vw 0 2vw 0;
    font-size : 12px;
}