/* ############################################################################################################ */
/* ##  name: Custom CSS                                                                                      ## */
/* ############################################################################################################ */

/*••••• Fonts •••••*/

/* bespoke-900 - 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: 'Bespoke';
  font-style: normal;
  font-weight: 900;
  src: url('/project/nureinshop/pub/font/BespokeSerif-Extrabold.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('/project/nureinshop/pub/font/BespokeSerif-Extrabold.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}


/* abelpro-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: 'AbelPro';
  font-style: normal;
  font-weight: 400;
  src: url('/project/nureinshop/pub/font/AbelPro.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('/project/nureinshop/pub/font/AbelPro.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/* abelpro-bold - 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: 'AbelPro';
  font-style: normal;
  font-weight: 600;
  src: url('/project/nureinshop/pub/font/AbelPro-Bold.woff2') format('woff2'), /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
       url('/project/nureinshop/pub/font/AbelPro-Bold.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5+, IE 9+, Safari 3.1+, iOS 4.2+, Android Browser 2.2+ */
}

/*••••• Colors •••••*/

:root {
    --dark: #0f4336;
    --maincolor: #aece1c;
    --lightcolor: color-mix(in srgb, var(--maincolor) 20%, white);
}


/*••••• Cookie Window •••••*/

[data-ref="nureinshop/plugin/cookie_message"] .cookie-message--btn {
    background-color: var(--maincolor);
}

.cookie-message--p {
color: #000;
}

.cookie-message-details td {
color: #000;
}

/*••••• Webseite •••••*/

html {
    background-color: #FFF;
}

main {
    position: relative;
    z-index: 1;
}

body {
    background-color: #FFF;
    font-family: 'AbelPro', Arial, Sans-serif;
    font-size: 16px;
	font-size: clamp(16px, 4vw, 20px);
    font-weight: 400;
    color: #000;
    letter-spacing: 0.04em;
    line-height: 1.45;
}

/*••••• Headings & Co. •••••*/

h1, h2, h3, h4 {
    margin-bottom: 0;
	line-height: 1.2;
}

h1 {
    color: var(--maincolor);
    font-size: clamp(180%, 4.5vw, 300%);
    font-weight: 600;
    letter-spacing: 0.03em;
}

h2 {
    color: var(--maincolor);
    font-size: clamp(150%, 2.5vw, 200%);
    font-weight: 600;
}

h3 {
    font-weight: 700;
    font-size: clamp(110%, 1.2vw, 120%);
}

h1 strong, h2 strong {
    font-family: 'Bespoke', Arial, Sans-serif;
    font-weight: 900;
    color: var(--dark);
}

p {
    margin-top: 10px;
    margin-bottom: 0;
}

strong {
    font-weight: 600;
}

a {
    	text-decoration: underline;
    	text-underline-offset: 3px;
	color: var(--maincolor);
}

a:hover {
    color: var(--maincolor);
	text-shadow: 0 0 0 var(--maincolor), 0.03em 0 var(--maincolor);
}

.btn {
	background-color: var(--maincolor);
	font-family: inherit;
	letter-spacing: inherit;
	/* border: 4px solid #fff; */
	padding: 2px 35px;
	border-radius: 10px;
	position: relative;
	text-decoration: none;
	text-transform: uppercase;
}

.btn::after {
	content: '';
	background-color: var(--maincolor);
	height: 25px;
	width: 40px;
	background-image: url('/pub/media/a2297ad1e611c83c655fbdc245d7f9ca/button-pfeil.svg');
	display: inline-block;
	position: absolute;
	right: -13px;
	z-index: 3;
	background-repeat: no-repeat;
	bottom: -10px;
	padding: 5px;
	background-size: 65%;
	background-position: center;
}

blockquote {
	margin-top: 25px;
	background-color: var(--maincolor);
	color: #fff;
	padding: 20px;
	/*
	background-image: url('/pub/media/8d4cf8f85426bae9b10a42fcb45c337d/apg-blockquote-dekor.svg');
    	background-repeat: no-repeat;
    	background-position: bottom 8px right 8px;
    	background-size: auto 60%;
	*/
}

blockquote h1, blockquote h2, blockquote h3, blockquote h4, blockquote a {
	color: #fff;
}

blockquote .btn, blockquote .btn:hover {
    background-color: #fff;
    color: var(--maincolor);
}

blockquote a:hover {
    color: inherit;
    text-shadow: 0 0 0 #fff, 0.03em 0 #fff;
}

blockquote > *:first-child {
    margin-top: 0;
}

.nureinshop-block-accordion--head {
	background-color: var(--maincolor);
	color: #fff;
    	text-decoration: none;
}

.nureinshop-block-accordion--body::after {
    content: "";
    display: table;
    clear: both;
}

#region-breadcrumb ul li a {
	color: #000;
}

#region-content ul, #region-content ol {
    margin-left: 25px;
}

#region-content ul li::marker {
	color: var(--maincolor)
}

/*••••• Header •••••*/

.page-nureinshop-home #region-mobile-nav {
	display: block !important;
	position: absolute;
	width: 100%;
	background-color: transparent;
	top: 0;
	border: none;
	z-index: 5;
}

.mobile-logo {
    margin-top: 20px;
    background-image: url('/pub/media/87606fc62bef6d5a2e78ddaba4ee0e29/schreibergrimm-logo.svg');
    background-repeat: no-repeat;
    background-size: contain;
}

.mobile-logo img {
    opacity: 0;
    height: 80px;
    width: 80px;
}


header {
    position: sticky;
    top: 0;
    background-color: #aece1c;
    min-height: unset;
}

header .container {
	min-height: inherit;
	height: inherit;
}

#region-logo {
  float: left;
  width: auto;
}

#region-logo a {
    padding: 5px 5px 5px 5px;
}

#region-logo a img {
  height: 45px;
}

#region-search {
    position: absolute;
    right: 40px;
    margin-right: 0;
}

#region-search {
    display: none;
}

[data-id="search"] {
    display:none!important;
}

/*••••• Navigation •••••*/

#region-mobile-nav ul li a {
	background-image: url('/pub/media/965734f127e38a6e01b87086f3520083/schreibergrimm-burger-menu.svg');
	text-decoration: none;
	background-repeat: no-repeat;
	position: relative;
	filter: drop-shadow(5px 5px 3px var(--dark)) drop-shadow(-5px 5px 3px var(--dark)) drop-shadow(5px -5px 3px var(--dark)) drop-shadow(-5px -5px 3px var(--dark));
}

#region-mobile-nav ul li a::before {
    content: 'Menü';
    text-transform: uppercase;
    color: var(--maincolor);
    font-weight: 600;
    position: absolute;
    right: 37px;
}

#region-mobile-nav ul li a img {
    opacity: 0;
}

#region-nav {
    min-height: inherit;
    display: flex;
    justify-content: flex-end;
    flex-direction: column;
}

#region-nav nav {
  background-color: transparent;
  border: none;
}

#region-nav nav .container {
    width: 100%;
}

#region-nav .container > ul {
	list-style-type: none;
	display: flex;
	justify-content: flex-end;
}

#region-nav .level-1 > li {
    position: relative;
    display: flex;
}

#region-nav .level-1 > li::after {
	content: '.';
	color: var(--dark);
	margin-left: 5px;
	margin-right: 5px;
	font-size: 40px;
	line-height: 1;
}

#region-nav .level-1 > li > a {
	border: none !important;
	color: var(--dark);
	font-weight: 600;
	text-decoration: none;
}

@media only screen and (max-width: 1290px) {
    #region-nav li:last-of-type .level-2 {
        right: 0;
    }
}

/*••••• Slider •••••*/

.hero-slider {
    background-color: var(--dark);
    max-width: 100vw;
    overflow-x: hidden;
}

.hero-slider .container {
    width: 1140px;
    background-image: url('/pub/media/7bda6128045b5fad8af20c9e8ef20636/schreibergrimm-hero-slider.jpg');
    background-repeat: no-repeat;
    background-size: contain;
    height: 100%;
    max-width: 100vw;
    background-position: center;
}

.hero-slider .subpages {
    margin-top: 0;
}

.hero-slider article {
    background-color: #fff;
    border-radius: 10px;
    padding: 1.5%;
    height: 70%;
    aspect-ratio: 4/5;
}

.hero-slider article img {
    border-radius: 10px;
    height: 100%;
    width: 100%;
}

.hero-slider .subpages-content {
    display: none;
}


.einleitung {
	background-image: url('/pub/media/45e7b55f843d166e249458cd954bf51f/schreibergrimm-main-page.jpg');
	background-repeat: no-repeat;
	background-size: 50%;
	padding-top: 70px;
	padding-bottom: 70px;
}

/*••••• Produkte •••••*/

.nureinshop-block-contengrid--item {
    background-color: var(--maincolor);
    color: var(--dark);
    border-radius: 7px;
    padding: 15px;
    display: flex;
    flex-direction: column;
}

.nureinshop-block-contengrid--item .btn {
    float: right;
    clear: both;
}

.nureinshop-block-contengrid--item h2 {
    color: var(--dark);
    font-weight: 900;
    font-family: 'Bespoke', Arial, Sans-serif;
    font-size: clamp(110%, 2vw, 130%);
    text-transform: uppercase;
}

.nureinshop-block-contengrid--item > *:first-child {
    margin-top: 0;
}

.nureinshop-block-contengrid--item a {
    color: var(--dark);
}

.nureinshop-block-contengrid--item p:has(.btn) {
    margin-top: auto;
    padding-top: 20px;
}

/*••••• Produkte •••••*/

.productpage-variant-selectors {
	background-color: rgba(255,255,255,0.6);
	padding: 20px 0;
}

.productpage-pricewrapper {
	background-color: #efebe4;
	padding: 1px 20px 20px 25px;
}

/*••••• Footer & Copyright •••••*/

#region-footer {
    background-color: var(--maincolor);
	color: #fff;
}

#region-footer a, #region-footer h2 {
	color: #fff;
}

#region-copyright {
    background: #fff;
}

/*••••• Suchseite •••••*/

.search-form .input-wrapper::before {
  display: block;
  position: absolute;
  height: 20px;
  width: 20px;
  opacity: 1;
  background-image: url('/pub/media/c97f64839b348aa3371a0db7209c9a97/gvv-hardheim-wallduern-suche.svg');
  background-size: 20px 20px;
  z-index: 40;
  content: '';
  margin-top: 18px;
  margin-left: 15px;
}

.search-form .input-wrapper input[type="text"] {
    color: #000;
    border-radius: 12px;
    padding: 15px 0 15px 50px;
}

.input-wrapper input::placeholder {
    color: #000;
}

.search-item-header h2 {
    font-size: 120%;
    hyphens: none;
}

.productgrid .row {
    display: flex;
    flex-wrap: wrap;
}

.productgrid .search-item {
    padding: 10px;
    hyphens: auto;
    border-radius: 12px;
    padding-bottom: 25px;
}

@media only screen and (min-width: 960px) {
  .productgrid .col-3 {
    width: 49.9%;
    align-items: stretch;
    display: flex;
  }
  .productgrid .search-item {
    display: flex;
    flex-direction: column;
    padding: 20px;
  }
  .search-item-header h2 {
    margin-top: 5px;
  }
  .search-item-more-btn {
    margin-top: auto;
    width: 50%;
    margin-left: auto;
    margin-right: auto;
  }
 .search-item-short {
     margin-bottom: 20px;
 }
}

.hero-slider {
    aspect-ratio: 16/7;
}

.hero-slider .subpages-grid article.show {
  opacity: 1 !important;
}

.hero-slider .subpages-grid article {
  opacity: 0;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%) rotate(0deg);
  transition: opacity 1.2s ease, transform 1.2s ease;
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.25);
}

.hero-slider .subpages-grid article.show {
  opacity: 1 !important;
}

.review-stars img {
  animation: lights 5.5s infinite ease-in-out;
}

@keyframes lights {
  0% {
    filter:
      drop-shadow(0 0 1em hsla(320, 100%, 50%, 0.2))
      drop-shadow(0 0 0.125em hsla(320, 100%, 60%, 0.3))
      drop-shadow(-1em -0.125em 0.5em hsla(40, 100%, 60%, 0))
      drop-shadow(1em 0.125em 0.5em hsla(200, 100%, 60%, 0));
  }

  30% {
    filter:
      drop-shadow(0 0 1em hsla(320, 100%, 50%, 0.5))
      drop-shadow(0 0 0.125em hsla(320, 100%, 60%, 0.5))
      drop-shadow(-0.5em -0.125em 0.25em hsla(40, 100%, 60%, 0.2))
      drop-shadow(0.5em 0.125em 0.25em hsla(200, 100%, 60%, 0.4));
  }

  40% {
    filter:
      drop-shadow(0 0 1em hsla(320, 100%, 50%, 0.5))
      drop-shadow(0 0 0.125em hsla(320, 100%, 90%, 0.5))
      drop-shadow(-0.25em -0.125em 0.125em hsla(40, 100%, 60%, 0.2))
      drop-shadow(0.25em 0.125em 0.125em hsla(200, 100%, 60%, 0.4));
  }

  70% {
    filter:
      drop-shadow(0 0 1em hsla(320, 100%, 50%, 0.5))
      drop-shadow(0 0 0.125em hsla(320, 100%, 60%, 0.5))
      drop-shadow(0.5em -0.125em 0.25em hsla(40, 100%, 60%, 0.2))
      drop-shadow(-0.5em 0.125em 0.25em hsla(200, 100%, 60%, 0.4));
  }

  100% {
    filter:
      drop-shadow(0 0 1em hsla(320, 100%, 50%, 0.2))
      drop-shadow(0 0 0.125em hsla(320, 100%, 60%, 0.3))
      drop-shadow(1em -0.125em 0.5em hsla(40, 100%, 60%, 0))
      drop-shadow(-1em 0.125em 0.5em hsla(200, 100%, 60%, 0));
  }
}



/* Snake-Outline Container */
.btn::before {
    content: "";
    position: absolute;
    border-radius: inherit;
    inset: 0;
    z-index: 2;
    pointer-events: none;
    border: 4px solid #fff;
}

/* Die „Schlange“ */
.btn::before {
    border: 4px solid #fff; /* Farbe der Outline */
    clip-path: inset(0 100% 0 0); 
    animation: snake 2.5s linear infinite paused;
    display: none;
}

/* Hover aktivieren */
.btn:hover::before {
    display: block;
    animation-play-state: running;
}

/* Animation: 4 Seiten nacheinander abfahren */
@keyframes snake {
    0% {
        clip-path: inset(0 100% 0 0);   /* Start bei links oben → nach rechts */
    }
    25% {
        clip-path: inset(0 0 100% 0);   /* Obere Kante fertig → nach unten */
    }
    50% {
        clip-path: inset(0 0 0 100%);   /* Rechte Kante fertig → nach links */
    }
    75% {
        clip-path: inset(100% 0 0 0);   /* Untere Kante fertig → nach oben */
    }
    100% {
        clip-path: inset(0 100% 0 0);   /* Wieder am Anfang */
    }
}



/** generated: 2025-12-04 17:58:07 **/