/**
 * Theme Name: deutschmann-sv
 * Description: Theme stylesheet
 */


/* ============================================================
   FONTS & BASE
   ============================================================ */

body {
    font-family: "Outfit", sans-serif !important;
}

body h1,
body h2,
body h3,
body h4,
body h5,
body h6 {
    font-family: "Jost", sans-serif !important;
}

html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
}

h2 {
    text-align: center;
    color: #333;
    margin-bottom: 20px;
}

p {
    margin: 0 0 20px;
}

img {
    height: auto;
    max-width: 100%;
}

a,
a:hover {
    text-decoration: none !important;
}

a:focus,
input:focus,
button:focus,
select:focus,
textarea:focus {
    outline: 0 !important;
}

input[type="checkbox"],
input[type="radio"] {
    width: auto !important;
}


/* ============================================================
   UTILITY CLASSES
   ============================================================ */

.alignself {
    align-self: center;
}

.align-center {
	text-align: center;
}

.m-0 {
    margin: 0;
}

.nopd {
    padding: 0 !important;
}

.fw-container-fluid.nopd .fw-row {
    margin: 0;
}

.cover {
    background-size: cover !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}


/* ============================================================
   SCROLLBAR
   ============================================================ */

::-webkit-scrollbar {
    width: 10px;
}

::-webkit-scrollbar-track {
    background-color: rgba(0, 0, 0, 0.4);
    border-radius: 10px;
}

::-webkit-scrollbar-thumb {
    background: #3f4551;
    border-radius: 10px;
}


/* ============================================================
   CLEARFIX
   ============================================================ */

.container::after,
.blogdetail::after,
.fw-container::after,
.entry-content::after {
    content: '';
    clear: both;
    display: block;
}


/* ============================================================
   SEARCH FORM
   ============================================================ */

.searchform {
    position: relative;
}

.searchform input {
    border-radius: 30px;
    border: 1px solid #ccc;
    padding: 14px 20px;
    width: 100%;
}

.searchform button {
    border: 0;
    background-color: transparent;
    font-size: 24px;
    position: absolute;
    top: 5px;
    right: 10px;
}


/* ============================================================
   404 / NOT FOUND
   ============================================================ */

.not-found {
    margin: 100px 0;
}

.not-found p {
    margin-bottom: 30px;
}


/* ============================================================
   NAVIGATION
   ============================================================ */

ul#menu {
    display: none;
}

.nav-bar {
    text-align: right;
}

.main-navigation {
    clear: both;
    position: relative;
}

ul.nav-menu,
div.nav-menu > ul {
    margin: 0;
    padding: 0;
}

.nav-menu li {
    display: inline-block;
    margin: 0 36px 0 0;
    position: relative;
}

.nav-menu li:last-child {
    margin: 0;
}

.nav-menu li a {
    color: #ffffff;
    display: inline-block;
    font-size: 15px;
    font-weight: bold;
    line-height: 1;
    transition: all 0.4s ease;
    text-transform: uppercase;
    letter-spacing: 2px;
}

.nav-menu li.menu-btn a {
    color: #ffffff;
    font-weight: bold;
    display: inline-block;
    background-color: #f20505;
    padding: 15px 35px;
    transition: all 0.4s ease;
    border-radius: 3px;
    border: 1px solid #f20505;
}

.nav-menu li.menu-btn a:hover {
    color: #ffffff;
    background-color: #f20505;
    border-color: #f20505;
}

.nav-menu li.menu-item-has-children {
    position: relative;
    padding-right: 10px;
}

.nav-menu li.menu-item-has-children li.menu-item-has-children {
    padding-right: 0;
}

.nav-menu li.menu-item-has-children::after {
    color: #fff;
    display: block;
    content: '\f0d7';
    font-family: FontAwesome;
    position: absolute;
    font-size: 12px;
    right: -7px;
    top: 2px;
}

.nav-menu li.menu-item-has-children ul.sub-menu li.menu-item-has-children::after {
    color: #ffffff;
    display: block;
    content: '\f0da';
    font-family: FontAwesome;
    position: absolute;
    font-size: 12px;
    right: 10px;
    top: 13px;
}

/* Dropdown / Sub-Menu */
.nav-menu .sub-menu,
.nav-menu .children {
    background-color: rgba(0, 0, 0, 0.8);
    border: 0;
    padding: 0;
    position: absolute;
    left: -2px;
    z-index: 99999;
    height: 1px;
    width: 1px;
    overflow: hidden;
    clip: rect(1px, 1px, 1px, 1px);
    transform: translateX(20px);
}

ul.sub-menu li {
    margin: 0;
}

ul.sub-menu li a {
    color: #ffffff !important;
    padding: 15px;
    text-align: left;
    width: 255px;
    font-size: 14px;
    line-height: unset;
}

ul.sub-menu li a:hover {
    background: #000000;
}

.nav-menu .sub-menu ul,
.nav-menu .children ul {
    border-left: 0;
    left: 100%;
    top: 0;
}

ul.nav-menu ul a,
.nav-menu ul ul a {
    color: #ffffff;
    margin: 0;
}

ul.nav-menu ul a:hover,
.nav-menu ul ul a:hover,
ul.nav-menu ul a:focus,
.nav-menu ul ul a:focus {
    background-color: #f20505;
}

ul.nav-menu li:hover > ul,
.nav-menu ul li:hover > ul,
ul.nav-menu .focus > ul,
.nav-menu .focus > ul {
    clip: inherit;
    overflow: inherit;
    height: inherit;
    width: inherit;
    transform: translateY(0);
    transition: all 0.4s ease;
}

/* Active / Current Menu Items */
.nav-menu .current_page_item > a,
.nav-menu .current_page_ancestor > a,
.nav-menu .current-menu-item > a,
.nav-menu .current-menu-ancestor > a,
.nav-menu li a:hover {
    color: #f20505;
}

.site-header.fixedmenu .nav-menu .current_page_item > a,
.site-header.fixedmenu .nav-menu .current_page_ancestor > a,
.site-header.fixedmenu .nav-menu .current-menu-item > a,
.site-header.fixedmenu .nav-menu .current-menu-ancestor > a,
.site-header.fixedmenu .nav-menu li a:hover {
    color: #d9d9d9;
}

/* Mobile Menu (hidden on desktop) */
.closebtn,
.openmenu,
.menuToggle,
.mobilesubmenu {
    display: none;
}


/* ============================================================
   WORDPRESS ALIGNMENT
   ============================================================ */

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

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

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

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

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

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

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

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

/* WP Caption */
.wp-caption {
    background: #ffffff;
    border: 1px solid #f0f0f0;
    max-width: 96%;
    padding: 5px 3px 10px;
    text-align: center;
}

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

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

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


/* ============================================================
   SLICK SLIDER
   ============================================================ */

.slick-list.draggable {
    padding: 0 !important;
}

.slick-slider {
    position: relative;
    display: block;
    box-sizing: border-box;
    user-select: none;
    touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0;
}

.slick-list:focus { outline: none; }

.slick-list.dragging { cursor: grab; }

.slick-slider .slick-track,
.slick-slider .slick-list {
    transform: translate3d(0, 0, 0);
}

.slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.slick-track::before,
.slick-track::after {
    display: table;
    content: '';
}

.slick-track::after { clear: both; }

.slick-loading .slick-track,
.slick-loading .slick-slide { visibility: hidden; }

.slick-slide {
    display: none;
    float: left;
    height: 100%;
    min-height: 1px;
}

[dir='rtl'] .slick-slide { float: right; }

.slick-slide img { display: block; }
.slick-slide.slick-loading img { display: none; }
.slick-slide.dragging img { pointer-events: none; }
.slick-initialized .slick-slide { display: block; }

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent;
}

.slick-arrow.slick-hidden { display: none; }

/* Slider Arrows */
.slick-slider .slick-prev::before {
    content: url(images/left-arrow.png) !important;
    font-size: 0;
    position: relative;
    filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7496%) hue-rotate(2deg) brightness(109%) contrast(98%);
}

.slick-slider .slick-next::before {
    content: url(images/right-arrow.png) !important;
    font-size: 0;
    position: relative;
    filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7496%) hue-rotate(2deg) brightness(109%) contrast(98%);
}

.slick-slider .slick-prev { left: 0; }
.slick-slider .slick-next { right: 0; }

.slick-slider .slick-prev,
.slick-slider .slick-next,
.slick-slider .slick-prev::before,
.slick-slider .slick-next::before {
    display: inline-block;
    width: 21px;
    height: 50px;
    z-index: 1;
}

#hproducts_slide .slick-prev,
#makehappy_slide .slick-prev { left: -40px; }

#hproducts_slide .slick-next,
#makehappy_slide .slick-next { right: -40px; }

#home_slider .slick-next { right: 40px; }
#home_slider .slick-prev { left: 40px; }

/* Slick Dots */
ul.slick-dots { bottom: -43px; }

ul.slick-dots li {
    width: auto;
    height: auto;
}

ul.slick-dots li button {
    width: 13px;
    height: 13px;
    border: 2px solid #ffffff;
    border-radius: 100%;
    opacity: 0.7;
}

ul.slick-dots li button::before { display: none; }

ul.slick-dots li.slick-active button {
    background-color: #f20505;
    border-color: #f20505;
    opacity: 1;
}

#home_slider ul.slick-dots {
    bottom: 24%;
    display: none;
}


/* ============================================================
   JQUERY UI DATEPICKER
   ============================================================ */

.ui-datepicker table { width: 100%; }

.ui-datepicker-header {
    background: url('../img/dark_leather.png') repeat 0 0 #000000;
    color: #e0e0e0;
    font-weight: bold;
    box-shadow: inset 0 1px 1px 0 rgba(250, 250, 250, 0.2);
    text-shadow: 1px -1px 0 #000000;
    line-height: 30px;
    border-width: 1px 0 0 0;
    border-style: solid;
    border-color: #111;
}

.ui-datepicker-title { text-align: center; }

.ui-datepicker-prev,
.ui-datepicker-next {
    display: inline-block;
    width: 30px;
    height: 30px;
    text-align: center;
    cursor: pointer;
    background-image: url('images/arrow.png');
    background-repeat: no-repeat;
    line-height: 600%;
    overflow: hidden;
}

.ui-datepicker-prev { float: left;  background-position: center -30px; }
.ui-datepicker-next { float: right; background-position: center 0; }

.ui-datepicker thead {
    background-color: #f7f7f7;
    background-image: linear-gradient(to bottom, #f7f7f7 0%, #f1f1f1 100%);
    border-bottom: 1px solid #bbb;
}

.ui-datepicker th {
    text-transform: uppercase;
    font-size: 6pt;
    padding: 5px 0;
    color: #666666;
    text-align: center;
    text-shadow: 1px 0 0 #fff;
}

.ui-datepicker tbody td {
    padding: 0;
    background-color: #ffffff;
    border-right: 1px solid #bbb;
}

.ui-datepicker tbody td:last-child { border-right: 0; }
.ui-datepicker tbody tr        { border-bottom: 1px solid #bbb; }
.ui-datepicker tbody tr:last-child { border-bottom: 0; }

.ui-datepicker td span,
.ui-datepicker td a {
    display: inline-block;
    font-weight: bold;
    text-align: center;
    width: 30px;
    height: 30px;
    line-height: 30px;
    color: #666666;
}

.ui-datepicker-calendar .ui-state-default {
    background: linear-gradient(to bottom, #ededed 0%, #dedede 100%);
    box-shadow: inset 1px 1px 0 0 rgba(250, 250, 250, 0.5);
}

.ui-datepicker-calendar .ui-state-hover { background: #f7f7f7; }

.ui-datepicker-calendar .ui-state-active {
    background: #6eafbf;
    box-shadow: inset 0 0 10px 0 rgba(0, 0, 0, 0.1);
    color: #e0e0e0;
    text-shadow: 0 1px 0 #4d7a85;
    border: 1px solid #55838f;
    position: relative;
    margin: -1px;
}

.ui-datepicker-unselectable .ui-state-default {
    background: #f4f4f4;
    color: #b4b3b3;
}

.ui-datepicker-calendar td:first-child .ui-state-active { width: 29px;  margin-left: 0; }
.ui-datepicker-calendar td:last-child  .ui-state-active  { width: 29px;  margin-right: 0; }
.ui-datepicker-calendar tr:last-child  .ui-state-active  { height: 29px; margin-bottom: 0; }


/* ============================================================
   HEADER
   ============================================================ */

.site-header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9;
    padding: 15px 0;
	background-color: rgba(255, 255, 255, 0.2);
}

.site-header.fixedmenu {
    background-color: #f20505;
    padding: 10px 0;
}

.header-content {
    padding: 15px 0;
    transition: all 0.4s ease;
}

.site-header.fixedmenu .header-content { padding: 0; }
.site-header.fixedmenu .site-logo      { width: 256px; }

a.logo-text {
    color: #333333;
    font-size: 27px;
    line-height: 1;
    font-weight: 600;
    text-transform: uppercase;
    transition: all 0.4s ease;
}

a.logo-text strong { color: #f20505; }
a.logo-text:hover  { color: #000000; }
a.logo-text .icon  { width: 105px; }

/* Fixed menu – button states */
.nav-menu li.menu-btn a:hover,
.site-header.fixedmenu .nav-menu li.menu-btn a {
    color: #ffffff;
    background-color: #333333;
    border-color: #333333;
}

.site-header.fixedmenu #menuToggle.open .nav-menu li.menu-btn a {
    background-color: #f20505;
    color: #ffffff;
}

.site-header.fixedmenu .nav-menu li.menu-btn a:hover {
    color: #f20505;
    background-color: #ffffff;
    border-color: #ffffff;
}


/* ============================================================
   PAGE HEADER (CONTENT HEADER / BREADCRUMBS)
   ============================================================ */

.content-header.cover {
    padding: 250px 0 120px;
    position: relative;
}

.content-header.cover::after {
    content: '';
    display: inline-block;
    background-image: url(images/hbanner-after-bc.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}

.content-header.cover::before {
    content: '';
    display: inline-block;
    background-image: url(images/hbanner-before-bc.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    opacity: 0.6;
}

.conthead-content {
    position: relative;
    z-index: 1;
}

.conthead-content h1 {
    color: #ffffff;
    font-size: 36px;
    font-weight: 600;
    text-align: center;
    margin: 0 0 15px 0;
    text-transform: uppercase;
}

.style-h1 {
    display: block;
    color: #ffffff;
    font-size: 40px;
    font-weight: 600;
    text-align: center;
    margin: 0 0 15px 0;
    text-transform: uppercase;
}

/* Breadcrumbs */
ul#breadcrumbs {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: center;
}

ul#breadcrumbs li {
    display: inline-block;
    margin-right: 13px;
}

ul#breadcrumbs li:last-child { margin-right: 0; }

ul#breadcrumbs li,
ul#breadcrumbs li a,
ul#breadcrumbs li strong {
    color: #ffffff;
    font-size: 14px;
    font-weight: 600;
    opacity: 0.8;
    text-transform: uppercase;
}


/* ============================================================
   PAGE CONTENT
   ============================================================ */

.all-pages-content {
    padding: 60px 0 45px;
}

.all-pages-content h1,
.all-pages-content h2,
.all-pages-content h3,
.all-pages-content h4,
.all-pages-content h5,
.all-pages-content h6 {
    color: #000000;
    font-size: 23px;
    font-weight: 500;
    margin-bottom: 15px;
}

.all-pages-content p {
    color: #958787;
    font-size: 16px;
    line-height: 25px;
    font-weight: 300;
    margin: 0 0 15px 0;
}

.all-pages-content p a {
    color: #958787;
    text-decoration: underline !important;
    transition: all 0.4s ease;
}

.all-pages-content p a:hover { color: #f20505; }

.all-pages-content ul {
    list-style: none;
    padding: 0;
    margin: 15px 0;
}

.all-pages-content ul li {
    color: #958787;
    font-size: 16px;
    font-weight: 300;
    margin: 0 0 5px 0;
    position: relative;
    padding-left: 25px;
}

.all-pages-content ul li::after {
    color: #f20505;
    display: block;
    content: '\f00c';
    font-family: FontAwesome;
    position: absolute;
    font-size: 15px;
    left: 0;
    top: 0;
}

.all-pages-content ul li:last-child { margin-bottom: 0; }

.all-pages-content.blog img {
    margin-bottom: 40px;
    width: 100%;
}


/* ============================================================
   PAGINATION
   ============================================================ */

.pagination {
    display: inline-block;
    margin: 30px 0 0;
    width: 100%;
}

.sub-pagenation-div li {
    display: inline-block;
    border-radius: 4px;
    width: auto;
}

.sub-pagenation-div li a {
    border-radius: 4px;
    color: #333333;
    display: block;
    padding: 10px 20px;
}

.sub-pagenation-div li.current a,
.sub-pagenation-div li:hover a {
    background: #394e8c;
    color: #ffffff;
}


/* ============================================================
   BUTTONS
   ============================================================ */

a.all-buttons,
.hcollections-ctbox a {
    color: #ffffff;
    font-size: 14px;
    font-family: "Varela Round", sans-serif;
    font-weight: bold;
    display: inline-block;
    background-color: #f20505;
    padding: 11px 35px;
    transition: all 0.4s ease;
    border-radius: 3px;
    text-transform: uppercase;
    margin-top: 15px;
}

a.all-buttons:hover,
.hcollections-ctbox a:hover {
    color: #fff;
    background-color: #000;
}

.hcollections-ctbox a { margin-top: 20px; }

.hcollections-ctbox .inner-buton {
    font-size: 16px;
    color: #a8a8a8;
    background: transparent;
    padding: 0;
    text-transform: none;
    font-weight: 400;
    text-decoration: underline !important;
}

.hcollections-ctbox .inner-buton:hover {
    color: #a8a8a8;
    background-color: transparent;
}

.item:focus,
.item:hover {
    outline: none !important;
}


/* ============================================================
   HOME – HERO SLIDER
   ============================================================ */

#home_slider { margin: 0; }

.hslider-bg.cover {
    padding: 103px 0 50px;
    position: relative;
    background-position: top center !important;
    height: 955px;
    display: flex;
    align-items: center;
    text-align: center;
}

.hslider-bg.cover::after,
.hparallax-sec.cover::after {
    content: '';
    display: inline-block;
    background-image: url(images/hbanner-after-bc.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}

.hslider-bg.cover::before {
    content: '';
    display: inline-block;
    background-image: url(images/hbanner-before-bc.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    opacity: 0.4;
    filter: brightness(0) saturate(100%) invert(27%) sepia(100%) saturate(992%) hue-rotate(177deg) brightness(101%) contrast(105%);
}

.hparallax .hslider-bg.cover::before { opacity: 1; }

.hslide-content {
    position: relative;
    z-index: 2;
    width: 100%;
}

.hparallax .hslide-content { background-color: rgba(255, 255, 255, 0.6); }

.hslide-content img { width: 60%; }

.hslide-content p strong {
    color: #f20505;
    font-size: 17px;
    font-family: "Jost", sans-serif !important;
    font-weight: 400;
    text-transform: uppercase;
}

.hslide-content h1,
.hslide-content h2,
.hslide-content h3,
.hslide-content h4,
.hslide-content h5,
.hslide-content h6 {
    color: #ffffff;
/*     font-size: 50px; */
	font-size: calc(1.825rem + .9vw);
    font-weight: 400;
    margin: 0 0 20px 0;
    text-transform: uppercase;
}

.hslide-content h4,
.hslide-content h5,
.hslide-content h6 { font-size: 30px; }

.hslide-content h1 strong,
.hslide-content h2 strong,
.hslide-content h3 strong,
.hslide-content h4 strong,
.hslide-content h5 strong,
.hslide-content h6 strong {
    color: #f20505;
    font-weight: 600;
}

.hslide-content p {
    color: #ffffff;
    font-size: 19px;
    line-height: 32px;
    font-weight: 400;
    margin: 0 0 15px 0;
    width: 100%;
}

.hslide-content a.all-buttons {
    margin-top: 25px;
    border: 1px solid rgb(183 0 0);
    width: auto;
    font-size: 14px;
    padding: 0.8rem 2rem;
/*     height: 50px; */
/*     line-height: 50px; */
	line-height: 1.5rem;
    color: #fff;
    text-align: center;
    background-color: #f20505;
}

.hslide-content a.all-buttons:hover {
    color: #f20505;
    border-color: #ffffff;
    background-color: #ffffff;
}

.hslide-content a.all-buttons.secondary-button {
    border: 1px solid #ffffff;
    color: #f20505;
    background-color: #ffffff;
}

.hslide-content a.all-buttons.secondary-button:hover {
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.4);
    background-color: rgba(255, 255, 255, 0.2);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.hslide-content a:nth-child(2) { margin-left: 13px; }


/* ============================================================
   HOME – SECTION: MAIN CONTENT INTRO
   ============================================================ */

.main-content {
	width: calc(100% - 30px);
    margin: 0 auto 27px;
    text-align: center;
}

.single-post .main-content {
    width: 100%;
    margin-bottom: 80px;
    text-align: inherit;
}

.main-content h1,
.main-content h2,
.main-content h3,
.main-content h4,
.main-content h5,
.main-content h6 {
    color: #333333;
/*     font-size: 34px; */
/*     line-height: 51px; */
	font-size: calc(1.325rem + .9vw);
	line-height: 1.5;
    font-weight: 400;
    text-transform: uppercase;
    margin: 0 0 20px 0;
}

.main-content.white h1,
.main-content.white h2,
.main-content.white h3,
.main-content.white h4,
.main-content.white h5,
.main-content.white h6,
.main-content.white p { color: #ffffff; }

.main-content h1 strong,
.main-content h2 strong,
.main-content h3 strong,
.main-content h4 strong,
.main-content h5 strong,
.main-content h6 strong {
    color: #f20505;
    font-weight: 600;
}

.main-content.sm h1,
.main-content.sm h2,
.main-content.sm h3,
.main-content.sm h4,
.main-content.sm h5,
.main-content.sm h6 {
    font-size: 28px;
    line-height: normal;
    margin: 0 0 10px 0;
}

.main-content p strong {
    color: #f20505;
    font-size: 18px;
    font-weight: 600;
    text-transform: uppercase;
}

.main-content.sm p strong { font-size: 16px; }

.main-content p {
    color: #959595;
    font-size: 18px;
    font-weight: 300;
    line-height: 30px;
}

.main-content.sm p {
    font-size: 16px;
    line-height: 26px;
}

.hmainct-sec {
    padding: 60px 0 25px;
}

.hmainct-sec .main-content {
    margin: 0 auto 30px;
}

.hmainct-sec ul li { color: #959595; }


/* ============================================================
   HOME – PRODUCTS SECTION
   ============================================================ */

.hproducts-sec {
    background-color: #fbfbfb;
    padding: 70px 0;
}

#hproducts_slide {
    margin-left: -15px;
    padding-right: -15px;
}

#hproducts_slide .item { padding: 0 15px; }

.hproducts-box {
    background-color: #ffffff;
    border-radius: 5px;
}

.homeprod-thumb { border-bottom: 1px solid #f3f3f3; }

.homeprod-thumb img {
    height: 300px;
    object-fit: contain;
}

.hproducts-innerb {
    padding: 30px 30px 40px;
    text-align: center;
}

.hproducts-innerb h3 {
    color: #000000;
    font-size: 22px;
    line-height: 30px;
    font-weight: 400;
    text-transform: uppercase;
    margin: 0 auto 15px;
    width: 70%;
}

.hproducts-innerb p {
    color: #000000;
    font-size: 15px;
    font-weight: 300;
    opacity: 0.5;
    width: 67%;
    margin: 0 auto 40px;
}

.hproducts-innerb span {
    color: #000000;
    font-size: 20px;
    font-weight: 400;
}

.hproducts-innerb span ins { text-decoration: none; }
.hproducts-innerb del { opacity: 0.3; margin-right: 8px; }


/* ============================================================
   HOME – SKINCARE / FEATURE BOXES
   ============================================================ */

.hskincare-sec {
    overflow: hidden;
    padding: 38px 2rem 60px;
    background-color: #f5f5f5;
}

.parent-pageid-577 .hskincare-sec.defthreesetps-sec {
    padding-top: 0;
    margin-bottom: 65px;
}

.hskincare-sec .row {
    --bs-gutter-x: 18px;
    --bs-gutter-y: 25px;
    justify-content: center;
}

.hskincare-box.cover {
    padding: 0;
    position: relative;
    height: 426px;
    display: flex;
    align-items: center;
}

.hskincare-sec .col-4:nth-child(3) .hskincare-box.cover { border: none; }

.hskincare-box.cover::before {
    content: '';
    display: inline-block;
    background-image: url(images/hbanner-after-bc.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    opacity: 0.7;
}

.hskincare-box.cover:hover::before {
    background-color: #f20505;
    opacity: 0.6;
    cursor: pointer;
}

.hskincare-innerct {
    z-index: 1;
    width: calc(100% - 40px);
    text-align: center;
	margin: auto;
}

.hskincare-innerct h3 {
    margin: 0;
    font-size: 21px;
}

.hskincare-innerct h3 b {
    display: block;
}

.hskincare-innerct h3 small {
    font-size: smaller;
	text-transform: initial;
}

.hskincare-innerct a { margin: 0; }

.hskincare-innerct a.all-buttons {
    font-size: 12px;
    padding: 11px 30px;
    margin-top: 30px;
    background-color: rgba(255, 255, 255, 0.2);
    border: 1px solid #ffffff;
    color: #ffffff;
}

.hskincare-innerct a.all-buttons:hover {
    color: #ffffff;
    background-color: #f20505;
    border-color: #f20505;
}

.hskincare-box h1,
.hskincare-box h2,
.hskincare-box h3,
.hskincare-box h4,
.hskincare-box h5,
.hskincare-box h6 {
    color: #ffffff;
    font-size: 21px;
    font-weight: 600;
    margin: 0 0 20px 0;
    text-transform: uppercase;
}

.hskincare-box h1 strong,
.hskincare-box h2 strong,
.hskincare-box h3 strong,
.hskincare-box h4 strong,
.hskincare-box h5 strong,
.hskincare-box h6 strong {
    color: #ffffff;
    font-weight: bold;
}

.hskincare-box p strong {
    color: #ffffff;
    font-size: 16px;
    font-weight: 400;
}

.hskincare-box ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.hskincare-box p,
.hskincare-box ul li {
    color: rgba(255, 255, 255, 0.8);
    font-size: 15px;
    font-weight: 400;
}

.hskincare-box ul li {
    position: relative;
    padding-left: 23px;
    margin-bottom: 7px;
}

.hskincare-box ul li::after {
    display: block;
    content: '\f00c';
    font-family: FontAwesome;
    position: absolute;
    font-size: 13px;
    left: 0;
    top: 2px;
    color: #f20505;
}


/* ============================================================
   HOME – SERVICES / DEFSERVICE
   ============================================================ */

.defservice {
    padding: 52px 0 40px;
    background-image: linear-gradient(to top, #fdfdfd, #f3f3f3, #fdfdfd);
    border: 1px solid rgba(0, 0, 0, 0.02);
}


/* ============================================================
   HOME – SHIPPING / ICON BOXES
   ============================================================ */

.hshipping-sec { padding: 50px 0 70px; }

.hshipping-ct .row {
    margin-left: -8px;
    margin-right: -8px;
    justify-content: center;
}

.hshipping-ct .col-4,
.hshipping-ct .col-sm-12 {
    padding-left: 8px;
    padding-right: 8px;
    margin-bottom: 16px;
}

.hshipping-box {
    background-color: #fff;
    padding: 40px 30px;
    border-radius: 5px;
    text-align: center;
    box-shadow: 0 0 14px rgba(0, 0, 0, 0.04);
    transition: all 0.4s ease;
    border: 1px solid rgba(0, 0, 0, 0.04);
    height: 270px;
}

.hshipping-box:hover {
    background-color: #f20505;
    transform: scale(1.1);
    position: relative;
    z-index: 2;
}

.hshipping-box:hover * { color: #ffffff; }

.hshipping-icons {
    background-color: #f20505;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.04);
    width: 80px;
    height: 80px;
    margin: 0 auto;
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 100%;
    line-height: 80px;
    display: inline-block;
}

.hshipping-box img,
.hshipping-box:hover img {
    filter: brightness(0) saturate(100%) invert(96%) sepia(96%) saturate(0%) hue-rotate(51deg) brightness(104%) contrast(106%);
    width: 40px;
}

.hshipping-box strong {
    color: #333333;
    font-size: 18px;
    font-weight: 400;
    text-transform: uppercase;
    display: block;
    margin: 20px 0 0;
}

.contactpg-content .hshipping-box strong {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 5px;
}

.hshipping-box p,
.hshipping-box a {
    color: #000000;
    font-size: 16px;
    font-weight: 300;
    opacity: 0.8;
    margin: 0;
    transition: all 0.4s ease;
}

.hshipping-box p a:hover,
.hshipping-box:hover p a:hover {
    color: #f20505;
    opacity: 1;
}

.contactpg-content .hshipping-ct { margin-bottom: 20px; }
.contactpg-content .col-sm-12:nth-child(2) { align-self: flex-end; }


/* ============================================================
   HOME – COLLECTIONS / CONTENT + IMAGE SECTIONS
   ============================================================ */

.hcollections-sec {
    padding: 0;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: top right;
    background-attachment: fixed !important;
    overflow: hidden;
    margin-top: 50px;
}

.hcollections-sec .container {
    max-width: 1366px;
    padding: 0;
}

.hcollections-sec.haboutt-sec { padding: 20px 0; }
.hcollections-content.mobilevs { display: none; }
.hcollections-content .col-6 { margin-bottom: 0; }

.hcollections-ctbox {
    padding: 50px;
    height: 100%;
}

.hcollections-ctbox ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.hcollections-ctbox ul li {
    color: #a8a8a8;
    font-size: 17px;
    margin-bottom: 15px;
    position: relative;
    padding-left: 34px;
}

.hcollections-ctbox ul li::after {
    display: block;
    content: '\f00c';
    font-family: FontAwesome;
    position: absolute;
    font-size: 19px;
    left: 0;
    top: 0;
    color: #f20505;
}

.hcollections-ctbox p strong {
    color: #f20505;
    font-size: 18px;
    font-weight: 600;
    text-transform: uppercase;
}

.hcollections-ctbox h1,
.hcollections-ctbox h2,
.hcollections-ctbox h3,
.hcollections-ctbox h4,
.hcollections-ctbox h5,
.hcollections-ctbox h6 {
    color: #333333;
    font-size: 29px;
    line-height: 43px;
    font-weight: 400;
    text-transform: uppercase;
    margin: 0 0 20px 0;
    text-align: left;
}

.hcollections-ctbox h1 strong,
.hcollections-ctbox h2 strong,
.hcollections-ctbox h3 strong,
.hcollections-ctbox h4 strong,
.hcollections-ctbox h5 strong,
.hcollections-ctbox h6 strong {
    color: #f20505;
    font-weight: 600;
}

.hcollections-ctbox p {
    color: #a8a8a8;
    font-size: 17px;
    line-height: 28px;
    font-weight: 300;
}

.hcollections-ctbox a.all-buttons { margin-top: 25px; }

/* Collections image area */
.hcollections-img {
    position: relative;
    background-color: #f5f5f5;
    padding: 35px;
}

.hcollections-img::after { opacity: 0.8; }

.hcollections-img img {
    width: 100%;
    height: 600px;
    object-fit: cover;
}

.hcollections-img.auto img { height: 437px !important; }
.page-template-leistungen .hcollections-img.auto img { height: 650px !important; }

.hgermap-sec .hcollections-img img { height: auto; }

.hcollections-imgbg {
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.row.left .hcollections-imgbg  { margin-right: 70px; }
.row.right .hcollections-imgbg { margin-left: 70px; }

.hcollections-imglist {
    position: relative;
    padding: 35px;
    height: 889px;
}

.hcollections-imglist img {
    width: 84%;
    height: 650px;
    object-fit: cover;
    position: absolute;
    right: -8%;
    top: 12%;
}

.row.right .hcollections-imglist img { right: 24%; }
.row.right { margin-bottom: 70px !important; }
.row.left  { margin-bottom: 70px; }

/* Contact info inside collection image */
.hcollections-img .ft-contactdt { margin-top: 20px; }
.hcollections-img .ft-contactdt ul li { margin-bottom: 10px; }

.hcollections-img .ft-contactdt ul li::after,
.hcollections-img .ft-contactdt ul li a,
.hcollections-img .ft-contactdt ul li a:hover,
.hcollections-img .ft-contactdt ul li span { color: #333; }

/* Row ordering */
.hcollections-content .row.right .col-6:first-child,
.hcollections-content .row.right .col-7:first-child { order: 2; }

.defaultcollec-sec .row {
    --bs-gutter-x: 0;
    --bs-gutter-y: 0;
}

.defaultcollec-sec .row:last-child { margin-bottom: 0; }
.page-template-default .hcollections-content .col-6 { margin-bottom: 0; }


/* ============================================================
   HOME – PARALLAX SECTION
   ============================================================ */

.hparallax-sec.cover {
    padding: 100px 0;
    position: relative;
    min-height: 470px;
    background-attachment: fixed !important;
}

.page-template-default .hspecializes-sec { margin-bottom: 60px; }

.hcollections-content.paralx {
    position: relative;
    z-index: 1;
    color: #fff;
}

.hcollections-content.paralx p {
    font-size: 18px;
    line-height: 31px;
    font-weight: 300;
    width: 75%;
    margin-top: 23px;
}

.hcollections-content.paralx h2,
.hcollections-content.paralx h3 {
    color: #ffffff;
    font-size: 39px;
    line-height: 51px;
    font-weight: 400;
    text-transform: uppercase;
    margin: 0 0 20px 0;
    text-align: left;
}

.hcollections-content.paralx h2 strong,
.hcollections-content.paralx h3 strong {
    color: #f20505;
    font-weight: 600;
}

.hjustic-content {
    width: 100%;
    text-align: center;
    position: relative;
    z-index: 1;
}

/* Standalone parallax hero */
.hparallax .hslider-bg.cover {
    padding: 100px 0;
    background-attachment: fixed !important;
    min-height: 500px;
    display: flex;
    align-items: center;
}

.hparallax .hslide-content {
    width: 75%;
    margin: 0 auto;
}

.hparallax .hslide-content h1,
.hparallax .hslide-content h2,
.hparallax .hslide-content h3,
.hparallax .hslide-content h4,
.hparallax .hslide-content h5,
.hparallax .hslide-content h6 { font-size: 45px; }

.hparallax .hslide-content p {
    font-size: 18px;
    line-height: 31px;
}

.hparallax.two .hslide-content { text-align: center; }


/* ============================================================
   HOME – BLOG SECTION
   ============================================================ */

.hblog-sec { padding: 50px 0 27px; }

.hblog-content .row { justify-content: center; }

.hblog-box {
    background: #ffffff;
    box-shadow: 0 10px 60px 0 rgba(0, 0, 0, 0.07);
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    position: relative;
    margin-bottom: 30px;
    min-height: 577px;
}

.hblog-thumb img { width: 100%; }

.hblog-boxinner { padding: 35px 30px 30px; }

.hblog-date {
    background-color: #f20505;
    display: inline-block;
    color: #ffffff;
    font-size: 15px;
    font-weight: 600;
    width: 70px;
    height: 70px;
    text-align: center;
    padding-top: 24px;
    border-radius: 5px;
    margin-left: 30px;
    margin-top: -35px;
}

.hblog-date p {
    display: block;
    line-height: 3px;
}

.hblog-boxinner h3 {
    color: #000000;
    font-size: 17px;
    font-weight: 500;
    margin: 0 0 15px 0;
    text-transform: uppercase;
}

.hblog-boxinner p {
    color: #8b8a8a;
    font-size: 15px;
    line-height: 25px;
    font-weight: 300;
}

.readbtn {
    position: absolute;
    bottom: 30px;
    left: 30px;
}

.readbtn a.all-buttons {
    font-size: 13px;
    padding: 11px 30px;
}

.readbtn a.all-buttons i { position: relative; left: 10px; }

.readbtn a.all-buttons:hover {
    color: #ffffff;
    background-color: #f20505;
}


/* ============================================================
   HOME – MAP SECTION
   ============================================================ */

.hmap-sec {
    padding: 70px 0;
    overflow: hidden;
}

.hmap-rightct { padding-left: 40px; }

.hmap-rightct .main-content {
    text-align: left;
    margin: 0;
}

.hmap-list { margin-top: 30px; }

.hmap-list ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.hmap-list ul li {
    margin-bottom: 10px;
    position: relative;
}

.hmap-list ul li a {
    color: #000000;
    font-size: 28px;
    font-weight: 500;
    transition: all 0.4s ease;
    display: inline-block;
}

.hmap-list ul li a:hover { color: #f20505; }

.hmap-list ul li:nth-child(2) { left: 20px; }
.hmap-list ul li:nth-child(3) { left: 40px; }
.hmap-list ul li:nth-child(4) { left: 60px; }
.hmap-list ul li:nth-child(5) { left: 80px; }
.hmap-list ul li:nth-child(6) { left: 100px; }
.hmap-list ul li:nth-child(7) { left: 130px; }
.hmap-list ul li:nth-child(8) { left: 150px; }
.hmap-list ul li:nth-child(9) { left: 170px; }


/* ============================================================
   HOME – REFERENCES / MAKE HAPPY
   ============================================================ */

.hmakehappy-sec {
    padding: 40px 0 50px;
    background-image: url(images/salon-mainbg.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.hteferenceob-list .row {
    justify-content: center;
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 1.5rem;
}

.hmakehappy-sec .container {
    max-width: 100%;
    padding: 0 100px;
}

.hmakehappy-sec .row {
    margin-left: -11px;
    margin-right: -11px;
}

.hmakehappy-sec .col-sm-12 {
    padding-left: 11px;
    padding-right: 11px;
}

.makehappy-box {
    background-color: #fff;
    border-radius: 5px;
    height: 100%;
    position: relative;
    transition: all 0.4s ease;
}

.makehappyslid-content {
    padding: 30px 30px 75px;
    text-align: center;
}

.makehappyslid-content h1,
.makehappyslid-content h2,
.makehappyslid-content h3,
.makehappyslid-content h4,
.makehappyslid-content h5,
.makehappyslid-content h6 {
    color: #333333;
    font-size: 20px;
    font-weight: 500;
    text-transform: uppercase;
    display: block;
    margin: 0 0 15px 0;
}

.makehappyslid-content p {
    color: #755C53;
    font-size: 15px;
    font-weight: 300;
}

.makehappy-box a {
    color: #333333;
    font-size: 13px;
    font-weight: 400;
    display: inline-block;
    transition: all 0.4s ease;
    position: absolute;
    bottom: 30px;
    left: 0;
    right: 0;
    margin: 0 auto;
    text-align: center;
    background-color: transparent;
    border: 1px solid #f20505;
    width: 180px;
    height: 39px;
    line-height: 39px;
    border-radius: 3px;
    text-transform: uppercase;
}

.makehappy-box a:hover {
    color: #ffffff;
    background-color: #333333;
    border-color: #f20505;
}

.makehappy-box a i { margin-right: 5px; }

.makehappy-box .thumb {
    overflow: hidden;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    position: relative;
}

.makehappy-box .thumb::after {
    content: '';
    display: inline-block;
    background-image: url(images/hbanner-after-bc.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
    opacity: 0.2;
}

.makehappy-box .thumb img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    transition: all 1s ease;
}

.makehappy-box:hover .thumb img {
    transform: scale(1.2);
}

.hmakehappy-sec .hslide-content {
    background-color: transparent;
    position: relative;
    z-index: 1;
    padding: 0;
}

.makehappy-box .hslide-content p { width: 40%; }


/* ============================================================
   FAQ
   ============================================================ */

.faqlist-sec {
    padding: 50px 0 70px;
    background-color: #fbfbfb;
}

.faqs_list .card {
    border: none;
    border-bottom: 1px solid #f1f1f1;
    padding: 0 33px;
    background-color: transparent;
}

.faqs_list .card-body {
    padding: 0 0 15px;
    color: #000000;
    font-size: 20px;
    line-height: 30px;
    font-weight: 400;
}

.faqs_list a.card-link {
    color: #000000;
    font-size: 21px;
    font-weight: bold;
    padding: 15px 0;
}

.faqs_list .card-body p {
    color: #959595;
    font-size: 18px;
    font-weight: 300;
    line-height: 30px;
    margin: 0 0 15px 0;
}

.faqs_list .card.active a.card-link { color: #f20505; }

.faqs_list .card a.card-link::after {
    color: #000000;
    display: block;
    content: '\f107';
    font-family: FontAwesome;
    position: absolute;
    font-size: 21px;
    left: 0;
    top: 14px;
}

.faqs_list .card.active a.card-link::after {
    color: #f20505;
    content: '\f106';
}


/* ============================================================
   ABOUT
   ============================================================ */

.aboutpg-sec {
    background-color: #fbfbfb;
    padding: 70px 0 20px;
}

.about {
    padding: 90px 0;
}

.about-txt p {
    text-align: justify;
    font-weight: 400;
}


/* ============================================================
   CONTACT
   ============================================================ */

.contactpg-sec,
.page-id-577 .contactpg-sec {
    padding: 39px 0 0;
}

.contactpg-sec .hshipping-box p br { display: none; }

.main-content.sm.contactpg-ct { width: 100%; }

.page-template-home .contactpg-sec { padding: 40px 0 0; }

.hcontact-img { padding-left: 30px; }

.hcontact-form {
    background-color: #f9f9f9;
    padding: 40px 35px 0;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.04);
    border: 1px solid rgba(0, 0, 0, 0.04);
    margin-bottom: 40px;
}

.hcontact-form .row {
    margin-left: -7px;
    margin-right: -7px;
}

.hcontact-form .col-3,
.hcontact-form .col-4,
.hcontact-form .col-6,
.hcontact-form .col-12 {
    padding-left: 7px;
    padding-right: 7px;
}

.hcontact-form input,
.hcontact-form select,
.hcontact-form textarea,
.hcontact-form input::placeholder,
.hcontact-form select::placeholder,
.hcontact-form textarea::placeholder {
    color: #a7a7a7;
    font-size: 14px;
    font-weight: 400;
}

.hcontact-form input,
.hcontact-form select,
.hcontact-form textarea {
    width: 100%;
    padding: 0 20px;
    border: 1px solid #efefef;
    border-radius: 3px;
}

.hcontact-form input:not([type=checkbox]),
.hcontact-form select { height: 55px; }

.hcontact-form textarea {
    height: 110px;
    padding-top: 15px;
}

.hcontact-form .button { text-align: center; }

.hcontact-form input.wpcf7-form-control.has-spinner.wpcf7-submit {
    color: #ffffff;
    font-size: 14px;
    font-weight: bold;
    display: inline-block;
    background-color: #f20505;
    width: 100%;
    padding: 0 40px;
    transition: all 0.4s ease;
    text-transform: uppercase;
    border-radius: 3px;
    cursor: pointer;
    height: 50px;
    border: none;
}

/* Disabled state */
.hcontact-form input.wpcf7-form-control.has-spinner.wpcf7-submit:disabled,
.hcontact-form input.wpcf7-form-control.has-spinner.wpcf7-submit.wpcf7-disabled {
    color: #ffffff;
    font-size: 14px;
    font-weight: bold;
    display: inline-block;
    background-color: #b5b5b5; /* greyed out */
    width: 100%;
    padding: 0 40px;
    text-transform: uppercase;
    border-radius: 3px;
    height: 50px;
    border: none;

    cursor: not-allowed;
    opacity: 0.65;
    pointer-events: none;
}

.hcontact-form input.wpcf7-form-control.has-spinner.wpcf7-submit:hover {
    color: #ffffff;
    background-color: #333333;
    border-color: #333333;
}

.hcontact-form span.wpcf7-spinner { margin: 5px auto 0; }
.wpcf7-not-valid-tip { font-size: 13px; }

.wpcf7 form .wpcf7-response-output {
    margin: 0 auto;
    text-align: center;
}

.wpcf7-acceptance .wpcf7-list-item {
	margin-left: 0;
}

.hcontact-map iframe {
    width: 100%;
    height: 420px;
}

.hcontact-form .main-content.sm {
    width: 100%;
    margin: 0 0 25px 0;
    text-align: left;
}


/* ============================================================
   FOOTER
   ============================================================ */

.site-footer {
    padding: 50px 0 0;
    background-color: #262525;
    width: 100%;
    position: relative;
}

.site-footer a {
    transition: all 0.4s ease;
	color: #ffffff;
	text-decoration: none;
}

.site-footer a:hover {
    color: #ff4d4d;
    text-decoration: underline;
}

.footer-content .row { justify-content: space-between; }

.footer-content .col-3 {
    flex: auto;
    width: auto;
    max-width: none;
}

.main-fcontent { position: relative; z-index: 1; }

/* Footer Menu */
.footer-menu { margin-bottom: 40px; }

.footer-menu ul {
    list-style: none;
    padding: 0;
    margin: 0;
    text-align: center;
}

.footer-menu ul li {
    display: inline-block;
    margin: 0 40px 0 0;
    position: relative;
    padding-right: 45px;
}

.footer-menu ul li:last-child {
    margin-right: 0;
    padding: 0;
}

.footer-menu ul li::after {
    content: '';
    display: inline-block;
    background-color: #ffffff;
    width: 8px;
    height: 1px;
    border-radius: 100%;
    position: absolute;
    top: 10px;
    right: 0;
}

.footer-menu ul li:last-child::after { display: none; }

.footer-menu ul li a {
    display: inline-block;
    font-size: 15px;
    font-weight: 600;
    line-height: 1;
    text-transform: uppercase;
}

/* Footer Contact Details */
.ft-contactdt ul,
.ft-desc ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.ft-contactdt ul li {
    position: relative;
    padding-left: 27px;
    margin-bottom: 13px;
}

.ft-desc ul li {
    margin-bottom: 13px;
    color: #9f9f9f;
    font-weight: 300;
    font-size: 18px;
}

.ft-contactdt ul li::after {
    color: #fff;
    font-size: 17px;
    font-family: FontAwesome;
    display: inline-block;
    position: absolute;
    top: 2px;
    left: 0;
}

.ft-contactdt ul li.phone::after   { content: '\f095'; }
.ft-contactdt ul li.email::after   { content: '\f0e0'; }
.ft-contactdt ul li.address::after { content: '\f041'; }

.ft-contactdt ul li a,
.ft-contactdt ul li span {
    display: inline-block;
    font-size: 18px;
    font-weight: 300;
}

.ft-contactdt ul li span {
    color: #fff;
}

.ft-contactdt.menu ul li { padding-left: 0; }
.ft-contactdt ul li.address span br { display: none; }

/* Footer Logo */
.ft-logo {
    text-align: center;
    width: 150px;
    margin: 0 auto 50px;
}

.ft-logo a.logo-text,
.ft-logo a.logo-text:hover { color: #ffffff; }

/* Footer Social Links */
.ft-socialink { margin-top: 20px; }

.ft-socialink ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.ft-socialink ul li {
    display: inline-block;
    margin-right: 5px;
}

.ft-socialink ul li:last-child { margin-right: 0; }

.ft-socialink ul li a {
    color: #000;
    font-size: 15px;
    transition: all 0.4s ease;
    background-color: #fff;
    width: 33px;
    height: 33px;
    line-height: 33px;
    display: inline-block;
    text-align: center;
    border-radius: 3px;
}

.ft-socialink ul li a:hover {
    color: #ffffff;
    background-color: #f20505;
}

/* Footer Description & Title */
.ft-desc strong,
strong.ftmain-title {
    color: #ffffff;
    font-size: 20px;
    font-weight: 600;
    text-transform: uppercase;
}

strong.ftmain-title {
    display: block;
    margin-bottom: 15px;
}

.ft-desc p {
    color: #9f9f9f;
    font-size: 18px;
    font-weight: 300;
}

/* Copyright */
.copyright {
    color: #fff;
    border-top: 1px solid #fff;
    margin-top: 30px;
    text-align: center;
    padding: 20px 0;
    position: relative;
    z-index: 1;
}

.copyright span {
    font-size: 18px;
    font-weight: 400;
}

.copyright-text {
    display: flex;
    justify-content: space-between;
}

.copyright-text .ft-lnks ul {
    margin: 0;
    padding: 0;
}

.copyright-text .ft-lnks ul li {
    list-style: none;
    display: inline-block;
    margin-right: 9px;
}

.copyright-text .ft-lnks ul li a {
    font-size: 18px;
    transition: all 0.4s ease;
}


.ft-imp a {
    margin-right: 5px;
}


/* ============================================================
   TABLE STYLES
   ============================================================ */

table {
    width: 100%;
    max-width: 960px;
    margin: 20px auto;
    border-collapse: collapse;
    background-color: #f9f9f9;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    border-radius: 4px;
    overflow: hidden;
}

tbody, td, tfoot, th, thead, tr {
    border: 1px solid #333 !important;
}

th, td {
    padding: 14px 20px;
    text-align: left;
    border: 1px solid #ddd;
}

th {
    background-color: #f20505;
    color: #fff;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

td { color: #555; background-color: #fff; }

th:nth-child(2), td:nth-child(2) { text-align: center; }
th:nth-child(3), td:nth-child(3) { text-align: right; }

.serv-table { padding: 43px 0 0; }


/* ============================================================
   PRICING / SERVICE TABS
   ============================================================ */

.service-tabs {
    display: flex;
    justify-content: center;
    margin-bottom: 20px;
}

.service-tab {
    margin: 0 10px;
    cursor: pointer;
    font-weight: bold;
    padding: 24px 73px;
    background-color: #f20505;
    border-radius: 5px;
    transition: background-color 0.3s ease;
    color: #fff;
}

.service-tab:hover,
.service-tab.active { background-color: #000; }

.service-table { display: none; }

.pricing-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 30px;
}

.pricing-table td {
    padding: 10px;
    border-bottom: 1px solid #ddd;
}

.pricing-table tr:nth-child(even) { background-color: #f9f9f9; }
.pricing-table tr:hover { background-color: #f1f1f1; }
.pricing-table td:nth-child(2) { text-align: right; }

.preise { padding: 30px 0 20px; }

.page-template-preise .main-content {
/*     width: 73%; */
    margin: 0 auto;
    text-align: center;
}

.page-template-preise .main-content h1,
.page-template-preise .main-content h2,
.page-template-preise .main-content h3,
.page-template-preise .main-content h4,
.page-template-preise .main-content h5,
.page-template-preise .main-content h6 { margin: 0; }


/* ============================================================
   PRODUCT GALLERY (CUSTOM)
   ============================================================ */

.product {
    background-color: #f9f9f9;
    padding: 30px 0 20px;
}

.product-content {
    text-align: center;
    margin-bottom: 50px;
}

.product .row {
    justify-content: center;
    --bs-gutter-x: 2rem;
    --bs-gutter-y: 2rem;
}

.product-img {
    margin: 0 0 20px;
    padding: 30px;
    background: white;
    border: 1px solid #ddd;
    border-radius: 12px;
    transition: transform 0.3s, box-shadow 0.3s;
    min-height: 330px;
    height: 100%;
    display: grid;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

.product-img img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    transition: transform 0.3s, filter 0.3s;
}

.product-img:hover {
    transform: translateY(-10px);
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.15);
}

.product-img::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.15);
    opacity: 0;
    transition: opacity 0.3s;
}

.product-img:hover::before { opacity: 1; }
.product-img img:hover { transform: scale(1.1); filter: brightness(90%); }

.product-img .overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    background: rgba(0, 0, 0, 0.5);
    color: white;
    text-align: center;
    padding: 10px;
    opacity: 0;
    transition: opacity 0.3s, transform 0.3s;
    transform: translateY(100%);
}

.product-img:hover .overlay {
    opacity: 1;
    transform: translateY(0);
}

/* Attributes */
.attributes img {
    height: 500px !important;
    object-fit: cover;
}

/* SKU / Size Selector */
.sku { padding: 14px; }
.sku table { margin-left: 140px; }

.sku-value {
    display: none;
    opacity: 0;
    transition: opacity 0.5s ease-in-out;
}

.sku-value.active {
    display: inline-block;
    opacity: 1;
}

.size-values {
    display: flex;
    justify-content: center;
    margin: 20px 0;
}

.size-values ul {
    margin: 0;
    padding: 0;
}

.size-values ul li {
    list-style: none;
    display: inline-block;
    background-color: #f20505;
    padding: 15px 240px;
    text-align: center;
    margin-right: 20px;
    cursor: pointer;
    font-size: 18px;
}

.size-value.active { font-weight: bold; color: #333; }


/* ============================================================
   TEAM SECTION — Bild links + Text rechts
   ============================================================ */

.team {
  padding: 60px 0;
}

/* Intro-Text über dem Grid */
.team-content .main-content {
  margin-bottom: 40px;
}

/* Grid: 2 Spalten auf Desktop */
.team-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

/* ---- Karte ---- */
.team-card {
  display: flex;
  align-items: flex-start;
  gap: 20px;
  background: #ffffff;
  border: 1px solid #e8e8e8;
  border-radius: 10px;
  padding: 20px;
  transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.team-card:hover {
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.08);
  transform: translateY(-2px);
}

/* ---- Bild ---- */
.team-card-image {
  flex: 0 0 110px;
  width: 110px;
  height: 135px;
  border-radius: 8px;
  overflow: hidden;
  background: #f0f0f0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.team-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  display: block;
}

/* Platzhalter wenn kein Bild vorhanden */
.team-card-image--placeholder {
  color: #c0c0c0;
}

.team-card-image--placeholder svg {
  width: 56px;
  height: 56px;
}

/* ---- Textbereich ---- */
.team-card-body {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.team-card-name {
  font-size: 17px;
  font-weight: 700;
  color: #1a1a1a;
  margin: 0 0 2px;
  line-height: 1.3;
}

.team-card-role {
  font-size: 13px;
  color: #666666;
  margin: 0 0 8px;
  line-height: 1.45;
}

.team-card-desc {
  font-size: 13px;
  color: #444444;
  line-height: 1.6;
  margin-bottom: 10px;
}

/* Inline-Elemente aus dem WYSIWYG-Editor normalisieren */
.team-card-desc p {
  margin: 0 0 6px;
}

.team-card-desc p:last-child {
  margin-bottom: 0;
}

/* ---- Kontakt-Icons ---- */
.team-card-icons {
  display: flex;
  gap: 8px;
  margin-top: 6px;
  flex-wrap: wrap;
}

.team-card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: #f5f5f5;
  border: 1px solid #e0e0e0;
  color: #555555;
  font-size: 13px;
  text-decoration: none;
  transition: background 0.2s ease, color 0.2s ease;
}

.team-card-icon:hover {
  background: #cc0000;   /* Hauptfarbe anpassen falls nötig */
  border-color: #cc0000;
  color: #ffffff;
}

/* ============================================================
   RESPONSIVE
   ============================================================ */

/* Tablet: 2 Spalten bleiben, aber etwas enger */
@media (max-width: 900px) {
  .team-grid {
    gap: 16px;
  }

  .team-card {
    padding: 16px;
    gap: 14px;
  }

  .team-card-image {
    flex: 0 0 90px;
    width: 90px;
    height: 110px;
  }
}

/* Kleines Tablet / großes Handy: 1 Spalte */
@media (max-width: 640px) {
  .team-grid {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .team-card {
    padding: 14px;
    gap: 14px;
  }

  .team-card-image {
    flex: 0 0 80px;
    width: 80px;
    height: 100px;
  }

  .team-card-name {
    font-size: 15px;
  }
}

/* Sehr kleines Handy: Bild oben, Text darunter */
@media (max-width: 380px) {
  .team-card {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .team-card-image {
    width: 100px;
    height: 120px;
  }

  .team-card-icons {
    justify-content: center;
  }
}


/* ============================================================
   GALLERY
   ============================================================ */

.inspiration-gallery { padding: 50px 0 0; }
.inspiration-gallery.gallerypg-sec { padding-bottom: 40px; }

.inspgallery-list .row {
    margin-left: -7px;
    margin-right: -7px;
    justify-content: center;
}

.inspgallery-list .col-4 {
    padding-left: 7px;
    padding-right: 7px;
}

.inspgallery-gbox {
    margin-bottom: 14px;
    overflow: hidden;
    transition: all 1s ease;
    border-radius: 8px;
}

.inspgallery-gbox a { display: block; }

.inspgallery-gbox img {
    width: 100%;
    height: 250px;
    object-fit: cover;
    transition: all 1s ease;
    border-radius: 8px;
}

.inspgallery-gbox:hover img { transform: scale(1.3); }

.inspgallery-btn {
    text-align: center;
    margin-top: 35px;
}


/* ============================================================
   GOOGLE MAP
   ============================================================ */

.googlemap-sec,
.googlemap-sec iframe {
    width: 100%;
    height: 600px;
    overflow: hidden;
}

.adefcontact-sec { padding-top: 0; }


/* ============================================================
   CAR SERVICE LIST (special layout)
   ============================================================ */

.car-servlis { padding: 100px 0 0; }

.car-servliscnt { position: relative; }

.car-img {
    text-align: center;
    margin-top: 100px;
}

.car-img img {
    width: 826px;
    height: 700px;
    object-fit: cover;
}

.servlistxt {
    position: absolute;
    max-width: 300px;
    text-align: center;
}

.servlistxt h4 {
    font-size: 24px;
    font-weight: 600;
    color: #333333;
}

.servlistxt p { color: #9f9f9f; }

.servlistxt:nth-child(1) { bottom: 35%; left: -9%; }
.servlistxt:nth-child(2) { bottom: 67%; }
.servlistxt:nth-child(3) { top: -18%; left: 25%; }
.servlistxt:nth-child(4) { top: -15%; right: 10%; }
.servlistxt:nth-child(5) { top: 21%;  right: -6%; }
.servlistxt:nth-child(6) { bottom: 30%; right: -1%; }


/* ============================================================
   PARTNERS / LOGOS SLIDER
   ============================================================ */

.patnr {
    margin-top: 58px;
    background-color: #f5f5f5;
    padding: 44px 0;
}

.patnr-img { margin-right: 21px; }
.patnr-img img { object-fit: cover; }

.patnr .slick-slider .slick-prev,
.patnr .slick-slider .slick-next,
.patnr .slick-slider .slick-prev::before,
.patnr .slick-slider .slick-next::before { display: none; }


/* ============================================================
   SCHADEN (DAMAGE) SECTION
   ============================================================ */

.schaden { padding: 50px 0 0; }

.Furdie { padding: 40px 0; }


/* ============================================================
   WIDGETS (WordPress Sidebar)
   ============================================================ */

.widget.widget_block {
    padding: 30px;
    background-color: #f9f9f9;
    margin-bottom: 30px;
}

.widget.widget_block h1,
.widget.widget_block h2,
.widget.widget_block h3,
.widget.widget_block h4,
.widget.widget_block h5,
.widget.widget_block h6 {
    color: #f20505;
    font-size: 25px;
    font-weight: 600;
    margin: 0 0 5px 0;
    text-transform: uppercase;
}

button.wp-block-search__button.wp-element-button {
    position: relative;
    margin: 0;
    font-size: 0;
    width: 50px;
    text-align: center;
    background-color: #f20505;
    border: none;
}

button.wp-block-search__button.wp-element-button::after {
    color: #ffffff;
    display: block;
    content: '\f002';
    font-family: FontAwesome;
    position: absolute;
    font-size: 18px;
    left: 16px;
    top: 8px;
}

aside#block-2 {
    padding-top: 20px;
    padding-bottom: 40px;
}

aside#block-4 {
    padding-bottom: 0;
    margin: 0;
}

aside#block-4 h1,
aside#block-4 h2,
aside#block-4 h3,
aside#block-4 h4,
aside#block-4 h5,
aside#block-4 h6 { margin: 0; }

div#sidebar ul {
    list-style: none;
    padding: 0;
    margin: 0;
}


/* ============================================================
   GRAVITY FORMS
   ============================================================ */

.gform_body ul li.gfield.gfield_error input,
.gform_body ul li.gfield.gfield_error textarea {
    border: 1px solid #ff0000 !important;
}

.gform_wrapper .gfield_error .gfield_label { color: #b69c9c !important; }

.gform_wrapper .field_description_below .gfield_description { padding-top: 8px !important; }

.gform_wrapper.gform_validation_error .gform_body ul li.gfield.gfield_error:not(.gf_left_half):not(.gf_right_half) {
    max-width: inherit !important;
}

.gform_wrapper li.gfield.gfield_error {
    background-color: transparent !important;
    margin-bottom: 6px !important;
    border: 0 !important;
    padding-bottom: 0 !important;
}


/* ============================================================
   SHOP SIDEBAR (non-WooCommerce classes)
   ============================================================ */

.shopmain-sidebar ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.shopside-menucat li {
    position: relative;
    margin-bottom: 5px;
}

.cat_sub-menu {
    position: absolute;
    top: 0;
    right: 0;
    width: 20px;
    height: 25px;
    text-align: center;
    cursor: pointer;
}

.cat_sub-menu i.fa.fa-caret-up { display: none; }

.shop-prodsidebar { margin-bottom: 40px; }

.shopside-menucat li.firstli {
    position: relative;
    padding-left: 20px;
    margin-bottom: 15px;
}

.shopside-menucat li.firstli::after {
    color: #18100f;
    display: block;
    content: '\f105';
    font-family: FontAwesome;
    position: absolute;
    font-size: 17px;
    left: 0;
    top: 0;
}

.shopside-menucat li a {
    color: #18100f;
    font-size: 17px;
    font-weight: 400;
    transition: all 0.4s ease;
}

.woopages-sec {
    padding: 60px 0;
    background-color: #fbfbfb;
}

.woopages-sec h1,
.woopages-sec h2,
.woopages-sec h3,
.woopages-sec h4,
.woopages-sec h5,
.woopages-sec h6 {
    color: #000000;
    font-size: 30px;
    text-transform: uppercase;
}

.single-product .shop-prodsidebar { padding-top: 50px; }


/* ============================================================
   SELECT2 DROPDOWN (used in forms/filters)
   ============================================================ */

.select2-container--default .select2-selection--single {
    background-color: #f9f9f9;
    border: 1px solid #ebebeb;
    border-radius: 4px;
    height: 55px;
    padding: 0 20px;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
    color: #18100f;
    font-size: 16px;
    font-weight: 400;
    line-height: 55px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 14px;
    right: 20px;
}

.select2-dropdown { border: 1px solid #ebebeb; }

.select2-results__option { padding: 6px 20px !important; }

.select2-container--default .select2-search--dropdown .select2-search__field {
    border: 1px solid #ebebeb;
}


/* ============================================================
   PAGE-SPECIFIC OVERRIDES
   ============================================================ */

/* Impressum / Datenschutz */
.page-id-1576 .hmainct-sec { padding: 40px 0 20px; }

.page-id-1576 .main-content,
.page-id-1895 .main-content {
    margin: 0 auto 30px;
    text-align: left;
}

.page-id-1576 .main-content h4,
.page-id-1895 .main-content h4 {
    font-size: 25px;
    margin-bottom: 15px;
    font-weight: 500;
}

.page-id-1576 .main-content a,
.page-id-1895 .main-content a {
    color: #959595;
    text-decoration: underline !important;
}


@media (max-width: 768px) {
    body #container div[class^="col-"] {
        flex: 1 1 200px;
		width: 100%;
    }

    header.site-header .col-3 {
        flex: initial;
    }
	
	.ft-socialink {
		margin-bottom: 20px;
	}
	
	.copyright-text {
		flex-flow: column wrap;
	}
	
	body .row.left .hcollections-imgbg {
		margin-right: 0;
	}
	
	body .hcollections-imglist {
		height: auto;
	}
	
	body .hcollections-imglist img {
		width: 100%;
		height: auto;
		position: relative;
		right: auto;
	}
	
	body .hcollections-content.paralx p {
		width: 100%;
	}
	
	body .hcollections-img img {
		height: auto !important;
	}
	
	body .hcollections-ctbox {
		padding: 20px;
	}
	
	div[class$="-sec"] .container {
		padding-left: 0;
		padding-right: 0;
	}
	
	.main-content {
		width: 100%;
	}
	
	.servlistxt {
		position: relative;
		margin: 0 auto;
		top: initial !important;
		bottom: initial !important;
		right: initial !important;
		left: initial !important;
	}
	
	.car-img {
		margin: 0;
	}
	
	.car-img img {
		height: auto;
	}
}


@media (min-width: 769px) {
	.hskincare-sec {
		margin-top: 60px;
	}
	
	.main-content {
		width: 75%;
	}
}
