body,form,figure{margin:0;padding:0}img{border:0}header,footer,nav,section,aside,article,figure,figcaption{display:block}body{font-size:100.01%}select,input,textarea{font-size:99%}#container,.inside{position:relative}#main,#left,#right{float:left;position:relative}#main{width:100%}#left{margin-left:-100%}#right{margin-right:-100%}#footer{clear:both}#main .inside{min-height:1px}.ce_gallery>ul,.content-gallery>ul{margin:0;padding:0;overflow:hidden;list-style:none}.ce_gallery>ul li,.content-gallery>ul li{float:left}.ce_gallery>ul li.col_first,.content-gallery>ul li.col_first{clear:left}.float_left,.media--left>figure{float:left}.float_right,.media--right>figure{float:right}.block{overflow:hidden}.media{display:flow-root}.clear,#clear{height:.1px;font-size:.1px;line-height:.1px;clear:both}.invisible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.custom{display:block}#container:after,.custom:after{content:"";display:table;clear:both}
@media (max-width:767px){#wrapper{margin:0;width:auto}#container{padding-left:0;padding-right:0}#main,#left,#right{float:none;width:auto}#left{right:0;margin-left:0}#right{margin-right:0}}img{max-width:100%;height:auto}.audio_container audio{max-width:100%}.video_container video{max-width:100%;height:auto}.aspect,.responsive{position:relative;height:0}.aspect iframe,.responsive iframe{position:absolute;top:0;left:0;width:100%;height:100%}.aspect--16\:9,.responsive.ratio-169{padding-bottom:56.25%}.aspect--16\:10,.responsive.ratio-1610{padding-bottom:62.5%}.aspect--21\:9,.responsive.ratio-219{padding-bottom:42.8571%}.aspect--4\:3,.responsive.ratio-43{padding-bottom:75%}.aspect--3\:2,.responsive.ratio-32{padding-bottom:66.6666%}.aspect--9\:16,.responsive.ratio-916{padding-bottom:177.7777%}.aspect--1\:1,.responsive.ratio-11{padding-bottom:100%}
.glightbox-container{width:100%;height:100%;position:fixed;top:0;left:0;z-index:999999!important;overflow:hidden;-ms-touch-action:none;touch-action:none;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;outline:0}.glightbox-container.inactive{display:none}.glightbox-container .gcontainer{position:relative;width:100%;height:100%;z-index:9999;overflow:hidden}.glightbox-container .gslider{-webkit-transition:-webkit-transform .4s ease;transition:-webkit-transform .4s ease;transition:transform .4s ease;transition:transform .4s ease,-webkit-transform .4s ease;height:100%;left:0;top:0;width:100%;position:relative;overflow:hidden;display:-webkit-box!important;display:-ms-flexbox!important;display:flex!important;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.glightbox-container .gslide{width:100%;position:absolute;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;opacity:0}.glightbox-container .gslide.current{opacity:1;z-index:99999;position:relative}.glightbox-container .gslide.prev{opacity:1;z-index:9999}.glightbox-container .gslide-inner-content{width:100%}.glightbox-container .ginner-container{position:relative;width:100%;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-width:100%;margin:auto;height:100vh}.glightbox-container .ginner-container.gvideo-container{width:100%}.glightbox-container .ginner-container.desc-bottom,.glightbox-container .ginner-container.desc-top{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.glightbox-container .ginner-container.desc-left,.glightbox-container .ginner-container.desc-right{max-width:100%!important}.gslide iframe,.gslide video{outline:0!important;border:none;min-height:165px;-webkit-overflow-scrolling:touch;-ms-touch-action:auto;touch-action:auto}.gslide:not(.current){pointer-events:none}.gslide-image{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.gslide-image img{max-height:100vh;display:block;padding:0;float:none;outline:0;border:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;max-width:100vw;width:auto;height:auto;-o-object-fit:cover;object-fit:cover;-ms-touch-action:none;touch-action:none;margin:auto;min-width:200px}.desc-bottom .gslide-image img,.desc-top .gslide-image img{width:auto}.desc-left .gslide-image img,.desc-right .gslide-image img{width:auto;max-width:100%}.gslide-image img.zoomable{position:relative}.gslide-image img.dragging{cursor:-webkit-grabbing!important;cursor:grabbing!important;-webkit-transition:none;transition:none}.gslide-video{position:relative;max-width:100vh;width:100%!important}.gslide-video .plyr__poster-enabled.plyr--loading .plyr__poster{display:none}.gslide-video .gvideo-wrapper{width:100%;margin:auto}.gslide-video::before{content:'';position:absolute;width:100%;height:100%;background:rgba(255,0,0,.34);display:none}.gslide-video.playing::before{display:none}.gslide-video.fullscreen{max-width:100%!important;min-width:100%;height:75vh}.gslide-video.fullscreen video{max-width:100%!important;width:100%!important}.gslide-inline{background:#fff;text-align:left;max-height:calc(100vh - 40px);overflow:auto;max-width:100%;margin:auto}.gslide-inline .ginlined-content{padding:20px;width:100%}.gslide-inline .dragging{cursor:-webkit-grabbing!important;cursor:grabbing!important;-webkit-transition:none;transition:none}.ginlined-content{overflow:auto;display:block!important;opacity:1}.gslide-external{display:-webkit-box;display:-ms-flexbox;display:flex;width:100%;min-width:100%;background:#fff;padding:0;overflow:auto;max-height:75vh;height:100%}.gslide-media{display:-webkit-box;display:-ms-flexbox;display:flex;width:auto}.zoomed .gslide-media{-webkit-box-shadow:none!important;box-shadow:none!important}.desc-bottom .gslide-media,.desc-top .gslide-media{margin:0 auto;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.gslide-description{position:relative;-webkit-box-flex:1;-ms-flex:1 0 100%;flex:1 0 100%}.gslide-description.description-left,.gslide-description.description-right{max-width:100%}.gslide-description.description-bottom,.gslide-description.description-top{margin:0 auto;width:100%}.gslide-description p{margin-bottom:12px}.gslide-description p:last-child{margin-bottom:0}.zoomed .gslide-description{display:none}.glightbox-button-hidden{display:none}.glightbox-mobile .glightbox-container .gslide-description{height:auto!important;width:100%;position:absolute;bottom:0;padding:19px 11px;max-width:100vw!important;-webkit-box-ordinal-group:3!important;-ms-flex-order:2!important;order:2!important;max-height:78vh;overflow:auto!important;background:-webkit-gradient(linear,left top,left bottom,from(rgba(0,0,0,0)),to(rgba(0,0,0,.75)));background:linear-gradient(to bottom,rgba(0,0,0,0) 0,rgba(0,0,0,.75) 100%);-webkit-transition:opacity .3s linear;transition:opacity .3s linear;padding-bottom:50px}.glightbox-mobile .glightbox-container .gslide-title{color:#fff;font-size:1em}.glightbox-mobile .glightbox-container .gslide-desc{color:#a1a1a1}.glightbox-mobile .glightbox-container .gslide-desc a{color:#fff;font-weight:700}.glightbox-mobile .glightbox-container .gslide-desc *{color:inherit}.glightbox-mobile .glightbox-container .gslide-desc .desc-more{color:#fff;opacity:.4}.gdesc-open .gslide-media{-webkit-transition:opacity .5s ease;transition:opacity .5s ease;opacity:.4}.gdesc-open .gdesc-inner{padding-bottom:30px}.gdesc-closed .gslide-media{-webkit-transition:opacity .5s ease;transition:opacity .5s ease;opacity:1}.greset{-webkit-transition:all .3s ease;transition:all .3s ease}.gabsolute{position:absolute}.grelative{position:relative}.glightbox-desc{display:none!important}.glightbox-open{overflow:hidden}.gloader{height:25px;width:25px;-webkit-animation:lightboxLoader .8s infinite linear;animation:lightboxLoader .8s infinite linear;border:2px solid #fff;border-right-color:transparent;border-radius:50%;position:absolute;display:block;z-index:9999;left:0;right:0;margin:0 auto;top:47%}.goverlay{width:100%;height:calc(100vh + 1px);position:fixed;top:-1px;left:0;background:#000;will-change:opacity}.glightbox-mobile .goverlay{background:#000}.gclose,.gnext,.gprev{z-index:99999;cursor:pointer;width:26px;height:44px;border:none;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.gclose svg,.gnext svg,.gprev svg{display:block;width:25px;height:auto;margin:0;padding:0}.gclose.disabled,.gnext.disabled,.gprev.disabled{opacity:.1}.gclose .garrow,.gnext .garrow,.gprev .garrow{stroke:#fff}.gbtn.focused{outline:2px solid #0f3d81}iframe.wait-autoplay{opacity:0}.glightbox-closing .gclose,.glightbox-closing .gnext,.glightbox-closing .gprev{opacity:0!important}.glightbox-clean .gslide-description{background:#fff}.glightbox-clean .gdesc-inner{padding:22px 20px}.glightbox-clean .gslide-title{font-size:1em;font-weight:400;font-family:arial;color:#000;margin-bottom:19px;line-height:1.4em}.glightbox-clean .gslide-desc{font-size:.86em;margin-bottom:0;font-family:arial;line-height:1.4em}.glightbox-clean .gslide-video{background:#000}.glightbox-clean .gclose,.glightbox-clean .gnext,.glightbox-clean .gprev{background-color:rgba(0,0,0,.75);border-radius:4px}.glightbox-clean .gclose path,.glightbox-clean .gnext path,.glightbox-clean .gprev path{fill:#fff}.glightbox-clean .gprev{position:absolute;top:-100%;left:30px;width:40px;height:50px}.glightbox-clean .gnext{position:absolute;top:-100%;right:30px;width:40px;height:50px}.glightbox-clean .gclose{width:35px;height:35px;top:15px;right:10px;position:absolute}.glightbox-clean .gclose svg{width:18px;height:auto}.glightbox-clean .gclose:hover{opacity:1}.gfadeIn{-webkit-animation:gfadeIn .5s ease;animation:gfadeIn .5s ease}.gfadeOut{-webkit-animation:gfadeOut .5s ease;animation:gfadeOut .5s ease}.gslideOutLeft{-webkit-animation:gslideOutLeft .3s ease;animation:gslideOutLeft .3s ease}.gslideInLeft{-webkit-animation:gslideInLeft .3s ease;animation:gslideInLeft .3s ease}.gslideOutRight{-webkit-animation:gslideOutRight .3s ease;animation:gslideOutRight .3s ease}.gslideInRight{-webkit-animation:gslideInRight .3s ease;animation:gslideInRight .3s ease}.gzoomIn{-webkit-animation:gzoomIn .5s ease;animation:gzoomIn .5s ease}.gzoomOut{-webkit-animation:gzoomOut .5s ease;animation:gzoomOut .5s ease}@-webkit-keyframes lightboxLoader{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes lightboxLoader{0%{-webkit-transform:rotate(0);transform:rotate(0)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes gfadeIn{from{opacity:0}to{opacity:1}}@keyframes gfadeIn{from{opacity:0}to{opacity:1}}@-webkit-keyframes gfadeOut{from{opacity:1}to{opacity:0}}@keyframes gfadeOut{from{opacity:1}to{opacity:0}}@-webkit-keyframes gslideInLeft{from{opacity:0;-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0)}to{visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes gslideInLeft{from{opacity:0;-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0)}to{visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes gslideOutLeft{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0);opacity:0;visibility:hidden}}@keyframes gslideOutLeft{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-60%,0,0);transform:translate3d(-60%,0,0);opacity:0;visibility:hidden}}@-webkit-keyframes gslideInRight{from{opacity:0;visibility:visible;-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes gslideInRight{from{opacity:0;visibility:visible;-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0)}to{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes gslideOutRight{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0);opacity:0}}@keyframes gslideOutRight{from{opacity:1;visibility:visible;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(60%,0,0);transform:translate3d(60%,0,0);opacity:0}}@-webkit-keyframes gzoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:1}}@keyframes gzoomIn{from{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:1}}@-webkit-keyframes gzoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@keyframes gzoomOut{from{opacity:1}50%{opacity:0;-webkit-transform:scale3d(.3,.3,.3);transform:scale3d(.3,.3,.3)}to{opacity:0}}@media (min-width:769px){.glightbox-container .ginner-container{width:auto;height:auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row}.glightbox-container .ginner-container.desc-top .gslide-description{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.glightbox-container .ginner-container.desc-top .gslide-image,.glightbox-container .ginner-container.desc-top .gslide-image img{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.glightbox-container .ginner-container.desc-left .gslide-description{-webkit-box-ordinal-group:1;-ms-flex-order:0;order:0}.glightbox-container .ginner-container.desc-left .gslide-image{-webkit-box-ordinal-group:2;-ms-flex-order:1;order:1}.gslide-image img{max-height:97vh;max-width:100%}.gslide-image img.zoomable{cursor:-webkit-zoom-in;cursor:zoom-in}.zoomed .gslide-image img.zoomable{cursor:-webkit-grab;cursor:grab}.gslide-inline{max-height:95vh}.gslide-external{max-height:100vh}.gslide-description.description-left,.gslide-description.description-right{max-width:275px}.glightbox-open{height:auto}.goverlay{background:rgba(0,0,0,.92)}.glightbox-clean .gslide-media{-webkit-box-shadow:1px 2px 9px 0 rgba(0,0,0,.65);box-shadow:1px 2px 9px 0 rgba(0,0,0,.65)}.glightbox-clean .description-left .gdesc-inner,.glightbox-clean .description-right .gdesc-inner{position:absolute;height:100%;overflow-y:auto}.glightbox-clean .gclose,.glightbox-clean .gnext,.glightbox-clean .gprev{background-color:rgba(0,0,0,.32)}.glightbox-clean .gclose:hover,.glightbox-clean .gnext:hover,.glightbox-clean .gprev:hover{background-color:rgba(0,0,0,.7)}.glightbox-clean .gprev{top:45%}.glightbox-clean .gnext{top:45%}}@media (min-width:992px){.glightbox-clean .gclose{opacity:.7;right:20px}}@media screen and (max-height:420px){.goverlay{background:#000}}
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box; /* 1 */
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
  border-style: none;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input { /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box; /* 1 */
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  padding: 0; /* 3 */
  white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box; /* 1 */
  padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Misc
   ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
  display: none;
}
/* pt-sans-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'PT Sans';
  font-style: normal;
  font-weight: 400;
  src: url('../../files/themes/heimatverein/fonts/pt-sans-v18-latin-regular.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* pt-sans-700 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'PT Sans';
  font-style: normal;
  font-weight: 700;
  src: url('../../files/themes/heimatverein/fonts/pt-sans-v18-latin-700.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

:root {
    --font-size-default: 1.25rem;
    --font-size-bigger: 1.5rem;
    --black: #000;
    --white: #fff;
    --lightblack: rgba(68, 68, 68, 1);
    --color-bodyfont: #000;
    --color-primary: #51773c;
    --color-secondary: #ded5c4;
    --bgcolor-dark: #e3dcce;
    --bgcolor-light: #ede8df;
    --bgcolor-events: #f1eee6;
    --margin-extrasmall: 0.5rem;
    --margin-small: 1rem;
    --margin-medium: 2rem;
    --margin-large: 4rem;
    --border-radius-default: 0.75rem;
    --border-radius-small: 0.25rem;
    --btn-bg-color1: #fff;
    /* Nav */
    --nav-font-size: var(--font-size-default);
    --nav-color: var(--color-bodyfont);
    --nav-active-color: var(--color-bodyfont);
    --nav-font-weight: 400;
    --nav-burger-line-color: var(--color-primary);
    --nav-mobile-background: var(--bgcolor-dark);
    --nav-mobile-color: #000;
    --nav-mobile-active-color: #000;
    --nav-mobile-active-background: transparent;
}

* {
    box-sizing: border-box;
}

html, body {
    height: 100%;
}

[id="wrapper"] {
  height: 100%;
  display: grid;
  grid-template-rows: auto 1fr auto;
}

body {
    font-size: var(--font-size-default);
    font-family: 'PT Sans', Arial, Helvetica, sans-serif;
    line-height: 1.5;
    color: var(--color-bodyfont);
}

h1, h2, h3, h4, h5, h6 {
    color: var(--lightblack);
    font-weight: normal;
    margin-top: 0;
}

h1, h2 {
    font-size: 1.5rem;
}

@media (min-width: 1200px) {
    h1, h2 {
        font-size: 2rem;
    }
}

.content-headline.hl-primary, .hl-primary h1, .hl-primary h2 {
    color: var(--color-primary);
}

p {
    margin: 0 0 0.5rem 0;
}

img {
    max-width: 100%;
    width: auto;
    height: auto;
}

.img--round {
    border-radius: 100%;
}

.mod_article {
    padding-top: var(--margin-medium);
    padding-bottom: var(--margin-medium);
}

.container {
    padding: 0 20px;
    @media (min-width: 600px) {
        max-width: 720px;
        margin-left: auto;
        margin-right: auto; 
    }
    @media (min-width: 768px) {
        max-width: 920px;
    }
    @media (min-width: 992px) {
        max-width: 960px;
    }
    @media (min-width: 1024px) {
        max-width: 1140px;
    }
    @media (min-width: 1200px) {
        max-width: 1320px;
    }
}

.bg-dark {
	background-color: var(--bgcolor-dark);
}

.bg-light {
	background-color: var(--bgcolor-light);
}

.bg-events {
	background-color: var(--bgcolor-events);
}

.std-btn {
    display: inline-block;
    text-decoration: none;
    background-color: var(--btn-bg-color1); /*var(--bgcolor-events);*/
    padding: 1rem 2rem 1rem 1rem;
    color: var(--color-bodyfont);
}

.hw-button .std-btn, .btn--dark {
    background-color: var(--color-secondary);
}

/* Header */
[id="header"] {
    /*padding: 1rem;*/
}

.header--fixed {
    position: fixed;
    top: 0;
    z-index: 10;
    width: 100%;
    background: #fff;
    padding: 15px 0 0 0;
}

.nav-is-mobile .mobile {
    display: block;
}

.nav-is-mobile .desktop {
    display: none;
}

.nav-is-desktop .mobile {
    display: none;
}

.nav-is-desktop .desktop {
    display: block;
}

.logo-menu {
    display: flex;
    justify-content: space-between;
}

.logo-search {
    margin-top: 5rem;
    display: flex;
    justify-content: space-between;
}

.nav-is-mobile .logo-search {
    margin-top: 7rem;
}


/* Footer */
[id="footer"] {
    padding: 1rem;
}

/* Nav */

.nav-is-desktop .nav--main .not-mainmenu {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.nav-is-desktop .navigation-main a.trail, 
.nav-is-desktop .navigation-main a:hover, 
.nav-is-desktop .navigation-main strong:not(.does-not-exist) {
    font-weight: bold;
}

.nav-is-desktop .navigation-main li {
    display: flex;
}

.nav-is-desktop .navigation-main li::before {
    content: '|';
    padding-right: 1rem;
}

@media (min-width: 1200px) {
    .nav-is-desktop .navigation-main li::before {
        padding-right: 1.25rem;
    }
}

.nav-is-desktop .navigation-main li:first-of-type::before {
    content: '';
    padding-right: 0;
}

.nav-is-mobile .nav-wrapper {
    display: flex;
    justify-content: flex-end;
}

.nav-burger__inner {
    bottom: 10px;
}

/* Nav Footer */
.mod_customnav {
    ul {
        margin: 0;
        padding: 0;
        list-style: none;
        display: flex;
    }
    li {
        margin-right: 0.5rem;
    }
    li::after {
        content: "|";
        margin-left: 0.5rem;
    }
    li:last-of-type::after {
        content: "";
    }
    a, strong {
        color: var(--color-bodyfont);
        text-decoration: none;
    }
}

/* Slider allgemein */
.slider {
    width: 100%;
    max-width: 100%;
}

.swiper-slide {
    height: auto !important;
}

.pagination-container {
    position: relative;
    width: 100%;
    margin-top: 1.5rem;
}

.swiper-pagination-bullet-active {
    background-color: var(--black) !important;
}

/* bei Events */
.swiper-wrapper.boxed {
    /*padding: 0 60px; */
}

/* Events */

/* Home */
.events--home, .events--verein {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px 60px;
}

@media (min-width: 992px) {
    .events--home, .events--verein {
        grid-template-columns: repeat(2, 1fr);
    }
}

.events--home > h2 {
    display: none;
}

.events--home .event {
    font-size: var(--font-size-bigger);
    display: grid;
    grid-template-columns: 1fr;
    gap: 15px;
    background-color: var(--bgcolor-events);
    border-radius: var(--border-radius-default);
    padding: 1rem;
    .title__fix {
        color: var(--color-primary);
    }
    .date {
        color: var(--lightblack);
        font-weight: 700;
        margin-bottom: 0;
    }
    h2 {
        color: var(--black);
        font-size: var(--font-size-bigger);
        margin-bottom: 0.5rem;
    }
}

@media (min-width: 992px) {
    .events--home .event  {
        grid-template-columns: 150px 1fr;
    }
}

/* Verein */
.events--verein .event {
    font-size: var(--font-size-bigger);
    display: grid;
    grid-template-columns: 1fr;
    gap: 15px;
    background-color: var(--bgcolor-events);
    border-radius: var(--border-radius-default);
    padding: 1rem;
    .date {
        color: var(--black);
        font-weight: 700;
        margin-bottom: 0;
        margin: 0;
    }
    .time, .location, .address {
        margin: 0;
    }
    h2 {
        color: var(--color-primary);
        font-size: var(--font-size-bigger);
        margin: 0;
    }
    .teasertext {
        margin-top: 0.5rem;
    }
}

/* Nächstes Werderaner Gespräch */
.events--top .event {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px 60px;
    h1 {
        font-size: 2rem;
        color: var(--color-primary);
    }
    h2 {
        font-weight: bold;
        font-size: var(--font-size-default);
        color: var(--lightblack);
        margin-bottom: 0.5rem;
    }
    .date {
        font-weight: bold;
        font-size: var(--font-size-default);
        color: var(--lightblack);
    }
}

@media (min-width: 768px) {
    .events--top .event {
        grid-template-columns: repeat(2, 1fr);
    }
}


/* Zukünftige Werderaner Gespräche */
.events--current {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px 60px;
    > h2 {
        display: none;
    }
}

@media (min-width: 768px) {
    .events--current {
        grid-template-columns: repeat(2, 1fr);
    }
}

.events--current .event {
    font-size: var(--font-size-bigger);
    display: grid;
    grid-template-columns: 1fr;
    gap: 15px;
    background-color: var(--white);
    border-radius: var(--border-radius-default);
    padding: 1rem;
    .title__fix {
        color: var(--color-primary);
    }
    .date {
        color: var(--lightblack);
        font-weight: 700;
        margin-top: 0.5rem;
        margin-bottom: 0;
    }
    h2 {
        color: var(--black);
        font-size: var(--font-size-bigger);
        margin-bottom: 0.5rem;
    }
}

@media (min-width: 992px) {
    .events--current .event  {
        grid-template-columns: 150px 1fr;
    }
}

/* Ältere Werderaner Gespräche */
.events--older {
    position: relative;
    padding: 0 30px;
    .slider {
        overflow: hidden;
        max-width: calc(100vw - 120px);
    }
    .swiper-button-prev {
        transform: rotate(180deg);
    }
    .swiper-button-prev, .swiper-button-next {
        width: 30px;
    }
}

@media (min-width: 768px) {
    .events--older {
        padding: 0 60px;
    }
    .events--older .slider  {
        max-width: calc(100vw - 180px);
    }
    .swiper-button-prev, .swiper-button-next {
        width: auto;
    }
}

.events--older .event {
    font-size: var(--font-size-bigger);
    display: grid;
    grid-template-columns:1fr;
    gap: 15px;
    background-color: transparent;
    border-radius: var(--border-radius-default);
    border: 1px solid var(--black);
    padding: 1rem;
    color: var(--color-primary);
    .date {
        color: var(--lightblack);
        font-weight: 700;
        margin-bottom: 0;
    }
    h2 {
        font-size: var(--font-size-bigger);
        color: var(--color-bodyfont);
        margin-bottom: 0.5rem;
    }
}

@media (min-width: 992px) {
    .events--older .event  {
        grid-template-columns: 150px 1fr;
    }
}

/* Werderaner Archiv */
.events--archiv {
    display: flex;
    gap: 30px;
    flex-wrap: wrap;
    justify-content: space-around;
    img {
        border: 1px solid var(--black);
    }
}

@media (min-width: 1024px) {
    .events--archiv {
        flex-wrap: unset;
        justify-content: start;   
    }
}

/* Downloads */

.content-downloads.in-row {
    ul {
        display: grid;
        grid-template-columns: 1fr;
        gap: 30px;
        margin: 0;
        padding: 0;
    }
    li {
        list-style: none;
        display: flex;
        align-items: center;
        gap: 15px;
        &.ext-pdf::before {
            content: url('data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSIjY2MyNzJhIj48cGF0aCBkPSJNMTEuMzYzIDJjNC4xNTUgMCAyLjYzNyA2IDIuNjM3IDZzNi0xLjY1IDYgMi40NTd2MTEuNTQzaC0xNnYtMjBoNy4zNjN6bS44MjYtMmgtMTAuMTg5djI0aDIwdi0xNC4zODZjMC0yLjM5MS02LjY0OC05LjYxNC05LjgxMS05LjYxNHptNC44MTEgMTNoLTIuNjI4djMuNjg2aC45MDd2LTEuNDcyaDEuNDl2LS43MzJoLTEuNDl2LS42OThoMS43MjF2LS43ODR6bS00LjkgMGgtMS41OTl2My42ODZoMS41OTljLjUzNyAwIC45NjEtLjE4MSAxLjI2Mi0uNTM1LjU1NS0uNjU4LjU4Ny0yLjAzNC0uMDYyLTIuNjkyLS4yOTgtLjMtLjcxMi0uNDU5LTEuMi0uNDU5em0tLjY5Mi43ODNoLjQ5NmMuNDczIDAgLjgwMi4xNzMuOTE1LjY0NC4wNjQuMjY3LjA3Ny42NzktLjAyMS45NDgtLjEyOC4zNTEtLjM4MS41MjgtLjc1NC41MjhoLS42Mzd2LTIuMTJ6bS0yLjc0LS43ODNoLTEuNjY4djMuNjg2aC45MDd2LTEuMjc3aC43NjFjLjYxOSAwIDEuMDY0LS4yNzcgMS4yMjQtLjc2My4wOTUtLjI5MS4wOTUtLjU5NyAwLS44ODUtLjE2LS40ODQtLjYwNi0uNzYxLTEuMjI0LS43NjF6bS0uNzYxLjczMmguNTQ2Yy4yMzUgMCAuNDY3LjAyOC41NzYuMjI4LjA2Ny4xMjMuMDY3LjM2NiAwIC40ODktLjEwOS4xOTktLjM0MS4yMjctLjU3Ni4yMjdoLS41NDZ2LS45NDR6Ii8+PC9zdmc+')
        }
    }
    a {
        text-decoration: none;
        color: var(--color-bodyfont);
        &:hover {
            text-decoration: underline;
        }
    }  
}

@media (min-width: 992px) {
    .content-downloads.in-row ul {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* RSCE */
/* Historical */
[class*="historical__text--"],
[class*="historical__image--"] {
    opacity: 0;
    height: 0;
    transition: all 0.3s ease;
    p {
        margin: 0;
    }
}

[class*="historical__text--"].visible,
[class*="historical__image--"].visible {
    height: auto;
    opacity: 1;
}

.historical-grid {
    display: grid;
    gap: 30px;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
}

.historical__texts {
    pointer-events: none;
    p {
        margin-bottom: 0;
    }
}

.historical__text-type {
    color: var(--color-primary);
}

.historical__previews {
    display: flex;
    gap: 15px;
}

@media (min-width: 992px) {
    .historical-grid {
        display: grid;
        gap: 30px;
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: 90px 1fr 90px;
    }

    .historical__headline {
        grid-column: 1 / 2;
        grid-row: 1 / 2;
    }

    .historical__texts {
        grid-column: 1 / 2;
        grid-row: 2 / 3;
    }

    .historical__previews {
        grid-column: 1 / 2;
        grid-row: 3 / 4;
    }

    .historical__images {
        grid-column: 2 / 3;
        grid-row: 1 / 4;
    }

}

/* Text extended */

.text-ext__main {
    display: grid;
    gap: 30px 60px;
    grid-template-columns: 1fr;
}

.text-ext__first, .text-ext__second {
    a {
        color: var(--color-primary);
        text-decoration: none;
        &:hover {
            text-decoration: underline;
        }
    }
    .text-ext__btn {
        color: var(--color-bodyfont);
        margin-top: 1rem;
    }
    ul {
        list-style: none;
        margin: 0;
        padding-left: 0;
    }
    li {
        position: relative;
        padding-left: 4rem;
        margin-bottom: 2rem; /*0.75rem;*/
        &::before {
            content: '';
            background-image: url(/files/themes/heimatverein/media/Heimatverein_Haken.png);
            background-size: contain;
            background-repeat: no-repeat;
            width: 2em;
            height: 2em;
            position: absolute;
            left: 0;
            top: 0;
        }
    }
}

@media (min-width: 992px) {
    .text-ext__main {
        grid-template-columns: repeat(2, 1fr);
    }
}

.with-logo {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--margin-small);
}

.image--single {
    min-width: 0;
}

.image--multiple {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
}

/* Button */
.hw-button {
    margin-top: 1.5rem;
}

/* Bild-Links */
.content-center {
    display: flex;
    justify-content: center;
}

.img-links {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
}

@media (min-width: 992px) {
    .img-links {
        grid-template-columns: repeat(3, 1fr);
    }
}

.img-link {
    display: grid;
    grid-template-columns: 100px 1fr;
    gap: 30px;
    align-items: center;
    text-decoration: none;
}

@media (min-width: 992px) {
    .img-link {
        grid-template-columns: 150px 1fr;
    }
}

.img-link__text {
    font-weight: 700;
    color: var(--black);
    text-decoration: none;
}

/* Projekt */
.project {
    border: 1px solid #ddd;
    border-radius: 16px;
    padding: 30px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 15px;
    h2 {
        color: var(--lightblack);
        font-weight: bold;
        margin-bottom: 1rem;
    }
}

@media (min-width: 992px) {
    .project {
        grid-template-columns: 200px 1fr 1fr;
        .textcol--2 {
            padding-left: 45px;
        }
    }
}

.project + .project {
    margin-top: 60px;
}

/* Spezial-Liste Friedhöfe */
.special-cemetary .block__row {
    display: grid;
    grid-template-columns: 1fr;
    gap: 15px;
}

.special-cemetary .block__row + .block__row {
    margin-top: 1rem;
}

@media (min-width: 768px) {
    .special-cemetary .block__row {
        grid-template-columns: repeat(4, 1fr);
    }

    .block__first {
        grid-column: 1 / 2;
    }

    .block__second {
        grid-column: 2 / 4;
    }
}

.special-cemetary .std-btn {
    background-color: var(--color-secondary);
}

/* Content Gallery */

.content-gallery--cols-4 ul {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
}

@media (min-width: 768px) {
    .content-gallery--cols-4 ul {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }
}

@media (min-width: 768px) {
    .content-gallery--cols-4 ul {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 1200px) {
    .content-gallery--cols-4 ul {
        grid-template-columns: repeat(4, 1fr);
    }
}

/* Produktliste */
.product__list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px;
}

@media (min-width: 768px) {
    .product__list {
        grid-template-columns: repeat(2, 1fr);
    }
}

.product h2 {
    font-size: var(--font-size-bigger);
    font-weight: bold;
    margin-bottom: 0.5rem;
}

.product__text .product + .product {
    margin-top: 30px;
}

.txt-img .product__images, .txt-btn-img .product__images {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
}

.txt-img .product__images .product, .txt-btn-img .product__images .product {
    min-width: 0;
}

.product__images img {
    margin: 0;
    padding: 0;
    border: 1px solid #ddd;
}

.order__button {
    margin-top: 1rem;
    padding: 0.5rem 1rem;
    background-color: var(--color-secondary);
}

.gallery .product {
    display: grid;
    grid-template-columns: 1fr;
    gap: 15px;
}

@media (min-width: 768px) {
    .gallery .product {
        grid-template-columns: repeat(2, 1fr);
    }
}

.gallery .product .product__images {
    min-width: 0;
}

.gallery .order__button {
    background-color: var(--btn-bg-color1);
}

.txt-btn-img .product__text .product + .product {
    margin-top: 45px;
}

/* Formular */
label, input, textarea {
    display: block;
    width: 100%;
}

label {
    margin-bottom: 0.5rem;
}

input, textarea {
    padding: 0.5rem;
    font-size: 1.25rem;
}

.widget {
    margin-bottom: 1.5rem;
}

button.submit {
    appearance: none;
    border: none;
    display: inline-block;
    text-decoration: none;
    background-color: var(--color-secondary);
    padding: 1rem 2rem 1rem 1rem;
    color: var(--color-bodyfont);
}

/* Abstände */
.mtop-0 {
    margin-top: 0;
}

.mtop-xs {
    margin-top: 0.5rem;
}

.mtop-sm {
    margin-top: 1rem;
}

.mtop-md {
    margin-top: 1.5rem;
}

.mtop-lg {
    margin-top: 2rem;
}

.mtop-xl {
    margin-top: 3rem;
}

.mtop-xxl {
    margin-top: 4rem;
}

.mbot-0 {
    margin-bottom: 0rem;
}

.mbot-xs {
    margin-bottom: 0.5rem;
}

.mbot-sm {
    margin-bottom: 1rem;
}

.mbot-md {
    margin-bottom: 1.5rem;
}

.mbot-lg {
    margin-bottom: 2rem;
}

.mbot-xl {
    margin-bottom: 3rem;
}

.mbot-xxl {
    margin-bottom: 4rem;
}

.ptop-0 {
    padding-top: 0rem;
}

.ptop-xs {
    padding-top: 0.5rem;
}

.ptop-sm {
    padding-top: 1rem;
}

.ptop-md {
    padding-top: 1.5rem;
}

.ptop-lg {
    padding-top: 2rem;
}

.ptop-xl {
    padding-top: 3rem;
}

.ptop-xxl {
    padding-top: 4rem;
}

.pbot-0 {
    padding-bottom: 0;
}

.pbot-xs {
    padding-bottom: 0.5rem;
}

.pbot-sm {
    padding-bottom: 1rem;
}

.pbot-md {
    padding-bottom: 1.5rem;
}

.pbot-lg {
    padding-bottom: 2rem;
}

.pbot-xl {
    padding-bottom: 3rem;
}

.pbot-xxl {
    padding-bottom: 4rem;
}

/* Suche(n) */
.mod_search {
    .formbody {
        display: flex;
    }
    .widget-submit {
        display: flex;
        align-items: center;
        margin-right: 0.5rem;
    }
    input {
        border: none;
        border-bottom: 1px solid var(--lightblack);
    }
    button {
        appearance: none;
        -webkit-appearance: none;
        border: none;
        background-color: transparent;
        padding: 0;
        margin: 0;
    }
}
