/* W3.CSS 4.15 December 2020 by Jan Egil and Borge Refsnes */
html {
    box-sizing: border-box
}

*, *:before, *:after {
    box-sizing: inherit
}

/* Extract from normalize.css by Nicolas Gallagher and Jonathan Neal git.io/normalize */
html {
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0
}

article, aside, details, figcaption, figure, footer, header, main, menu, nav, section {
    display: block
}

summary {
    display: list-item
}

audio, canvas, progress, video {
    display: inline-block
}

progress {
    vertical-align: baseline
}

audio:not([controls]) {
    display: none;
    height: 0
}

[hidden], template {
    display: none
}

a {
    background-color: transparent
}

a:active, a:hover {
    outline-width: 0
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;

}

b, strong {
    font-weight: bolder
}

dfn {
    font-style: italic
}

mark {
    background: #ff0;
    color: #000
}

small {
    font-size: 80%
}

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

sub {
    bottom: -0.25em
}

sup {
    top: -0.5em
}

figure {
    margin: 1em 40px
}

img {
    border-style: none
}

code, kbd, pre, samp {
    font-family: monospace, monospace;
    font-size: 1em
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible
}

button, input, select, textarea, optgroup {
    font: inherit;
    margin: 0
}

optgroup {
    font-weight: bold
}

button, input {
    overflow: visible
}

button, select {
    text-transform: none
}

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

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

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

fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: .35em .625em .75em
}

legend {
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal
}

textarea {
    overflow: auto
}

[type=checkbox], [type=radio] {
    padding: 0
}

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

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

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

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

/* End extract */
html, body {
    font-family: Verdana, sans-serif;
    font-size: 15px;
    line-height: 1.5
}

html {
    overflow-x: hidden;
}

h1 {
    font-size: 36px
}

h2 {
    font-size: 30px
}

h3 {
    font-size: 24px
}

h4 {
    font-size: 20px
}

h5 {
    font-size: 18px
}

h6 {
    font-size: 16px
}

.w3-serif {
    font-family: serif
}

.w3-sans-serif {
    font-family: sans-serif
}

.w3-cursive {
    font-family: cursive
}

.w3-monospace {
    font-family: monospace
}

h1, h2, h3, h4, h5, h6 {
    font-family: "Segoe UI", Arial, sans-serif;
    font-weight: 400;
    margin: 10px 0
}

.w3-wide {
    letter-spacing: 4px
}

hr {
    border: 0;
    border-top: 1px solid #404040;
    margin: 10px 0
}

.w3-image {
    max-width: 100%;
    height: auto
}

img {
    vertical-align: middle
}

a {
    color: inherit
}

.w3-table, .w3-table-all {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
    display: table
}

.w3-table-all {
    border: 1px solid #ccc
}

.w3-bordered tr, .w3-table-all tr {
    border-bottom: 1px solid #ddd
}

.w3-striped tbody tr:nth-child(even) {
    background-color: #f1f1f1
}

.w3-table-all tr:nth-child(odd) {
    background-color: #fff
}

.w3-table-all tr:nth-child(even) {
    background-color: #fff
}

.w3-hoverable tbody tr:hover, .w3-ul.w3-hoverable li:hover {
    background-color: #ccc
}

.w3-centered tr th, .w3-centered tr td {
    text-align: center
}

.w3-table td, .w3-table th, .w3-table-all td, .w3-table-all th {
    padding: 8px 8px;
    display: table-cell;
    text-align: left;
    vertical-align: top
}

.w3-table th:first-child, .w3-table td:first-child, .w3-table-all th:first-child, .w3-table-all td:first-child {
    padding-left: 16px
}

.w3-btn, .w3-button {
    border: none;
    display: inline-block;
    padding: 8px 16px;
    vertical-align: middle;
    overflow: hidden;
    text-decoration: none;
    color: inherit;
    background-color: inherit;
    text-align: center;
    cursor: pointer;
    white-space: nowrap
}

.w3-btn:hover {
    box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19)
}

.w3-btn, .w3-button {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.w3-disabled, .w3-btn:disabled, .w3-button:disabled {
    cursor: not-allowed;
    opacity: 0.3
}

.w3-disabled *, :disabled * {
    pointer-events: none
}

.w3-btn.w3-disabled:hover, .w3-btn:disabled:hover {
    box-shadow: none
}

.w3-badge, .w3-tag {
    background-color: #000;
    color: #fff;
    display: inline-block;
    padding-left: 8px;
    padding-right: 8px;
    text-align: center
}

.w3-badge {
    border-radius: 50%
}

.w3-ul {
    list-style-type: none;
    padding: 0;
    margin: 0
}

.w3-ul li {
    padding: 8px 16px;
    border-bottom: 1px solid #ddd
}

.w3-ul li:last-child {
    border-bottom: none
}

.w3-tooltip, .w3-display-container {
    position: relative
}

.w3-tooltip .w3-text {
    display: none
}

.w3-tooltip:hover .w3-text {
    display: inline-block
}

.w3-ripple:active {
    opacity: 0.5
}

.w3-ripple {
    transition: opacity 0s
}

.w3-input {
    padding: 8px;
    display: block;
    border: none;
    border-bottom: 1px solid #ccc;
    width: 100%
}

.w3-select {
    padding: 9px 0;
    width: 100%;
    border: none;
    border-bottom: 1px solid #ccc
}

.w3-dropdown-click, .w3-dropdown-hover {
    position: relative;
    display: inline-block;
    cursor: pointer
}

.w3-dropdown-hover:hover .w3-dropdown-content {
    display: block
}

.w3-dropdown-hover:first-child, .w3-dropdown-click:hover {
    background-color: #ccc;
    color: #000
}

.w3-dropdown-hover:hover > .w3-button:first-child, .w3-dropdown-click:hover > .w3-button:first-child {
    background-color: #ccc;
    color: #000
}

.w3-dropdown-content {
    cursor: auto;
    color: #000;
    background-color: #fff;
    display: none;
    position: absolute;
    min-width: 160px;
    margin: 0;
    padding: 0;
    z-index: 1
}

.w3-check, .w3-radio {
    width: 24px;
    height: 24px;
    position: relative;
    top: 6px
}

.w3-sidebar {
    height: 100%;
    width: 200px;
    background-color: #fff;
    position: fixed !important;
    z-index: 1;
    overflow: auto
}

.w3-bar-block .w3-dropdown-hover, .w3-bar-block .w3-dropdown-click {
    width: 100%
}

.w3-bar-block .w3-dropdown-hover .w3-dropdown-content, .w3-bar-block .w3-dropdown-click .w3-dropdown-content {
    min-width: 100%
}

.w3-bar-block .w3-dropdown-hover .w3-button, .w3-bar-block .w3-dropdown-click .w3-button {
    width: 100%;
    text-align: left;
    padding: 8px 16px
}

.w3-main, #main {
    transition: margin-left .4s
}

.w3-modal {
    z-index: 3;
    display: none;
    padding-top: 100px;
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: auto;
    overflow: auto;
    background-color: rgb(0, 0, 0);
    background-color: rgba(0, 0, 0, 0.4)
}

.w3-modal-content {
    margin: auto;
    background-color: #fff;
    position: relative;
    padding: 0;
    outline: 0;
    width: 600px
}

.w3-bar {
    width: 100%;
    overflow: hidden
}

.w3-center .w3-bar {
    display: inline-block;
    width: auto
}

.w3-bar .w3-bar-item {
    padding: 8px 16px;
    float: left;
    width: auto;
    border: none;
    display: block;
    outline: 0
}

.w3-bar .w3-dropdown-hover, .w3-bar .w3-dropdown-click {
    position: static;
    float: left
}

.w3-bar .w3-button {
    white-space: normal
}

.w3-bar-block .w3-bar-item {
    width: 100%;
    display: block;
    padding: 8px 16px;
    text-align: left;
    border: none;
    white-space: normal;
    float: none;
    outline: 0
}

.w3-bar-block.w3-center .w3-bar-item {
    text-align: center
}

.w3-block {
    display: block;
    width: 100%
}

.w3-responsive {
    display: block;
    overflow-x: auto
}

.w3-container:after, .w3-container:before, .w3-panel:after, .w3-panel:before, .w3-row:after, .w3-row:before, .w3-row-padding:after, .w3-row-padding:before,
.w3-cell-row:before, .w3-cell-row:after, .w3-clear:after, .w3-clear:before, .w3-bar:before, .w3-bar:after {
    content: "";
    display: table;
    clear: both
}

.w3-col, .w3-half, .w3-third, .w3-twothird, .w3-threequarter, .w3-quarter {
    float: left;
    width: 100%
}

.w3-col.s1 {
    width: 8.33333%
}

.w3-col.s2 {
    width: 16.66666%
}

.w3-col.s3 {
    width: 24.99999%
}

.w3-col.s4 {
    width: 33.33333%
}

.w3-col.s5 {
    width: 41.66666%
}

.w3-col.s6 {
    width: 49.99999%
}

.w3-col.s7 {
    width: 58.33333%
}

.w3-col.s8 {
    width: 66.66666%
}

.w3-col.s9 {
    width: 74.99999%
}

.w3-col.s10 {
    width: 83.33333%
}

.w3-col.s11 {
    width: 91.66666%
}

.w3-col.s12 {
    width: 99.99999%
}

@media (min-width: 601px) {
    .w3-col.m1 {
        width: 8.33333%
    }

    .w3-col.m2 {
        width: 16.66666%
    }

    .w3-col.m3, .w3-quarter {
        width: 23.99999%
    }

    .w3-col.m4, .w3-third {
        width: 33.33333%
    }

    .w3-col.m5 {
        width: 41.66666%
    }

    .w3-col.m6, .w3-half {
        width: 49.99999%
    }

    .w3-col.m7 {
        width: 58.33333%
    }

    .w3-col.m8, .w3-twothird {
        width: 66.66666%
    }

    .w3-col.m9, .w3-threequarter {
        width: 74.99999%
    }

    .w3-col.m10 {
        width: 83.33333%
    }

    .w3-col.m11 {
        width: 91.66666%
    }

    .w3-col.m12 {
        width: 99.99999%
    }
}

@media (min-width: 993px) {
    .w3-col.l1 {
        width: 8.33333%
    }

    .w3-col.l2 {
        width: 16.66666%
    }

    .w3-col.l3 {
        width: 24.99999%
    }

    .w3-col.l4 {
        width: 33.33333%
    }

    .w3-col.l5 {
        width: 41.66666%
    }

    .w3-col.l6 {
        width: 49.99999%
    }

    .w3-col.l7 {
        width: 58.33333%
    }

    .w3-col.l8 {
        width: 66.66666%
    }

    .w3-col.l9 {
        width: 74.99999%
    }

    .w3-col.l10 {
        width: 83.33333%
    }

    .w3-col.l11 {
        width: 91.66666%
    }

    .w3-col.l12 {
        width: 99.99999%
    }
}

.w3-rest {
    overflow: hidden
}

.w3-stretch {
    margin-left: -16px;
    margin-right: -16px
}

.w3-content, .w3-auto {
    margin-left: auto;
    margin-right: auto
}

.w3-content {
    max-width: 980px
}

.w3-auto {
    max-width: 1140px
}

.w3-cell-row {
    display: table;
    width: 100%
}

.w3-cell {
    display: table-cell
}

.w3-cell-top {
    vertical-align: top
}

.w3-cell-middle {
    vertical-align: middle
}

.w3-cell-bottom {
    vertical-align: bottom
}

.w3-hide {
    display: none !important
}

.w3-show-block, .w3-show {
    display: block !important
}

.w3-show-inline-block {
    display: inline-block !important
}

@media (max-width: 1205px) {
    .w3-auto {
        max-width: 95%
    }
}

@media (max-width: 600px) {
    .w3-modal-content {
        margin: 0 10px;
        width: auto !important
    }

    .w3-modal {
        padding-top: 30px
    }

    .w3-dropdown-hover.w3-mobile .w3-dropdown-content, .w3-dropdown-click.w3-mobile .w3-dropdown-content {
        position: relative
    }

    .w3-hide-small {
        display: none !important
    }

    .w3-mobile {
        display: block;
        width: 100% !important
    }

    .w3-bar-item.w3-mobile, .w3-dropdown-hover.w3-mobile, .w3-dropdown-click.w3-mobile {
        text-align: center
    }

    .w3-dropdown-hover.w3-mobile, .w3-dropdown-hover.w3-mobile .w3-btn, .w3-dropdown-hover.w3-mobile .w3-button, .w3-dropdown-click.w3-mobile, .w3-dropdown-click.w3-mobile .w3-btn, .w3-dropdown-click.w3-mobile .w3-button {
        width: 100%
    }
}

@media (max-width: 768px) {
    .w3-modal-content {
        width: 500px
    }

    .w3-modal {
        padding-top: 50px
    }
}

@media (min-width: 993px) {
    .w3-modal-content {
        width: 900px
    }

    .w3-hide-large {
        display: none !important
    }

    .w3-sidebar.w3-collapse {
        display: block !important
    }
}

@media (max-width: 992px) and (min-width: 601px) {
    .w3-hide-medium {
        display: none !important
    }
}

@media (max-width: 992px) {
    .w3-sidebar.w3-collapse {
        display: none
    }

    .w3-main {
        margin-left: 0 !important;
        margin-right: 0 !important
    }

    .w3-auto {
        max-width: 100%
    }
}

.w3-top, .w3-bottom {
    position: fixed;
    width: 100%;
    z-index: 1
}

.w3-top {
    top: 0
}

.w3-bottom {
    bottom: 0
}

.w3-overlay {
    position: fixed;
    display: none;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 2
}

.w3-display-topleft {
    position: absolute;
    left: 0;
    top: 0
}

.w3-display-topright {
    position: absolute;
    right: 0;
    top: 0
}

.w3-display-bottomleft {
    position: absolute;
    left: 0;
    bottom: 0
}

.w3-display-bottomright {
    position: absolute;
    right: 0;
    bottom: 0
}

.w3-display-middle {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%)
}

.w3-display-left {
    position: absolute;
    top: 50%;
    left: 0%;
    transform: translate(0%, -50%);
    -ms-transform: translate(-0%, -50%)
}

.w3-display-right {
    position: absolute;
    top: 50%;
    right: 0%;
    transform: translate(0%, -50%);
    -ms-transform: translate(0%, -50%)
}

.w3-display-topmiddle {
    position: absolute;
    left: 50%;
    top: 0;
    transform: translate(-50%, 0%);
    -ms-transform: translate(-50%, 0%)
}

.w3-display-bottommiddle {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, 0%);
    -ms-transform: translate(-50%, 0%)
}

.w3-display-container:hover .w3-display-hover {
    display: block
}

.w3-display-container:hover span.w3-display-hover {
    display: inline-block
}

.w3-display-hover {
    display: none
}

.w3-display-position {
    position: absolute
}

.w3-circle {
    border-radius: 50%
}

.w3-round-small {
    border-radius: 2px
}

.w3-round, .w3-round-medium {
    border-radius: 4px
}

.w3-round-large {
    border-radius: 8px
}

.w3-round-xlarge {
    border-radius: 16px
}

.w3-round-xxlarge {
    border-radius: 32px
}

.w3-row-padding, .w3-row-padding > .w3-half, .w3-row-padding > .w3-third, .w3-row-padding > .w3-twothird, .w3-row-padding > .w3-threequarter, .w3-row-padding > .w3-quarter, .w3-row-padding > .w3-col {
    padding: 0 8px
}

.w3-container, .w3-panel {
    padding: 0.01em 16px
}

.w3-panel {
    margin-bottom: 14px
}


.w3-code {
    width: auto;
    background-color: #fff;
    padding: 8px 12px;
    border-left: 4px solid #4CAF50;
    word-wrap: break-word
}

.w3-codespan {
    color: crimson;
    background-color: #f1f1f1;
    padding-left: 4px;
    padding-right: 4px;
    font-size: 110%
}

.w3-card, .w3-card-2 {
    box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12)
}

.w3-card-4, .w3-hover-shadow:hover {
    border-radius: 5px;
    box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.2), 0 4px 20px 0 rgba(0, 0, 0, 0.19)
}

.w3-spin {
    animation: w3-spin 2s infinite linear
}

@keyframes w3-spin {
    0% {
        transform: rotate(0deg)
    }
    100% {
        transform: rotate(359deg)
    }
}

.w3-animate-fading {
    animation: fading 10s infinite
}

@keyframes fading {
    0% {
        opacity: 0
    }
    50% {
        opacity: 1
    }
    100% {
        opacity: 0
    }
}

.w3-animate-opacity {
    animation: opac 0.8s
}

@keyframes opac {
    from {
        opacity: 0
    }
    to {
        opacity: 1
    }
}

.w3-animate-top {
    position: relative;
    animation: animatetop 0.4s
}

@keyframes animatetop {
    from {
        top: -300px;
        opacity: 0
    }
    to {
        top: 0;
        opacity: 1
    }
}

.w3-animate-left {
    position: relative;
    animation: animateleft 0.4s
}

@keyframes animateleft {
    from {
        left: -300px;
        opacity: 0
    }
    to {
        left: 0;
        opacity: 1
    }
}

.w3-animate-right {
    position: relative;
    animation: animateright 0.4s
}

@keyframes animateright {
    from {
        right: -300px;
        opacity: 0
    }
    to {
        right: 0;
        opacity: 1
    }
}

.w3-animate-bottom {
    position: relative;
    animation: animatebottom 0.4s
}

@keyframes animatebottom {
    from {
        bottom: -300px;
        opacity: 0
    }
    to {
        bottom: 0;
        opacity: 1
    }
}

.w3-animate-zoom {
    animation: animatezoom 0.6s
}

@keyframes animatezoom {
    from {
        transform: scale(0)
    }
    to {
        transform: scale(1)
    }
}

.w3-animate-input {
    transition: width 0.4s ease-in-out
}

.w3-animate-input:focus {
    width: 100% !important
}

.w3-opacity, .w3-hover-opacity:hover {
    opacity: 0.60
}

.w3-opacity-off, .w3-hover-opacity-off:hover {
    opacity: 1
}

.w3-opacity-max {
    opacity: 0.25
}

.w3-opacity-min {
    opacity: 0.75
}

.w3-greyscale-max, .w3-grayscale-max, .w3-hover-greyscale:hover, .w3-hover-grayscale:hover {
    filter: grayscale(100%)
}

.w3-greyscale, .w3-grayscale {
    filter: grayscale(75%)
}

.w3-greyscale-min, .w3-grayscale-min {
    filter: grayscale(50%)
}

.w3-sepia {
    filter: sepia(75%)
}

.w3-sepia-max, .w3-hover-sepia:hover {
    filter: sepia(100%)
}

.w3-sepia-min {
    filter: sepia(50%)
}

.w3-tiny {
    font-size: 10px !important
}

.w3-small {
    font-size: 12px !important
}

.w3-medium {
    font-size: 15px !important
}

.w3-large {
    font-size: 18px !important
}

.w3-xlarge {
    font-size: 24px !important
}

.w3-xxlarge {
    font-size: 36px !important
}

.w3-xxxlarge {
    font-size: 48px !important
}

.w3-jumbo {
    font-size: 64px !important
}

.w3-left-align {
    text-align: left !important
}

.w3-right-align {
    text-align: right !important
}

.w3-justify {
    text-align: justify !important
}

.w3-center {
    text-align: center !important
}



.w3-border-0 {
    border: 0 !important
}

.w3-border {
    border: 1px solid #ccc !important
}

.w3-border-top {
    border-top: 1px solid #ccc !important
}

.w3-border-bottom {
    border-bottom: 1px solid #ccc !important
}

.w3-border-left {
    border-left: 1px solid #ccc !important
}

.w3-border-right {
    border-right: 1px solid #ccc !important
}

.w3-topbar {
    border-top: 6px solid #ccc !important
}

.w3-bottombar {
    border-bottom: 6px solid #ccc !important
}

.w3-leftbar {
    border-left: 6px solid #ccc !important
}

.w3-rightbar {
    border-right: 6px solid #ccc !important
}

.w3-section, .w3-code {
    margin-top: 16px !important;
    margin-bottom: 16px !important
}

.w3-margin {
    margin: 5px !important
}

.w3-margin-top {
    margin-top: 10px !important
}

.w3-margin-bottom {
    margin-bottom: 2px !important
}

.w3-margin-left {
    margin-left: 2px !important
}

.w3-margin-right {
    margin-right: 7px !important
}

.w3-padding-small {
    padding: 4px 8px !important
}

.w3-padding {
    padding: 5px 15px !important
}

.w3-padding-large {
    padding: 12px 24px !important
}

.w3-padding-16 {

    padding-bottom: 16px !important
}

.w3-padding-24 {
    padding-top: 24px !important;
    padding-bottom: 24px !important
}

.w3-padding-32 {
    padding-top: 32px !important;
    padding-bottom: 32px !important
}

.w3-padding-48 {
    padding-top: 48px !important;
    padding-bottom: 48px !important
}

.w3-padding-64 {
    padding-top: 64px !important;
    padding-bottom: 64px !important
}

.w3-padding-top-64 {
    padding-top: 64px !important
}

.w3-padding-top-48 {
    padding-top: 48px !important
}

.w3-padding-top-32 {
    padding-top: 32px !important
}

.w3-padding-top-24 {
    padding-top: 24px !important
}

.w3-left {
    float: left !important
}

.w3-right {
    float: right !important
}

.w3-button:hover {
    color: #000 !important;
    background-color: #ccc !important
}

.w3-transparent, .w3-hover-none:hover {
    background-color: transparent !important
}

.w3-hover-none:hover {
    box-shadow: none !important
}

/* Colors */
.w3-amber, .w3-hover-amber:hover {
    color: #000 !important;
    background-color: #ffc107 !important
}

.w3-aqua, .w3-hover-aqua:hover {
    color: #000 !important;
    background-color: #00ffff !important
}

.w3-blue, .w3-hover-blue:hover {
    color: #fff !important;
    background-color: #2196F3 !important
}

.w3-light-blue, .w3-hover-light-blue:hover {
    color: #000 !important;
    background-color: #87CEEB !important
}

.w3-brown, .w3-hover-brown:hover {
    color: #fff !important;
    background-color: #795548 !important
}

.w3-cyan, .w3-hover-cyan:hover {
    color: #000 !important;
    background-color: #00bcd4 !important
}

.w3-blue-grey, .w3-hover-blue-grey:hover, .w3-blue-gray, .w3-hover-blue-gray:hover {
    color: #fff !important;
    background-color: #607d8b !important
}

.w3-green, .w3-hover-green:hover {
    color: #fff !important;
    background-color: #4CAF50 !important
}

.w3-light-green, .w3-hover-light-green:hover {
    color: #000 !important;
    background-color: #8bc34a !important
}

.w3-indigo, .w3-hover-indigo:hover {
    color: #fff !important;
    background-color: #3f51b5 !important
}

.w3-khaki, .w3-hover-khaki:hover {
    color: #000 !important;
    background-color: #f0e68c !important
}

.w3-lime, .w3-hover-lime:hover {
    color: #000 !important;
    background-color: #cddc39 !important
}

.w3-orange, .w3-hover-orange:hover {
    color: #000 !important;
    background-color: #ff9800 !important
}

.w3-deep-orange, .w3-hover-deep-orange:hover {
    color: #fff !important;
    background-color: #ff5722 !important
}

.w3-pink, .w3-hover-pink:hover {
    color: #fff !important;
    background-color: #e91e63 !important
}

.w3-purple, .w3-hover-purple:hover {
    color: #fff !important;
    background-color: #9c27b0 !important
}

.w3-deep-purple, .w3-hover-deep-purple:hover {
    color: #fff !important;
    background-color: #673ab7 !important
}

.w3-red, .w3-hover-red:hover {
    color: #fff !important;
    background-color: #f44336 !important
}

.w3-sand, .w3-hover-sand:hover {
    color: #000 !important;
    background-color: #fdf5e6 !important
}

.w3-teal, .w3-hover-teal:hover {
    color: #fff !important;
    background-color: #009688 !important
}

.w3-yellow, .w3-hover-yellow:hover {
    color: #000 !important;
    background-color: #ffeb3b !important
}

.w3-white, .w3-hover-white:hover {
    color: #000 !important;
    background-color: #fff !important
}


.w3-black, .w3-hover-black:hover {
    color: #fff !important;
    background-color: #000 !important
}

.w3-grey, .w3-hover-grey:hover, .w3-gray, .w3-hover-gray:hover {
    color: #000 !important;
    background-color: #9e9e9e !important
}

.w3-light-grey, .w3-hover-light-grey:hover, .w3-light-gray, .w3-hover-light-gray:hover {
    color: #000 !important;
    background-color: #f1f1f1 !important
}

.w3-dark-grey, .w3-hover-dark-grey:hover, .w3-dark-gray, .w3-hover-dark-gray:hover {
    color: #fff !important;
    background-color: #616161 !important
}

.w3-pale-red, .w3-hover-pale-red:hover {
    color: #000 !important;
    background-color: #ffdddd !important
}


.w3-pale-green, .w3-hover-pale-green:hover {
    color: #000 !important;
    background-color: #ddffdd !important
}

.w3-pale-yellow, .w3-hover-pale-yellow:hover {
    color: #000 !important;
    background-color: #ffffcc !important
}

.w3-pale-blue, .w3-hover-pale-blue:hover {
    color: #000 !important;
    background-color: #ddffff !important
}

.w3-text-amber, .w3-hover-text-amber:hover {
    color: #ffc107 !important
}

.w3-text-aqua, .w3-hover-text-aqua:hover {
    color: #00ffff !important
}

.w3-text-blue, .w3-hover-text-blue:hover {
    color: #2196F3 !important
}

.w3-text-light-blue, .w3-hover-text-light-blue:hover {
    color: #87CEEB !important
}

.w3-text-brown, .w3-hover-text-brown:hover {
    color: #795548 !important
}

.w3-text-cyan, .w3-hover-text-cyan:hover {
    color: #00bcd4 !important
}

.w3-text-blue-grey, .w3-hover-text-blue-grey:hover, .w3-text-blue-gray, .w3-hover-text-blue-gray:hover {
    color: #607d8b !important
}

.w3-text-green, .w3-hover-text-green:hover {
    color: #4CAF50 !important
}

.w3-text-light-green, .w3-hover-text-light-green:hover {
    color: #8bc34a !important
}

.w3-text-indigo, .w3-hover-text-indigo:hover {
    color: #3f51b5 !important
}

.w3-text-khaki, .w3-hover-text-khaki:hover {
    color: #b4aa50 !important
}

.w3-text-lime, .w3-hover-text-lime:hover {
    color: #cddc39 !important
}

.w3-text-orange, .w3-hover-text-orange:hover {
    color: #ff9800 !important
}

.w3-text-deep-orange, .w3-hover-text-deep-orange:hover {
    color: #ff5722 !important
}

.w3-text-pink, .w3-hover-text-pink:hover {
    color: #e91e63 !important
}

.w3-text-purple, .w3-hover-text-purple:hover {
    color: #9c27b0 !important
}

.w3-text-deep-purple, .w3-hover-text-deep-purple:hover {
    color: #673ab7 !important
}

.w3-text-red, .w3-hover-text-red:hover {
    color: #f44336 !important
}

.w3-text-sand, .w3-hover-text-sand:hover {
    color: #fdf5e6 !important
}

.w3-text-teal, .w3-hover-text-teal:hover {
    color: #009688 !important
}

.w3-text-yellow, .w3-hover-text-yellow:hover {
    color: #d2be0e !important
}

.w3-text-white, .w3-hover-text-white:hover {
    color: #fff !important
}

.w3-text-black, .w3-hover-text-black:hover {
    color: #000 !important
}

.w3-text-grey, .w3-hover-text-grey:hover, .w3-text-gray, .w3-hover-text-gray:hover {
    color: #757575 !important
}

.w3-text-light-grey, .w3-hover-text-light-grey:hover, .w3-text-light-gray, .w3-hover-text-light-gray:hover {
    color: #f1f1f1 !important
}

.w3-text-dark-grey, .w3-hover-text-dark-grey:hover, .w3-text-dark-gray, .w3-hover-text-dark-gray:hover {
    color: #322d2d !important;
    padding-left: 10px;
}

.desc-text-top {
    color: #151212 !important;
    font-family: monospace;
    padding-left: 10px;
}

body.dark-mode .desc-text-top {
    color: white !important;
}

.w3-border-amber, .w3-hover-border-amber:hover {
    border-color: #ffc107 !important
}

.w3-border-aqua, .w3-hover-border-aqua:hover {
    border-color: #00ffff !important
}

.w3-border-blue, .w3-hover-border-blue:hover {
    border-color: #2196F3 !important
}

.w3-border-light-blue, .w3-hover-border-light-blue:hover {
    border-color: #87CEEB !important
}

.w3-border-brown, .w3-hover-border-brown:hover {
    border-color: #795548 !important
}

.w3-border-cyan, .w3-hover-border-cyan:hover {
    border-color: #00bcd4 !important
}

.w3-border-blue-grey, .w3-hover-border-blue-grey:hover, .w3-border-blue-gray, .w3-hover-border-blue-gray:hover {
    border-color: #607d8b !important
}

.w3-border-green, .w3-hover-border-green:hover {
    border-color: #4CAF50 !important
}

.w3-border-light-green, .w3-hover-border-light-green:hover {
    border-color: #8bc34a !important
}

.w3-border-indigo, .w3-hover-border-indigo:hover {
    border-color: #3f51b5 !important
}

.w3-border-khaki, .w3-hover-border-khaki:hover {
    border-color: #f0e68c !important
}

.w3-border-lime, .w3-hover-border-lime:hover {
    border-color: #cddc39 !important
}

.w3-border-orange, .w3-hover-border-orange:hover {
    border-color: #ff9800 !important
}

.w3-border-deep-orange, .w3-hover-border-deep-orange:hover {
    border-color: #ff5722 !important
}

.w3-border-pink, .w3-hover-border-pink:hover {
    border-color: #e91e63 !important
}

.w3-border-purple, .w3-hover-border-purple:hover {
    border-color: #9c27b0 !important
}

.w3-border-deep-purple, .w3-hover-border-deep-purple:hover {
    border-color: #673ab7 !important
}

.w3-border-red, .w3-hover-border-red:hover {
    border-color: #f44336 !important
}

.w3-border-sand, .w3-hover-border-sand:hover {
    border-color: #fdf5e6 !important
}

.w3-border-teal, .w3-hover-border-teal:hover {
    border-color: #009688 !important
}

.w3-border-yellow, .w3-hover-border-yellow:hover {
    border-color: #ffeb3b !important
}

.w3-border-white, .w3-hover-border-white:hover {
    border-color: #fff !important
}

.w3-border-black, .w3-hover-border-black:hover {
    border-color: #000 !important
}

.w3-border-grey, .w3-hover-border-grey:hover, .w3-border-gray, .w3-hover-border-gray:hover {
    border-color: #9e9e9e !important
}

.w3-border-light-grey, .w3-hover-border-light-grey:hover, .w3-border-light-gray, .w3-hover-border-light-gray:hover {
    border-color: #f1f1f1 !important
}

.w3-border-dark-grey, .w3-hover-border-dark-grey:hover, .w3-border-dark-gray, .w3-hover-border-dark-gray:hover {
    border-color: #616161 !important
}

.w3-border-pale-red, .w3-hover-border-pale-red:hover {
    border-color: #ffe7e7 !important
}

.w3-border-pale-green, .w3-hover-border-pale-green:hover {
    border-color: #e7ffe7 !important
}

.w3-border-pale-yellow, .w3-hover-border-pale-yellow:hover {
    border-color: #ffffcc !important
}

.w3-border-pale-blue, .w3-hover-border-pale-blue:hover {
    border-color: #e7ffff !important
}


.pt-96 {
    padding-top: 5.5rem !important;
}

@media (max-width: 768px) {
    .pt-96 {
        padding-top: 4rem !important;
    }
}

.pt-90 {
    padding-top: 5.5rem !important;
}

@media (max-width: 768px) {
    .pt-90 {
        padding-top: 4rem !important;
    }
}

/* General Styling */
body, h1, h2, h3, h4, h5, h6 {
    font-family: "Karma", sans-serif;
}

.no-underline {
    text-decoration: none;
    color: inherit;
}

.no-underline:hover {
    text-decoration: none;
}


/* Logo Container */
.logo-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 100%;
    position: absolute;
    top: 0;
    background-color: #fff;
    z-index: 10;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);


}

@media (max-width: 768px ) {
    .logo-container {
        gap: 25px !important;
    }
}


.logo {
    position: relative;
    width: auto;
    height: 4.68rem;
    object-fit: contain;
    right: 15px;
}

@media (max-width: 768px) {
    .logo {
        width: 18.75rem !important;
        height: auto !important;
    }
}


.burger-btn {
    border: none;
    padding: 0;
    background: none;
    position: relative;
}

.burger-btn .burger-icon {
    width: 48px; /* Adjust the size of your icon as needed */
    height: auto; /* Maintain proper aspect ratio */


}

.burger-btn span {
    display: block;
    height: 3px;
    width: 100%;
    border-radius: 2px;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

@media (max-width: 768px) {
    .burger-btn {
        position: relative; /* Position the button absolutely relative to the container */

    }

    .burger-btn .burger-icon {
        width: 36px; /* Adjust the size of your icon as needed */
        height: auto; /* Maintain proper aspect ratio */

    }
}

.menu-wrapper {
    position: relative;
    display: inline-block;
    right: 290px;
}

.menu-wrapper2 {
    position: relative;
    display: inline-block;
    right: 260px;
}
@media (max-width: 768px) {
    .menu-wrapper {
        right: 0;
    }
}
@media (max-width: 768px) {
    .menu-wrapper2 {
        right: 0;
    }
}
/* Basic styles for the menu */
.menu {
    position: absolute;
    top: 45px; /* Adjust based on the height of your logo container */
    left: 0;
    background: #fff; /* Background color for the menu */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); /* Optional shadow for better visibility */
    border-radius: 5px; /* Optional rounded corners */
    flex-direction: column; /* Stack links vertically */
    padding: 10px;
    z-index: 1000; /* Ensure it appears above other elements */
    transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
}


/* Hidden by default */
.menu.hidden {
    width: 160px;
    transform: translateY(-20px); /* Slightly move it up for transition effect */
    opacity: 0; /* Set opacity to 0 */
    z-index: 1000;
    pointer-events: none; /* Prevent interaction when hidden */
}

/* Shown menu */
.menu.visible {
    width: 160px;
    transform: translateY(0); /* Reset position */
    opacity: 1; /* Fully visible */
    z-index: 1000;
    pointer-events: auto; /* Enable interaction */

}

@media (max-width: 768px) {
    .menu.visible {
        position: absolute;
        left: 3px;
    }

    .menu.hidden {
        position: absolute;
        left: 3px;
        transform: unset;
    }
    .menu {
        top: 45px;
    }
}


/* Style for navigation links */
.menu ul {
    list-style: none; /* Remove bullet points */
    margin: 0;
    padding: 0;
}

.menu ul li {
    margin: 8px 0;
}

.menu ul li a {
    text-decoration: none; /* Remove link underline */
    color: #333; /* Default text color */
    font-size: 16px;
    padding: 5px 10px;
    border-radius: 3px; /* Optional rounding for links */
    display: block; /* Make the links occupy full width */
    transition: background-color 0.3s ease;
}

.menu ul li a:hover {
    background-color: #f0f0f0; /* Change background color on hover */
    color: #000; /* Optional hover text color */
}


.dark-mode-toggle {
    position: relative;
    padding-left: 10px;
}

.dark-mode-toggle button {
    background: none;
    padding: 0;
    border: none;
    font-size: 24px;
    cursor: pointer;
    background: -webkit-linear-gradient(45deg, #09009f, #00ff95 80%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    z-index: 1000;
    transition: transform 0.2s ease, color 0.3s ease;
}

.dark-mode-toggle button:hover {
    color: #4fc3f7;
    transform: scale(1.1); /* Slight zoom on hover */
    transition: transform 0.2s ease;
}

@media (max-width: 768px) {
    .dark-mode-toggle button {
    }
}

.add-recipe-btn {
    display: inline-block;
    text-decoration: none;
    background-color: #28a745;
    color: #fff;
    padding: 10px 15px;
    border-radius: 5px;
    font-size: 16px;
    font-weight: bold;
    transition: background-color 0.3s ease;
}

.add-recipe-btn:hover {
    background-color: #218838;
}

/* Grid Layout for Cards */
.card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    gap: 1rem;
    padding: 1rem;
}

/* Card Styling */
.card {
    border: 1px solid #ddd;
    border-radius: 0.5rem;
    overflow: hidden;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.card-link {
    text-decoration: none;
    color: inherit;
    display: block;
    padding: 1rem;
    transition: background-color 0.3s ease;
}

.card-link h3 {
    margin: 0;
    font-size: 1.2rem;
    color: #333;
}

.card-link p {
    margin: 0.5rem 0 0;
    font-size: 0.9rem;
    color: #666;
}

.card-link:hover {
    background-color: #f5f5f5;
    cursor: pointer;
}

/* Specific Card Container with Overlay Title */
.card-container {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    gap: 20px;
    flex-wrap: wrap;
    margin-top: 20px;
}

.card-img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Ensures the image fills the entire container */
    display: block;
}

.card-title {
    position: absolute; /* Place title directly on top of the image */
    bottom: 0; /* Align the title to the bottom of the card */
    background: rgba(0, 0, 0, 0.5); /* Add a semi-transparent background */
    color: white;
    width: 100%; /* Make the title bar match the card width */
    text-align: center; /* Center-align text */
    padding: 10px 0; /* Add padding for better readability */
    font-size: 18px; /* Adjust font size to be legible */
    font-weight: bold;
}

.center-content {
    display: flex;
    max-width: 40.625rem;
    justify-content: center;
    align-items: center;
    text-align: center;
    flex-wrap: wrap;

}

@media (max-width: 768px) {
    .center-content {
        max-width: 28.05rem;
    }
}


.meals-view {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    flex-wrap: wrap;
    padding-left: 5px;
}



.recipe-card {
    width: 300px;
    border: 1px solid #aaa;
    border-radius: 10px;
    box-shadow: 2px 2px 15px rgb(200, 200, 200);
    gap: 20px !important;
    font-size: 15px !important;
    overflow: hidden;
    text-align: center;
    margin-bottom: 12px;
    object-fit: cover;
    white-space: nowrap;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
}

@media (max-width: 768px) {
    .recipe-card {
        width: 370px;
        height: 250px;
        box-sizing: border-box;
    }

    .card-title {
        width: 350px;
    }
}

.recipe-card img:hover {
    transform: scale(1.05); /* Slightly enlarges the image on hover */

}

.recipe-card img {
    width: 100%;
    height: 200px;
    object-fit: cover;

}

.recipe-card h3 {
    margin: 10px 0;
}

.recipe-card p {
    color: #666;
    font-size: 0.9em;
    margin: 10px;
}

#food {
    display: flex; /* Keeps the inner layout as a flexbox */
    flex-wrap: wrap; /* Ensures the cards wrap to a new row if necessary */
    gap: 20px; /* Adds spacing between cards */
    max-width: 1200px; /* Ensures a maximum width */
    padding: 10px; /* Adds padding around the content */
    box-sizing: border-box; /* Includes padding in width calculations */
}

#meals {
    display: flex; /* Enables row-based layout */
    flex-wrap: wrap; /* Allows images to wrap into rows */
    justify-content: center; /* Center-align the images */
    gap: 10px; /* Adds uniform spacing around the images */
    max-width: 1200px; /* Prevents the layout from becoming extremely wide */
    margin: 0 auto; /* Centers the content horizontally */
    padding-bottom: 40px;
}

.image-wrapper {
    position: relative; /* Allows for overlaying the title */
    width: 250px; /* Fixed image width */
    height: 268px; /* Fixed image height */
    overflow: visible; /* Prevents image/title overlay from spilling out */
}

@media (max-width: 768px) {
    #meals {
        display: flex;
        padding: 0 0 20px 0;

    }

    .image-wrapper {
        margin: 10px 0; /* Adjust margins for smaller devices */
        text-align: center;
        width: 170px; /* Fixed image width */
        height: 200px; /* Fixed image height */
    }

    .meal-image {
        width: 100%; /* Give the image full width for mobile */
        max-width: 400px; /* Optional: Set a maximum width */
        height: auto; /* Maintain aspect ratio */
        box-sizing: border-box;
    }

}

.meal-image {
    width: 97%; /* Fully fills the container width */
    height: 100%; /* Fully fills the container height */
    object-fit: cover; /* Scales the image appropriately to crop overflow */
    border-radius: 10px; /* Optionally keep rounded corners */
    transition: transform 0.3s ease, opacity 0.3s ease; /* Smooth transitions */


}

.meal-image:hover {
    transform: scale(1.05); /* Slightly enlarges the image on hover */
    opacity: 0.9; /* Slightly dims the image */
}


.image-title {
    position: absolute;
    bottom: -15px; /* Negative value to make it hang below the image */
    left: 50%;
    transform: translateX(-50%);
    background-color: #f4b942;
    color: white;
    text-transform: uppercase;
    font-weight: bold;
    font-size: 14px;
    padding: 8px 16px;
    border-radius: 1px;
    font-family: sans-serif;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    opacity: 1;
    transition: opacity 0.3s ease;

}
.image-wrapper:hover .image-title {
    opacity: 1; /* Keeps the title visible on hover */
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box; /* Ensures padding is included in width/height */
}

/* Drawer Styles */
.drawer {
    height: 100%;
    width: 0;
    position: fixed;
    top: 0;
    z-index: 1000;
    background-color: #f1f1f1;
    overflow-x: hidden;
    transition: 0.3s;
    padding-top: 60px;
    box-shadow: -2px 0 5px rgba(0, 0, 0, 0.2);
}

.drawer.right {
    right: 0;
}

.drawer.left {
    left: 0;
}

.drawer .close-btn {
    position: absolute;
    top: 10px;
    font-size: 36px;
    text-decoration: none;
    color: black;
    right: 20px;
}

.drawer.left .close-btn {
    left: 20px;
}

.drawer .form-container {
    padding: 20px;
    width: 70%; /* Control the width of the form */
    margin: 0 auto; /* Center the form horizontally */
    display: flex; /* Use flexbox for alignment */
    align-items: center; /* Align items vertically */
    justify-content: flex-start; /* Align items horizontally (input and button together) */
    gap: 10px; /* Add space between input and button */
}

/* Floating Button */
.floating-btn, .floating-btn-left {
    position: fixed;
    top: 10px;
    z-index: 200;
    cursor: pointer;
}

.floating-btn {
    right: 230px;
}

.floating-btn-left {
    left: 230px;
}

.floating-btn img, .floating-btn-left img {
    width: 50px;
    height: 50px;
    object-fit: contain;
    transition: transform 0.3s ease;
}

.floating-btn img:hover {
    transform: scale(1.1);
}

.floating-btn p {
    margin: 5px 0 0 0;
    font-size: 14px;
    color: #333;
}

/* Add Recipe Form Styling */

#search-form button {
    padding: 16px 20px;
    font-size: 21px;
    background-color: #007BFF;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    display: flex;
    height: auto;
    align-items: center;
}

/* Center the search form and define its width */
.search-index {
    display: flex; /* Use flexbox for horizontal alignment */
    position: relative;
    align-items: center; /* Align items vertically */
    justify-content: center; /* Center the form horizontally */
    max-width: calc(60rem - 24px); /* The form takes up 80% of its container's width */
    width: 100%;
    padding: 0 12px;
    margin: 0 auto; /* Center the form horizontally on the page */
}

/* Style for the input field */
#ingredients {
    flex: 1; /* Make the input field fill available space */
    font-size: 21px; /* Set font size to approximately 20px */
    padding: 10px; /* Add padding for better spacing */
    border: 1px solid black; /* Add a border to the input */
    border-radius: 5px; /* Add slight rounding to the corners */
    margin-right: 10px; /* Add spacing between the input and the button */
    box-sizing: border-box; /* Ensure padding/border are included in width */
}

#ingredients:focus {
    outline: none; /* Remove the default browser highlight */
    border: 3px solid #007BFF; /* Thicker and colored border on focus */
    box-shadow: 0 0 5px #007BFF; /* Optional: Add a subtle glow effect */
}

/* Bold text in placeholders */
#ingredients::placeholder {
    font-weight: bold;
    color: #999; /* Optional: Set a subtle color for placeholder text */
}

/* Style for the button */
button {
    padding: 10px 20px; /* Add padding for the button */
    font-size: 21px; /* Match the font size of the input */
    font-weight: bold; /* Make the button text bold */
    background-color: #007BFF; /* Blue button background */
    color: white; /* White text color */
    border: 1px;
    border-radius: 5px; /* Add rounded corners to the button */
    cursor: pointer;
}

/* Button hover effect */
button:hover {

}

@media screen and (max-width: 768px) {
    .search-index {
        display: flex;
        position: relative;
        flex-wrap: nowrap;
        align-items: center;
        margin: 0 auto;
        padding: 0 12px;
        width: calc(100% - 24px);
        max-width: 100%;
    }

    /* Remove spacing between input and button */
    #ingredients {

        width: 90% !important;
        font-size: 20px !important;
        padding: 8px !important;
    }

}

.form-input {
    width: 50%; /* Input field stretches to the width of the form */
    padding: 10px; /* Add some padding */
    margin-bottom: 10px; /* Space between input and button */
    box-sizing: border-box; /* Includes padding and borders in the width */
}

.form-button {
    width: 100%; /* Button takes up the full width of the form */
    padding: 10px;
    background-color: #007BFF; /* Blue button */
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
}

.form-button:hover {
    background-color: #0056b3; /* Hover effect */
}

.form-container input, .form-container textarea, .form-container select {
    display: block;
    width: 50%;
    margin: 15px 0;
    padding: 10px;
    font-size: 16px;
}

.form-container button {
    padding: 10px 20px;
    background-color: teal;
    color: white;
    border: none;
    cursor: pointer;
    font-size: 16px;
}

.form-container button:hover {
    background-color: #005f5f;
}

.SearchText {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    font-size: 15px;
    font-weight: bold;
    margin: 10px 0;
    padding-right: 12%;

}

/* Messages */
.message {
    margin-top: 15px;
}

.message.success {
    color: green;
    font-weight: bold;
}

.message.error {
    color: red;
    font-weight: bold;
}

/* Recipe Item Containers */
.recent-recipes-container {
    display: flex; /* Enables row-based layout */
    flex-wrap: wrap; /* Allows images to wrap into rows */
    justify-content: center; /* Center-align the images */
    gap: 20px; /* Adds uniform spacing around the images */
    max-width: 1200px; /* Prevents the layout from becoming extremely wide */
    margin: 0 auto; /* Centers the content horizontally */
    padding-bottom: 50px;
}

.recipe-item {
    text-align: center;
    text-decoration: none;
    color: inherit;
    display: block;
    white-space: nowrap;
    overflow: hidden;
    width: 170px;
    height: 170px;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
}

.recipe-item img {
    width: 140px;
    height: 140px;
    border-radius: 50%;
    object-fit: cover;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
    transition: transform 0.3s ease-in-out;
}

.recipe-item img:hover {
    transform: scale(1.1);
}

.recipe-item h3 {
    font-size: 1rem;
    color: black;
    font-weight: bold;
    margin-top: 10px;
    font-family: "Imprint MT Shadow", serif;

}


.sidebar-recipes {
    flex: 1;
    min-width: 300px;
    display: flex; /* Enables row-based layout */
    flex-wrap: wrap; /* Allows images to wrap into rows */
    justify-content: center; /* Center-align the images */
    margin: 0 auto; /* Centers the content horizontally */
}

@media (max-width: 768px) {
    .sidebar-recipes {
        display: none;
    }
}

.sidebar-recipe-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    text-decoration: none;
    color: inherit;
    white-space: nowrap;
    overflow: hidden;
    width: 200px;
    height: 200px;
    margin: 10px;
    text-overflow: ellipsis;
    -webkit-line-clamp: 2;
}

@media (max-width: 768px) {
    .sidebar-recipe-item {
        display: none;
    }
}

.sidebar-recipe-item img {
    width: 200px;
    height: 200px;
    border-radius: 1%;
    object-fit: cover;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2);
    transition: transform 0.3s ease-in-out;
}

.sidebar-recipe-item img:hover {
    transform: scale(1.1);
}

.sidebar-recipe-item h3 {
    font-size: 1rem;
    color: black;
    font-weight: bold;
    margin: 0;
    font-family: "Imprint MT Shadow", serif;
    text-overflow: ellipsis;
    white-space: nowrap;

}

.sidebar-recipe-name {
    font-size: 27px;
}

/* Modal Styles */
.modal {
    display: none;
    position: fixed;
    z-index: 1;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.4);
    padding-top: 50px;
}

.modal-content {
    background-color: #fefefe;
    margin: 5% auto;
    padding: 20px;
    border: 1px solid #888;
    width: 80%;
}

.close {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
}

.close:hover, .close:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
}

/* Alternating Content Container */
.alternating-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 50px;
    margin-top: 30px;
    padding: 0 20px;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}

.content-block {
    display: grid; /* Use CSS Grid */
    grid-template-columns: 1fr 1fr; /* Two equal columns: one for text, one for image */
    align-items: center; /* Center content vertically */
    gap: 20px; /* Add space between grid items */
    width: 100%;
}

.content-block.reversed {
    grid-template-columns: 1fr 1fr; /* Same two-column layout */
    grid-template-areas: "image text"; /* First the image, then the text */
}

.content-block:not(.reversed) {
    grid-template-areas: "text image"; /* First the text, then the image */
}

.text-section {
    grid-area: text; /* Ensure placement inside `text` grid area */
    text-align: left;
    padding: 15px;
}

.text-section h1 {
    font-size: 2rem;
    background: -webkit-linear-gradient(45deg, #09009f, #00ff95 80%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    margin-bottom: 10px;
    color: rgb(26 26 26);
    font-family: Domaine Display, Georgia, Cambria, Times New Roman, Times,
    serif;
    text-align: center;
}

.text-section h3 {
    font-size: 1.1rem;
    color: #666;
    text-align: justify;
    margin-top: 15px;
}

.border-desc-ingred h2 {
    margin-bottom: 10px;
    font-family: "Imprint MT Shadow", serif;
}

.image-section {
    grid-area: image; /* Ensure placement inside `image` grid area */
    text-align: center;
}

.image-section img {
    width: 100%;
    max-width: 250px;
    height: auto;
    border-radius: 10px;
    object-fit: cover;

}

/* Mobile Responsiveness */
@media (max-width: 768px) {
    .content-block {
        flex-direction: column;
        text-align: center;
        gap: 30px;
    }

    .content-block.reversed {
        flex-direction: column;
    }

    .image-section img {
        max-width: 90%;
        max-height: 200px;
    }

    .text-section h1 {
        font-size: 1.5rem;
    }

    .text-section h3 {
        font-size: 2.4vw;
    }
}

.slogan-container {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    flex-wrap: wrap;
}

.slogan-left {
    color: black;
    font-weight: bold;
    font-size: 25px;
    font-family: "Imprint MT Shadow", serif;
    align-items: center;
    text-align: center;
    padding-bottom: 23px;
    padding-right: 5px;
}

.slogan-right {
    color: #ef1a04;
    font-style: italic;
    font-size: 25px;
    font-family: "Imprint MT Shadow", serif;
    align-items: center;
    text-align: center;
    padding-bottom: 23px;
}

.meal-title {
    color: black;
    font-style: italic;
    font-weight: bold;
    background: -webkit-linear-gradient(45deg, #09009f, #00ff95 80%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 20px;
    padding-top: 5px;
    margin: 0;

    a:link {
        text-decoration: none !important;
    }
}


.view-image {
    height: auto;
    max-width: 40.625rem;
    object-fit: cover;
    border-radius: 5px;
    margin-bottom: 15px;
}

@media (max-width: 768px) {
    .view-image {
        width: 100%;
        box-sizing: border-box;

    }
}

.meal-description {
    padding-top: 5px;
    border-radius: 5px;

}

.logo-t {
    text-decoration: none;
    font-size: 34px; /* Adjust as needed */
    font-weight: bold;
-webkit-linear-gradient(45 deg, #09009f, #00ff95 80 %);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.recipe-bg {
    background: linear-gradient(45deg, #e1ecec, #786edc, #00ff95, #9a0069 80%);
    margin: 10px;
}

.recipe-name {
    font-size: 27px;
}


body {
    transition: background-color 0.3s ease, color 0.3s ease; /* Smooth theme transitions */
}


.footer {
    width: 100% !important;
}

.footer-teal {
    text-align: center;
    padding: 10px !important;
    background-color: rgb(0, 150, 136) !important
}

.border-desc-ingred {
    border-radius: 5px;
    background-color: #F0F0F0 !important;
    font-family: monospace;
    list-style-type: none;
}


.top-radius {
    border-radius: 5px !important;
    padding: 5px 15px !important
}

@media (prefers-color-scheme: dark) {
}


.star-rating {
    direction: rtl;
    display: inline-flex; /* Align the stars inline */
    font-size: 1.5rem; /* Change the size of the stars */
}

.star-rating input {
    display: none; /* Hide the radio buttons */
}

.star-rating label {
    color: rgb(0, 150, 136); /* Default star color */
    cursor: pointer; /* Pointer cursor on hover */
}

.star-rating input:checked ~ label i,
.star-rating label:hover i,
.star-rating label:hover ~ label i {
    color: #9a0069; /* Highlight the stars when hovered or selected */
}

.desc-text-top {
    display: flex; /* Flexbox layout */
    justify-content: space-between; /* Space between the title and the rating stars */
    align-items: center; /* Vertically center-align the elements */
}

.meal-title {
    font-size: 1.5rem; /* Adjust the text size, if needed */
    margin: 0;
}

@media (max-width: 768px) {
    .meal-header {
        flex-direction: column; /* Stack the elements vertically */
        align-items: flex-start; /* Align items to the left */
    }

    .star-rating {
        margin-top: 10px; /* Add spacing between the title and stars */
    }
}

/* Container holding the tags */
.tags-container {
    display: flex;
    flex-wrap: wrap;
    gap: 10px; /* Space between tags */
    margin-top: 10px;
}

/* Styling for individual tags (applies to clickable <a>) */
.tag {
    display: inline-block;
    text-decoration: none; /* Remove link underline */
    padding: 5px 25px 5px;
    margin: 3px;
    background-color: #ff6f61; /* Light reddish-orange */
    color: #fff; /* White text */
    border-radius: 10px; /* Rounded corners */
    font-size: 15px;
    font-weight: bold;
    font-family: monospace;
    text-transform: capitalize; /* Capitalize text (e.g., 'vegan' -> 'Vegan') */
    cursor: pointer;
    transition: background-color 0.3s;
}

/* Hover effect for clickable tags */
.tag:hover {
    background-color: #c25447; /* Darker reddish-orange */
}

.word-style {
    padding: 2px 4px;
    border-radius: 5px;
    margin-right: 5px;
    margin-top: 5px;
    display: inline-block;
    font-family: monospace, monospace;
    line-height: 1.2;
    vertical-align: middle;

}

.style-0 {
    color: red;
    font-size: 16px;
    background-color: #fdd;
    font-weight: bold;
}

.style-1 {
    color: blue;
    font-size: 16px;
    background-color: #ddf;
    font-weight: bold;
}

.style-2 {
    color: green;
    font-size: 16px;
    background-color: #dfd;
    font-weight: bold;

}

.style-3 {
    color: purple;
    font-size: 16px;
    background-color: #fdf;
    font-weight: bold;
}

.style-4 {
    color: rgba(0, 208, 255, 0.42);
    font-size: 16px;
    background-color: #fdf;
    font-weight: bold;
}


pre {
    white-space: pre-wrap; /* Preserve whitespace and allow lines to wrap */
    word-wrap: break-word; /* Break long words to fit the container */
    overflow-wrap: break-word; /* Older versions of browsers */
    line-height: 2;
}

@media (max-width: 768px) {
    pre {

        padding: 5px; /* Reduce padding */
        max-width: 100%; /* Keep it within the screen width */
    }
}

@media (max-width: 480px) {
    pre {

        padding: 3px; /* Smaller padding on ultra-small screens */
    }

}

.gradient-underline {
    position: relative;
    display: block;
    margin: 0;
    text-align: left;
}

.gradient-underline::after {
    background: linear-gradient(90deg, rgb(0, 15, 255) 0%, rgb(166, 255, 0) 50%, rgb(216, 73, 73) 100%);
    content: "";
    position: absolute;
    bottom: 0;
    left: 0; /* Start at the center */
    transform: translateX(-50%) scaleX(1.2) translateY(5px) rotate(0.001deg); /* Center horizontally */
    height: 5px;
    width: 29%;
    margin-left: 97px;
    border-top-right-radius: 100%;

}

@media (max-width: 768px) {
    .gradient-underline::after {
        width:49%;
    }
}

.indexpage-underline {
    position: relative;
    display:table;
    margin:auto;
}

.indexpage-underline::after {
    background: linear-gradient(90deg, rgb(0, 15, 255) 0%, rgb(166, 255, 0) 50%, rgb(216, 73, 73) 100%);
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%; /* Start at the center */
    transform: translateX(-50%) scaleX(1.2) translateY(5px) rotate(0.001deg); /* Center horizontally */
    height: 4px;
    width: 90%;
    border-top-right-radius: 100%;
    transform-origin: center;
}

.parallax-image {
    position: relative;
    transform: translateY(60px); /* Initial offset to create parallax loading look */
    transition: transform 0.7s ease-out; /* Smooth transformation effect */
    will-change: transform; /* Optimizes animations on modern browsers */
    opacity: 0; /* Initially invisible */
}

/* Parallax effect when the image comes into view */
.parallax-image.viewed {
    transform: translateY(0); /* Moves image back to its original position */
    opacity: 1; /* Fade in */
}