/*
 Theme Name:     Rose
 Description:    Custome Theme für Dres. Rose & Kollegen
 Author:         Valeria Frolova
 Author URI:     https://designlova.com
 Template:       Divi
 Version:        1.0.1
*/

/* Fonts */
@font-face {
  font-display: swap;
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 400;
  src: url('https://www.zahnaerzte-emmendingen.de/wp-content/uploads/fonts/montserrat-v26-latin-regular.woff2') format('woff2'), 
       url('https://www.zahnaerzte-emmendingen.de/wp-content/uploads/fonts/montserrat-v26-latin-regular.ttf') format('truetype');
}
@font-face {
  font-display: swap;
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 400;
  src: url('https://www.zahnaerzte-emmendingen.de/wp-content/uploads/fonts/montserrat-v26-latin-italic.woff2') format('woff2'),
       url('https://www.zahnaerzte-emmendingen.de/wp-content/uploads/fonts/montserrat-v26-latin-italic.ttf') format('truetype');
}
@font-face {
  font-display: swap;
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 500;
  src: url('https://www.zahnaerzte-emmendingen.de/wp-content/uploads/fonts/montserrat-v26-latin-500.woff2') format('woff2'),
       url('https://www.zahnaerzte-emmendingen.de/wp-content/uploads/fonts/montserrat-v26-latin-500.ttf') format('truetype');
}
@font-face {
  font-display: swap;
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 500;
  src: url('https://www.zahnaerzte-emmendingen.de/wp-content/uploads/fonts/montserrat-v26-latin-500italic.woff2') format('woff2'),
       url('https://www.zahnaerzte-emmendingen.de/wp-content/uploads/fonts/montserrat-v26-latin-500italic.ttf') format('truetype');
}
@font-face {
  font-display: swap;
  font-family: 'Montserrat';
  font-style: normal;
  font-weight: 600;
  src: url('https://www.zahnaerzte-emmendingen.de/wp-content/uploads/fonts/montserrat-v26-latin-600.woff2') format('woff2'),
       url('https://www.zahnaerzte-emmendingen.de/wp-content/uploads/fonts/montserrat-v26-latin-600.ttf') format('truetype');
}
@font-face {
  font-display: swap;
  font-family: 'Montserrat';
  font-style: italic;
  font-weight: 600;
  src: url('https://www.zahnaerzte-emmendingen.de/wp-content/uploads/fonts/montserrat-v26-latin-600italic.woff2') format('woff2'),
       url('https://www.zahnaerzte-emmendingen.de/wp-content/uploads/fonts/montserrat-v26-latin-600italic.ttf') format('truetype');
}

/*-------------------------------------------------------*/
html {
	height: -webkit-fill-available;
}

body {
	font-family: 'Montserrat', Arial, sans-serif !important;
	font-weight: 400 !important;
}

p,
li {
	font-family: 'Montserrat', Arial, sans-serif !important;
	font-weight: 400 !important;
	line-height: 1.6em !important;
}

strong {
	font-weight: 500 !important;
}

h1,
h2,
h3,
h4 {
	font-family: 'Montserrat', Arial, sans-serif !important;
	font-weight:500 !important;
}

h1 {
	font-weight: 500 !important;
	text-transform: normal;
}

.header-treatment h1:before {content:"Behandlungen"}
.header-about h1:before {content:"Über uns"}
.header-contact h1:before {content:"Kontakt & Anfahrt"}
.header-jobs h1:before {content:"Karriere"}

.sub-header h1:before {
	display:block;
	font-size:22px;
	font-weight:500 !important;
	text-transform:uppercase;
}

@media only screen and (max-width: 980px) {
.sub-header h1:before {
	font-size:18px;
}
}

.et_pb_fullwidth_header .header-content {
  padding:0px !important;
}

/* Öfnungszeiten */
.time-slot {
    display: flex;
    justify-content: space-between;
    margin-bottom: 0px;
}

.hours {
    text-align: right;
}

/* Header Home */
@media only screen and (min-width: 981px) and (max-width: 1280px) {
  .et_pb_fullwidth_header_0.header-home .et_pb_fullwidth_header_container {
    width: 33% !important;
  }
	
body #page-container .et_pb_section .et_pb_fullwidth_header_0 .et_pb_button_one.et_pb_button, body #page-container .et_pb_section .et_pb_fullwidth_header_1 .et_pb_button_one.et_pb_button {
  padding-right: 51px !important;
  padding-left: 32px !important;
}
}

/* Slider */
.dsm_card_carousel_wrapper {
  position: relative;
}

.dsm_card_carousel_arrow {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  margin-top: 20px !important;
  display: inline-flex !important;
}

.swiper-button-prev.dsm_card_carousel_arrow,
.swiper-button-next.dsm_card_carousel_arrow {
  position: relative !important;
  top: auto !important;
  transform: none !important;
}

.et_pb_module_inner > .swiper-button-prev,
.et_pb_module_inner > .swiper-button-next {
  display: inline-flex !important;
  position: relative !important;
  top: auto !important;
  transform: none !important;
  margin-top: 20px !important;
}

.dsm_card_carousel_0.dsm_card_carousel .swiper-button-prev, 
.dsm_card_carousel_0.dsm_card_carousel .swiper-button-next {
  height: auto !important;
}

.dsm-card-button-alignment-top .et_pb_button_wrapper {
  margin-top: auto;
  margin-bottom: 0 !important;
}
/* Floating Button */
    .fab-container {
        position: fixed;
        bottom: 48px;
        right: 48px;
        cursor: pointer;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    .fab, .sub-fab {
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 50%;
        transition: all 0.3s ease;
        text-align: center;
        font-family: ETmodules !important;
        speak: none;
        font-style: normal;
        font-weight: 400;
    }

    .fab {
        width: 80px;
        height: 80px;
        background-color: #5880be;
        z-index: 2;
        font-size: 30px;
        color: #fff;
		box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
    }

    .sub-fab {
        width: 60px;
        height: 60px;
        background-color: #5880be;
        position: absolute;
        opacity: 0;
        visibility: hidden;
        font-size: 24px;
        color: #fff;
		box-shadow: 0 0 7px rgba(0, 0, 0, 0.3);
    }

.fab::after {
  content: "\e023";
  font-family: ETmodules;
}

.sub-fab:nth-child(2)::after {
  content: "\e090";
  font-family: ETmodules;
}

.sub-fab:nth-child(3)::after {
  content: "\e076";
  font-family: ETmodules;
}

.sub-fab:nth-child(4)::after {
  content: "\e023";
  font-family: ETmodules;
}

    .fab-container.active .sub-fab { /* Alle sub-fabs gleichzeitig sichtbar machen */
        opacity: 1;
        visibility: visible;
    }

    .fab-container.active .sub-fab:nth-child(2) { /* direkt links vom Hauptbutton */
        transform: translateX(-100px);
    }

    .fab-container.active .sub-fab:nth-child(3) { /* oberhalb des Hauptbuttons */
        transform: translateY(-100px);
    }

    .fab-container.active .sub-fab:nth-child(4) { /* zwischen dem oberen und linken Button */
        transform: translateX(-70px) translateY(-70px);
    }

@media (max-width: 980px) {
	    .fab-container {
        bottom: 24px;
        right: 24px;
    }

    .fab {
        width: 60px;
        height: 60px;
    }

    .sub-fab {
        width: 48px;
        height: 48px;
    }

.fab-container.active .sub-fab:nth-child(2) { 
    transform: translateX(-80px);
}

.fab-container.active .sub-fab:nth-child(3) { 
    transform: translateY(-80px);
}

.fab-container.active .sub-fab:nth-child(4) { 
    transform: translateX(-60px) 	translateY(-60px);
}
}

/* Google 360 */
.google_360 .et_pb_code_inner {
	position: relative;
	min-height: 720px;
	width: 100%;
}

.google_360 .google_abdecker {
  mix-blend-mode: normal;
  background-color: #4673B4;
  opacity: 0;
  z-index: 2; 
  cursor: pointer;
  transition: opacity 0.2s ease-in-out;
}

.google_360 .google_link {
  opacity: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2;
  transition: opacity 0.2s ease-in-out;
	color:#fff;
	font-size:22px;
	font-weight:500 !important;
}

.google_360:hover .google_abdecker {
  opacity: 0.8;
}

.google_360:hover .google_link {
  opacity: 1;
}

.google_360 iframe, .google_360 .google_link, .google_360 .google_abdecker {
  border: 0;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  height: 100%;
  width: 100%;
}

/* Menu */
 .et-fixed-header #top-menu li.current-menu-ancestor > a, .et-fixed-header #top-menu li.current-menu-item > a, .et-fixed-header #top-menu li.current_page_item > a, #top-menu li.current-menu-ancestor > a, #top-menu li.current-menu-item > a, #top-menu li.current_page_item > a  {
	 font-weight:500 !important;
	 color:#000000 !important;
}

#top-menu-nav > ul > li > a:hover, #top-menu li li a:hover {
  opacity: 1;
  color:#5880BE;
  transition: all 300ms ease-in-out;
}

@media (min-width: 981px) {
  .et_primary_nav_dropdown_animation_fade #et-top-navigation ul li:hover > ul, .et_secondary_nav_dropdown_animation_fade #et-secondary-nav li:hover > ul {
    -webkit-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out;
  }
}
.nav li.et-touch-hover > ul, .nav li:hover > ul {
  opacity: 1;
  visibility: visible;
}

.et-search-form, .nav li ul, .et_mobile_menu, .footer-widget li::before, .et_pb_pricing li::before, blockquote {
  border-color: #000000;
}

.nav li {
	line-height: 1em !important;
}

.nav li ul {
  width: auto;
}

#top-menu li li {
  padding: 0px 12px;
	display:block !important;
}

#top-menu li li a {
  padding: 10px 12px;
  width: auto;
	min-width:200px;
	text-transform: none;
	line-height: 1.2em;
}

.et_header_style_left .logo_container {
  border-bottom: 2px solid #5880BE !important;
}

#main-header {
	-webkit-box-shadow: 0 0px 0 rgba(0, 0, 0, .1) !important;
	box-shadow: 0 0px 0 rgba(0, 0, 0, .1) !important;
}


@media (min-width: 981px) {
  #main-header.et-fixed-header {
	-webkit-box-shadow: 0 0px 0 rgba(0, 0, 0, .1) !important;
	box-shadow: 0 0px 0 rgba(0, 0, 0, .1) !important;
	padding-bottom: 0px;
	}
	
#main-header {
	padding-bottom: 36px;
  }
	
#et-main-area {
  margin-top: 36px;
}
}


@media (max-width: 980px) {
.et_fixed_nav #main-header {
        position: fixed !important;
	}
	
#main-header.et-fixed-header {
        -webkit-box-shadow: 0 0 7px rgba(0, 0, 0, 0.1) !important;
        box-shadow: 0 0 7px rgba(0, 0, 0, 0.1) !important;
    }
}

.et_pb_svg_logo #logo {
	height: 45% !important;
	max-height: 45% !important;
}

header .container {
	width: 80%;
	max-width: 1440px;
}

body #page-container .et_pb_section .et_pb_button_0::after {
	margin-left: 1em;
	color: #0B0B0B;
}

/* Mobiles Menu */
@media only screen and (max-width: 980px) {
.logo_container,
	#et-top-navigation {
		height: 80px;
	}
}

.et_mobile_menu li a,
.nav li li a, .et_mobile_menu .menu-item-has-children > a {
	font-size: 18px;
	font-weight: 500;
	background-color: transparent;
}

.et_mobile_menu li a:hover,
.nav ul li a:hover {
	background-color: rgba(0, 0, 0, 0);
	opacity: 1;
}

.et_mobile_menu li:last-child a {
	border-bottom: 0px;
}

.et_mobile_menu li:last-child {
	margin-top: 6px;
}

.mobile_nav.opened .mobile_menu_bar:before {
	content: '\4d';
}

.et_mobile_menu {
	border-top: 0;
}

.et_mobile_menu li {
	text-align: center !important;
}

.et_mobile_menu li li,
.et_mobile_menu li ul {
	padding-left: 0 !important;
}

.et_mobile_menu li ul {
	padding-bottom:12px;
}

.et_mobile_menu {
	min-width: 100vw;
	margin-left: -10vw;
}

.et_mobile_menu {
	min-height: calc(100vh - 80px) !important;
	min-height: -webkit-fill-available;
	padding-top: 12px !important;
	top: 80px !important;
}

.et_mobile_menu .sub-menu li a {
  font-weight: 400 !important;
	padding: 6px 0px;
}

.mobile_nav.opened .et_mobile_menu {
	display: block !important;
}

.mobile_menu_bar::before {
	font-size: 36px !important;
}

/* Top-Button */
.et_pb_scroll_top.et-pb-icon {
	font-size: 24px !important;
	background: #0b0b0 !important;
	color: #FFF;
}

/* Job Manager */
.rp4wp-related-job_listing > ul, ul.job_listings {
  border-top: none !important;
}

.rp4wp-related-job_listing > ul li.job_listing,
.rp4wp-related-job_listing > ul li.no_job_listings_found,
ul.job_listings li.job_listing,
ul.job_listings li.no_job_listings_found {
  border-bottom: 2px solid #5880BE !important;
  padding-bottom: 12px !important;
}

.rp4wp-related-job_listing > ul li.job_listing a div.position,
.rp4wp-related-job_listing > ul li.no_job_listings_found a div.position,
ul.job_listings li.job_listing a div.position,
ul.job_listings li.no_job_listings_found a div.position {
  padding: 0px !important;
}

.rp4wp-related-job_listing > ul li.job_listing a, .rp4wp-related-job_listing > ul li.no_job_listings_found a, ul.job_listings li.job_listing a, ul.job_listings li.no_job_listings_found a {
	padding:1em !important;
}

.rp4wp-related-job_listing > ul li.job_listing a div.position h3,
.rp4wp-related-job_listing > ul li.no_job_listings_found a div.position h3,
ul.job_listings li.job_listing a div.position h3,
ul.job_listings li.no_job_listings_found a div.position h3 {
  text-align: left !important;
  font-size: 20px;
}

@media only screen and (max-width: 810px) {
.rp4wp-related-job_listing > ul li.job_listing a div.position h3,
.rp4wp-related-job_listing > ul li.no_job_listings_found a div.position h3,
ul.job_listings li.job_listing a div.position h3,
ul.job_listings li.no_job_listings_found a div.position h3  {
  font-size: 18px;
  }
	
.rp4wp-related-job_listing > ul li.job_listing a, .rp4wp-related-job_listing > ul li.no_job_listings_found a, ul.job_listings li.job_listing a, ul.job_listings li.no_job_listings_found a {
  padding:
1em 0em !important;
}
}

ul.job_listings li.job_listing a div.details p.job_detail {
  float: right !important;
  color: #5880BE !important;
}

.single-job_listing ul {
  line-height: 1.5em !important;
  margin-left: 24px;
}

ul.job_listings li.job_listing a div.start {
  text-align: left;
  text-transform: uppercase;
}

.single-job_listing #left-area {
  width: 100% !important;
  padding-right: 0 !important;
padding-bottom: 0 !important;
}

.single-job_listing #main-content {
  background-color: #f5f5f5 !important;
  padding: 100px 0;
}

.single-job_listing #et-main-area .container {
  max-width: 960px !important;
  border-radius: 24px;
  background-color: #fff;
  padding: 48px;
  width: 90%;
}

@media (min-width: 981px) {
  .single-job_listing #main-content .container::before {
    display: none;
  }
}

.single-job_listing h1 {
  text-align: center;
}

.job_description h2 {
    font-weight: 500 !important;
	padding-bottom:12px;
}

.job_description p {
	padding-bottom:24px !important;
}

@media only screen and (max-width: 767px) {
.job_description h2 {
    font-size: 24px !important;
  }
	
.single-job_listing #et-main-area .container {
  padding: 36px;
}
}

h2.apply {
  text-align: center !important;
  padding-bottom: 36px;
  font-size: 24px !important;
}

h2.apply::before {
  display: block;
  font-size: 16px;
  font-weight: 500 !important;
  text-transform: uppercase;
  content: "Das klingt nach Dir?";
  padding-bottom: 12px;
}

@media only screen and (max-width: 767px) {
  .single-job_listing h1 {
    font-size: 24px;
	  text-align:left;
  }

  .single-job_listing #et-main-area .container {
    padding: 24px;
  }

  .single_job_listing .meta li {
    display: block;
    text-align: left;
  }
}

.single-job_listing .et_post_meta_wrapper img {
  display: none !important;
}

.job_listing .date,
.job_listing .company,
.job_listing .company_logo,
.single-job_listing #main-content .container::before,
.single-job_listing .post-meta,
.single-job_listing .date-posted {
  display: none !important;
}

.single_job_listing .job_description {
  margin-bottom: 48px;
}

.single_job_listing .meta .job-type {
  background-color: transparent;
  color: #2B2B2B;
}

.single_job_listing .meta li,
.single_job_listing .meta li p,
.single_job_listing .meta li a {
  line-height: 1.5em !important;
  padding: 0 !important;
	font-weight:500 !important;
	font-size:18px !important;
}

.single_job_listing .job-listing-meta {
  list-style: none;
  padding: 0;
  text-align: center;
  display: flex;
  justify-content: center;
  gap: 15px;
}

@media only screen and (max-width: 767px) {
  .single_job_listing .job-listing-meta {
    display: block;
    text-align: left;
	padding-left:0px !important;
  }
}

.single_job_listing .job-listing-meta li {
  margin-bottom: 10px;
			list-style:none;
}

.single_job_listing .meta .date-posted::before,
.single_job_listing .meta .location::before {
  display: none;

}

/* Ninja Forms */
input.text, input.title, input[type="email"], input[type="password"], input[type="tel"], input[type="text"], select, textarea {
  border-radius: 24px;
}

.field-wrap .pikaday__display, .field-wrap > div input, .field-wrap select, .field-wrap textarea {
  width: 100%;
  line-height: 1.5em;
  font-size: 18px;
  padding-left: 12px;
}

#ninja_forms_required_items, .nf-field-container {
  margin-bottom: 18px !important;
}

.nf-field-description {
  font-size: 14px;
}

.field-wrap > div input[type="checkbox"], .field-wrap button, .field-wrap input[type="button"], .field-wrap input[type="submit"] {
  width: auto;
	border-width: 0px !important;
  font-size: 16px;
  text-transform: uppercase !important;
  background-color: #5880BE;
	color:#fff;
  padding: 2px 36px !important;
}

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

.nf-form-fields-required {
  font-size: 16px !important;
  margin-bottom: 6px !important;
}
@media only screen and (max-width: 767px) { 	
.nf-form-cont .one-half, .nf-form-cont .three-sixths, .nf-form-cont .two-fourths {
  width: 100% !important;
	margin-left:0px !important;
}
	
.field-wrap > div input[type="checkbox"], .field-wrap button, .field-wrap input[type="button"], .field-wrap input[type="submit"] {
  padding: 2px 14px !important;
}
}

.booking-footer > .branding-wrapper {
  display: none !important;
}

.et_pb_blurb_content {
  margin:0px !important;
}

@media only screen and (min-width: 981px) and (max-width:1440px) {
  .et_pb_cta_0, .et_pb_cta_1 {
    width: 100% !important;
    max-width: 80%;
  }
}


.et_pb_fullwidth_header_container .header-content-container 
.et_pb_button_one.et_pb_button {
    padding-top: 2px !important;
    padding-right: 72px !important;
    padding-bottom: 2px !important;
    padding-left: 60px !important;
}
@media only screen and (max-width: 767px) { 	
.et_pb_fullwidth_header_container .header-content-container .et_pb_button_one.et_pb_button {
    padding-top: 2px !important;
    padding-right: 48px !important;
    padding-bottom: 2px !important;
    padding-left: 36px !important;
}
}

body #page-container .et_pb_section .et_pb_button:after {
    font-family: "ETmodules" !important;
    font-weight: 400 !important;
    content: '$' !important;
    font-size: inherit !important;
    line-height: 1.7em !important;
    display: inline-block;
    margin-left: 0.3em !important;
    color: #ffffff;
    opacity: 1;
}

.et_pb_fullwidth_header .et_pb_fullwidth_header_container .header-content a.et_pb_button {
border: 1px solid #fff !important;
}

/* Container bekommt die volle Höhe der Section */
.google_360 .brlbs-cmpnt-container.brlbs-cmpnt-content-blocker {
    height: 100% !important;
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
}

/* Innere Wrapper ebenfalls auf 100% */
.google_360 .brlbs-cmpnt-cb-preset-b {
    height: 100% !important;
}

/* Der Parent-Container muss position: relative haben */
.google_360 .et_pb_code_inner {
    position: relative !important;
}

.header-content img.header-logo {
    width: 40%!important;
    margin: 0 auto;
}

.et_pb_promo {
    background-color: transparent !important;

}

.et_pb_fullwidth_header .et_pb_fullwidth_header_container.left .header-content {
     text-align: center !important;
    margin: 0 auto !important;
}