/*
 Theme Name:     Divi Child
 Theme URI:      https://www.elegantthemes.com/gallery/divi/
 Description:    Divi Child Theme
 Author:         Elegant Themes
 Author URI:     https://www.elegantthemes.com
 Template:       Divi
 Version:        1.0.0
*/

/* =Theme customization starts here
------------------------------------------------------- */

/** Custom CSS **/

/** Start Fonts **/
@font-face {
  font-display: swap;
  font-family: "Marmelad";
  font-style: normal;
  font-weight: 400;
  src: url("/wp-content/themes/divi-child/fonts/marmelad-v18-cyrillic_cyrillic-ext_latin-regular.woff2")
    format("woff2");
}

@font-face {
  font-display: swap;
  font-family: "Walto Neue";
  font-style: normal;
  font-weight: 400;
  src: url("/wp-content/themes/divi-child/fonts/WaltoNeue-Regular.woff2")
    format("woff2");
}


/** End Fonts **/

/** Start Theme Variables **/
html {
  --lt-background-color: #D4C9F1;
  --lt-text-shadow-title: 0em 0.1em 0.1em rgba(0, 0, 0, 0.4);
  --lt-font-size-h1: 90px;
  --lt-font-size-h2: 50px;
  --lt-font-size-p: 20px;
  --lt-white-color: #f3f3f3;
  --lt-font-family-handwritten: "Marmelad";
  --lt-border-radius-img: 10px;
}
/** End Theme Variables **/

/** Start Global Styles **/
html,
body {
  background-color: var(--lt-background-color);
  font-family: var(--lt-font-family-handwritten);
}

body:not(.et-fb) .ls-google-map { display: none; }
  .et_pb_button.ls-map-button-opened:after { content:"\32"; }
  .et_pb_button.ls-map-button-closed:after { content:"\33"; }

#main-header {
  display: none;
}

#main-footer {
  display: none;
}

p {
  font-size: var(--lt-font-size-p);
  text-align: center;
  color: #000;
}

h2 {
  font-size: var(--lt-font-size-h2);
  text-align: center;
  color: #6E6070;
  text-transform: uppercase;
  margin-bottom: 30px;
}

h3 {
  font-size: 30px;
  /* font-weight: bold; */
  letter-spacing: 0.2rem;
  /* text-transform: uppercase; */
  text-align: center;
}

.ls-golden-divider::before {
  background: linear-gradient(
    90deg,
    #765734 -5%,
    #a38915 7%,
    #c7a725 17%,
    #faf9ba 30%,
    #f6f5df 30%,
    #f6f5df 34%,
    #faf9ba 35%,
    #c7a725 52%,
    #a38915 71%,
    #765734 100%
  );
  background-size: cover;
  border-radius: 4px;
  display: block;
  height: 6px;
  max-width: 680px;
  margin: 0 auto;
  border-top: none;
  position: initial;
}

.ls-flex-center {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 28px;
}

.et_pb_row {
  padding: 0 !important;
}
/** End Global Styles **/

/** Start Header Section **/
#ls-header-section,
#ls-header-section-mobile {
  background-color: #D4C9F1;
  padding: 15px 0;
}

#ls-header-row,
#ls-header-row-mobile {
  display: flex;
  align-items: center;
  margin: auto;
}

#ls-header-menu,
#ls-header-menu-mobile {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #D4C9F1;
}

#ls-header-menu ul#menu-headermenu li a,
#ls-header-menu-mobile ul#menu-headermenumobile li a {
	font-size: 24px;
	color: #ffffff; /*#F1EBEB;*/
	text-shadow: 4px 3px 4px rgba(0,0,0,0.3);
	line-height: 1.2;
}

/* Stickiy header on desktop */
.has_et_pb_sticky #ls-header-row {
  min-width: 100vw;
}

.has_et_pb_sticky #ls-header-menu {
  min-width: 100vw;
  left: 0 !important;

  /* padding-top: 5px !important;
  padding-bottom: 15px !important; */
}

.has_et_pb_sticky #ls-header-menu ul#menu-headermenu li a {
  padding-top: 5px;
  padding-bottom: 15px;
}


/** End Header Section **/


/** Start Hero Section **/
#ls-hero-section {
  min-height: 680px;
  display: flex;
  justify-content: center;
  color: var(--lt-white-color);
  /*background-attachment: fixed;*/ /* Leads to backgroudn not dispalying on Chrome or Safari for iOS */
  background-image: linear-gradient(180deg, rgba(212, 201, 241, 0.7), rgba(212, 201, 241, 0.7)),
                    url(https://sonyadimitar.lesno.de/wp-content/uploads/2024/06/hero-background.png);
}

#ls-hero-column {
  display: flex;
  gap: 130px;
  align-items: center;
  justify-content: center;
  flex-direction: column;

  font-family: var(--lt-font-family-handwritten);
  text-shadow: var(--lt-text-shadow-title);
}

#ls-hero-section * {
  color: inherit !important;
}

#ls-hero-section h2 {
  margin-bottom: unset;
}

#ls-hero-title h1 {
  font-size: var(--lt-font-size-h1);
  font-family: 'Walto Neue';
  font-weight: bold;
  text-align: center;
  color: #6E6070 !important;
}

#ls-hero-subtitle {
  color: #6E6070 !important;
  font-weight: bold;
  text-align: center;
  margin-bottom: 0;
}

#ls-hero-countdown {
  padding: 0;
}

#ls-hero-date h2 {
  font-size: var(--lt-font-size-h2);

  font-weight: bold;
  text-align: center;
}
/** End Hero Section **/

/** Start Speech Section **/
#ls-speech-row {
  margin: 0;
  width: 100%;
  max-width: 100%;
  display: flex;
  justify-content: center;
}

#ls-speech-text {
	max-width: 760px;
	/*margin: auto;*/
	margin: 0;
}

#ls-speech-image-left,
#ls-speech-image-right {
  margin-top: -140px;
} 

#ls-speech-image-left img,
#ls-speech-image-right img {
  max-width: none;
}

#ls-speech-image-right {
  position: absolute;
  right: 0;
}

#ls-speech-image-right img {
  width: 500px;
  /* margin-left: -300px; */

}

#ls-speech-middle-column {
  z-index: 9;
}

/** End Speech Section **/


/** Start Fun Facts (History) Section **/
/* class because ID is needed for navigation */
#ls-fun-facts-section {
  background-color: rgba(244, 188, 207, 0.6);
  color: var(--lt-white-color);
  background-size: 20%;
  background-position: left;
	padding-bottom: 0;
}

#ls-tom-jerry-image {
  width: 300px;
  margin: auto;
}

#ls-fun-facts-left-column {
  margin-right: 2%;
}

#ls-fun-facts-text .et_pb_column {
  width: 100%;
}

.ls-fun-facts-blurb .et_pb_main_blurb_image {
  width: auto;
}

.ls-fun-facts-blurb {
  height: 270px;
  text-align: left;
  padding-bottom: 50px;
  padding-top: 20px;
  background-size: contain;
}

.ls-fun-facts-blurb-timeline {
  border-left: 4px solid #FBB171;
  margin-bottom: 0 !important;
}

/* Blurb Icon (Circle/Dot on timeline)  */
.ls-fun-facts-blurb .et_pb_main_blurb_image .et-pb-icon  {
  border-radius: 100px 100px 100px 100px;
  overflow: hidden;
  color: #8db3dd;
  border-color: #8db3dd;
  background-color: #8db3dd;
  margin-left: -17px !important;
   /* Related directly to padding-top of the Blurb module (ls-fun-fact-blurb); Moves the dot higher to compensate for the top padding of the blurb */
  margin-top: -20px !important;
}

.ls-fun-facts-left-blurb {
  /* padding-top: 0; */
}

.ls-fun-facts-image {
  height: 200px;
  width: 300px;
}

.ls-fun-facts-image-left {
  text-align: right;
}

/* Blurb title */
.ls-fun-facts-blurb .et_pb_blurb_content .et_pb_module_header {
  font-size: 40px;
}

/* Blurb description  */
.ls-fun-facts-blurb p {
  text-align: left;
}
/** End Fun Facts (History) Section **/

/** Start Programme Section **/
#ls-programme-section {
  display: flex;
  flex-direction: row;
}

.ls-programme-blurb {
  height: 230px;
  text-align: left;
  padding-bottom: 50px;
  padding-top: 20px;
  margin-bottom: 0 !important;
}

.ls-programme-blurb-left .et_pb_blurb_content {
  display: flex;
  justify-content: end;
}

.ls-programme-blurb-left .et_pb_main_blurb_image {
  order: 2;
  position: relative;
  right: -90px;
}
.ls-programme-blurb-left .et_pb_blurb_container {
  position: relative;
  right: -90px;
}

.ls-programme-blurb-timeline {
  border-left: 4px solid #FBB171;
  padding-top: 100px;
}

/* Blurb Icon (Circle/Dot on timeline)  */
.ls-programme-blurb-right .et_pb_main_blurb_image .et-pb-icon  {
  margin-left: -36px !important;
   /* Related directly to padding-top of the Blurb module (ls-fun-fact-blurb); Moves the dot higher to compensate for the top padding of the blurb */
   /* Not needed here since no images used */
  /* margin-top: -20px !important; */
  font-size: 96px;
}

/* Blurb title */
.ls-programme-blurb .et_pb_blurb_content .et_pb_module_header {
  font-size: 40px;
}

/* Blurb description  */
.ls-programme-blurb p {
  text-align: left;
}
/** End Program Section **/

/** Start Location Section **/
#ls-location-text p {
  width: 100%;
}

#ls-location-text .et_pb_column {
  width: 100%;
}

#ls-location-image-center .et_pb_image_wrap {
  /* display: flex; */
  position: relative;
  margin: auto;
  left: 0;
  right: 0;
  text-align: center;
  z-index: 1;
}


#ls-location-image-bot-left .et_pb_image_wrap {
  position: absolute;
  margin: auto;
  z-index: 50;
  bottom: 0;
  left: -55px;

}

#ls-location-image-bot-right .et_pb_image_wrap  {
  position: absolute;
  margin: auto;
  z-index: 50;
  bottom: 0;
  right: -55px;
}
/** End Location Section **/

/** Start Dress Code Section **/

#ls-dress-code-section {
  background-color: #9FC0F6;
}

#ls-dress-code-image {
  margin-top: -165px;
}

#ls-dress-code-image img {
  max-width: none;
}
/** End Dress Code Section **/

/** Start Song Request Section **/

@media only screen and (min-width: 1000px) {

  #ls-song-request-row { 
    display: flex;
    align-items: center;
  }
}

#ls-music-image {
  display: flex;
  justify-content: center;
}

#ls-song-request-contact-form .et_contact_bottom_container {
  margin-top: 0;
}

#ls-song-request-contact-form .et_contact_bottom_container .et_pb_contact_submit.et_pb_button {
  background-color: #D4C9F1;
  color: #6E6070;
  border: 0;
}

#et_pb_contact_songname_0 {
  background-color: rgba(212, 201, 241, 0.4);
  border-bottom-width: medium;
}


/** End Song Request Section **/


/** Start Program Section **/
#ls-program-section {
  background-color: var(--lt-background-color);
  color: var(--lt-white-color);
}

#ls-program-section * {
  color: inherit !important;
}

#ls-program-text p {
  color: var(--lt-white-color);
}
/** End Program Section **/

/** Start Witnesses Section **/
#ls-witnesses-section {
  background-color: #F5DF84;
}

#ls-witnesses-person-column {
  display: flex;
  flex-wrap: wrap;
  grid-gap: 16px;
  justify-content: center;
}

.ls-witness-person {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: flex-end; /* og: center */
  font-family: var(--lt-font-family-handwritten);
  margin-bottom: 0px !important; /* Overriding the default divi module margin-bottom: 2.75% */

  padding: 15px;
  padding-bottom: 15px;
  background-color: var(--lt-white-color);
}

.ls-witness-person .et_pb_team_member_image {
  margin-right: 0;
  padding-bottom: 15px; /
}

.ls-witness-person h4 {
  font-size: 50px;
  color: black;
  text-transform: uppercase;
  padding: 0;
}

.ls-witness-person img {
  /* border-radius: var(--lt-border-radius-img); */
  max-width: 300px;
  height: 100%;
  width: 100%;
  margin-right: 0;
}

#ls-groomsman-card {
  background-color: #96879A;
}

#ls-groomswoman-card {
  background-color: #E8CBCC;
}


.ls-witness-person > :first-child {
  /* We need to make the avatar grow to fill the space in the person module, so that all images are the same height */
  flex-grow: 1;
}
/** End Witnesses Section **/

/** Start Bridal Party Section **/
#ls-bridal-party-section {
  background-color: #F5DF84;
}

/* prob remove */
#ls-bridal-party-section * {
  color: inherit !important;
}

#ls-bridal-party-gallery-column {
  display: flex;
  flex-wrap: wrap;
  grid-gap: 16px;
  justify-content: center;
}

.ls-bridal-party-gallery-person {
  display: flex;
  flex-direction: column;
  gap: 16px;
  align-items: center;
  font-family: var(--lt-font-family-handwritten);
  margin-bottom: 0px !important; /* Overriding the default divi module margin-bottom: 2.75% */
}

.ls-bridal-party-gallery-person h4 {
  font-size: 30px;
}

.ls-bridal-party-gallery-person > :first-child {
  /* We need to make the avatar grow to fill the space in the person module, so that all images are the same height */
  flex-grow: 1;
}

.ls-bridal-party-gallery-person img {
  border-radius: var(--lt-border-radius-img);
  max-width: 300px;
  height: 100%;
  width: 100%;
}
/** End Bridal Party Section **/

/** Start Accommodation Section **/
#ls-arrival-section {
  /* background-attachment: fixed;
  background-image: linear-gradient(180deg, rgba(170, 187, 174, 0.7), rgba(170, 187, 174, 0.7)),
  background-image: linear-gradient(180deg, rgba(212, 201, 241, 0.7), rgba(212, 201, 241, 0.7)),
  url(https://sonyadimitar.lesno.de/wp-content/uploads/2024/06/accommodation-image.jpg)!important; */
  background-color: #6E6070;
} 

#ls-arrival-row {
  text-align: center;
  /* max-width: var(--lt-row-width); */
}

#ls-arrival-title h2 {
  color: var(--lt-white-color);
  text-shadow: var(--lt-text-shadow-title);
}

#ls-arrival-transportation-title h3 {
  text-align: center;
  color: var(--lt-white-color);
  text-shadow: var(--lt-text-shadow-title);
}

#ls-arrival-transportation-text {
   /* max-width: var(--lt-row-width); */
   margin: auto;
   margin-bottom: 2.75%;
}

#ls-arrival-transportation-text p {
  color: var(--lt-white-color);
  text-shadow: var(--lt-text-shadow-title);
}

#ls-arrival-accommodation-title h3 {
  padding-top: 20px;
  color: var(--lt-white-color);
  text-shadow: var(--lt-text-shadow-title);
}

#ls-arrival-accommodation-text {
  /* max-width: var(--lt-row-width); */
  margin: auto;
  margin-bottom: 2.75%;
}

#ls-arrival-accommodation-text p {
  color: var(--lt-white-color);
  text-shadow: var(--lt-text-shadow-title);
}

#ls-arrival-map-button {
  border: 0;
  font-weight: bold;
  color: var(--lt-white-color);
  text-shadow: var(--lt-text-shadow-title);
  letter-spacing: 0.2rem;
}

#ls-arrival-map-button {
  border: 4px solid;
}
/** End Accommodation Section **/

/** Start Contact Section **/

#ls-contact-section {
  background-image: linear-gradient(180deg, rgba(212, 201, 241, 0.7), rgba(212, 201, 241, 0.7));
}

#ls-contact-form-column {
  display: flex;
  justify-content: center;
}

#ls-contact-form-row .et_pb_contact_field_options_list {
	text-align: left;
}

#et_pb_contact_form_1 {
  min-width: 60%;
}

#ls-contact-section .et_pb_contact_form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

#ls-contact-section .et_pb_contact_form > * {
  width: 100%;
  margin-bottom: unset;
}

#ls-contact-description-title {
  margin-bottom: 30px;
}

#ls-contact-section button {
  color: #6E6070;
  padding: 4px 12px;
}

#ls-contact-section input,
#ls-contact-section textarea,
#ls-contact-section button {
  border-radius: 24px;
}

#ls-contact-section .et_contact_bottom_container {
  align-items: center;
  width: 100%;
  margin-top: unset;
}

#ls-contact-section .et_contact_bottom_container .et_pb_contact_right p {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
}

#ls-contact-description-title p {
  color: #6E6070;
}

#ls-contact-section .et_contact_bottom_container > :first-child {
  /* Growing the captcha question because it sometimes falls on  new line */
  flex-grow: 1;
}

/** End Contact Section **/

/** Start Footer Section **/

#ls-footer-section {
  background-color: var(--lt-background-color);
  color: var(--lt-white-color);
}

#ls-footer-section * {
  color: inherit !important;
}

#ls-footer-column {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 16px;
}

#ls-footer-logo {
  margin: auto;
}

/* The Lesno logo  has an intrinsic ratio of 0,744 (32w∶43h) */
#ls-footer-logo img {
  border-radius: 4px;
  width: 52px;
  height: 70px;
}

/** End Footer Section **/

/* ! Start Mobile  */
/** Start Mobile Fun Facts Section **/

/* Note: To make it more center on tablet make row be display:flex with justfiy-content:center and then column with 70% width */
/* class because ID is needed for navigation */
#ls-fun-facts-mobile-section {
  background-color: rgba(244, 188, 207, 0.6);
  color: var(--lt-white-color);
  background-size: 20%;
  background-position: left;
}

.ls-fun-facts-mobile-blurb {
  /* Disabled fix height as it solves all sizing and spacing problems. 
  I dont know/cant remmeber why I even put it here in the first place, most likely copyign from the guide
  and it was needed there for precise scrolling effects that we dont have at all */
  /* height: 270px; */
  text-align: left;
  padding-bottom: 50px;
  padding-top: 20px;
  background-size: contain;
  /* Timeline style */
  border-left: 4px solid #FBB171;
  margin-bottom: 0 !important;
}

.ls-fun-facts-mobile-blurb .et_pb_blurb_content {
  margin-left: 0;
}

.ls-fun-facts-mobile-blurb img {
  margin-left: 30px;
}

.ls-fun-facts-mobile-blurb-image {
}

/* Blurb Icon (Circle/Dot on timeline)  */
.ls-fun-facts-mobile-blurb .et_pb_main_blurb_image .et-pb-icon  {
  border-radius: 100px 100px 100px 100px;
  overflow: hidden;
  color: #8db3dd;
  border-color: #8db3dd;
  background-color: #8db3dd;
  /* half of icon's size. requires: margin-left of parent 0 */
  margin-left: -17px !important;
   /* Related directly to padding-top of the Blurb module (ls-fun-fact-blurb); Moves the dot higher to compensate for the top padding of the blurb */
  margin-top: -20px !important;

}

#ls-tom-jerry-image-mobile {
  width: 250px;
  margin: auto;
}

/* Blurb title */
.ls-fun-facts-mobile-blurb .et_pb_blurb_content .et_pb_module_header {
  font-size: 40px;
}

/* Blurb description  */
.ls-fun-facts-mobile-blurb p {
  text-align: left;
}
/** End Mobile Fun Facts Section **/

@media only screen and (max-width: 1500px) {
  /** Start Mobile Speech Section **/
  #ls-speech-image-right img { 
    max-width: 400px;
  }
  /** End Mobile Speech Section **/

}

@media only screen and (max-width: 980px) {
  /** Start Mobile Header Section **/
  #ls-header-menu-mobile {
    justify-content: start;
    align-items: center;
    min-width: 100vw;
    margin-left: -10vw;
  }

  .mobile_nav .mobile_menu_bar:before {
    color: #6E6070 !important;
  }


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

  #ls-header-menu-mobile .et_mobile_menu {
    min-width: 100vw;
    background-color: #D4C9F1 !important;
  }

  .et_mobile_menu li a {
    color: #6E6070;
    font-size: 20px;
  }
    
    
  /** End Mobile Header Section **/
  
  /** Start Mobile Hero Section **/
  #ls-hero-column {
    gap: unset;
  }

  #ls-hero-title h1 {
    font-weight: bold !important;
  }

  /** End Mobile Hero Section **/


  /** Start Mobile Speech Section **/
  #ls-speech-row .et_pb_column {
    width: unset;
  }

  #ls-speech-middle-column {
    padding: 85px 50px;
  }

  #ls-speech-image-left {
    position: absolute;
  }

  #ls-speech-image-right { 
    position: absolute;
    right: 0;
    bottom: -150px;
  }

  #ls-speech-image-right img { 
    max-width: 350px;
    margin-left: 0;
  }
  /** End Mobile Speech Section **/

  /** Start Mobile Speech Section **/
  #ls-dress-code-image {
    display: flex;
    justify-content: center;
    margin-top: unset;
  }
  /** End Mobile Speech Section **/

  /** Start Mobile Location Section **/

  #ls-location-image-bot-left .et_pb_image_wrap {
    bottom: -10px;
    left: -25px;
  
  }
  
  #ls-location-image-bot-right .et_pb_image_wrap  {
    bottom: -10px;
    right: -25px;
  }
  /** End Mobile Location Section **/

}

@media only screen and (max-width: 767px) {
  /** Start Mobile Theme Variables **/
  html {
    --lt-font-size-h1: 50px;
    --lt-font-size-h2: 30px;
  }
  /** End Mobile Theme Variables **/

  /** Start Mobile Global Styles **/
  .ls-flex-center {
    gap: 16px;
    flex-direction: column;
  }
  /** End Mobile Global Styles **/

  /** Start Mobile Hero Section **/
  #ls-hero-section {
   align-items: center;
  }

  #ls-her-row {
    margin: 0;
    width: 90%;
  }

  #ls-hero-section h2 {
    font-size: 35px;
  }

  /** End Mobile Hero Section **/

  /** Start Mobile Speech Section **/
  #ls-speech-section {
    display: flex;
    align-items: center;
    justify-content: center;
  }

  #ls-speech-middle-column {
    padding: unset;
  }

 .ls-speech-edge-column {
    display: none;
  }

  #ls-speech-row { 
    width: 90%;
  }
  /** End Mobile Speech Section **/

  /** Start Mobile Dress Code Section **/
  #ls-dress-code-image {
    overflow: hidden;
  }
  /** End Mobile Dress Code Section **/
}
/* ! End Mobile  */
