/*
Theme Name: Divi Child
Theme URI: http://www.elegantthemes.com/gallery/divi/
Author: Mirko Schubert
Author URI: https://mirkoschubert.de
Description: A Divi Child Theme with lots of GDPR and page speed optimizations and some tweaks and bug fixed for the parent theme.
Tags: child-theme
Version: 2.3.0
Requires at least: 5.0
Tested up to: 6.0.1
Requires PHP: 7.4
License: GNU General Public License version 3.0
License URI: http: //www.gnu.org/licenses/gpl-3.0.html
Template: Divi
Text Domain: divi-child
Domain Path: /languages
*/

/* For adding CSS rules to this file please use the .child class! */

/** VARIABLES **/

:root {
  --header-height: 80px;
}

/** -------- Add your own code after this! -------- **/

.child .et_pb_fullwidth_menu .et_mobile_menu,
.child .et_pb_menu .et_mobile_menu {
  padding-top: var(--header-height);
}

/** A11Y **/

.child .top-link {
  border: 1px solid #fff;
  border-radius: 5px;
  transition: all 0.25s ease-in-out;
  position: fixed;
  bottom: 0;
  right: 0;
  display: inline-flex;
  cursor: pointer;
  align-items: center;
  justify-content: center;
  margin: 0 3em 3em 0;
  padding: 0.25em;
  width: 40px;
  height: 40px;
  background-color: #333;
  z-index: 100;
}

.child .show {
  visibility: visible;
  opacity: 0.8;
}

.child .hide {
  visibility: hidden;
  opacity: 0;
}

.child .top-link svg {
  fill: #fff;
  width: 1rem;
  height: 0.5rem;
}

/** Google Review Badge **/

.child .review-badge {
  padding: 0 !important;
  width: 100% !important;
}

.child .review-badge-left {
  display: flex;
  justify-content: flex-start;
}

.child .review-badge h2.heading {
  font-size: 1rem;
  font-weight: 700;
  padding: 0;
  margin-bottom: 0.875rem;
  color: #333 !important;
}

.child .review-badge p.rating {
  color: #da7329 !important;
  font-weight: 500;
  padding: 0;
}

.child .review-badge .star {
  color: #da7329 !important;
}

/** Google Review Slider **/

.child .review-slider {
  font-size: 0.9375rem;
  font-weight: 400;
}

.child .review-slider .listing a {
  color: #da7329 !important;
}

.child .review-slider .listing .author-name a {
  color: #1c1c1c !important;
}

.child .review-slider .listing .rating {
  color: #da7329 !important;
}

.child .review-slider .bullet a {
  border-color: #da7329 !important;
}

.child .review-slider .current.bullet a {
  box-shadow: 0 0 0 0.8rem #da7329 inset !important;
  background-color: #da7329 !important;
}

/** Blog Overview **/

.child .blog-overview .et_pb_ajax_pagination_container {
  display: grid;
  grid-template-columns: repeat(4, minmax(220px, 1fr));
  gap: 2rem;
  justify-items: stretch;
  align-items: stretch;
}

.child .blog-overview article.et_pb_post {
  position: relative;
  margin-bottom: 0;
  height: 0;
  padding-top: 100%;
}

.child .blog-overview article.et_pb_post:first-child {
  grid-column: span 2;
  grid-row: span 2;
}

.child .blog-overview article.et_pb_post:first-child .entry-title {
  font-size: 36px !important;
}

.child .blog-overview article.et_pb_post a.entry-featured-image-url {
  margin-bottom: 0;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.child .blog-overview article.et_pb_post a.entry-featured-image-url img {
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: 100%;
}

.child .blog-overview article.et_pb_post .entry-title {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(69, 61, 54, 0.3);
  transition: all 0.3s ease-in;
}

.child .blog-overview article.et_pb_post .entry-title a {
  padding: 2rem;
  display: flex;
  align-items: center;
  text-align: center;
  width: 100%;
  height: 100%;
}

.child .blog-overview article.et_pb_post:hover .entry-title {
  background-color: rgba(69, 61, 54, 0.6);
}

/* Pagination */
.child .blog-overview .et_pb_ajax_pagination_container > div {
  grid-column: span 4;
}

@media screen and (max-width: 1180px) {
  .child .blog-overview .et_pb_ajax_pagination_container {
    grid-template-columns: repeat(3, minmax(200px, 1fr));
    gap: 2rem;
  }

  .child .blog-overview .et_pb_ajax_pagination_container > div {
    grid-column: span 3;
  }

  .child.single .comment-form input {
    width: 100% !important;
  }
}

@media screen and (max-width: 479px) {
  .child .blog-overview .et_pb_ajax_pagination_container {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .child .blog-overview article.et_pb_post:first-child,
  .child .blog-overview .et_pb_ajax_pagination_container > div {
    grid-column: span 1;
  }

  .child .blog-overview article.et_pb_post:first-child .entry-title {
    font-size: 20px !important;
  }
}

/** Azzad **/

/* *** footer google review css *** */
.child .footer .wp-gr {
  text-align: center !important;
}

/* css for menu */
.child ul.sub-menu {
  border-radius: 0px 0px 6px 6px;
}

.child .et-menu-nav li:after {
  content: '';
  position: absolute;
  height: 1.5px;
  width: 30px;
  bottom: 20px;
  background: transparent;
  transition: all ease 0.3s;
}

.child .et-menu-nav li:hover:after {
  width: 85%;
  background: #da7329;
}

/* css for drop down menu */
.child .et-menu-nav li ul.sub-menu {
  width: fit-content;
  padding: 00px 20px 30px 20px;
}

.child .nav li li {
  width: max-content;
}

.child .sub-mneu li {
  transition: all ease 0.3s;
}

.child .sub-menu li:after {
  content: '';
  position: absolute;
  height: 1.5px;
  width: 30px;
  bottom: 5px;
  background: #9c9c9c;
  transition: all ease 0.3s;
}

.child .sub-menu li:hover:after {
  width: 85%;
  background: #ec6c04;
}

.child .second-header .et-menu-nav li:after {
  bottom: 0px;
}

.child .second-header .et-menu-nav li ul.sub-menu {
  padding: 30px 20px 30px 20px;
  margin-top: 2px;
}

.child div.mobile_nav.opened .mobile_menu_bar:before {
  font-family: 'ETmodules';
  content: '\4d';
}

.child .Asad-mobile-menu .et_pb_menu__logo {
  padding-left: 25%;
  margin-right: 0px;
}

.child .Asad-mobile-menu .et_pb_menu_1_tb_header .mobile_nav .mobile_menu_bar:before {
  margin-right: 2rem;
}

.child .nav ul li a:hover {
  background-color: transparent;
}

/* css start for disable menu item hover effect on mobile & tab */
@media (min-width: 320px) and (max-width: 1280px) {
  .child .sub-menu li:after {
    height: 0px;
    width: 0px;
    bottom: 0px;
  }
  .child .sub-menu li:hover:after {
    width: 0px;
  }
}

/*** This hides the sub menu items on mobile ***/
.child #page-container .mobile_nav li ul.hide {
  display: none !important;
}

/*** This adjusts the positioning and the background transparency of the parent menu item on mobile ***/
.child #page-container .mobile_nav .menu-item-has-children {
  position: relative;
}

.child #page-container .mobile_nav .menu-item-has-children > a {
  background: transparent;
}

/*** This styles the icon and moves it to the right ***/
.child #page-container .mobile_nav .menu-item-has-children > a + span {
  position: absolute;
  right: 0;
  top: 0;
  padding: 10px 20px;
  font-size: 20px;
  font-weight: 700;
  cursor: pointer;
  z-index: 3;
}

/*** Here you can swap out the actual icons ***/
.child #page-container span.menu-closed:before {
  content: '\4c';
  display: block;
  color: #000;
  font-size: 16px;
  font-family: ETmodules;
}

.child #page-container span.menu-closed.menu-open:before {
  content: '\4d';
}

/* testimonial css start here */
.child .testimonial .dsm_card_wrapper {
  padding: 0px !important;
}

.child .testimonial .swiper-pagination {
  text-align: left;
}

.child .testimonial .swiper-pagination-bullet-active {
  border-radius: 20px !important;
  height: 10px !important;
  width: 50px !important;
}

.child .testimonial .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  transition: all ease 0.3s !important;
}

.child .testimonial .swiper-pagination-bullet:hover {
  width: 50px !important;
  border-radius: 20px !important;
  background: #9c9c9c !important;
}

/* css start for minimal contact form */
.child #minimal-contact-form button {
  border-radius: 6px !important;
  text-transform: uppercase;
  font-family: 'Lato', Helvetica, Arial, Lucida, sans-serif !important;
  font-size: 16px;
  font-weight: 700 !important;
  letter-spacing: 2px;
  padding: 12px 30px;
  border: 2px solid #000;
  background: transparent;
  color: #000;
}

.child #minimal-contact-form button:hover {
  background: #000 !important;
  color: #fff;
}

/* css start for contact form */
.child #minimal-contact-form p.privacy {
  font-family: 'Roboto', sans-serif;
  font-size: 18px;
  font-weight: 300;
  line-height: 1.6em;
  color: #000;
}

.child #minimal-contact-form a {
  color: #da7329;
}

/* css for services line */
.child .services-line .et_pb_blurb_container {
  width: 100%;
}

/* css for services */
.child .services {
  transition: all esae 0.3s;
  transition: transform 0.6s !important;
}

.child .services:hover h3.dsm_card_title.et_pb_module_header {
  color: #da7329 !important;
}

.child .services:hover a.et_pb_button.et_pb_more_button {
  border-color: #000000 !important;
}

.child .services:hover p {
  color: #000000 !important;
}

.child .et_pb_scroll_top.et-pb-icon {
  border-radius: 50px;
  right: 5px;
  background: #da7329;
}

/* images grayscalse */
/* Initially set all images to grayscale */
/* Initially set all images to grayscale */
.child .blog-overview,
.child .grayscale-image {
  filter: grayscale(100%);
  transition: filter 2s ease-in-out; /* Smoother and slower transition */
}

/* blog page */
.child .custom-blog a.more-link {
  font-size: 14px;
  border: 2px solid #000;
  border-radius: 6px;
  padding: 10px 30px;
  transition: all ease 0.3s !important;
}

.child .custom-blog a.more-link:hover {
  transition: all ease 0.3s;
  background: #000;
}

.child .custom-blog p {
  margin-bottom: 20px;
}

.child .comment-form a {
  color: #ec6c04;
}

.child #commentform {
  padding-bottom: 0px;
}

.child .et_pb_blog_grid .et_pb_image_container {
  overflow: hidden;
}

.child .et_pb_blog_grid .et_pb_image_container img {
  transition: all ease 0.5s;
}

.child .et_pb_blog_grid .et_pb_image_container:hover img {
  transform: scale(1.1);
}

.child .dsm-entry-thumbnail {
  overflow: hidden;
}

.child .dsm-entry-thumbnail img {
  transition: all ease 0.5s;
}

.child .dsm-entry-thumbnail:hover img {
  transform: scale(1.1);
}

.child .highlight-words {
  /*background-image: url(https://ccc-immogrund.de/wp-content/uploads/2024/10/doodles.gif);*/
  background-image: url(https://ccc-immogrund.de/wp-content/uploads/2024/11/doodles_once_stay.gif);
  background-size: 63%;
  background-position: center 66px;
  background-repeat: no-repeat;
  padding: 0px 0px 76px 0px;
}

.child .dsm_image_accordion_animation_fade_in.dsm_image_accordion_animation_sequence_off .dsm_image_accordion_child .dsm_image_accordion_child_content {
  opacity: 1;
}

.child .dsm_image_accordion_active_item:hover .dsm_image_accordion_child_content {
  display: none;
}

/* uber uns team css */
.child .team-person {
  transition: all ease 0.3s !important;
}

.child .team-parent h4 {
  color: transparent;
  transition: all ease 0.3s;
}

.child .team-parent .et_pb_blurb_description {
  color: transparent;
  transition: all ease 0.3s;
}

.child .team-parent a {
  color: transparent;
  transition: all ease 0.3s;
}

.child .team-parent:hover h4 {
  color: #fff;
}

.child .team-parent:hover .et_pb_blurb_description,
a {
  color: #f7f8f9;
}

.child .team-parent:hover a {
  color: #cacbd3 !important;
}

.child .team-parent:hover a.active {
  color: #b95504;
}

.child .team-parent .team-name {
  transition: all ease 0.3s;
}

.child .team-person:hover {
  transition: background ease 0.3s !important;
}

@media (min-width: 320px) and (max-width: 480px) {
  .child .highlight-words {
    background-position: center 36px;
    background-size: 50%;
  }
}
@media (min-width: 481px) and (max-width: 767px) {
  .child .highlight-words {
    background-size: 50%;
    background-position: center 38px;
  }
}
@media (min-width: 768px) and (max-width: 1024px) {
  .child .highlight-words {
    background-size: 50%;
    background-position: center 50px;
  }
}

.child .partners .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  transition: all ease 0.3s;
  border-radius: 10px;
}

.child .partners .swiper-pagination-bullet:hover {
  width: 40px;
}

.child .partners .swiper-pagination-bullet-active {
  width: 40px;
  border-radius: 10px;
}

.child .grid-item:hover::after {
  content: '\e054';
  font-family: ETmodules;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  font-size: 35px;
  z-index: 2;
  transition: all ease 0.3s;
}

.child .dsm_circle_info_0
  .dsm-circle-info-content
  .dsm-circle-info-content-wrapper
  .dsm-image
  img {
  display: none;
}

/* Provisionsrechner Styles */
.commission-calculator {
    max-width: 640px;
    padding: 2.5rem;
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 6px 12px 0 rgba(0,0,0,0.08);
    color: #1c1c1c;
    border: 1px solid #e8ecef;
}

.calculator-title {
    text-align: center;
    font-size: 28px;
    font-weight: 700;
    margin-bottom: 40px;
    color: #1c1c1c;
    line-height: 1.2;
}

.purchase-price-container {
    margin-bottom: 35px;
}

.purchase-price-label {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 15px;
    text-align: center;
    color: #34495e;
}

.purchase-price-value {
    font-size: 36px;
    font-weight: 700;
    text-align: center;
    margin-bottom: 25px;
    color: #2c3e50;
}

.slider-container {
    position: relative;
    margin-bottom: 35px;
}

.price-slider {
    width: 100%;
    height: 6px;
    border-radius: 3px;
    background: #ecf0f1;
    outline: none;
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
}

.price-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #da7329;
    cursor: pointer;
    border: 3px solid #ffffff;
    box-shadow: 0 2px 8px rgba(52, 152, 219, 0.3);
    transition: all 0.2s ease;
}

.price-slider::-webkit-slider-thumb:hover {
    transform: scale(1.1);
    box-shadow: 0 4px 12px rgba(52, 152, 219, 0.4);
}

.price-slider::-moz-range-thumb {
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #3498db;
    cursor: pointer;
    border: 3px solid #ffffff;
    box-shadow: 0 2px 8px rgba(52, 152, 219, 0.3);
}

.calc-results {
    background: #f8f9fa;
    border-radius: 8px;
    padding: 30px;
    border: 1px solid #e9ecef;
}

.result-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    font-size: 16px;
    padding: 0 5px;
}

.result-row:last-child {
    margin-bottom: 0;
    padding-top: 20px;
    border-top: 2px solid #da7329;
    font-weight: 700;
    font-size: 18px;
    color: #2c3e50;
}

.result-row:last-child .result-label {
    color: #2c3e50;
}

.result-label {
    font-weight: 500;
    color: #34495e;
}

.result-amount {
    font-weight: 700;
    font-size: 18px;
    color: #2c3e50;
}

.savings {
    color: #2c3e50;
}

.range-labels {
    display: flex;
    justify-content: space-between;
    font-size: 12px;
    margin-top: 8px;
    color: #7f8c8d;
    font-weight: 500;
}

.ccc-highlight {
    color: #da7325;
    font-weight: 600;
}

.other-broker {
    color: #95a5a6;
}

/* Responsive Design */
@media (max-width: 600px) {
    .commission-calculator {
        margin: 15px;
        padding: 30px 20px;
    }
    
    .calculator-title {
        font-size: 24px;
        margin-bottom: 30px;
    }
    
    .purchase-price-value {
        font-size: 28px;
    }
    
    .result-row {
        font-size: 15px;
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
        padding: 0;
    }
    
    .result-amount {
        font-size: 17px;
    }

    .result-row:last-child {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }
}