/*
Theme Name:   hiebermedia-theme Child
Description:  hiebermedia-theme Child WordPress Theme
Version: 1.0
Author: Hieber Media
Author URI: https://www.hiebermedia.com
Template: hiebermedia-theme
Text Domain:  hiebermedia-theme-child
*/

@font-face {
    font-family: 'dwgfont';
    src: url('fonts/dwg-Thin.woff2') format('woff2'),
        url('fonts/dwg-Thin.woff') format('woff');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'dwgfont';
    src: url('fonts/dwg-ExtraLight.woff2') format('woff2'),
        url('fonts/dwg-ExtraLight.woff') format('woff');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'dwgfont';
    src: url('fonts/dwg-Light.woff2') format('woff2'),
        url('fonts/dwg-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'dwgfont';
    src: url('fonts/dwg-Regular.woff2') format('woff2'),
        url('fonts/dwg-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'dwgfont';
    src: url('fonts/dwg-Medium.woff2') format('woff2'),
        url('fonts/dwg-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

.hm-primary {
    color: var(--e-global-color-primary);
}

html {
   scroll-padding-top: 100px;
}

body { 
	max-width: none !important;
	font-family: 'dwgfont', Arial, sans-serif;
  font-weight: 300;
}

#wrapper {
	/*box-shadow: 0 0 10px rgba(0, 0, 0, 0.25) !important;*/
	max-width: none !important;
}

#site-header .elementor-sticky { 
    width: 100% !important;
    /*margin-bottom: -118px !important;*/
}


/* ===============================
   HM Spacing System – Scale
   =============================== */

/* Desktop / Default */
:root {
  --hm-space-xs: 10px;
  --hm-space-s: 24px;
  --hm-space-m: 48px;
  --hm-space-l: 64px;
  --hm-space-xl: 96px;
  --hm-space-xxl: 128px;
}

/* Tablet */
@media (max-width: 1024px) {
  :root {
    --hm-space-xs: 10px;
    --hm-space-s: 20px;
    --hm-space-m: 40px;
    --hm-space-l: 56px;
    --hm-space-xl: 80px;
    --hm-space-xxl: 112px;
  }
}

/* Mobile */
@media (max-width: 767px) {
  :root {
    --hm-space-xs: 10px;
    --hm-space-s: 16px;
    --hm-space-m: 32px;
    --hm-space-l: 48px;
    --hm-space-xl: 64px;
    --hm-space-xxl: 96px;
  }
}

/* ===============================
   Sticky Header Overrides
   =============================== */

.elementor-sticky--effects.she-header-yes.hm-pady-xs {
  padding-top: var(--hm-space-xs) !important;
  padding-bottom: var(--hm-space-xs) !important;
}
.elementor-sticky--effects.she-header-yes.hm-pady-s {
  padding-top: var(--hm-space-s) !important;
  padding-bottom: var(--hm-space-s) !important;
}
.elementor-sticky--effects.she-header-yes.hm-pady-m {
  padding-top: var(--hm-space-m) !important;
  padding-bottom: var(--hm-space-m) !important;
}

/* ===============================
   All Sides – hm-pad-*
   =============================== */

.hm-pad-xs, .elementor .e-con.hm-pad-xs { padding: var(--hm-space-xs); }
.hm-pad-s,  .elementor .e-con.hm-pad-s  { padding: var(--hm-space-s); }
.hm-pad-m,  .elementor .e-con.hm-pad-m  { padding: var(--hm-space-m); }
.hm-pad-l,  .elementor .e-con.hm-pad-l  { padding: var(--hm-space-l); }
.hm-pad-xl, .elementor .e-con.hm-pad-xl { padding: var(--hm-space-xl); }
.hm-pad-xxl,.elementor .e-con.hm-pad-xxl{ padding: var(--hm-space-xxl); }

/* ===============================
   X-Axis – hm-padx-*
   =============================== */

.hm-padx-xs, .elementor .e-con.hm-padx-xs {
  padding-left: var(--hm-space-xs);
  padding-right: var(--hm-space-xs);
}
.hm-padx-s, .elementor .e-con.hm-padx-s {
  padding-left: var(--hm-space-s);
  padding-right: var(--hm-space-s);
}
.hm-padx-m, .elementor .e-con.hm-padx-m {
  padding-left: var(--hm-space-m);
  padding-right: var(--hm-space-m);
}
.hm-padx-l, .elementor .e-con.hm-padx-l {
  padding-left: var(--hm-space-l);
  padding-right: var(--hm-space-l);
}
.hm-padx-xl, .elementor .e-con.hm-padx-xl {
  padding-left: var(--hm-space-xl);
  padding-right: var(--hm-space-xl);
}
.hm-padx-xxl, .elementor .e-con.hm-padx-xxl {
  padding-left: var(--hm-space-xxl);
  padding-right: var(--hm-space-xxl);
}

/* ===============================
   Y-Axis – hm-pady-*
   =============================== */

.hm-pady-xs, .elementor .e-con.hm-pady-xs {
  padding-top: var(--hm-space-xs);
  padding-bottom: var(--hm-space-xs);
}
.hm-pady-s, .elementor .e-con.hm-pady-s {
  padding-top: var(--hm-space-s);
  padding-bottom: var(--hm-space-s);
}
.hm-pady-m, .elementor .e-con.hm-pady-m {
  padding-top: var(--hm-space-m);
  padding-bottom: var(--hm-space-m);
}
.hm-pady-l, .elementor .e-con.hm-pady-l {
  padding-top: var(--hm-space-l);
  padding-bottom: var(--hm-space-l);
}
.hm-pady-xl, .elementor .e-con.hm-pady-xl {
  padding-top: var(--hm-space-xl);
  padding-bottom: var(--hm-space-xl);
}
.hm-pady-xxl, .elementor .e-con.hm-pady-xxl {
  padding-top: var(--hm-space-xxl);
  padding-bottom: var(--hm-space-xxl);
}

/* ===============================
   Single Sides – hm-padt / padr / padb / padl
   =============================== */

/* Top */
.hm-padt-xs, .elementor .e-con.hm-padt-xs { padding-top: var(--hm-space-xs); }
.hm-padt-s,  .elementor .e-con.hm-padt-s  { padding-top: var(--hm-space-s); }
.hm-padt-m,  .elementor .e-con.hm-padt-m  { padding-top: var(--hm-space-m); }
.hm-padt-l,  .elementor .e-con.hm-padt-l  { padding-top: var(--hm-space-l); }
.hm-padt-xl, .elementor .e-con.hm-padt-xl { padding-top: var(--hm-space-xl); }
.hm-padt-xxl,.elementor .e-con.hm-padt-xxl{ padding-top: var(--hm-space-xxl); }

/* Right */
.hm-padr-xs, .elementor .e-con.hm-padr-xs { padding-right: var(--hm-space-xs); }
.hm-padr-s,  .elementor .e-con.hm-padr-s  { padding-right: var(--hm-space-s); }
.hm-padr-m,  .elementor .e-con.hm-padr-m  { padding-right: var(--hm-space-m); }
.hm-padr-l,  .elementor .e-con.hm-padr-l  { padding-right: var(--hm-space-l); }
.hm-padr-xl, .elementor .e-con.hm-padr-xl { padding-right: var(--hm-space-xl); }
.hm-padr-xxl,.elementor .e-con.hm-padr-xxl{ padding-right: var(--hm-space-xxl); }

/* Bottom */
.hm-padb-xs, .elementor .e-con.hm-padb-xs { padding-bottom: var(--hm-space-xs); }
.hm-padb-s,  .elementor .e-con.hm-padb-s  { padding-bottom: var(--hm-space-s); }
.hm-padb-m,  .elementor .e-con.hm-padb-m  { padding-bottom: var(--hm-space-m); }
.hm-padb-l,  .elementor .e-con.hm-padb-l  { padding-bottom: var(--hm-space-l); }
.hm-padb-xl, .elementor .e-con.hm-padb-xl { padding-bottom: var(--hm-space-xl); }
.hm-padb-xxl,.elementor .e-con.hm-padb-xxl{ padding-bottom: var(--hm-space-xxl); }

/* Left */
.hm-padl-xs, .elementor .e-con.hm-padl-xs { padding-left: var(--hm-space-xs); }
.hm-padl-s,  .elementor .e-con.hm-padl-s  { padding-left: var(--hm-space-s); }
.hm-padl-m,  .elementor .e-con.hm-padl-m  { padding-left: var(--hm-space-m); }
.hm-padl-l,  .elementor .e-con.hm-padl-l  { padding-left: var(--hm-space-l); }
.hm-padl-xl, .elementor .e-con.hm-padl-xl { padding-left: var(--hm-space-xl); }
.hm-padl-xxl,.elementor .e-con.hm-padl-xxl{ padding-left: var(--hm-space-xxl); }

/* ===============================
   NO PADDING – hm-pad-0
   =============================== */

.hm-pad-0,
.elementor .e-con.hm-pad-0 {
  padding: 0 !important;
}

.hm-padx-0,
.elementor .e-con.hm-padx-0 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.hm-pady-0,
.elementor .e-con.hm-pady-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* ************* */

/*gallery items space between*/
.gallery-item {
	padding: 0 15px 15px 0;
}

/*gallery item img shadow */
.gallery-item img {
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.5) !important;	
}

/* dropdown abstand oben mobile */
/*.elementor-nav-menu--dropdown.elementor-nav-menu__container {
	margin-top: 0px !important;	
}*/

/* min width for sub menu items */
.elementor-nav-menu--main .elementor-nav-menu ul {
	min-width: 240px !important;	
}

.elementor-nav-menu--main .elementor-nav-menu a {
    padding: 18px 15px 18px 15px !important;
}

.hm-cta a {
    background-color: var(--e-global-color-primary);
    border-radius: 10px;
    color: #ffffff !important;
    line-height: 1em !important;
}

.hm-cta a:hover {
    background-color: #799B38DB;   
}

@media (max-width: 1024px) {
    .hm-cta a {
        border-radius: 0px;
    }
}

/* Footer Text color */
footer p {
	color: #ffffff !important;	
}

/* Footer Link color */
footer a {
	color: #ffffff !important;	
}

/* fontawesome icon in p */
p .fa {
	color: #666666;	
	width: 20px;
}

/* Elementor Pagination Space top */
.elementor-pagination {
	margin-top: 30px;	
}

strong {
  font-weight: 500;
}

/* Shadow Post Thumbnails */
.elementor-post__thumbnail {
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.5) !important;
}

/* Search Form */
.elementor-widget-search-form {
	max-width: 240px !important;
	float: right;	
}

/* shadow div */
.quoupslider {
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.5) !important;
}

.elementor-post__title {
	font-size: 1.3em !important;	
}

/*large button font size*/

.elementor-button.elementor-size-lg {
	font-size: 1.0em !important;
}

header .elementor-widget:not(:last-child) {
	margin-bottom: 5px !important;	
}

.hm-section {
	box-shadow: 0px 0px 15px rgba(0,0,0,0.2);
}

.nomargin {
	margin: 0 !important;	
}

.nopadding {
	padding: 0 !important;	
}

a.footerlink, 
a.footerlink:hover {
	color: #ffffff;	
}

/* breakpoints: 1025 (tablet), 768 (mobile) */

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

	.elementor-heading-title.elementor-size-xl {
		font-size: 1.8em !important;	
	}

}

.elementor-form-fields-wrapper.elementor-labels-above > .elementor-field-group .elementor-field-subgroup, .elementor-form-fields-wrapper.elementor-labels-above > .elementor-field-group > .elementor-select-wrapper, .elementor-form-fields-wrapper.elementor-labels-above > .elementor-field-group > input, .elementor-form-fields-wrapper.elementor-labels-above > .elementor-field-group > textarea {
	font-family: 'dwgfont', Arial, sans-serif;
}

/* Elementor Counter Title Abstand */

.elementor-counter-title {
	padding-top: 10px;	
}

/******************************************************************************************/
/*************************************** Fluent Forms *************************************/
/******************************************************************************************/

.ff-default .ff-el-form-control {
  font-family: 'dwgfont', Arial, sans-serif !important;
  font-weight: 300 !important;
  padding: 12px 15px 10px 15px !important;
}

h3.hm-fluentform {
	font-size: 1.2rem !important;
  font-weight: 300 !important;
 	line-height: 1.5 !important;
  color: var( --e-global-color-secondary ) !important;
	margin-bottom: 0;
}

/* Next Button*/
button.ff-btn-next {
	background-color: var( --e-global-color-primary ) !important;
	border: 0;
	border-radius: 5px;
	padding: 14px 20px !important;
	color: #ffffff;
	font-size: 16px !important;
	line-height: 1.5 !important;
}

button.ff-btn-next:hover {
	opacity:80%;
}

/* Prev Button*/
button.ff-btn-prev {
	background-color: #7A7A7A61 !important;
	border: 0;
	border-radius: 5px;
	padding: 14px 20px !important;
	color: #ffffff !important;
	font-size: 16px !important;
	line-height: 1.5 !important;
}

button.ff-btn-prev:hover {
	opacity:80%;
}

/* Submit Button*/
button.ff-btn-submit {
	background-color: var( --e-global-color-primary ) !important;
	border: 0;
	border-radius: 5px !important;
	padding: 14px 20px !important;
	color: #ffffff;
	font-size: 16px !important;
	line-height: 1.5 !important;
}

button.ff-btn-submit:hover {
	opacity:80%;
}

/* Checkbox Button Select */

.fluentform .hm-check-buttons input[type="checkbox"], 
.fluentform .hm-check-buttons input[type="radio"] {
	display: none !important;
}

.fluentform .hm-check-buttons .ff-el-input--content {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 10px !important;
}

.fluentform .hm-check-buttons .ff-el-form-check {
	display: block !important;
  margin-bottom: 0px !important;
}

.fluentform .hm-check-buttons .ff-el-form-check label {
	background: transparent;
	color: var(--e-global-color-secondary);
	padding: 18px 15px 15px 15px;
	display: block !important;
	width: 100% !important;
	border: 1px solid var(--e-global-color-secondary);
	border-radius: 5px;
	transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
  margin-bottom: 2px !important;
}

.fluentform .hm-check-buttons .ff-el-form-check label:hover {
	background: #F7F7F7;
	border: 1px solid var(--e-global-color-primary);
	transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

.fluentform .hm-check-buttons .ff-el-form-check.ff_item_selected label {
	background: #E6ECD9;
	color: var(--e-global-color-secondary);
	border: 1px solid var(--e-global-color-primary);
	transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out;
}

/* Mobile */
@media screen and (max-width: 767px) {
	.fluentform .hm-check-buttons .ff-el-input--content {
		grid-template-columns: 1fr !important;
	}
}

/* Custom HTML */

.fluentform .hm-headline.ff-custom_html, 
.fluentform .hm-headline.ff-custom_html h2 {
    margin-bottom: 0px !important;
}

.fluentform .hm-datenschutz.ff-custom_html {
    color: #ffffff;
	  font-size: 14px;
}

.fluentform p.hm-datenschutz {
  font-weight: 300 !important;
  color: var(--e-global-color-8314a41) !important;
  margin-bottom: -5px;
  font-size: 0.9rem;
}

.fluentform p.hm-datenschutz a {
    color: var(--e-global-color-secondary) !important;
    text-decoration: underline;
}

.fluentform p.hm-datenschutz a:hover {
    color: var(--e-global-color-primary) !important;
    text-decoration: underline;
}

.ff-message-success {
    box-shadow: none;
    padding: 20px !important;
    border-radius: 10px;
}

.ff-message-success h4 {
    font-size: 24px !important;
}

.ff-message-success p {
    font-size: 1.0rem;
    font-weight: 200;
    color: var( --e-global-color-8314a41 );
    margin-bottom: 0px;
}


/* phone link ios */

.hm-phone .elementor-icon-box-description,
.hm-phone .elementor-icon-box-description a,
.hm-phone .elementor-icon-box-description a[x-apple-data-detectors] {
    color: #fff !important;
    -webkit-text-fill-color: #fff !important;
    text-decoration: none !important;
}