/*
Theme Name: Narratatia
Theme URI: https://github.com/elementor/hello-theme/
Description: websplash | Agentur für Internet und Mediendesign
Author: websplash
Author URI: https://websplash.de/
Template: hello-elementor
Version: 1.3
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/


.elementor-widget-text-editor p:last-of-type,
.elementor-widget-theme-post-content p:last-of-type {
  /* to remove margin of last p in text widget */
  margin-bottom:0;
}

.websplash input {
  /* to hide weird shadow on some iOS input fields */
  outline:0!important;
}

.websplash .elementor-field-option input[type="checkbox"],
.websplash .elementor-field-option input[type="radio"] {
  /* align fields middle */
  vertical-align: middle;
}

.websplash .elementor-field-option label {
  /* pointer cursor for labels of options (checkbox etc.) */
  cursor: pointer;
}

.websplash input[type="checkbox"] {
  /* fix iOS Bug if label is too long not to shrink the input */
  min-width:20px;
}

.websplash  .elementor-field-group .elementor-field-textual:focus {
  /* to not focus fields with border on hover */
  box-shadow:none;
  outline: 0;
}

/* hover effect for icons in buttons */
.elementor-widget-button a.elementor-button .elementor-button-icon {
  -webkit-transition: left 0.2s ease-in;
  -moz-transition: left 0.2s ease-in;
  -o-transition: left 0.2s ease-in;
  -ms-transition: left 0.2s ease-in;
  transition: left 0.2s ease-in;
  left:0;
  position: relative;
}
.elementor-widget-button a.elementor-button:hover .elementor-align-icon-right {
  left:10px;
}

/* align the acceptence form checkbox in a way, that it stay left, even the label text is multiple lines long */
.elementor-field-type-acceptance .elementor-field-option {
  display:flex;
  align-items: flex-start;
  flex-wrap: nowrap;
}
.elementor-field-type-acceptance .elementor-field-option input {
  top: 0;
  position: relative;
}
.elementor-field-type-acceptance .elementor-field-option label {
  padding-left:10px;
}

/* hide recaptcha badge if active */
.grecaptcha-badge { visibility: hidden; }

.elementor-video {
  /* fix height issue, after video has been unblocked by borlabs cookie banner */
  height:100%;
}

/* style pw form on page pw protection at least a little bit nicer per default */
body.elementor-page form.post-password-form {
  display: flex;
  padding: 40px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  flex-wrap: wrap;
  height: 100vh;
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  background: #eee;
}


.sw_color {
  filter: grayscale(100%); /* Initially set images to black and white */
  transition: filter 2s ease; /* Add a smooth transition effect */
}

.paper_frame > .e-con-inner {
  position: relative;
}

.paper_bg {
  position: absolute!important;
  height:100%!important;
  transition: transform 1s ease;
}

.paper_bg_left {
  transition: transform 1s ease;
}

.paper_bg_left.rotate-paper {
  transform:rotate(-2deg);
}

.paper_bg_right.rotate-paper {
  transform:rotate(2deg);
}

.hoverboxes .elementor-widget-icon-box a.elementor-icon,
.hoverboxes .elementor-widget-image-box figure a {
  display:block;
  position: relative;
  left:5px;
  width:100%;
}


.hoverboxes .elementor-widget-icon-box:first-of-type a.elementor-icon,
.hoverboxes .elementor-loop-container .e-loop-item:first-of-type .elementor-widget-image-box figure a {
  left:5px;
}


.hoverboxes .elementor-widget-icon-box:last-of-type a.elementor-icon,
.hoverboxes .elementor-loop-container .e-loop-item:last-of-type .elementor-widget-image-box figure a {
  left:-5px;
}

.hoverboxes .elementor-widget-icon-box svg,
.hoverboxes .elementor-widget-image-box image {
  height:auto;
  width:100%;
}

.hoverboxes .elementor-icon-box-icon,
.hoverboxes .elementor-image-box-img {
  position: relative;
  z-index:9;
  margin-bottom:60px!important;
}

.hoverboxes .elementor-widget-icon-box .elementor-icon-box-title,
.hoverboxes .elementor-widget-image-box .elementor-image-box-title {
  padding:20px;
  margin:0;
  min-height: 80px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.hoverboxes .elementor-widget-icon-box:hover .elementor-icon-box-title,
.hoverboxes .elementor-widget-image-box:hover .elementor-image-box-title {
  opacity: 0;
}

.hoverboxes .elementor-widget-icon-box .elementor-icon-box-content,
.hoverboxes .elementor-widget-image-box .elementor-image-box-content {
  position: absolute;
  bottom:0;
  left:5px;
  width:100%;
  width:calc(100% - 10px);
  background-color: var( --e-global-color-88fdea6 );
  background-repeat: no-repeat;
  transition: height 1s ease-in;
  background-size:cover;
}


.hoverboxes .elementor-widget-icon-box:first-of-type .elementor-icon-box-content,
.hoverboxes .elementor-widget-image-box:first-of-type .elementor-image-box-content {
  background-image: url('assets/images/bg_kachel_0001_2.jpg');
  background-position: bottom -20px right;
}

.hoverboxes .elementor-widget-icon-box:nth-of-type(2) .elementor-icon-box-content,
.hoverboxes .elementor-widget-image-box:nth-of-type(2) .elementor-image-box-content {
  background-image: url('assets/images/bg_kachel_0001_2.jpg');
}

.hoverboxes .elementor-widget-icon-box:nth-of-type(3) .elementor-icon-box-content,
.hoverboxes .elementor-widget-image-box:nth-of-type(3) .elementor-image-box-content {
  background-image: url('assets/images/bg_kachel_0002_3.jpg');
  background-position: bottom -20px right;
}

.hoverboxes .elementor-widget-icon-box:nth-of-type(4) .elementor-icon-box-content,
.hoverboxes .elementor-widget-image-box:nth-of-type(4) .elementor-image-box-content {
  background-image: url('assets/images/bg_kachel_0003_4.jpg');
  background-position: bottom -20px left;
}


.hoverboxes .elementor-widget-icon-box:hover .elementor-icon-box-content,
.hoverboxes .elementor-widget-image-box:hover .elementor-image-box-content {
  height:100%;
  z-index: 10;
}


.hoverboxes .elementor-widget-icon-box .elementor-icon-box-description,
.hoverboxes .elementor-widget-image-box .elementor-image-box-description {
  position: absolute;
  bottom:0;
  left:0;
  width:100%;
  height:0%;
  overflow: hidden;
  text-align: center;
  opacity:0;
  padding:20px;
  display: flex;
  align-content: space-around;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  flex-direction: column;
  transition: height 0.6s ease-out ,opacity 0.6s ease-out ;

}

.hoverboxes .elementor-widget-icon-box:hover .elementor-icon-box-description,
.hoverboxes .elementor-widget-image-box:hover .elementor-image-box-description{
  height:100%;
  opacity: 1;
}


.hoverboxes .elementor-widget-icon-box .elementor-icon-box-description a,
.hoverboxes .elementor-widget-image-box .elementor-image-box-description a{
  font-weight: bold;
  color:inherit;
  transition: all 0.2s linear;
  display: block;
}

.hoverboxes .elementor-widget-icon-box .elementor-icon-box-description a:hover,
.hoverboxes .elementor-widget-image-box .elementor-image-box-description a:hover {
  color:#000;
}




/* underliner effect */

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

.underliner {
  position: relative;
  transition: 0.3s;
}

.underliner svg {
  pointer-events: none;
  position: absolute;
  left: 0;
}

.underliner svg path {
  transition: stroke-dasharray 0.3s, stroke-dashoffset 0.3s, opacity 0.3s;
}

.underliner svg path:last-child {
  /* opacity of second line */
  opacity: 1;
}

.underliner:hover svg,
.underliner:focus svg {
  opacity: 1;
}

.underliner:hover svg path,
.underliner:focus svg path {
  stroke-dashoffset: 0;
}

/* additional modifications for custom aligment and settings */


.elementor-widget-icon-list .underliner svg {
  bottom:-30px;
}

.elementor-widget-icon-list .elementor-widget-container {
  overflow: visible !important;
}


/* form */

.elementor-widget-form .elementor-field-subgroup.elementor-subgroup-inline .elementor-field-option {
  padding-right:20px;
}

.elementor-widget-form .elementor-field-subgroup.elementor-subgroup-inline .elementor-field-option input {
  margin-right:5px;
}

.elementor-widget-form .elementor-field-type-select {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
}

.elementor-widget-form .elementor-field-type-select label {
  width:50%!important;
  display: block;
  position: static;
  overflow: visible;
  height: auto;
  font-weight: bold!important;
}


.elementor-widget-form .elementor-field-type-select .elementor-field {
  width:50%!important;
}

.elementor-widget-form .elementor-field-type-select .elementor-field input {
  cursor: pointer;
}

.elementor-widget-form textarea {
  border-width:1px!important;
  padding:15px!important;
}

.elementor-field-type-acceptance label {
  font-size:0.8rem;
}

.elementor a,
.elementor a:hover {
  color:inherit;
}

.dialog-lightbox-widget a:not(.dialog-close-button):not(.elementor-item):hover,
.dialog-lightbox-widget button:hover .elementor-button-text {
  text-decoration: underline!important;
}


/* burgermenu */

/*.burgermenu > div {
  opacity:0;
  transition: opacity 1s ease;
}

.burgermenu.active > div {
  opacity: 1;
}*/

.burgermenu > div {
  content:' ';
  display:block;
  background-color: #fff;
  width:400px;
  position: absolute;
  box-shadow:0 0 10px rgba(0,0,0,0.15);
  bottom:40px;
  right:0;
  transition: transform 1s ease;
  overflow: hidden;
}


.burgermenu.active > div {
  transform:rotate(15deg);
  height:150px;
  overflow: visible;
}

.logo .elementor-icon:hover {
  cursor: pointer;
}

.logo .elementor-icon svg {
  transition: fill 1s ease;
}

.logo .elementor-icon:hover svg {
  fill:#000!important;
}



/* carousel */

.swiper-pagination-bullets span {
  border:1px solid var(--e-n-carousel-dots-normal-color,#000);
  opacity:1!important;
  margin:0 3px!important;
}

.swiper-pagination-bullets span:not(.swiper-pagination-bullet-active) {
  background-color: #fff!important;
}

.swiper-pagination-bullets span:hover {
background-color: var(--e-n-carousel-dots-normal-color,#000)!important;
}

.elementor-arrows-position-inside .elementor-swiper-button {
  margin-top:50px;
}




.elementor-location-popup .elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item {
   align-items: flex-end;
}

body:not(.elementor-editor-active) #typewriter .elementor-widget-container {
opacity:0;

}

#typewriter #typewriter_content {
  position: absolute;
  top: 0;
}

body {
  min-height:100vh;
}

.page-content,
.elementor-location-single {
  padding-top:40px;
  overflow: hidden;
}

.elementor-location-header {
  z-index:99;
  position: relative;
}


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



}


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

  .paper_bg_left.rotate-paper {
    transform: rotate(-1deg);
  }

  .paper_bg_right.rotate-paper {
    transform: rotate(1deg);
  }

  .elementor-widget-form .elementor-field-type-select {
    flex-direction: column;
  }

  .elementor-widget-form .elementor-field-type-select label {
    width:100%!important;
    margin-bottom:10px;
  }


  .elementor-widget-form .elementor-field-type-select .elementor-field {
    width:100%!important;
    margin-bottom:20px;
  }


}