/*! HTML5 Boilerplate v8.0.0 | MIT License | https://html5boilerplate.com/ */
/* poppins-200 - latin */
@font-face {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 200;
    src: url('../fonts/poppins-v20-latin-200.eot'); /* IE9 Compat Modes */
    src: local(''),
         url('../fonts/poppins-v20-latin-200.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
         url('../fonts/poppins-v20-latin-200.woff2') format('woff2'), /* Super Modern Browsers */
         url('../fonts/poppins-v20-latin-200.woff') format('woff'), /* Modern Browsers */
         url('../fonts/poppins-v20-latin-200.ttf') format('truetype'), /* Safari, Android, iOS */
         url('../fonts/poppins-v20-latin-200.svg#Poppins') format('svg'); /* Legacy iOS */
  }
  /* poppins-300 - latin */
  @font-face {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 300;
    src: url('../fonts/poppins-v20-latin-300.eot'); /* IE9 Compat Modes */
    src: local(''),
         url('../fonts/poppins-v20-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
         url('../fonts/poppins-v20-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
         url('../fonts/poppins-v20-latin-300.woff') format('woff'), /* Modern Browsers */
         url('../fonts/poppins-v20-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
         url('../fonts/poppins-v20-latin-300.svg#Poppins') format('svg'); /* Legacy iOS */
  }
  /* poppins-regular - latin */
  @font-face {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/poppins-v20-latin-regular.eot'); /* IE9 Compat Modes */
    src: local(''),
         url('../fonts/poppins-v20-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
         url('../fonts/poppins-v20-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
         url('../fonts/poppins-v20-latin-regular.woff') format('woff'), /* Modern Browsers */
         url('../fonts/poppins-v20-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
         url('../fonts/poppins-v20-latin-regular.svg#Poppins') format('svg'); /* Legacy iOS */
  }
  /* poppins-500 - latin */
  @font-face {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 500;
    src: url('../fonts/poppins-v20-latin-500.eot'); /* IE9 Compat Modes */
    src: local(''),
         url('../fonts/poppins-v20-latin-500.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
         url('../fonts/poppins-v20-latin-500.woff2') format('woff2'), /* Super Modern Browsers */
         url('../fonts/poppins-v20-latin-500.woff') format('woff'), /* Modern Browsers */
         url('../fonts/poppins-v20-latin-500.ttf') format('truetype'), /* Safari, Android, iOS */
         url('../fonts/poppins-v20-latin-500.svg#Poppins') format('svg'); /* Legacy iOS */
  }
  /* poppins-600 - latin */
  @font-face {
    font-family: 'Poppins';
    font-style: normal;
    font-weight: 600;
    src: url('../fonts/poppins-v20-latin-600.eot'); /* IE9 Compat Modes */
    src: local(''),
         url('../fonts/poppins-v20-latin-600.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
         url('../fonts/poppins-v20-latin-600.woff2') format('woff2'), /* Super Modern Browsers */
         url('../fonts/poppins-v20-latin-600.woff') format('woff'), /* Modern Browsers */
         url('../fonts/poppins-v20-latin-600.ttf') format('truetype'), /* Safari, Android, iOS */
         url('../fonts/poppins-v20-latin-600.svg#Poppins') format('svg'); /* Legacy iOS */
  }

/* main.css 2.1.0 | MIT License | https://github.com/h5bp/main.css#readme */


/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */


/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html {
    color: #222;
    font-size: 14px;
    line-height: 1.4;
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: regular;
    width:100%;
}


/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * Vendor-prefixed and regular ::selection selectors cannot be combined:
 * https://stackoverflow.com/a/16982510/7133471
 *
 * Customize the background color to match your design.
 */

 ::-moz-selection {
    background: #ED4264;
    color:#000;
    text-shadow: none;
}

::selection {
    background: #ED4264;    
    color:#000;
    text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1rem 0;
    padding: 0;
}


/*
 * Rremove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}


/*
 * Remove default fieldset styles.
 */

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
    resize: vertical;
}

[readonly] {
    opacity: 0.3!important;
}


/* ==========================================================================
   Author's custom styles
   ========================================================================== */
* {
    box-sizing: border-box;
}

:root {
    --primary-color: #ED4264;
    --secondary-color: #000;
    --textcolor:#333;
    --radius:10px;
}

body {
    padding: 1rem 1.5rem;
    margin: 0;
    font-family: 'Poppins', sans-serif;
    height: 100%;
    -ms-overflow-style: none;
    scrollbar-width: none;
    background: rgb(255,255,255);
    background: -moz-linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(247,247,247,1) 100%);
    background: -webkit-linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(247,247,247,1) 100%);
    background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(247,247,247,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff",endColorstr="#f7f7f7",GradientType=1);
    background-attachment: fixed;
    font-weight: 300;
    color:var(--textcolor);

}

body::-webkit-scrollbar {
    display: none;
}

a {color:var(--textcolor);
    text-decoration: none;}

a:hover {color:var(--primary-color);}

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

/* BUTTONS =============================================*/
.btn {padding:0.5rem 1.5rem;}

.btn-block {width:100%;}

.btn-primary {background:var(--secondary-color);
    border:none;
    font-size:1rem;}

.btn-primary:hover {
        background:var(--primary-color);
    }

    
.btn-secondary {background:#E6E6E6;
    color:#333;
    margin:0.5rem 0;
    display:block;
    width:100%;
    border:none;
    font-size:1rem;}

.btn-secondary:hover {
    background:var(--primary-color);
}


.btn i {margin-right:0.5rem;}

/* Header =============================================*/
header {position: relative;}

#logo {
    max-width:250px;
    margin:0 auto 2rem;
    display:none;
}



#jumbotron {background:url("../img/background.jpg");
    background-position: bottom;
    height:300px;
    margin-bottom:1.5rem;
    border-radius: var(--radius);
    display:none;}

nav {position: fixed;
    z-index:10;
    bottom:0;
    width:100%;
    left:0;
    background:#fff;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);
    padding:0.5rem;
    -webkit-border-top-left-radius: 20px;
    -webkit-border-top-right-radius: 20px;
    -moz-border-radius-topleft: 20px;
    -moz-border-radius-topright: 20px;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;}

nav ul {padding:0;
    margin:0;
    list-style: none;
    display: flex;
    justify-content: center;
    width:100%;}

nav ul li {padding:1rem 0.5rem 0;
    margin:0;
    font-size:0.65rem;
    width:calc(100% / 5);
    text-align: center;
}

nav ul li i {display:block;
    font-size:1.6rem;
    margin-bottom:0.5rem;
}

nav ul li a {color:#bbb;}


h1 {color:var(--primary-color);
    font-size:1.2rem;
    text-transform: uppercase;}

h1 span {color:#ccc;
    display: block;
    font-size:1rem;
    text-transform: none;
    font-weight:400;}

h2 {font-size:1.1rem;
    color:var(--primary-color);
    margin:0 0 0.25rem}


/* MAIN =============================================*/
main {padding:0 0 calc(1rem + 100px);
}

.box {padding:1.5rem;
    border-radius:var(--radius);
    background:#fff;
    border:1px solid #E2E2E2;
    box-shadow: 0 0 10px rgba(0,0,0,0.1);}

.box + .box {margin-top:1rem;}

#mainHeader {display:flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom:1rem;
    border-bottom:1px solid #eee;
    margin-bottom:1rem;
    position: relative;}

#mainHeader > div {display:flex;
    align-items: center;
    gap:1rem;}

#mainHeader > div > a > img {
    width:40px;
    height:40px;
}

#menuButton {font-size:1.3rem;
    cursor: pointer;}

#menuBox {position: absolute;
    display: none;
    font-size:0.8rem;
    overflow: hidden;
    z-index:9;
    top:3rem;
    right:0;
    background:#e9e9e9;
    color:#fff;
    padding:0;
    margin:0;
    list-style: none;
    border-radius:var(--radius);
    border:1px solid rgba(0,0,0,0.1)}

#menuBox li {padding:0.5rem 1.5rem;
    border-bottom:1px solid rgba(0,0,0,0.1)}

#menuBox a {display: block;}


.nav-tabs {border:1px solid #ddd;
    border-radius:var(--radius);
    position: relative;}

.nav-tabs .nav-link,
.nav-tabs .nav-link.active {border:none;
    padding:0.7rem;
    font-size:1rem;
    width:50%;
    background:none;
    text-align: center;
    color:var(--textcolor)}

.nav-tabs .nav-item-background {background:#ddd;
    width:50%;
    height:100%;
    position: absolute;
    z-index:-1;
    border-radius: var(--radius);
    top:0;
    left:0;
    transition: all 0.2s ease-in;}

.nav-tabs #kategorie-tab.active ~ .nav-item-background {
    left:50%;
}

.tab-content {padding:1.5rem 0;}

#search {margin-bottom:1.5rem;}


/* Rezepte =============================================*/
#rezepte,
#rezepteKategorie {display:flex;
    flex-wrap:wrap;
    gap:1rem;}

.rezeptBox {width:100%;
    display:flex;
    align-items: center;
    gap:1.5rem;
    padding:1rem;
    border-radius: var(--radius);
    background:#fff;
    border:1px solid #ddd;
    color:var(--textcolor);
    font-size:1rem;}

.rezeptBox.detail {flex-wrap:wrap;}

.rezeptBox > div:first-child {width:80px;
    height:80px;
    border-radius: var(--radius);
    overflow: hidden;}

.rezeptBox img {object-fit: cover;
    max-width:unset;
    width:100%;
    height:100%;}

.rezeptBox.detail > div:first-child {width:100%;
        height:20vh;}

.rezeptBox h2 {font-size:1rem;}

.rezeptBox p {margin:0;}

.rezeptBox .bewertung {margin-top:1rem;
    color:var(--primary-color);}

.rezeptBoxKategorie {width:100%;
    height:180px;
    display:flex;
    align-items: flex-end;
    color:#fff;
    border-radius: var(--radius);    
    overflow: hidden;
    position: relative;
}

.rezeptBoxKategorie > div:first-child {position: absolute;
    z-index: -1;
    top:0;
    left:0;
    width:100%;
    height:100%;}

.rezeptBoxKategorie > div:last-child {background: rgb(0,0,0);
    background: -moz-linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.804359243697479) 80%);
    background: -webkit-linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.804359243697479) 80%);
    background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.804359243697479) 80%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#000000",endColorstr="#000000",GradientType=1);
    width:100%;
    padding:4rem 1rem 1rem;}

.rezeptBoxKategorie > div:first-child img {object-fit: cover;
    object-position: center;
    max-width:unset;
    width:100%;
    height:100%;
    transition: all 0.5s ease-in-out;}

.rezeptBoxKategorie h2 {font-size:1rem;
color:#fff;}

.rezeptBoxKategorie:hover {color:#fff;}

.rezeptBoxKategorie:hover img {transform:scale(1.2)}

#rezeptdetail {display:flex;
flex-wrap: wrap;
gap:1rem;}

#rezeptdetail > div {width:100%;
    }


/* Rating Rezepte =============================================*/
.rating-stars ul {
    list-style-type:none;
    padding:0;    
    -moz-user-select:none;
    -webkit-user-select:none;
    text-align: left;
    cursor: pointer;
  }
  .rating-stars ul > li.star {
    display:inline-block;
  }
  
  .rating-stars ul > li.star > i {
    font-size:2.5em;
    color:#ccc;
  }
  
  .rating-stars ul > li.star.selected > i {
    color:var(--primary-color)
  }


/* Gerichte ==============================================*/
#addGericht {
    position: fixed;
    bottom: 6.5rem;
    left: 1.5rem;
    width: calc(100% - 3rem);
}

.wochenRezept {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1.5rem;
    padding: 1rem;
    border-radius: var(--radius);
    background: #fff;
    border: 1px solid #ddd;
    color: var(--textcolor);
    font-size: 1rem;
}

.wochenRezept > div {
    width: max-content;
}

.wochenRezept p {margin:0;}

.gekocht {font-size:1.5rem;}

#wochenBox {display: flex;
    gap:1rem;
    flex-wrap: wrap;
    margin-bottom:1rem;}

#wochenBox .rezeptBox {width:100%;}

#wochenBox .rezeptBox > div:first-child {width:100%;
height: unset;}



/* Formulare =============================================*/
.formfield {position:relative;
    margin-bottom:1.5rem;}

.formfield label {font-size:0.7em;
    margin-bottom:0.35rem;
text-transform: uppercase;}

input {width:100%;
display:block;
border:1px solid #ddd;
border-radius: var(--radius);
padding:1rem;}

/* Media Queries =============================================*/

@media all and (min-width:1200px) {
    html {
        font-size: 16px;
    }

    #jumbotron,
    #logo {display:block;}

    main,
    #mainHeader {max-width:1200px;
    margin:auto;}

    #mainHeader {
    margin-bottom: 2rem;}

    main {padding-top:2rem;}

    nav {position: absolute;
        bottom:-25px;
        left:5%;
        border-radius: 20px;
        background:var(--primary-color);
        max-width:90%;}

    nav ul {max-width:1200px;
    margin:auto;}

    nav ul li {padding:0;
        width:max-content;}

    nav ul li a {color:#fff;
        padding: 0 2rem;
        font-size:1rem;
        display:block;
        border-right:1px solid #fff;
        position: relative;}

    nav ul li a:hover {color:#fff;}

    nav ul li a:hover:after {content:"";
        position: absolute;
        bottom:-0.5rem;
        left:calc(50% - 7px);
        width: 0px;
        height: 0px;
        -webkit-transform:rotate(360deg);
        border-style: solid;
        border-width: 0 7px 7px 7px;
        border-color: transparent transparent #fff transparent;}

    nav ul li:last-child a {border:none;}

    nav ul li i,
    #mainHeader > div > img {display:none;}


    .rezeptBox {
        width: calc(100% / 3 - 0.675rem);}

    .rezeptBoxKategorie {
            width: calc(33% - 0.5rem);}

    #rezeptdetail {flex-wrap: nowrap;}

    #addGericht {
        position: static;
        width:100%;
    }
}




/* ==========================================================================
   Rückmeldung Skripte
   ========================================================================== */

.alerts {
    background: rgba(0,0,0,0.5);
    position: fixed;
    bottom: 0;
    right: 0;
    z-index: 9999;
    width: 100%;
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    -webkit-animation: moveAlert 2.5s;
    -webkit-animation-fill-mode: forwards;
    pointer-events: none;
}

@-webkit-keyframes moveAlert {
    from {
        opacity:0;
    }
    10% {
        opacity:1;
    }
    12% {
        opacity:1;
    }
    16% {
        opacity:1;
    }
    80% {
        opacity:1;
    }
    85% {
        opacity:1;
    }
    to {
        opacity:0;
    }
}

@keyframes moveAlert {
    from {
        opacity:0;
    }
    10% {
        opacity:1;
    }
    12% {
        opacity:1;
    }
    16% {
        opacity:1;
    }
    80% {
        opacity:1;
    }
    85% {
        opacity:1;
    }
    to {
        opacity:0;
    }
}

.alerts .alert {
    position: relative;
    border: none !important;
    text-align: center;
    margin:0;
}

.alerts .alert .copy h4 {
    font-size: 18px;
    font-weight: 400;
    margin-bottom: 5px;
    color: var(--primary-color);
    text-transform: uppercase;
}

.alerts .alert .copy p {
    font-size: 12px;
    margin-bottom: 0;
    line-height: 1.5;
}

.alerts .alert.alert-success {
    background-color: #fff;
    padding: 2rem;
}

.alerts svg {
    width: 100px;
    display: block;
    margin: 0 auto;
    background: var(--primary-color);
    border-radius: 100%;
    margin-bottom: 2rem;
}

.alerts svg polyline {
    stroke: #fff;
}

.path {
    stroke-dasharray: 1000;
    stroke-dashoffset: 0;
}

.path.circle {
    opacity: 0;
    -webkit-animation: dash 0.9s 0.95s ease-in-out;
    animation: dash 0.9s 0.95s ease-in-out;
}

.path.line {
    opacity: 0;
    stroke-dashoffset: 1000;
    -webkit-animation: dash 0.9s 0.15s ease-in-out forwards;
    animation: dash 0.9s 0.15s ease-in-out forwards;
}

.path.check {
    stroke-dashoffset: -100;
    -webkit-animation: dash-check 1.4s 0.5s ease-in-out forwards;
    animation: dash-check 1.4s 0.5s ease-in-out forwards;
}

@-webkit-keyframes dash {
    0% {
        opacity: 0;
        stroke-dashoffset: 1000;
    }
    100% {
        opacity: 0;
        stroke-dashoffset: 0;
    }
}

@keyframes dash {
    0% {
        opacity: 0;
        stroke-dashoffset: 1000;
    }
    100% {
        opacity: 0;
        stroke-dashoffset: 0;
    }
}

@-webkit-keyframes dash-check {
    0% {
        stroke-dashoffset: -100;
    }
    100% {
        stroke-dashoffset: 900;
    }
}

@keyframes dash-check {
    0% {
        stroke-dashoffset: -100;
    }
    100% {
        stroke-dashoffset: 900;
    }
}

/* ==========================================================================
   Helper classes
   ========================================================================== */
/*
 * Hide visually and from screen readers
 */

.hidden,
[hidden] {
    display: none !important;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

.clearfix::before,
.clearfix::after {
    content: " ";
    display: table;
}

.clearfix::after {
    clear: both;
}


/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   https://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {
    *,
    *::before,
    *::after {
        background: #fff !important;
        color: #000 !important;
        /* Black prints faster */
        box-shadow: none !important;
        text-shadow: none !important;
    }
    a,
    a:visited {
        text-decoration: underline;
    }
    a[href]::after {
        content: " (" attr(href) ")";
    }
    abbr[title]::after {
        content: " (" attr(title) ")";
    }
    /*
   * Don't show links that are fragment identifiers,
   * or use the `javascript:` pseudo protocol
   */
    a[href^="#"]::after,
    a[href^="javascript:"]::after {
        content: "";
    }
    pre {
        white-space: pre-wrap !important;
    }
    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }
    /*
   * Printing Tables:
   * https://web.archive.org/web/20180815150934/http://css-discuss.incutio.com/wiki/Printing_Tables
   */
    thead {
        display: table-header-group;
    }
    tr,
    img {
        page-break-inside: avoid;
    }
    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }
    h2,
    h3 {
        page-break-after: avoid;
    }
}