/* Defined colors ---------------------------- */
@font-face {
    font-family: "OpenSans";
    font-weight: normal;
    font-style: normal;
    src: url("../fonts/OpenSans-Regular.ttf") format("truetype");
}

@font-face {
    font-family: "OpenSans";
    font-weight: normal;
    font-style: italic;
    src: url("../fonts/OpenSans-Italic.ttf") format("truetype");
}

@font-face {
    font-family: "OpenSans";
    font-weight: 100;
    font-style: normal;
    src: url("../fonts/OpenSans-Light.ttf") format("truetype");
}

@font-face {
    font-family: "OpenSans";
    font-weight: 100;
    font-style: italic;
    src: url("../fonts/OpenSans-LightItalic.ttf") format("truetype");
}

@font-face {
    font-family: "OpenSans";
    font-weight: 300;
    font-style: normal;
    src: url("../fonts/OpenSans-Semibold.ttf") format("truetype");
}

@font-face {
    font-family: "OpenSans";
    font-weight: 300;
    font-style: italic;
    src: url("../fonts/OpenSans-SemiboldItalic.ttf") format("truetype");
}

@font-face {
    font-family: "OpenSans";
    font-weight: 700;
    font-style: normal;
    src: url("../fonts/OpenSans-Bold.ttf") format("truetype");
}

@font-face {
    font-family: "OpenSans";
    font-weight: 700;
    font-style: italic;
    src: url("../fonts/OpenSans-BoldItalic.ttf") format("truetype");
}

*:focus {
    outline: none;
}

:root {
    --primary-color: #059456;
    --secondary-color: #d1b786;
    --text-color: #333;
    --bg-color: #fff;
    --red-color: #f00;
    --green-color: #0f0;
    --blue-color: #0088b8;
}

/* General ---------------------------- */
body {
    background: var(--bg-color) none repeat scroll 0 0;
    font-family: "OpenSans", sans-serif;
    line-height: 1.6;
    color: var(--text-color);
    font-weight: normal;
    font-size: 14px;
}

a:visited,
a {
    color: var(--primary-color);
    text-decoration: none;
    transition: all 0.3s;
}

a:hover, a:focus, a:active {
    color: #666;
    text-decoration: none;
}

*:focus, *:active {
    outline: none;
}

p {
    margin-top: 0;
    margin-bottom: 10px;
}

.site-content {
    margin-top: 20px;
}

.page-template-corporate-medical .site-content {
    margin-top: 0;
}

.single.woocommerce-page .site-content,
.archive.woocommerce-page .site-content,
.container {
    width: 1280px;
    padding-left: 10px;
    padding-right: 10px;
    margin: 0 auto;
    clear: both;
}

.woocommerce-pagination {
    margin-bottom: 20px;
}

.single.woocommerce-page .site-content,
.archive.woocommerce-page .site-content {
    overflow: hidden;
    padding-top: 20px;
}

@media only screen and (min-width: 1200px) {
    .site-content > .sidebar {
        width: 300px;
        float: right;
    }

    .site-content > .content-area {
        width: calc(100% - 320px);
        float: left;
    }
}

.content-404 {
    min-height: 300px;
}

.error404 .site-iner {
    min-height: 500px;
}

.c-left {
    width: 70%;
    float: left;
}

.c-right {
    width: 30%;
    float: right;
    padding-left: 40px;
}

.box-margin {
    margin-bottom: 30px;
}

input, textarea, iframe, figure, embed, table, img {
    max-width: 100% !important;
}

input:focus, textarea:focus, a:focus, button:focus {
    outline: none;
}

.woocommerce ul.products li.product .price ins {
    font-weight: 300;
}

.woocommerce #respond input#submit.alt, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt {
    height: 46px;
    line-height: 26px;
}

.woocommerce-checkout-payment .btn-back-cart {
    vertical-align: bottom;
    display: inline-block;
}

.woocommerce-checkout-payment .btn-back-cart,
.wc-proceed-to-checkout .btn-continue-shopping,
form input[type="submit"], form input[type="reset"], .site .button, .site button.submit {
    background-color: var(--primary-color) !important;
    border: none !important;
    border-radius: 0;
    color: var(--bg-color) !important;
    font-weight: 300 !important;
    text-transform: uppercase;
    font-size: 16px;
    line-height: 26px;
    width: auto !important;
    padding: 10px 50px !important;
    font-family: "OpenSans", sans-serif;
    cursor: pointer;
    transition: all 0.3s;
}

.site .button.outline {
    background-color: #fff !important;
    border: 2px solid var(--text-color) !important;
    color: #222 !important;
    display: inline-block;
}

.site .button.outline:hover {
    background-color: var(--primary-color) !important;
    color: #fff !important;
}

.woocommerce-checkout-payment .btn-back-cart:hover,
.wc-proceed-to-checkout .btn-continue-shopping:hover,
form input[type="submit"]:hover, .site .button:hover, .site button.submit:hover {
    background-color: var(--secondary-color) !important;
}

.wc-proceed-to-checkout .btn-continue-shopping {
    display: block;
    text-align: center;
}

form input[type="reset"] {
    background-color: var(--secondary-color) !important;
}

form input:not([type="submit"]):not([type="reset"]):not([type="radio"]):not([type="checkbox"]):not([type="file"]),
form select,
form textarea {
    background-color: #fff;
    color: var(--text-color);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) inset;
    border: 1px solid #ddd;
    height: 36px;
    padding: 0 10px;
    max-width: 100%;
    font-style: normal;
    font-size: 14px;
    border-radius: 0;
    width: 100%;
}

form input:not([type="submit"]):not([type="reset"]):not([type="radio"]):not([type="checkbox"]):not([type="file"]):focus,
form select:focus,
form textarea:focus {
    border: 1px solid #0095cf;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

form textarea {
    min-height: 100px;
    padding: 5px 10px;
}

input[type="checkbox"], input[type="radio"] {
    position: static;
}

.search-form {
    width: 300px;
    max-width: 100%;
}

.search-form * {
    height: 40px !important;
    margin-bottom: 0;
}

.header-search-form .search-form * {
    height: 30px !important;
}

.search-form label {
    width: 84% !important;
}

.search-form .search-field {
    border: none;
    padding: 5px 10px;
    font-weight: normal;
    font-size: 13px !important;
    border-radius: 0 !important;
}

.search-form .search-submit {
    background: var(--primary-color) none no-repeat scroll center center / 22px auto;
    border: 1px solid var(--primary-color);
    color: #fff !important;
    padding: 0 !important;
    text-align: center;
    text-transform: uppercase;
    text-shadow: none;
    width: 16% !important;
    font-weight: normal;
    font-size: 16px !important;
    border-radius: 0 !important;
    font-family: FontAwesome;
}

button, input[type="button"], input[type="reset"], input[type="submit"] {
    border-radius: 0 !important;
}

.site h1, .site h2, .site h3, .site h4, .site h5, .site h6 {
    font-weight: 600;
    line-height: 1.6;
    margin: 20px 0 10px;
    clear: none;

}

.site h1 {
    font-size: 22px;
}

.site h2 {
    font-size: 20px;
}

.site h3 {
    font-size: 18px;
}

.site h4 {
    font-size: 16px;
}

.site h5 {
    font-size: 15px;
}

.site h6 {
    font-size: 14px;
}

.post-thumbnail {
    display: block;
    text-align: center;
}

.post-thumbnail .no-thumbnail-text {
    line-height: 150px;
    font-size: 20px;
    text-transform: uppercase;
    color: #999;
    box-shadow: 0 0 50px #eee inset;
    display: block;
}

.post-thumbnail img {
    width: 100%;
    display: block;
}

h2.entry-title {
    font-size: 15px;
    font-weight: 600;
    line-height: 25px;
    margin-top: 0;
    margin-bottom: 10px;
}

h2.entry-title a {
    color: #333;
}

h2.entry-title a:hover {
    color: #0095cf;
}

.entry-excerpt {
    font-size: 14px;
    line-height: 24px;
    color: #666;
    text-align: justify;
}

.hloop .post-thumbnail {
    background-color: #fff;
    display: block;
    overflow: hidden;
    position: relative;
}

.hloop .post-thumbnail img {
    transition: all .5s;
    width: 100%;
}

.hloop:hover .post-thumbnail img {
    transform: scale(1.2, 1.2);
}

.list-socials {
    margin: 0;
    padding: 0;
    text-align: center;
    overflow: hidden;
}

.list-socials li {
    display: inline-block;
    margin: 2px 3px;
    list-style: none;
    vertical-align: middle;
}

.list-socials li a {
    display: block;
    border-radius: 50%;
    overflow: hidden;
}

.list-socials li a {
    display: block !important;
    margin: 0;
    background-color: #555555;
    color: #fff;
    width: 40px;
    height: 40px;
    text-align: center;
    font-weight: normal;
    line-height: 40px;
}

.list-socials li a:hover, .list-socials li a:focus, .list-socials li a:active {
    text-decoration: none;
}

.list-socials li a i {
    display: block;
    line-height: 40px;
    font-size: 22px;
}

.list-socials li a i.fa {
    font-weight: normal;
}

.list-socials li a img {
    height: 100%;
    width: 100%;
}

.fa-google-plus-g::before {
    content: "\f0d5";
}

.list-socials li.social-item.facebook a {
    background-color: #3b5997;
}

.list-socials li.social-item.twitter a {
    background-color: #28c3f0;
}

.list-socials li.social-item.youtube a {
    background-color: #f62d3a;
}

.list-socials li.social-item.google a {
    background-color: #e83e2e;
}

.list-socials li.social-item.instagram a {
    background-color: #db4a8c;
}

.list-socials li.social-item.zalo a {
    background-color: #359bd4;
    font-size: 20px;
    position: relative;
    overflow: hidden;
    border-radius: 3px;
    width: 30px;
    height: 30px;
}

.list-socials li.social-item.zalo a i {
    position: relative;
    top: -6px;
    right: -5px;
    font-size: 32px;
    transform: rotate(10deg);
}

.list-socials li.social-item.zalo a span.text {
    position: absolute;
    color: #359bd4;
    top: 5px;
    right: 0;
    line-height: 10px;
    font-size: 9px;
    font-weight: bold;
}

.list-socials li.social-item.zalo a:hover {
    text-decoration: none !important;
}

::-moz-placeholder {
    font-style: italic;
    color: #666;
    font-weight: normal;
}

::-webkit-input-placeholder {
    font-style: italic;
    color: #666;
    font-weight: normal;
}

:-ms-input-placeholder {
    font-style: italic;
    color: #666;
    font-weight: normal;
}

.main-slider {
    overflow: hidden;
}

.main-slider .metaslider .flexslider {
    margin-bottom: 0;
    position: relative;
    border-radius: 0;
}

.main-slider .metaslider .flexslider ul.slides li {
    position: relative;
}

.main-slider .metaslider .flexslider .flex-control-nav {
    position: absolute;
    bottom: 10px;
    z-index: 10;
    padding: 0;
    left: 0;
    text-align: center;
    width: 100%;
}

.main-slider .metaslider .flexslider .flex-control-paging li {
    vertical-align: middle;
}

.main-slider .metaslider .flexslider .flex-control-paging li a {
    background: rgba(255, 255, 255, 1) none repeat scroll 0 0;
    border: 2px solid #fff;
    box-shadow: 0 0 2px #333 inset !important;
    border-radius: 50%;
    width: 13px;
    height: 13px;

}

.main-slider .metaslider .flexslider .flex-control-paging li a.flex-active {
    background: var(--primary-color) none repeat scroll 0 0;
    width: 16px;
    height: 16px;
}

.main-slider .metaslider .caption-wrap {
    opacity: 1;
    background-color: rgba(0, 0, 0, 0.6);
    font-size: 13px;
    padding: 10px;
}

.custom-thumbs-slider > * {
    margin: 0;
    padding: 0;
    max-width: none !important;
}

.slick-dots {
    bottom: 10px;
}

.slick-dots li button::before {
    font-size: 14px;
    color: #fff;
    opacity: 1;
    text-shadow: 0 0 2px rgba(0, 0, 0, 0.8);
}

.slick-dots li.slick-active button:before {
    color: var(--primary-color);

}

.hocwp-menu:not(.mobile-menu) ul {
    margin: 0;
    padding: 0;
}

.hocwp-menu:not(.mobile-menu) li {
    list-style: none;
}

.hocwp-menu:not(.mobile-menu) li a {
    color: #333;
    display: inline-block;
    font-size: 14px;
}

.hocwp-menu:not(.mobile-menu) > li {
    float: left;
}

.hocwp-menu:not(.mobile-menu) > li > a {
    padding: 0 15px;
}

.hocwp-menu:not(.mobile-menu) .sub-menu {
    background-color: #fff;
    display: none;
    position: absolute;
    top: 0;
    left: 100%;
    min-width: 200px;
    z-index: 10;
    width: auto;
    max-width: none;
    padding-top: 5px;
    padding-bottom: 5px;
}

.hocwp-menu:not(.mobile-menu) > li > .sub-menu {
    top: 100%;
    left: 0;
}

.hocwp-menu:not(.mobile-menu) li.menu-item-has-children {
    position: relative;
}

.site-header .hocwp-menu:not(.mobile-menu) {
    position: relative;
}

.hocwp-menu:not(.mobile-menu) li.menu-item-has-children.full-sub {
    position: static;
}

.primary-menu-area .hocwp-menu:not(.mobile-menu) .full-sub > .sub-menu {
    width: 100%;
    border: 1px solid #ddd;
    border-radius: 6px;
    padding: 10px 0;
}

.primary-menu-area .hocwp-menu:not(.mobile-menu) .full-sub > .sub-menu li {
    display: inline-block;
    width: 20%;
    margin: 0 30px;
}

.primary-menu-area .hocwp-menu:not(.mobile-menu) .full-sub .sub-menu li:nth-child(-n+4) {
    border-top: none;
}

.primary-menu-area .hocwp-menu:not(.mobile-menu) .full-sub .sub-menu li a {

}

.hocwp-menu:not(.mobile-menu) li.menu-item-has-children:hover > .sub-menu {
    display: block;
}

.hocwp-menu:not(.mobile-menu) .sub-menu li a {
    color: #333;
    display: block;
    padding: 7px 15px;
}

.slick-prev, .slick-next {
    top: 50%;
    margin-top: -10px;

}

.slick-prev {
    left: 0 !important;
    z-index: 2;
}

.slick-next {
    right: 0 !important;
    z-index: 2;
}

.slick-prev::before, .slick-next::before {
    color: #666 !important;
}

.hocwp-slider {
    display: none;
    margin-bottom: 20px !important;
}

.hocwp-slider .slick-prev, .hocwp-slider .slick-next {
    opacity: 0;
    transition: all 0.3s;
}

.hocwp-slider .slick-prev {
    left: 10px !important;
}

.hocwp-slider .slick-next {
    right: 10px !important;
}

.hocwp-slider:hover .slick-prev, .hocwp-slider:hover .slick-next {
    opacity: 1;
}

.hwp-sidebar .widget, .sidebar .widget {
    margin-bottom: 20px;
    line-height: 1.6 !important;
}

.hwp-sidebar .widget .widget-title, .sidebar .widget .widget-title {
    text-align: left;
    border-top: 2px solid #ddd;
    font-size: 16px;
    background-color: #f5f5f5;
    text-transform: uppercase;
    margin-bottom: 20px;
}

.hwp-sidebar .widget .widget-title *, .sidebar .widget .widget-title * {
    display: inline-block;
    padding: 10px;
    border-top: 2px solid var(--primary-color);
    position: relative;
    top: -2px;
    color: #666;
}

.hwp-sidebar .widget ul, .hwp-sidebar .widget ol, .sidebar .widget ul, .sidebar .widget ol {
    padding-left: 20px;
    margin-left: 0;
}

.hwp-sidebar .widget:not(.hocwp-widget-post):not(.woocommerce) ul li, .hwp-sidebar .widget:not(.hocwp-widget-post):not(.woocommerce) ol li,
.sidebar .widget:not(.hocwp-widget-post):not(.woocommerce) ul li, .sidebar .widget:not(.hocwp-widget-post):not(.woocommerce) ol li {
    margin-bottom: 10px;
    list-style: circle;
    color: #333;
    margin-left: 17px;
}

.hwp-sidebar .widget a, .sidebar .widget a {
    color: #333;
}

.hwp-sidebar .widget a:hover, .sidebar .widget a:hover {
    color: var(--primary-color);
}

.hwp-sidebar .widget.hocwp-widget-post ul, .sidebar .widget.hocwp-widget-post ul {
    padding: 0;
    list-style: none;
}

.hwp-sidebar .widget.hocwp-widget-post ul li, .sidebar .widget.hocwp-widget-post ul li {
    list-style: none;
}

.hwp-sidebar .widget.hocwp-widget-post .loop-post .post-link:not(.img-hyperlink),
.sidebar .widget.hocwp-widget-post .loop-post .post-link:not(.img-hyperlink) {
    font-weight: 300;
    margin-bottom: 5px;
    display: block;
    font-size: 14px;
}

.hwp-sidebar .widget.hocwp-widget-post .loop-post .entry-summary, .sidebar .widget.hocwp-widget-post .loop-post .entry-summary {
    font-size: 12px;
    color: #666;
    margin-top: 0;
}

.hwp-sidebar .widget.hocwp-widget-post .loop-post .entry-meta, .sidebar .widget.hocwp-widget-post .loop-post .entry-meta {
    font-size: 12px;
}

.sidebar .widget .wp-block-latest-comments__comment,
.sidebar .widget {
    line-height: 19px;
}

.sidebar .widget li {
    margin-bottom: 10px;
}

.site {
    overflow: hidden;
}

.woocommerce ul.cart_list li a, .woocommerce ul.product_list_widget li a {
    font-weight: 300;
}

/* Site header ---------------------------- */
body:not(.home) .site-header {
    box-shadow: 0 4px 3px -3px rgb(0 0 0 / 10%);
    margin-bottom: 20px;
    position: relative;
    z-index: 2;
}

.top-header-area {
    background-color: #fff;
    color: #333;
    border-bottom: 1px solid #ddd;
    font-size: 13px;
    line-height: 13px;
    position: relative;
    z-index: 1;
}

.contact-menus {
    float: left;
}

.contact-menus .menu > li {
    padding: 8px 0 9px;
    float: left;
}

.contact-menus .menu > li > a {
    color: #333;
    font-size: 12px;
    padding: 0 20px;
    line-height: 16px;
}

.contact-menus .menu li a i {
    margin-right: 5px;
    color: #ec2023;
}

.contact-menus .menu li a span {
    color: #ec2023;
}

.contact-menus .menu > li:first-child > a {
    padding-left: 0;
}

.contact-menus .menu .sub-menu {
    background-color: #eee;
    padding: 0;
    min-width: 220px;
}

.contact-menus .menu .sub-menu li {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.contact-menus .menu .sub-menu li:last-child {
    border-bottom: none;
}

.contact-menus .menu .sub-menu li a {
    color: #333;
    font-size: 13px;
    line-height: 20px;
}

.contact-menus .menu .sub-menu li a:hover {
    text-decoration: underline;
}

.top-menus {
    float: left;
}

.top-menus .menu > li {
    padding: 10px 0;
}

.top-menus .menu > li > a {
    padding: 0 15px;
    border-right: 1px solid #333;
}

.top-menus .menu > li:last-child > a {
    border-right: none;
}

.top-menus .menu .sub-menu {
    padding: 0;
    box-shadow: 0 2px 3px rgba(0, 0, 0, 0.3);
}

.top-menus .menu .sub-menu li {
    border-top: 1px solid #ddd;
}

.top-menus .menu .sub-menu li a {
    padding: 10px 20px;
    display: block;
}

.top-menus .menu .sub-menu li a:hover {
    color: #0095cf;
}

.header-social {
    float: right;
}

.header-social > * {
    float: right;
}

.header-social .list-socials li {
    margin: 4px 3px;
}

.header-social .list-socials li a {
    background-color: #fff !important;
    color: #333 !important;
    height: 26px;
    width: 26px;
    line-height: 26px;
}

.header-social .list-socials li a:hover {
    color: #ec2023 !important;
}

.header-social .list-socials li a i {
    font-size: 16px;
    line-height: 26px;
}

.header-social .list-socials li.zalo {
    display: none;
}

.header-search-form {
    float: right;
}

.site-branding {
    float: left;
}

.site-branding img {
    max-height: 80px;
    width: auto;
}

.site-branding .site-title {
    margin-top: 20px;
    margin-bottom: 20px;
}

.site-branding .site-title a {
    display: block;
}

.site-branding .site-description {
    display: none;
}

.header-menu {
    float: right;
}

.primary-menu-area {

}

.primary-menu-area .menu:not(.mobile-menu) li a {
    color: #333;
    font-size: 13px;
    font-weight: normal;
}

.primary-menu-area .menu:not(.mobile-menu) > li {
    padding: 10px 17px;
}

.primary-menu-area .menu:not(.mobile-menu) > li > a {
    padding: 0;
    font-size: 17px;
    font-weight: 300;
    text-transform: uppercase;
    color: #333;
    line-height: 26px;
}

.primary-menu-area .menu:not(.mobile-menu) > li:first-child, .primary-menu-area .menu:not(.mobile-menu) > li.first-item {
    padding-left: 0;
}

.primary-menu-area .menu:not(.mobile-menu) > li:last-child {
    padding-right: 0;
}

.primary-menu-area .menu:not(.mobile-menu) > li.menu-item-has-children > a {
    position: relative;
    padding-right: 23px;
}

.primary-menu-area .menu:not(.mobile-menu) > li.menu-item-has-children > a::after {
    position: absolute;
    right: 10px;
    top: 0;
    font-size: 13px;
    color: #666;
    content: "\f107";
    font-family: FontAwesome;
}

.primary-menu-area .menu:not(.mobile-menu) > li:hover > a, .primary-menu-area .menu:not(.mobile-menu) > li.current-menu-item > a {
    color: var(--primary-color);
}

.primary-menu-area .menu:not(.mobile-menu) > li.menu-item-has-children:hover > a::after {
    color: var(--primary-color);
}

.primary-menus .menu:not(.mobile-menu) > li:hover > .sub-menu {
    display: block;
}

.primary-menus .menu:not(.mobile-menu) > li > .sub-menu {
    left: 0;
}

.primary-menus .menu:not(.mobile-menu) .sub-menu {
    background-color: rgba(255, 255, 255, 1);
    border: none;
    box-shadow: 0 2px 3px rgba(0, 0, 0, 0.3);
    border-radius: 0;
    padding: 0;
    min-width: 220px;
}

.primary-menus .menu:not(.mobile-menu) .sub-menu li {
    border-top: 1px solid #ddd;
}

.primary-menu-area .menu:not(.mobile-menu) .sub-menu li a {
    font-size: 14px;
    line-height: 24px;
    color: #333;
    padding: 6px 15px;
}

.primary-menu-area .menu:not(.mobile-menu) .sub-menu li a:hover {
    background-color: var(--primary-color);
    color: #fff;
}

.primary-menu-area .search-item {
    display: none !important;
}

.main-slider .slick-slide img {
    width: 100%;
}

.slider-banner-area .main-slider {
    flex-basis: 69%;
    max-width: 69%;
}

.slider-banner-area .main-slider .details {
    margin-top: 10px;
}

.slider-banner-area .main-slider .details p:last-child {
    margin-bottom: 0;
}

.slider-banner-area .banner-slide {
    margin-left: auto;
    flex-basis: 29%;
    max-width: 29%;
}

.slider-banner-area .banner-slide img {
    display: block;
}

.slider-banner-area .banner-slide .widget {

}

.slider-banner-area .banner-slide .widget:last-child {
    margin-bottom: 0;
}

.slider-banner-area .main-slider .hocwp-slider {
    margin-bottom: 0 !important;
}

.menu-opened .slider-banner-area .main-slider .hocwp-slider {
    z-index: 0;
}

.slider-banner-area .main-slider .slick-dots {
    bottom: auto;
    top: 100%;
}

/* Header mini cart ----------------------------------*/

.site-header-cart {
    position: relative;
    list-style: none;
    margin: 0;
    padding: 0;
}

.site-header-cart > li:first-child {
    position: relative;
    text-transform: uppercase;
    font-weight: 300;
    letter-spacing: 2px;
}

.site-header-cart i {
    font-size: 20px;
    cursor: pointer;
}

.site-header-cart .count-number {
    background-color: var(--red-color);
    border-radius: 50%;
    color: #fff;
    width: 20px;
    height: 20px;
    display: block;
    text-align: center;
    font-size: 11px;
    line-height: 20px;
    position: absolute;
    top: -11px;
    left: calc(100% - 10px);
    font-weight: normal;
}

.site-header-cart .widget_shopping_cart {
    position: absolute;
    width: 300px;
    top: 100%;
    left: 0;
    z-index: 499;
    display: none;
    background: #fff;
    padding: 10px;
    border: 1px solid #ddd;
}

.site-header-cart:hover .widget_shopping_cart {
    display: block;
}

.header-search-form,
.site-header-cart > li:first-child {
    margin: 5px 0;
}

.logo-header-area > .container > .d-flex {
    align-items: center;
}

.logo-header-area .right-logo {
    margin-left: auto;
}

.header-search-form {
    margin-right: 100px;
}

.right-logo .mini-cart {
    align-items: center;
}

.woocommerce .site-header-cart ul.cart_list li a:not(.remove),
.woocommerce .site-header-cart ul.product_list_widget li a:not(.remove),
.site-header-cart .widget_shopping_cart li a:not(.remove) {
    font-weight: 600 !important;
    text-transform: none !important;
    color: var(--primary-color);
    line-height: 17px;
    font-size: 13px;
}

.site-header-cart .widget_shopping_cart .buttons a {
    display: block;
    margin-right: 0;
    text-transform: uppercase;
    text-align: center;
}

.site-header-cart .widget_shopping_cart li:not(:last-child) {
    border-bottom: 1px solid #eee;
    margin-bottom: 10px;
}

.site-header-cart .widget_shopping_cart li .quantity,
.site-header-cart .widget_shopping_cart li .price,
.site-header-cart .widget_shopping_cart li .amount {
    font-size: 12px;
}

.site-header-cart .widget_shopping_cart .total .amount {
    font-weight: 700;
}

/* Home ----------------------------------*/

.site .box-title, .hwp-widget .widget:first-child .widget-title, .home-widget .widget .widget-title {
    font-size: 18px;
    line-height: 28px;
    text-transform: none;
    font-weight: 700;
    margin-top: 0;
    margin-bottom: 30px;
    color: #333;
    text-align: center;
}

.site .box-title {
    text-transform: uppercase;
}

.box-title.bordered {
    text-align: left;
    position: relative;
}

.box-title.bordered.text-center {
    text-align: center;
}

.box-title.bordered:after {
    content: "";
    width: 100%;
    height: 1px;
    background-color: #ddd;
    left: 0;
    right: 0;
    top: 50%;
    position: absolute;
    z-index: 399;
    transform: translate(0, -50%);
}

.box-title.bordered span {
    background-color: #fff;
    display: inline-block;
    position: relative;
    z-index: 499;
    padding-right: 10px;
}

.box-title.bordered.text-center span {
    padding-left: 10px;
}

.hwp-widget .widget .textwidget {
    text-align: justify;
}

.hwp-widget .widget:first-child {
    width: 100%;
    clear: both;
    float: none;
    padding: 0;
    margin-bottom: 30px;
}

.btn-default {
    background-color: var(--primary-color);
    color: #fff !important;
    font-weight: 300;
    font-size: 15px;
    text-transform: none;
    padding: 7px 50px;
    display: table;
    width: auto;
    margin: 30px auto 0;
    text-align: center;
}

.btn-red {
    background-color: var(--secondary-color);
}

.btn-default:hover, .btn-default:focus, .btn-default:active {
    background-color: #999;
    color: #fff;
}

button[type="submit"] {
    cursor: pointer;
    border: none;
    font-weight: 600;
}

.home-banner image {
    display: block;
    margin: 0 auto;
}

.home-banner a {
    display: block;
    text-align: center;
}

.box-loop-news .loop-post-custom {
    width: 60%;
    float: left;
}

.box-loop-news .loop-post-custom h2.entry-title {
    margin: 10px 0;
    font-size: 16px;
}

.box-loop-news .loop-post-custom .post-meta {
    display: none !important;
}

.box-loop-small {
    width: 40%;
    float: right;
}

.box-loop-small .loop-grid {
    padding: 0 30px;
    margin-bottom: 30px;
    width: 100%;
}

.box-loop-small .loop-grid h2.entry-title {
    font-size: 12px;
    line-height: 18px;
}

.cat-banner-widget .recent-title {
    text-align: left;
}

.cat-banner-widget .widget:not(:first-child) {
    width: 330px;
    float: right;
    clear: right;
    margin-bottom: 0;
    margin-top: 20px;
}

.cat-banner-widget .widget:nth-child(2) {
    margin-top: 40px;
}

.cat-banner-widget .widget:first-child {
    width: calc(100% - 330px);
    float: left;
}

.box-loop-news .box-loop-small .loop-grid {
    margin-bottom: 30px;
}

.box-loop-video {
    margin: 0 -15px 40px;
}

.box-loop {
    border-top: 2px solid #eee;
    margin-bottom: 30px;
    padding-top: 30px;
}

.box-loop-video .loop-video {
    width: 33.3%;
    float: left;
    padding: 0 20px;
    margin-bottom: 30px;
}

.box-loop-video .loop-video:nth-child(3n+1) {
    clear: both;
}

.box-loop-video .loop-video .video-iframe iframe {
    width: 100%;
    outline: none;
    margin: 0;
    padding: 0;
    border: none;
}

.loop-video h2.entry-title {
    margin-bottom: 0;
    margin-top: 10px;
    text-align: center;
}

.box-loop-image {
    margin: 0 -10px 30px;
}

.box-loop-image .loop-image {
    float: left;
    padding: 0 10px;
    margin-bottom: 20px;
}

.box-loop-image .loop-image h2.entry-title {
    margin-bottom: 0;
    margin-top: 10px;
    font-weight: normal;
    text-align: center;
    height: 25px;
    overflow: hidden;
    font-size: 14px;
    display: none;
}

/*
.box-loop-image .loop-image:nth-child(2n+1) {
    width: 26%;
}

.box-loop-image .loop-image:nth-child(2n) {
    width: 16%;
}

.box-loop-image .loop-image:nth-child(5n+1) {

    clear: both;
}

.box-loop-image .loop-image:nth-child(5n+5) {
    width: 16%;
}
*/
.box-loop-image .loop-image .post-thumbnail img {
    display: block;
    margin-right: auto;
    margin-left: auto;
    height: 190px;
    max-width: none !important;
    width: auto;
}

.box-loop-image .loop-image .post-thumbnail {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}

/* Home icons ----------------------------------*/

.home-icons .d-flex {
    margin-left: -15px;
    margin-right: -15px;
}

.home-icons .widget {
    flex-basis: 33.33%;
    max-width: 33.33%;
    padding: 15px;
}

.home-icons .widget:first-child {
    text-align: center;
    flex-basis: 100%;
    max-width: 100%;
}

.home-icons .widget:first-child .widget-title {
    font-size: 18px;
    text-transform: uppercase;
}

.home-icons .icon-wrapper {
    background-color: var(--primary-color);
    display: flex;
    float: left;
    width: 100px;
    height: 100px;
    margin-right: 15px;
    border-radius: 50%;
    text-align: center;
    vertical-align: middle;
    align-items: center;
    align-content: center;
    flex-wrap: nowrap;
    justify-content: center;
    transition: all 0.3s;
}

.home-icons .icon-wrapper:hover {
    background-color: var(--secondary-color);
}

.home-icons .icon-wrapper > * {
    color: #fff;
    font-size: 40px;
}

.home-icons .icon-box .widget-title {
    font-size: 16px;
}

/* WooCommerce -------------------------------*/

.woocommerce ul.products li.product .woocommerce-loop-category__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h3 {
    font-size: 14px;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    min-width: 0 !important;
    line-height: 1.6;
    font-weight: 400;
    margin-top: 10px;
    margin-bottom: 5px;
    padding: 0;
}

.woocommerce ul.products li.product a,
.woocommerce ul.products li.product .woocommerce-loop-category__title a,
.woocommerce ul.products li.product .woocommerce-loop-product__title a,
.woocommerce ul.products li.product h3 a {
    color: #222;
    text-decoration: none;
}

.woocommerce ul.products li.product a img {
    margin-bottom: 0;
}

.woocommerce ul.products li.product .price,
.woocommerce .loop .star-rating::before, .woocommerce .loop .star-rating span::before {
    color: #222;
}

.woocommerce ul.products li.product .price {
    font-size: 16px;
    font-weight: 300;
}

.sidebar .widget del .amount,
.woocommerce div.product p.price del .amount,
.woocommerce div.product span.price del .amount,
.woocommerce ul.products li.product .price del .amount,
.woocommerce ul.products li.product .price del {
    color: #666;
    font-size: 12px;
    font-weight: 400;
}

.sidebar .widget del + ins,
.woocommerce ul.products li.product .price del + ins {
    margin-left: 3px;
}

.amount {
    color: var(--red-color);
}

.woocommerce ul.products li.product .price .woocommerce-Price-currencySymbol {
    font-weight: 300;
    font-size: 12px;
}

.woocommerce ul.products li.product .price del .woocommerce-Price-currencySymbol {
    font-weight: normal;
    font-size: 12px;
}

.sidebar .product_list_widget li:not(:last-child) {
    margin-bottom: 10px;
    border-bottom: 1px dashed #eee;
    padding-bottom: 10px;
}

.woocommerce ul.products {
    margin: 0 -15px;
}

.woocommerce ul.products li.product {
    padding: 0 15px;
}

.woocommerce ul.products li.product .terms {
    font-size: 12px;
    margin-bottom: 2px;
    display: none;
}

.woocommerce ul.products li.product .terms a {
    color: #595959;
}

.woocommerce ul.products li.product, .woocommerce-page ul.products li.product {
    margin-bottom: 20px;
}

.woocommerce ul.products li.product:not(.last),
.woocommerce-page ul.products li.product:not(.last) {
    margin-right: 0;
}

.woocommerce ul.products.columns-1 li.product, .woocommerce-page ul.products.columns-1 li.product {
    margin-right: 0 !important;
}

.woocommerce ul.products.columns-2 li.product,
.woocommerce-page ul.products.columns-2 li.product {
    width: 50%;
}

.woocommerce ul.products.columns-3 li.product,
.woocommerce-page ul.products.columns-3 li.product {
    width: 33.3%;
}

.woocommerce ul.products.columns-4 li.product,
.woocommerce-page ul.products.columns-4 li.product {
    width: 25%;
}

.woocommerce ul.products.columns-5 li.product,
.woocommerce-page ul.products.columns-5 li.product {
    width: 20%;
}

.woocommerce ul.products.columns-6 li.product,
.woocommerce-page ul.products.columns-6 li.product {
    width: 16.6%;
}

.woocommerce div.product form.cart .button {
    line-height: 36px;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.sidebar .widget .wp-block-search .wp-block-search__label {
    display: none;
}

.sidebar .widget .wp-block-search .wp-block-search__input {
    min-width: 170px;
    max-width: 200px !important;
}

.woocommerce div.product h1.product_title {
    line-height: 30px;
    font-size: 18px;
    font-weight: 300;
}

.woocommerce .woocommerce-breadcrumb {
    border-bottom: 1px solid #ddd;
    padding-bottom: 10px;
    margin-bottom: 20px;
}

.woocommerce .products ul, .woocommerce ul.products {

}

.woocommerce-product-rating .woocommerce-review-link {
    color: #888;
}

.woocommerce-product-details__short-description {
    background-color: #f8f8f8;
    font-size: 13px;
    line-height: 1.6;
    color: #666;
    border: 1px solid #eee;
    border-radius: 10px;
    padding: 15px 15px 10px;
    margin-bottom: 20px;
}

.woocommerce .woocommerce-ordering {

}

.single.woocommerce .product_meta {
    font-size: 12px;
}

.single.woocommerce .product_meta a {
    color: #888;
}

.single.woocommerce .product_meta a:hover {
    color: var(--primary-color);
}

.related.products > h2 {
    font-size: 18px;
    margin-bottom: 20px;
    color: var(--secondary-color);
}

.woocommerce #content div.product div.summary, .woocommerce div.product div.summary, .woocommerce-page #content div.product div.summary, .woocommerce-page div.product div.summary {
    margin-top: 0;
}

.woocommerce form .form-row-last .button, .woocommerce-page form .form-row-last .button,
.woocommerce .cart .button, .woocommerce .cart input.button {
    height: 36px;
}

.woocommerce #payment #place_order, .woocommerce-page #payment #place_order {
    font-size: 16px;
}

.woocommerce span.onsale {
    background: #fff;
    color: #333;
    border-radius: 0;
    font-weight: 700;
    padding: 5px 10px;
    line-height: 1;
    top: 10px;
    left: 10px;
    height: auto;
    min-height: 0;
    font-size: 11px;
}

.woocommerce-product-gallery__wrapper {
    max-width: none !important;
}

.woocommerce .cart .quantity .qty {
    height: 46px !important;
}

.product .woocommerce-product-gallery {
    display: flex;
    flex-direction: column-reverse;
}

.product .flex-control-nav {
    display: none;
}

.product .thumb-slider .slick-arrow {
    top: 50%;
    transform: translate(0, -50%);
    margin-top: 0;
}

.woocommerce div.product div.images .thumb-slider img {
    opacity: .5;
    max-height: 80px;
}

.woocommerce div.product div.images .thumb-slider img:hover,
.woocommerce div.product div.images .thumb-slider .slick-current img {
    opacity: 1;
}

.woocommerce ul.cart_list li img, .woocommerce ul.product_list_widget li img {
    width: 72px;
}

/* Product categories -------------------------------*/

.product-cats ul {
    padding: 0;
}

.product-cats ul li {
    display: inline-block;
    width: 32%;
    position: relative;
    margin-bottom: 8px;
}

.product-cats ul li a {
    color: var(--primary-color);
    position: relative;
}

.product-cats ul li a:hover {
    text-decoration: underline;
}

.product-cats ul li a:before {
    content: "";
    width: 6px;
    height: 6px;
    background-color: var(--primary-color);
    display: inline-block;
    border-radius: 50%;
    vertical-align: middle;
    line-height: 1;
    margin-right: 8px;
    margin-top: -2px;
}

/* Home intro -------------------------------*/

.intro-home .banner {
    flex-basis: 45%;
    max-width: 45%;
}

.intro-home .content {
    margin-left: auto;
    flex-basis: 50%;
    max-width: 50%;
}

.intro-home p.text-center {
    margin-top: 30px;
}

.box-header h2 {
    text-transform: uppercase;
    font-size: 18px;
}

/* Home construction posts -------------------------------*/

.home .featured-posts .loop-post-custom {
    flex-basis: 25%;
    max-width: 25%;
    padding: 15px;
}

.home .featured-posts

)
.loop-post-custom .post-thumb {
    display: flex;
}

.home .featured-posts .loop-post-custom .wp-post-image {
    width: 100%;
    object-fit: cover;
    object-position: center;
}

.home .featured-posts .d-flex {
    margin-left: -15px;
    margin-right: -15px;
}

.home .featured-posts .loop-post-custom .entry-title {
    font-size: 16px;
    margin-top: 10px;
    margin-bottom: 10px;
    font-weight: 300;
}

.home .featured-posts .loop-post-custom .entry-title a {
    color: currentColor;
}

/* Home partners -------------------------------*/

.home-partners ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.home-partners li {
    flex-basis: 14.28%;
    max-width: 14.28%;
    text-align: center;
    padding: 10px;
}

/* Home maps -------------------------------*/

.box-margin .text-left,
.home-maps .text-left {
    text-align: left !important;
}

.home-maps iframe {
    width: 100%;
}

/* Single & Page -------------------------------*/
.site-banner img {
    width: 100%;
    display: block;
}

body ins, body mark {
    background-color: transparent;
}

.hocwp-breadcrumb {
    font-size: 13px;
    color: #666;
    margin-bottom: 20px;

}

.hocwp-breadcrumb a {
    color: #666;
}

.hocwp-breadcrumb a:hover, .hocwp-breadcrumb a:focus, .hocwp-breadcrumb a:active {
    color: #333;
    text-decoration: underline;
}

.loop-single h1.entry-title {
    font-size: 20px;
    margin: 0 0 20px;
}

.loop-page h1.entry-title {
    text-align: center;
    color: var(--primary-color);
    margin-top: 20px;
    margin-bottom: 40px;
}

.loop-page h1.entry-title span {
    display: inline-block;
    padding-bottom: 15px;
    position: relative;
}

.loop-page h1.entry-title span::after {
    position: absolute;
    width: 200px;
    border: 3px double #eee;
    height: 3px;
    content: "";
    display: inline-block;
    left: 50%;
    top: 100%;
    margin-left: -100px;
}

.loop-page h1.entry-title span i {
    position: absolute;
    display: inline-block;
    left: 50%;
    top: 100%;
    margin-left: -11px;
    margin-top: -7px;
    z-index: 1;
    color: var(--secondary-color);
}

.loop-single .entry-header .post-meta {
    font-size: 13px;
    margin-bottom: 20px;
    font-weight: normal;
}

.loop-single .entry-header .post-meta > * {
    margin-right: 10px;
}

.loop-single .entry-header .category-post .cp-title {
    margin-right: 5px;
}

.loop-single .entry-header .category-post a {
    color: #333;
}

.loop-single .entry-header .category-post a:hover {
    text-decoration: underline;
}

.entry-content {
    margin-top: 0;
    line-height: 1.8;
    font-size: 14px;
}

.entry-content p {
    text-align: justify;
    line-height: 1.8;
    font-size: 14px;
    margin-bottom: 15px;
}

.entry-content blockquote {
    background: transparent none no-repeat scroll 0 0 !important;
    border: medium none !important;
    color: #666;
    font-size: 14px;
    font-style: italic;
    padding-left: 40px;
    padding-right: 40px;
}

.entry-content img.aligncenter, .entry-content figure, .entry-content iframe, .entry-content embed {
    margin: 20px auto;
    display: table;
    max-width: 100%;
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
    color: #333;
    font-weight: 600;
    margin-top: 20px;
    margin-bottom: 10px;
}

.entry-content h1 {
    font-size: 22px;
}

.entry-content h2 {
    font-size: 20px;
}

.entry-content h3 {
    font-size: 18px;
}

.entry-content h4 {
    font-size: 16px;
}

.entry-content h5 {
    font-size: 15px;
}

.entry-content h6 {
    font-size: 14px;
}

.entry-content .wpcf7-form {
    width: 50%;
    margin: 0 auto;
}

.entry-content .wpcf7-form p.button-control {
    text-align: center;
}

.entry-content .wpcf7-form textarea {
    height: 200px;
}

.tagged_as {
    font-size: 13px;
    line-height: 20px;
    margin-bottom: 30px;
    margin-top: 20px;
}

.tagged_as a {
    color: #999;
}

.tagged_as a:hover {
    text-decoration: underline;
    color: #333;
}

.tagged_as i {
    color: #0095cf;
    margin-right: 5px;
}

.share-tools-box {
    margin: 30px 0 20px;
}

.entry-footer .share-tools-box {
    padding: 15px 0 10px;
    border-top: 1px dashed #ddd;
    border-bottom: 1px dashed #ddd;
}

.share-tools-box .at-icon-wrapper {
    border-radius: 0 !important;
}

.box-loop-related {
    margin: 0 -15px;
}

.box-loop-related .post-item {
    width: 33.3%;
    float: left;
    padding: 0 15px;
    margin-bottom: 30px;
}

.box-loop-related .post-item:nth-child(3n+1) {
    clear: both;
}

.box-loop-related .post-item .post-title {
    display: inline-block;
    margin: 10px 0 0;
    color: #333;
    font-weight: 300;
}

.box-loop-related .post-item .post-title:hover {
    color: var(--primary-color);
}

.page-widget .widget:first-child {
    width: 100%;
    clear: both;
    float: none;
    display: inline-block;
}

.page-widget .widget:first-child .widget-title {
    color: var(--primary-color);
    text-align: center;
    font-size: 18px;
    font-weight: 700;
    margin: 30px 0;
}

.page-widget .widget .icon-box > p, .page-widget .widget .textwidget p {
    text-align: justify;
}

.widget .icon-wrapper {
    cursor: pointer;
}

.wpcf7-form > p {
    text-align: left;
}

.wpcf7-form > p > span input:not([type="submit"]):not([type="reset"]):not([type="radio"]):not([type="checkbox"]):not([type="file"]) {
    height: 40px;
}

.wpcf7-form > p > span input:not([type="submit"]):not([type="reset"]):not([type="radio"]):not([type="checkbox"]):not([type="file"]), .wpcf7-form > p > span textarea {
    border: 1px solid var(--primary-color);
}

.wpcf7-form .button-control {
    text-align: center;
    padding-left: 96px;
}

.wpcf7-form .accept-control {
    text-align: center;
    margin-bottom: 20px;
}

h1.archive-title {
    font-size: 20px;
    margin-top: 0;
    margin-bottom: 20px;
    color: var(--secondary-color);
    text-align: center;
    text-transform: uppercase;
}

.site select {
    border-radius: 0;
    height: 40px;
    /*background: #fff url("../images/arrow-down.png") no-repeat scroll right center / 11px auto !important;*/
    background-position: right 10px center !important;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    outline: none;
    clip: rect(0 0 0 0);
    text-indent: 0.01px;
    text-overflow: "";
    width: auto !important;
    padding-right: 30px !important;
    border: 1px solid #ccc;
    font-size: 14px;
    padding-left: 10px;
}

body.home .site select {
    height: 40px;
    width: 100% !important;
}

.site select::-ms-expand {
    display: none;
}

.site select option {
    outline: none;
    backface-visibility: hidden;
    padding: 5px 10px;
}

div.not-posts-found {
    margin-bottom: 20px;
}

/*Archive ---------------------------------*/

.term-description {
}

.woocommerce-products-header .term-description {
    margin-bottom: 20px;
}

.post-thumbnail {
    display: block;
    text-align: center;
}

.post-thumbnail .no-thumbnail-text {
    line-height: 150px;
    font-size: 20px;
    text-transform: uppercase;
    color: #999;
    box-shadow: 0 0 50px #eee inset;
    display: block;
}

.post-thumbnail img {
    width: 100%;
    display: block;
}

h2.entry-title {
    font-size: 15px;
    font-weight: 600;
    line-height: 25px;
    margin-top: 0;
    margin-bottom: 15px;
}

h2.entry-title a {
    color: #333;
}

h2.entry-title a:hover {
    color: var(--primary-color);
}

.home .featured-posts .loop-post-custom .post-thumb,
.hloop .post-thumbnail {
    background-color: #fff;
    display: block;
    overflow: hidden;
    position: relative;
}

.home .featured-posts .loop-post-custom .post-thumb img,
.hloop .post-thumbnail img {
    transition: all .5s;
    width: 100%;
}

.home .featured-posts .loop-post-custom:hover img,
.hloop:hover .post-thumbnail img {
    transform: scale(1.2, 1.2);
}

.hloop:focus {
    border: none;
    outline: none;
}

.loop-grid {
    float: left;
    padding: 0 15px;
    margin-bottom: 30px;
}

.box-loop-grid {
    margin: 0 -15px;
}

.box-loop-grid .loop-grid {
    width: 25%;
}

.box-loop-grid .loop-grid:nth-child(4n+1) {
    clear: both;
}

.loop-grid .box-post {
    background-color: #fff;
}

.box-loop-small .loop-grid h2.entry-title {
    font-size: 14px;
    line-height: 24px;
    margin-top: 0;
}

.box-loop-small .loop-grid .post-thumbnail {
    width: 100px;
    float: left;
    margin-right: 10px;
}

.loop-grid h2.entry-title {
    margin: 15px 0 10px;
}

.loop-grid .entry-excerpt {
    font-size: 13px;
    line-height: 22px;
    color: #666;
}

.loop-grid .post-meta {
    margin-bottom: 10px;
}

.box-carousel .loop-grid {
    margin-bottom: 0;
}

.post-meta .meta-extend {
    float: right;
}

.post-meta .meta-extend, .post-meta .meta-extend i {
    color: #000;
}

.post-meta, .post-date {
    font-size: 12px;
    color: #999;
}

.post-meta > * {
    margin-right: 10px;
}

.post-meta a {
    color: var(--primary-color);
}

.post-meta i, .post-date i {
    color: var(--primary-color);
    margin-right: 3px;
}

.category-post .cp-title {
    margin-right: 3px;
}

.category-post a {
    color: #999;
}

.category-post a:hover {
    color: #111;
}

.box-loop-post {
    padding-top: 0;
}

.box-loop-post .loop-post-custom {
    padding: 30px 20px;
    border-bottom: 1px solid #eee;
    background-color: #fff;
    margin-bottom: 0;
}

.box-loop-post .loop-post-custom:nth-child(2n) {
    background-color: #f8f8f8;
}

.box-loop-post .loop-post-custom .post-thumbnail {
    width: 300px;
    float: left;
    margin-right: 20px;
}

.box-loop-post .loop-post-custom h2.entry-title {
    margin: 0 0 10px;
    font-size: 16px;
}

.box-loop-post .loop-post-custom .post-meta {
    margin-bottom: 10px;
}

.hocwp-pagination {
    margin: 0 auto 30px;
    display: table;
    width: auto;
}

.hocwp-pagination li .page-numbers {
    color: #666;
}

.module.section {
    margin-bottom: 30px;
}

.c-right .hwp-sidebar .widget .widget-title {
    text-align: left;
}

.sidebar .widget ul,
.sidebar .widget ol {
    margin: 0;
    padding: 0;
    list-style: none;
}

/* Pagination -------------------------------*/

.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span,
.hocwp-pagination li .page-numbers {
    background: rgba(34, 34, 34, 0.075);
    color: #222;
    border-radius: 50%;
    border: none;
    width: 48px;
    height: 48px;
    display: block;
    line-height: 48px;
    text-align: center;
    padding: 0;
    font-size: 16px;
    font-weight: 700;
}

.woocommerce nav.woocommerce-pagination ul li a:focus, .woocommerce nav.woocommerce-pagination ul li a:hover, .woocommerce nav.woocommerce-pagination ul li span.current,
.hocwp-pagination + a.load-more-button, .hocwp-pagination li a:hover, .hocwp-pagination li .page-numbers.current {
    background: var(--primary-color);
    color: #fff;
}

.woocommerce nav.woocommerce-pagination ul {
    border: none;
}

.woocommerce nav.woocommerce-pagination ul li {
    border: none;
    margin: 0 5px;
}

/* Site footer ---------------------------- */

.site-footer {
    background-color: var(--primary-color);
    padding: 30px 0;
    color: #fff;
}

.site-footer .d-flex > * {
    flex-basis: 22%;
    max-width: 22%;

}

.site-footer .d-flex > *:not(:first-child):not(:last-child) {
    padding: 0 20px;
}

.site-footer .d-flex .footer-text-col {
    flex-basis: 40%;
    max-width: 40%;
}

.site-footer .d-flex .footer-3 {
    flex-basis: 16%;
    max-width: 16%;
}

.footer-text {
    color: #fff;
}

.site-footer .widget a,
.footer-text a {
    color: #fff;
}

.site-footer .widget li {
    margin-bottom: 10px;
}

.site-footer .widget li a {
    color: #fff;
    position: relative;
}

.site-footer .widget li a:before {
    content: "- ";
    display: inline-block;
    margin-right: 5px;
}

.site-footer .widget a:hover {
    text-decoration: underline;
}

.site-footer .widget-title {
    text-transform: uppercase;
    margin-top: 0;
    font-size: 16px;
    font-weight: 300;
}

.error-page h1, .error-page h2 {
    font-family: "Times New Roman", sans-serif;
    font-weight: bold;
}

.error-page a {
    color: #ccc;
}

.error-page-wrap {
    width: 310px;
    height: 310px;
    margin: 0 auto;
    padding-top: 0;
    text-shadow: 0 1px 0 rgba(255, 255, 255, 0.15);
}

.error-page-wrap:before {
    box-shadow: 0 0 200px 150px #fff;
    width: 310px;
    height: 310px;
    border-radius: 50%;
    position: relative;
    z-index: -1;
    content: '';
    display: block;
}

.error-page {
    width: 310px;
    height: 310px;
    border-radius: 50%;
    top: -310px;
    position: relative;
    text-align: center;
    background: #d36242;
    background: -moz-linear-gradient(top, #d36242 0%, darkred 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #d36242), color-stop(100%, darkred));
    background: -webkit-linear-gradient(top, #d36242 0%, darkred 100%);
    background: -o-linear-gradient(top, #d36242 0%, darkred 100%);
    background: -ms-linear-gradient(top, #d36242 0%, darkred 100%);
    background: linear-gradient(to bottom, #d36242 0%, darkred 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='$firstColor', endColorstr='$secondColor', GradientType=0);
}

.error-page:before {
    width: 63px;
    height: 63px;
    border-radius: 50%;
    box-shadow: 3px 25px 0 5px #C95439;
    content: '';
    z-index: -1;
    display: block;
    position: absolute;
    top: -19px;
    left: 44px;
}

.error-page:after {
    width: 310px;
    height: 17px;
    margin: 0 auto;
    top: 25px;
    content: '';
    z-index: -1;
    display: block;
    position: relative;
    background: radial-gradient(ellipse at center, rgba(0, 0, 0, 0.65) 0%, rgba(35, 26, 26, 0) 59%, rgba(60, 44, 44, 0) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#a6000000', endColorstr='#003c2c2c', GradientType=1);
}

.error-page h1 {
    color: rgba(255, 255, 255, 0.94);
    font-size: 110px;
    margin: 55px auto 0 auto;
    text-shadow: 0 0 7px rgba(0, 0, 0, 0.5);
    line-height: 110px;
    padding-top: 40px;
}

.error-page h1:before {
    width: 260px;
    height: 1px;
    position: relative;
    margin: 0 auto;
    top: 145px;
    content: '';
    display: block;
    background: radial-gradient(ellipse at center, rgba(111, 25, 25, 0.65) 0%, rgba(75, 38, 38, 0) 70%, rgba(60, 44, 44, 0) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#a66f1919', endColorstr='#003c2c2c', GradientType=1);
}

.error-page h1:after {
    width: 260px;
    height: 1px;
    content: '';
    display: block;
    opacity: 0.2;
    margin: 0 auto;
    top: 50px;
    position: relative;
    background: radial-gradient(ellipse at center, rgba(247, 173, 148, 0.65) 0%, rgba(255, 255, 255, 0.01) 99%, rgba(255, 255, 255, 0) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#a6f7ad94', endColorstr='#00ffffff', GradientType=1);
}

.error-page h2 {
    color: rgba(0, 0, 0, 0.5);
    margin: 50px 0 40px 0;
    font-size: 17px;
    line-height: 36px;
}

.error-page h2:before {
    width: 130px;
    height: 1px;
    position: relative;
    margin: 0 auto;
    top: 40px;
    content: '';
    display: block;
    background: radial-gradient(ellipse at center, rgba(111, 25, 25, 0.65) 0%, rgba(75, 38, 38, 0) 70%, rgba(60, 44, 44, 0) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#a66f1919', endColorstr='#003c2c2c', GradientType=1);
}

.error-page h2:after {
    width: 130px;
    height: 1px;
    content: '';
    display: block;
    opacity: 0.2;
    margin: 0 auto;
    top: 20px;
    position: relative;
    background: radial-gradient(ellipse at center, rgba(247, 173, 148, 0.65) 0%, rgba(255, 255, 255, 0.01) 99%, rgba(255, 255, 255, 0) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#a6f7ad94', endColorstr='#00ffffff', GradientType=1);
}

.error-back {
    text-decoration: none;
    color: #fff;
    font-size: 13px;
    font-weight: bold;
    text-transform: uppercase;
}

.error-back:hover {
    color: #EB957D;
    text-shadow: 0 0 3px black;
}

/* Responsive ---------------------------- */

/* 125% screen width -------------------- */
@media only screen and (max-width: 1536px) {

}

@media only screen and (max-width: 1403px) {

}

/* 150% screen width -------------------- */
.site-header .logo-search .mobile-menu button {
    background-color: var(--primary-color);
    height: 50px;
    width: 55px;
    line-height: 50px;
    padding: 0;
}

.mobile-menu > .menu-toggle {
    height: 50px;
    width: 55px;
    line-height: 50px;
    padding: 0;
}

.mobile-menu > .menu-toggle span[class*="line-"]:not(:first-child) {
    margin-top: 6px;
}

.mobile-menu.has-close > .menu:before, .mobile-menu.has-close > .menu:after, .mobile-menu > .menu-toggle span[class*="line-"] {
    width: 25px;
    height: 2px;
    background-color: var(--primary-color);
}

.mobile-menu > .menu:before, .mobile-menu > .menu-toggle[aria-expanded="true"] span[class*="line-"]:first-child {
    top: 17px;
    left: 27px;
}

.mobile-menu > .menu:after, .mobile-menu > .menu-toggle[aria-expanded="true"] span.line-3 {
    left: 27px;
}

.mobile-menu.position-right > .menu-toggle[aria-expanded="true"] {
    margin-right: 290px;
}

button.menu-toggle[aria-expanded="true"] {
    padding-left: 0;
}

.mobile-menu > .menu-toggle[aria-expanded="true"] {
    background-color: rgba(3, 3, 3, 0.8);
    margin: 0;
    height: 50px;
    right: 300px;
}

.mobile-menu > .menu-toggle[aria-expanded="true"].icon-bars {
    position: absolute;
}

@media only screen and (max-width: 1300px) {
    .single.woocommerce-page .site-content, .archive.woocommerce-page .site-content,
    .container,
    .cat-banner-widget .widget:first-child,
    .cat-banner-widget .widget:not(:first-child) {
        width: 100%;
    }

    .cat-banner-widget .widget:nth-child(2) {
        margin-top: 0;
    }

    .site-branding img {
        max-height: 60px;
    }
}

@media only screen and (max-width: 1220px) {
    .primary-menu-area .menu:not(.mobile-menu) > li {
        padding: 10px 20px 9px;
    }

    .box-loop-image .loop-image .post-thumbnail img {
        height: 150px;
    }
}

@media only screen and (max-width: 1100px) {
    .primary-menu-area .menu:not(.mobile-menu) > li {
        padding: 10px 12px 9px;
    }
}

@media only screen and (max-width: 1023px) {
    .header-logo {
        position: relative;
    }

    .header-menu, .header-social {
        float: none;
    }

    .header-social {
        margin-top: 10px;
        margin-bottom: 10px;
    }

    .primary-menu-area {
        display: none;
    }

    .primary-menu-area .hocwp-menu {
        display: none;
    }

    .site-branding .site-title {
        margin-top: 15px;
        margin-bottom: 10px;
    }

    .site-branding img {
        max-height: 50px;
    }

    .c-left, .c-right {
        width: 100%;
        float: none;
        clear: both;
        padding: 0;
    }

    .entry-content img.aligncenter, .entry-content figure, .entry-content iframe, .entry-content embed {
        display: block;
        max-width: 100%;
    }

    .entry-content table {
        table-layout: fixed;
    }

    .cat-banner-widget .widget:first-child, .box-loop-news .loop-post-custom, .box-loop-small,
    .cat-banner-widget .widget:not(:first-child) {
        width: 100%;
    }

    .box-loop-small .loop-grid {
        padding: 0;
    }

    .box-loop-video .loop-video {
        width: 50%;
    }

    .box-loop-video .loop-video:nth-child(3n+1) {
        clear: none;
    }

    .box-loop-video .loop-video:nth-child(2n+1) {
        clear: both;
    }

    .box-loop-image .loop-image:nth-child(5n+1) {
        clear: both;
    }

    .box-loop-image .loop-image:nth-child(2n+1),
    .box-loop-image .loop-image:nth-child(2n) {
        width: 20%;
    }

    .box-loop-image .loop-image {
        width: 20%;
    }

    .box-loop-image .loop-image .post-thumbnail img {
        height: auto;
        width: 100%;
    }

    .box-loop-post .loop-post-custom .post-thumbnail {
        width: 100px;
        margin-right: 15px;
    }

    .footer-text {
        padding: 20px 0;
    }

    .home-icons .icon-wrapper {
        width: 60px;
        height: 60px;
        margin-bottom: 5px;
    }

    .home-icons .icon-wrapper > * {
        font-size: 22px;
    }
}

@media only screen and (max-width: 980px) {
    .box-loop-image .loop-image:nth-child(5n+1) {
        clear: none;
    }

    .box-loop-image .loop-image:nth-child(4n+1) {
        clear: both;
    }

    .box-loop-image .loop-image:nth-child(2n+1),
    .box-loop-image .loop-image:nth-child(2n) {
        width: 25%;
    }

    .box-loop-image .loop-image {
        width: 25%;
    }

    .site-footer .d-flex > * {
        flex-basis: 33.33%;
        max-width: 33.33%;
    }

    .site-footer .d-flex .footer-text-col {
        flex-basis: 100%;
        max-width: 100%;
    }

    .slider-banner-area .d-flex,
    .site-footer .d-flex {
        flex-wrap: wrap;
    }

    .slider-banner-area .banner-slide,
    .slider-banner-area .main-slider {
        flex-basis: 100%;
        max-width: 100%;
    }

    .slider-banner-area .banner-slide {
        display: flex;
    }

    .slider-banner-area .banner-slide > * {
        flex-basis: 50%;
        max-width: 50%;
    }

    .hocwp-slider .slick-prev, .hocwp-slider .slick-next {
        opacity: 1;
    }

    .hocwp-slider .slick-prev::before,
    .hocwp-slider .slick-next::before {
        color: #fff !important;
    }

    .main-slider {
        margin-bottom: 20px;
    }

    .slider-banner-area .banner-slide img {
        width: 100%;
        object-fit: cover;
        object-position: center;
    }

    .slider-banner-area .banner-slide .widget:nth-child(odd) {
        padding-right: 10px;
    }

    .slider-banner-area .banner-slide .widget:nth-child(even) {
        padding-left: 10px;
    }

    .slider-banner-area .banner-slide .widget > * {
        display: flex;
        overflow: hidden;
        max-height: 260px;
    }
}

@media only screen and (max-width: 955px) {

}

@media only screen and (max-width: 880px) {
    .woocommerce ul.products.columns-4 li.product, .woocommerce-page ul.products.columns-4 li.product,
    .woocommerce ul.products.columns-4 li.product, .woocommerce-page ul.products.columns-4 li.product,
    .home .featured-posts .loop-post-custom {
        flex-basis: 50%;
        max-width: 50%;
        width: 50%;
    }

    .slider-banner-area .banner-slide .widget > * {
        max-height: 220px;
    }

    .header-search-form {
        display: none;
    }
}

@media only screen and (max-width: 800px) {
    .box-loop-grid .loop-grid:nth-child(3n+1) {
        clear: none;
    }

    .box-loop-grid .loop-grid:nth-child(2n+1) {
        clear: both;
    }

    .box-loop-grid .loop-grid {
        width: 50%;
    }

    .box-loop-image .loop-image:nth-child(4n+1) {
        clear: none;
    }

    .box-loop-image .loop-image:nth-child(3n+1) {
        clear: both;
    }

    .box-loop-image .loop-image:nth-child(2n+1),
    .box-loop-image .loop-image:nth-child(2n) {
        width: 33.3%;
    }

    .box-loop-image .loop-image {
        width: 33.3%;
    }

    .box-loop-video .loop-video .video-iframe iframe {
        height: 200px;
    }
}

/*
 * WordPress Admin Bar change height.
 */
@media only screen and (max-width: 782px) {
    .admin-bar .mobile-menu > .menu {
        top: 46px;
        max-height: calc(100% - 46px);
    }
}

@media only screen and (max-width: 768px) {
    .box-loop-related {
        display: flex;
        flex-wrap: wrap;
    }

    .box-loop-related > * {
        flex-basis: 50%;
        max-width: 50%;
    }
}

@media only screen and (max-width: 723px) {

}

@media only screen and (max-width: 720px) {
    .box-loop-video {
        margin: 0 -10px 30px;
    }

    .box-loop-video .loop-video {
        padding: 0 10px;
    }

    .box-loop-video .loop-video .video-iframe iframe {
        height: 160px;
    }

    .slider-banner-area .banner-slide .widget > * {
        max-height: 160px;
    }

    .home-icons .icon-wrapper {
        float: none;
        margin-right: auto;
        margin-left: auto;
    }

    .home-icons .widget {
        text-align: center;
    }

    .product-cats ul {
        margin-left: 0;
    }

    .intro-home .content,
    .intro-home .banner {
        flex-basis: 100%;
        max-width: 100%;
    }

    .intro-home .d-flex {
        flex-wrap: wrap;
    }

    .intro-home .content {
        margin-top: 15px;
    }
}

@media only screen and (max-width: 640px) {

    .header-search-form .search-form,
    .header-search-form {
        width: 100%;
    }

    .box-loop-image .loop-image:nth-child(3n+1) {
        clear: none;
    }

    .box-loop-image .loop-image:nth-child(2n+1) {
        clear: both;
    }

    .box-loop-image .loop-image:nth-child(2n+1),
    .box-loop-image .loop-image:nth-child(2n) {
        width: 50%;
    }

    .box-loop-image .loop-image {
        width: 50%;
    }

    .site-footer .d-flex .footer-3,
    .site-footer .d-flex > *:not(:first-child):not(:last-child),
    .site-footer .d-flex > * {
        flex-basis: 100%;
        max-width: 100%;
        padding: 0;
    }
}

@media only screen and (max-width: 620px) {

}

@media only screen and (max-width: 600px) {

    .fb_iframe_widget iframe {
        width: 100% !important;
    }

    .box-loop-post .loop-post-custom .post-thumbnail {
        width: 150px;
        margin-right: 15px;
    }

    .header-social {
        display: none;
    }

    .product-cats ul li {
        width: 100%;
    }
}

@media only screen and (max-width: 568px) {

}

@media only screen and (max-width: 563px) {

}

@media only screen and (max-width: 549px) {

}

@media only screen and (max-width: 534px) {
    .slider-banner-area .banner-slide .widget > * {
        max-height: 115px;
    }
}

@media only screen and (max-width: 480px) {
    .home-partners li {
        flex-basis: 25%;
        max-width: 25%;
    }

    .contact-menus .menu > li > a {
        padding-left: 10px;
        padding-right: 10px;
    }

    .home .box-header h2 {
        margin-top: 0;
    }

    .woocommerce ul.products li.product {
        padding-left: 10px;
        padding-right: 10px;
    }

    .woocommerce ul.products {
        margin-left: -10px;
        margin-right: -10px;
    }

    .woocommerce div.product form.cart div.quantity {
        max-width: 80px;
    }

    .woocommerce div.product form.cart .button {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}

@media only screen and (max-width: 420px) {

    .box-loop-grid, .loop-products, .box-loop-doctor {
        margin: 0 -10px;
    }

    .box-loop-grid .loop-grid {
        padding: 0 10px;
    }

    .site-header-cart > li:first-child .thb-item-icon {
        font-size: 0;
    }

    .home-icons .widget {
        padding: 0 10px;
        width: 100%;
        flex-basis: 100%;
        max-width: 100%;
    }

    .home .box-margin *:last-child {
        margin-bottom: 0;
    }

    .woocommerce div.product div.images .thumb-slider img {
        max-height: 60px;
    }

    .box-loop-post .loop-post-custom .post-thumbnail {
        width: 120px;
    }

    .contact-menus .menu > li > a {
        font-size: 0;
    }

    .contact-menus .menu > li > a * {
        font-size: 13px;
    }
}

@media only screen and (max-width: 360px) {

}

@media only screen and (max-width: 338px) {
    .mobile-menu.toggled {
        position: absolute;
        left: 0;
        right: 0;
        z-index: 999999;
        bottom: auto;
        top: -24px;
    }

    .mobile-menu.toggled .menu-overlay-bg {
        display: none;
    }

    .mobile-menu.toggled > .menu-toggle[aria-expanded="true"] {
        margin: 0;
    }
}

@media only screen and (max-width: 330px) {

}

@media only screen and (max-width: 320px) {

}

@media print {

}