@viewport {
    width: device-width;
    initial-scale: 1;
}

@font-face {
    font-family: Heebo;
    src: url('/fonts/Heebo-VariableFont_wght.ttf') format(truetype);
}

html {
    font-size: 100%;
}

body {
    margin: 0;
    font-family: Heebo, Arial, Helvetica, sans-serif;
    color: #575756;
}

.bold {
    font-weight: bold;
}

.center {
    text-align: center;
}

.right {
    text-align: right;
}

#header-container {
    position: relative;
    margin: 0 auto;
    padding: 2rem 1rem 0;
}

#header-logos {
    list-style: none;
    margin: 0;
    padding: 0;
}

#header-logos li {
    display: inline-block;
    height: 3.43rem;
    margin: 0 0.31rem 0 0;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center center;
}

#header-logos li span {
    display: none;
}

#logo-safe-food-advocacy-europe {
    width: 4rem;
    background-image: url('/images/logos/safe-food-advocacy-europe.png');
}

#logo-healthy-meal {
    width: 5rem;
    background-image: url('/images/logos/healthy-meal.png');
}

#logo-sdruzeni-ceskych-spotrebitelu {
    width: 5.14rem;
    background-image: url('/images/logos/sdruzeni-ceskych-spotrebitelu.svg');
}

#logo-eeke {
    width: 7.6rem;
    background-image: url('/images/logos/gr/eeke.png');
}

#logo-adoc {
    width: 3.2rem;
    background-image: url('/images/logos/it/adoc.png');
}

#logo-acu {
    width: 3.2rem;
    background-image: url('/images/logos/ro/acu.png');
}

#nav-main-menu-collapse {
    display: none;
}

#nav-main-menu-collapse.active {
    display: inline;
}

#countries-menu {
    position: absolute;
    top: 1rem;
    right: 1rem;
    margin: 0;
    padding: 0 0.2rem 0 0.2rem;
    list-style: none;
    font-size: 0;
    text-transform: uppercase;
    background-color: white;
    z-index: 666;
}

#countries-menu.hidden li {
    margin: 0;
}

#countries-menu li {
    margin: 0 0 1rem;
}

#countries-menu li.hide {
    display: none;
}

#countries-menu li a span.flag {
    display: inline-block;
    width: 3rem;
    height: 1.98rem;
    margin: 0;
    font-size: 0;
    background-position: center left;
    background-repeat: no-repeat;
    background-size: contain;
}

#countries-menu li a span.country-name {
    display: none;
}

#countries-menu a,
#main-menu a {
    text-decoration: none;
}

#countries-menu a,
#countries-menu a:visited,
#main-menu a,
#main-menu a:visited {
    color: #575756;
}

#countries-menu a:hover,
#main-menu a:hover {
    color: black;
}

#main-menu {
    position: absolute;
    top: 1rem;
    right: 5rem;
    z-index: 1000;
}

#main-menu p {
    margin: 0;
    padding: 0;
    text-align: right;
}

#main-menu-container {
    margin: 0;
    padding: 1rem 0;
    list-style: none;
    background-color: white;
    border: solid #575756 1px;
}

#main-menu-container.hide {
    display: none;
}

.menu-item {
    padding: 0 1rem;
    margin: 0 0 1rem;
    text-transform: uppercase;
}

.current-page {
    color: black;
}

.menu-group-label {
    padding: 0.2rem 1rem;
    background-color: #e8e8e8;
}

.menu-group-container {
    list-style: none;
    padding: 0 0 0 1rem;
    margin: 0;
}

.menu-group-item {
    padding: 1rem 0 0;
    margin: 0;
}

.page-content {
    margin: 0 auto;
    padding: 0 1rem;
}


#healthy-meal-container,
#healthy-meal-country-container {
    background-image: linear-gradient(to right, #8bc157 , #bec700);
    color: white;
}

#healthy-meal-country-container {
    padding: 0 0 2rem;
}

#healthy-meal-container h1,
#healthy-meal-country-container h1 {
    font-size: 3rem;
    letter-spacing: 0.1rem;
    padding: 0.15em 0 0;
    margin: 0;
}

#healthy-meal-container a,
#healthy-meal-country-container a {
    color: white;
}

#healthy-meal-container a:hover,
#healthy-meal-country-container a:hover {
    text-decoration: none;
}

#healthy-meal-container h2 {
    font-weight: normal;
    font-size: 1.2rem;
    letter-spacing: 0.06rem;
    padding: 0;
    margin: 0;
}

#healthy-meal-container p {
    position: relative;
    padding: 0 0 3rem;
    margin: 1rem 0 0;
    font-weight: bold;
    z-index: 88;
}

#healthy-meal-country-container p {
    position: relative;
    padding: 0;
    margin: 0;
    font-weight: bold;
    z-index: 88;
}

#healthy-meal-backgrounds,
#healthy-meal-country-backgrounds {
    display: none;
}

#healthy-meal-description-container,
#healthy-meal-country-description-container {
    background-color: #e8e8e8;
}

#healthy-meal-description-container .page-content {
    padding-top: 3rem;
    padding-bottom: 1rem;
}

#healthy-meal-country-description-container .page-content {
    padding-top: 3rem;
    padding-bottom: 2rem;
}

#healthy-meal-description-container p,
#healthy-meal-country-description-container p {
    padding: 0 0 2rem;
    margin: 0;
}

#healthy-meal-description-container p,
#healthy-meal-country-description-container p {
    padding: 0 1rem 1rem 0;
}

#healthy-meal-country-description-container h2 {
    margin: 0;
    color: #4baa4f;
    text-align: right;
    font-size: 1.5rem;
}

#how-does-healthy-meal-work-backgrounds {
    display: none;
}

#how-does-healthy-meal-work-container h2 {
    margin: 0;
    padding: 2rem 0;
    color: #4baa4f;
    text-align: center;
    font-size: 1.5rem;
}

#how-does-healthy-meal-work-container p {
    margin: 0 0 3rem;
    padding: 0;
}

#how-does-healthy-meal-work-container p.go-up {
    padding: 0 1rem 1rem 0;
    margin: 0;
}

#what-are-our-results-container {
    padding: 0;
    background-color: #8bc157;
    color: white;
}

#what-are-our-results-container p.go-up {
   margin: 3rem 0 0;
}

#country-introduction-join-us-container,
#country-introduction-participating-charities-container,
#country-introduction-news-container {
    padding: 3rem 0 0;
    background-color: #8bc157;
    color: white;
}

#country-introduction-participating-charities-container h2,
#country-introduction-news-container h2 {
    margin: 0 0 1.4rem;
    padding: 0;
    font-size: 1.5rem;
    text-align: center;
}

#country-introduction-participating-charities-container p {
    text-align: center;
}

#country-introduction-participating-charities-container p.go-up {
    text-align: right;
}

#country-introduction-participating-charities {
    margin: 2rem 0;
}

#country-introduction-join-us-container p {
    margin: 0 0 1rem;
    padding: 0;
}

#country-introduction-join-us-container p.go-up {
    margin: 0;
    padding: 2rem 1rem 1rem 0;
}

#country-introduction-join-us-links {
    margin: 0 0 2rem;
}

#country-introduction-join-us-container a,
#country-introduction-join-us-container a:visited {
    color: white;
    font-weight: bold;
}

#country-introduction-join-us-container a:hover {
    text-decoration: none;
}

#country-introduction-join-us-container a.white-link,
#country-introduction-join-us-container a.white-link:visited {
    font-weight: normal;
}

#what-are-our-results-container h2 {
    margin: 0;
    padding: 2rem 0 0;
    font-size: 1.5rem;
    text-align: center;
}

#what-are-our-results-container h3 {
    margin: 3rem 0 1.5rem;
    padding: 0;
}

#what-are-our-results-statistics-container {
    text-align: center;
}
#what-are-our-results-left-container,
#what-are-our-results-center-container,
#what-are-our-results-right-container {
    background-position: top center;
    background-repeat: no-repeat;
    background-size: 6.6rem auto;
    margin: 4rem 0 0;
}

#what-are-our-results-left-container {
    background-image: url('/images/backgrounds/what-are-our-results-left.svg');
}

#what-are-our-results-center-container {
    background-image: url('/images/backgrounds/what-are-our-results-center.svg');
}

#what-are-our-results-right-container {
    background-image: url('/images/backgrounds/what-are-our-results-right.svg');
}

#what-are-our-results-statistics-container p:first-child {
    margin: 0;
    padding: 7rem 0 0;
}

#what-are-our-results-statistics-container span.info-number {
    font-size: 2.6rem;
    font-weight: bold;
}

.bg-line-dark-green {
    padding: 0;
    margin: 0 0 -1rem;
    background-position: bottom 0.75rem center;
    background-repeat: no-repeat;
    background-size: auto 1.5rem;
    font-size: 1.3rem;
}

.bg-line-short-size {
    background-image: url('/images/backgrounds/bg-line-dark-green-short.svg');
}

.bg-line-middle-size {
    background-image: url('/images/backgrounds/bg-line-dark-green-middle.svg');
}

.bg-line-long-size {
    background-image: url('/images/backgrounds/bg-line-dark-green-long.svg');
}

.top-restaurant {
    padding: 0 0 1rem;
    text-align: center;
    background-color: white;
    color: #575756;
}

.top-restaurant h4 {
    margin: 1rem 0 0;
    padding: 0;
    color:  #4baa4f;
}

.top-restaurant p {
    margin: 0.4rem 0 0;
    padding: 0;
}

.top-restaurant p.restaurant-image {
    margin: 0;
}

#who-is-participating-backgrounds {
    display: none;
}

#who-is-participating-container h2 {
    margin: 0;
    padding: 3rem 0 2rem;
    color: #4baa4f;
    font-size: 1.5rem;
}

#who-is-participating-container p {
    padding: 0;
    margin: 0;
}

#who-is-participating-container p.go-up {
    padding: 0 1rem 1rem 0;
}

#participating-countries {
    list-style: none;
    margin: 4rem 0 8rem;
    padding: 1rem 1rem 0 1rem;
    border: solid #e8e8e8 10px;
    /* no gaps between list items */
    font-size: 0;
}

#participating-countries li {
    display: inline-block;
    width: 3rem;
    height: 1.98rem;
    margin: 0 1rem 1rem 0;
}

#participating-countries li a {
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
    background-position: 0 0;
    background-repeat: no-repeat;
    background-size: contain;
}

.flag-eu {
    background-image: url('/images/flags/eu.svg');
}

.flag-cs {
    background-image: url('/images/flags/cs.svg');
}

.flag-be {
    background-image: url('/images/flags/be.svg');
}

.flag-gr {
    background-image: url('/images/flags/gr.svg');
}

.flag-hr {
    background-image: url('/images/flags/hr.svg');
}

.flag-ro {
    background-image: url('/images/flags/ro.svg');
}

.flag-lt {
    background-image: url('/images/flags/lt.svg');
}

.flag-it {
    background-image: url('/images/flags/it.svg');
}

.flag-gb {
    background-image: url('/images/flags/gb.svg');
}

#news-reports-container {
    background-color: #e8e8e8;
}

#news-reports-container h2 {
    margin: 0;
    padding: 3rem 0 3.8rem;
    font-size: 1.5rem;
    text-align: center;
    color: #4baa4f;
}

#news-reports-container p.go-up {
    padding: 4rem 1rem 1rem 0;
}

.news {
    padding: 0 1rem;
    background-color: white;
    color: #575756;
}

#country-introduction-our-results-container {
    text-align: center;
}

#country-introduction-about-us-container {
    padding: 0;
}

#country-introduction-our-results-container h2,
#country-introduction-reviews-container h2,
#country-introduction-participating-restaurants-container h2,
#country-introduction-about-us-container h2 {
    margin: 0;
    padding: 3rem 0 1.4rem;
    color: #4baa4f;
    font-size: 1.5rem;
}

#country-introduction-about-us-container h2 {
    text-align: center;
}

#country-introduction-participating-restaurants-container h3,
#country-introduction-participating-charities-container h3 {
    padding: 0;
    margin: 2.6rem 0 1.4rem;
    text-align:left;
}

#country-introduction-participating-restaurants-container p,
#country-introduction-participating-charities-container p {
    margin: 0;
    padding: 0;
}

#country-introduction-participating-charities-container p#link-to-all-involved-charities {
    text-align: center;
    padding: 0;
}

#country-introduction-participating-restaurants-container p#link-to-all-involved-restaurants {
    margin: 2rem 0 0;
}

#country-introduction-participating-restaurants-container p.go-up,
#country-introduction-participating-charities-container p.go-up {
    padding: 2rem 1rem 1rem 0;
}

#country-introduction-reviews-container p.go-up {
    padding: 4rem 1rem 1rem 0;
}

#link-to-all-involved-restaurants a,
#link-to-all-involved-restaurants a:visited,
.news a,
.news:visited {
    color: #4baa4f;
}

#link-to-all-involved-restaurants a:hover,
.news a:hover {
    text-decoration: none;
}

#link-to-all-involved-charities a,
#link-to-all-involved-charities a:visited {
    color: white;
}
#link-to-all-involved-charities a:hover {
    text-decoration: none;
}

#country-introduction-our-results-container p {
    margin: 0;
    padding: 0;
}

#country-introduction-our-results-container p.go-up {
    padding: 0 1rem 1rem 0;
}

#country-introduction-our-results-statistics-container {
    margin: 2rem 0 0;
    padding: 0 0 4rem;
}

#country-introduction-our-results-statistics-container h3 {
    padding: 0;
    margin: 0;
    font-size: 1.3rem;
    color: #4baa4f;
}

#country-introduction-our-results-statistics-container h3 span {
    font-size: 2.6rem;
    font-weight: bold;
}

#country-introduction-our-results-statistics-container p {
    padding: 0;
    margin: 0;
}

#country-introduction-our-results-statistics-restaurants,
#country-introduction-our-results-statistics-charities,
#country-introduction-our-results-statistics-persons {
    margin: 0 0 3rem;
}

#country-introduction-our-results-statistics-restaurants,
#country-introduction-our-results-statistics-charities,
#country-introduction-our-results-statistics-persons,
#country-introduction-our-results-statistics-money {
    padding: 6.6rem 0 0;
    background-position: top center;
    background-repeat: no-repeat;
    background-size: 6rem auto;
}

#country-introduction-our-results-statistics-persons {
    background-position: top 1.2rem center;
}

#country-introduction-our-results-statistics-restaurants {
    background-image: url('/images/backgrounds/country-results-restaurants.svg');
}

#country-introduction-our-results-statistics-charities {
    background-image: url('/images/backgrounds/country-results-charities.svg');
}

#country-introduction-our-results-statistics-persons {
    background-image: url('/images/backgrounds/country-results-persons.svg');
}

#country-introduction-our-results-statistics-money {
    background-image: url('/images/backgrounds/country-results-money.svg');
}

#country-introduction-reviews-container,
#country-introduction-participating-restaurants-container {
    padding: 0;
    text-align: center;
    background-color: #e8e8e8;
}

.country-introduction-review-item {
    padding: 3.6rem 2rem 1rem;
    border: solid #cde4b7 1px;
    background: transparent url('/images/backgrounds/quotation-marks-start.svg') center top 1rem no-repeat;
    background-size: auto 1.6rem;
}
.country-introduction-review-item-bg-end {
    padding: 0 0 2.6rem;
    background: transparent url('/images/backgrounds/quotation-marks-end.svg') center bottom no-repeat;
    background-size: auto 1.6rem;
}

.country-introduction-review-item p {
    padding: 0;
    margin: 0;
}

.country-introduction-review-item p.bold {
    margin: 1rem 0 0;
    color: #4baa4f;
}

#involved-restaurants-container {
    padding: 2rem 0 5rem;
    background-color: #e8e8e8;
    text-align: center;
}

#involved-restaurants-container h2 {
    margin: 0 0 1.4rem;
    font-size: 1.5rem;
    color: #4baa4f;
}

#involved-restaurants-container p {
    margin: 0;
    padding: 0;
}

.involved-restaurant,
.involved-charity {
    padding: 0 0 1rem;
}

.involved-restaurant {
    background-color: white;
}

.involved-charity {
    background-color: white;
    color: #575756;
    text-align: center;
}

.involved-restaurant h4,
.involved-charity h4 {
    margin: 0.6rem 0 0;
    padding: 0;
    color: #4baa4f;
    font-size: 1.2rem;
}

.involved-restaurant p {
    margin: 0;
    padding: 0;
}

.go-up {
    margin: 0;
    padding: 0 1rem 1rem 0;
    text-align: right;
}

.white-link,
.white-link:visited {
    color: white;
}

.green-link,
.green-link:visited,
.top-restaurant a,
.top-restaurant a:visited,
.involved-restaurant a,
.involved-restaurant a:visited,
.involved-charity a,
.involved-charity a:visited {
    color: #4baa4f;
}

.white-link:hover,
.green-link:hover,
.top-restaurant a:hover,
.involved-restaurant a:hover,
.involved-charity a:hover {
    text-decoration: none;
}
#country-introduction-about-us-container p {
    margin: 0;
    padding: 0;
}

#country-introduction-about-us-container p.go-up {
    padding: 0 1rem 1rem 0;
}

#country-introduction-about-us-container a,
#country-introduction-about-us-container a:visited {
    color: #4baa4f;
}

#country-introduction-about-us-container a:hover {
    text-decoration: none;
}

#country-introduction-about-us-main-organization h3 {
    text-align: center;
}

#country-introduction-about-us-main-organization p {
    width: 16rem;
    margin: 0 auto;
}

#main-organization-logo-sdruzeni-ceskych-spotrebitelu {
    height: 3.3rem;
    background: transparent url('/images/logos/sdruzeni-ceskych-spotrebitelu.svg') no-repeat top center;
    background-size: contain;
}

#main-organization-logo-manuela-invidiato {
    height: 12rem;
    background: transparent url('/images/logos/it/manuela-invidiato.png') no-repeat top center;
    background-size: contain;
}

#main-organization-logo-acu {
    height: 6rem;
    background: transparent url('/images/logos/ro/acu.png') no-repeat top center;
    background-size: contain;
}

#main-organization-logo-eeke {
    height: 5rem;
    background: transparent url('/images/logos/gr/eeke.png') no-repeat top center;
    background-size: contain;
}

address {
    margin: 0 0 1rem;
    padding: 0;
    font-style: normal;
}

#country-introduction-about-us-container p.about-us-www-link {
    margin: 0.6rem auto 0;
}

.supporting-organization {
    margin: 0 0 3rem;
}
#support-logo-co-funded-by-european-union {
    height: 3.3rem;
    background: transparent url('/images/logos/co-funded-by-european-union.svg') no-repeat top left;
    background-size: contain;
}

#support-logo-safe-food-advocacy-europe {
    height: 3.3rem;
    background: transparent url('/images/logos/safe-food-advocacy-europe.png') no-repeat top left;
    background-size: contain;
}

#support-logo-asociace-hotelu-a-restauraci-cr {
    height: 3.3rem;
    background: transparent url('/images/logos/asociace-hotelu-a-restauraci-cr.png') no-repeat top left;
    background-size: contain;
}

#support-log-spotrebitelske-forum {
    height: 3.3rem;
    background: transparent url('/images/logos/cs/spotrebitelske-forum.png') no-repeat top center;
    background-size: contain;
}

#charity-voucher-detail,
#clients-my-voucher-detail {
    padding: 0 0 4rem;
}

#footer {
    padding: 3rem 0;
    background-image: linear-gradient(to right, #8bc157 , #bec700);
    color: white;
}

#footer-backgrounds {
    display: none;
}

#footer h2 {
    height: 3rem;
    margin: 0;
    font-size: 0;
    background: transparent url('/images/logos/co-funded-by-european-union-white.svg') no-repeat center left;
    background-size: contain;
}

#footer h2 span {
    display: none;
}

/** forms */
fieldset {
    padding: 1rem 0 4rem;
    margin: 0;
    border: none;
}

legend {
    font-size: 1.5rem;
    font-weight: bold;
    color: #4baa4f;
}

fieldset h3 {
    margin: 0 0 1rem;
}

fieldset a,
.registration-condition a {
    color: #4baa4f;
}

fieldset a:hover,
.registration-condition a:hover {
    color: #047516;
}

.form-item {
    margin: 0 0 1.1rem;
}

.form-item-label-second {
    margin: 0 0 1rem;
}

.form-item-label-second div{
    display: flex;
}

.form-item p.error,
.form-item-label-second p.error {
    padding: 0;
    margin: 0;
}

.form-submit {
    padding: 0.8rem 0 0 0.8rem;
}

label {
    display: block;
    margin: 0 0 0.2rem;
}

label.after-input {
    vertical-align: bottom;
    margin: 0;
    padding: 0.4rem 0 0 0.2rem;
}

input[type=text],
input[type=password],
input[type=email],
input[type=tel],
input[type=url] {
    display: inline-block;
    width: 16rem;
    padding: 0.24rem 0.6rem;
    margin: 0;
    /* border: solid #575756 1px; */
    border: solid #4baa4f 1px;
    border-radius: 0.3rem;
    font-family: Heebo, Arial, Helvetica, sans-serif;
    font-size: 1rem;
    color: #575756;
}

textarea {
    width: 100%;
    height: 6rem;
    border: solid #4baa4f 1px;
    border-radius: 0.3rem;
    font-family: Heebo, Arial, Helvetica, sans-serif;
    font-size: 1rem;
    color: #575756;
}

/* https://sentry.io/answers/how-to-style-a-checkbox-using-css/ */
input[type=checkbox] {
    appearance: none;
    -webkit-appearance: none;
    display: flex;
    align-content: center;
    justify-content: center;
    font-size: 2rem;
    padding: 0.1rem;
    border: solid 2px #4baa4f;
    border-radius: 0.3rem;
}

input[type=checkbox]::before {
  content: "";
  width: 1.4rem;
  height: 1.4rem;
  /* https://bennettfeely.com/clippy/ */
  clip-path: polygon(18% 56%, 11% 69%, 52% 92%, 91% 20%, 78% 13%, 46% 72%);
  transform: scale(0);
  background-color: #4baa4f;
}

input[type=checkbox]:checked::before {
  transform: scale(1);
}

.button {
    display: inline-block;
    padding: 0.5rem 1rem;
    background: #4baa4f;
    border: none;
    border-radius: 2rem;
    font-family: Heebo, Arial, Helvetica, sans-serif;
    font-size: 1rem;
    color: white;
    text-decoration: none;
    cursor: default;
}

a.button {
    background: #575756;
}

a.button:hover {
    color: white;
    background: #4baa4f;
}

.restaurant-image,
.charity-image {
    font-size: 0;
    background-color: #e8e8e8;
}

.restaurant-image img,
.charity-image img {
    max-width: 320px;
    max-height: 177px;
}

#help-line-info {
    margin: 0 0 1rem;
}

#help-line-info h4 {
    margin: 0 0 0.5rem;
    padding: 0;
}

#help-line-info p {
    margin: 0;
    padding: 0;
}

#help-line-info a {
    color: #8bc157;
}

#login-info {
    position: relative;
    margin: 0 0 1.4rem;
}

#login-info-initials {
    position: absolute;
    width: 2rem;
    height: 2.31rem;
    background: transparent url('/images/backgrounds/login-info.svg') 0 0 no-repeat;
    background-size: contain;
    text-align: center;
    color: white;
}

#login-info-container {
    padding: 0 0 0 2.2rem;
}

#login-info p {
    margin: 0;
    padding: 0;
    line-height: 2rem;
}

#login-info a,
#login-info a:visited {
    color: #8bc157;
}

#login-info a:hover {
    text-decoration: none;
}

.login-area-container h2 {
    margin: 0 0 1rem;
    padding: 0;
    font-size: 1.5rem;
    color: #4baa4f;
}

#login-area-submenu {
    margin: 0 0 1.6rem;
}

#login-area-submenu-container {
    margin: 0;
    padding: 0;
    list-style: none;
}

#login-area-submenu-container li {
    display: inline-block;
    margin: 0 1rem 0 0;
}

#login-area-submenu-container a,
#login-area-submenu-container a:visited {
    color: #8bc157;
}

#login-area-submenu-container a:hover {
    text-decoration: none;
}

.submenu-link-add {
    padding: 0 1.4rem 0 0;
    background: transparent url('/images/backgrounds/submenu-plus.svg') right center no-repeat;
    background-size: 1rem 1rem;
}

.submenu-link-back {
    padding: 0 0 0 1.4rem;
    background: transparent url('/images/backgrounds/submenu-back.svg') left center no-repeat;
    background-size: 1rem 1rem;
}

.submenu-link-edit {
    padding: 0 1.4rem 0 0;
    background: transparent url('/images/backgrounds/submenu-edit.svg') right center no-repeat;
    background-size: 1rem 1rem;
}

#restaurant-detail-and-districts-container,
#charity-detail-and-districts-container,
#restaurant-offer-detail {
    margin: 0 0 3rem;
}

#restaurant-detail .restaurant-image,
#charity-detail .charity-image {
    margin: 2rem 0 0;
    text-align: center;
}

.items-table a:hover,
.item-detail-table a:hover {
    text-decoration: none;
}

.detail-regions-districts {
    padding: 1rem;
    margin: 1.6rem 0 1rem;
    background-color: #e6efd4;
}

.detail-regions-districts h3 {
    margin: 0;
    padding: 0;
    background: transparent url('/images/backgrounds/districts-header.svg') right 2rem top no-repeat;
    background-size: contain;
    color: #4baa4f;
}

.detail-regions-districts-container {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin: 0.6rem 0 0;
}

.detail-region-container h4 {
    margin: 0;
    padding: 0;
    font-weight: normal;
}

.detail-districts-container ul {
    margin: 0;
}

.voucher-filter-form {
    margin: 0 0 1.8rem;
    padding: 0;
}

.voucher-filter-form fieldset {
    margin: 0;
    padding: 0 1rem 0.6rem;
    border: solid #e0e0e0 1px;
}

.voucher-filter-form legend {
    font-size: 1rem;
}

.voucher-filter-form div {
    float: left;
    margin: 0 1rem 0 0;
}

.voucher-filter-form select,
.voucher-filter-form input[type=text],
.voucher-filter-form input[type=date] {
    border: solid #4baa4f 1px;
    border-radius: 3px;
    font-family: Heebo, Arial, Helvetica, sans-serif;
    font-size: 1rem;
}

.voucher-filter-form input[type=text] {
    padding: 0.1rem 0.6rem 0 0.6rem;
    width: 6rem;

}

.filter-submit-container {
    padding: 1.6rem 0 0;
}

.filter-submit-container .button {
    padding: 0.2rem 0.8rem;
}

.registration-condition {
    padding: 0 0 3rem;
}

.registration-condition ol.roman {
    list-style-type: upper-roman;
}

.registration-condition ol.roman li {
    font-weight: bold;
}

.registration-condition ol.roman li ul.no-list {
    list-style-type: none;
    padding: 0;
}

.registration-condition ol.roman li ul li {
    font-weight: normal;
}

.registration-condition ol.roman li ul li ol {
    list-style-type: decimal;
}

.registration-condition li {
    margin: 0 0 1.5rem;
}

.registration-condition ol ol {
    margin: 1rem 0 0;
    list-style-type: lower-alpha;
}

.registration-condition ol ol.greece-alphabet-list {
    list-style-type: lower-greek;
}

.registration-condition ol ul {
    margin: 1rem 0 0;
    list-style-type: disc;
}

#country-introduction-about-us-supported-organizations-one {
    text-align: center;
}

@media only screen and (min-width: 45rem) { /* 720 /16 */
    #restaurant-detail .restaurant-image,
    #charity-detail .charity-image {
        width: 320px;
        margin: 2rem 0;
    }

    #restaurant-detail-and-districts-container,
    #charity-detail-and-districts-container {
        display: flex;
        gap: 4rem;
    }

    #restaurant-detail {
        flex: 1;
    }

    #restaurant-detail-districts-flex,
    #charity-detail-districts-flex {
        flex: 2;
    }

    .detail-regions-districts {
        margin: 0;
        max-width: 23rem;
        border-radius: 0.6rem;
    }
}

@media only screen and (min-width: 64rem) { /* 1024 / 16 */
    #help-line-contact {
        display: flex;
        gap: 0.2rem;
    }

    #header-container {
        width: 64rem;
        padding: 1rem 0 0;
    }

    #header-logos li {
        height: 6.86rem;
        margin: 0 0.62rem 0 0;
    }

    #logo-safe-food-advocacy-europe {
        width: 8rem;
    }

    #logo-healthy-meal {
        width: 11rem;
    }

    #logo-sdruzeni-ceskych-spotrebitelu {
        width: 10.35rem;
    }

    #logo-eeke {
        width: 13rem;
    }

    #logo-adoc {
        width: 6.3rem;
    }

    #logo-acu {
        width: 6.9rem;
    }

    #nav-main-menu-collapse,
    #nav-main-menu-collapse.active {
        display: none;
    }

    #countries-menu {
        right: 0;
        font-size: 0.9rem;
    }

    #countries-menu li {
        margin: 0 0 0.1rem;
    }

    #countries-menu li a span.flag {
        width: 2rem;
        height: 1.32rem;
        margin: 0 0.4rem 0 0;
    }

    #countries-menu li a span.country-name {
        display: inline;
    }

    #main-menu {
        position: static;
        font-size: 0.9rem;
    }

    #main-menu-container {
        margin: 1rem 0 1rem;
        padding: 0;
        border: none;
    }

    #main-menu-container.hide {
        display: block;
    }

    .menu-item {
        display: inline-block;
        padding: 0;
        margin: 0 0 0 1.2rem;
    }

    .menu-item:first-child {
        margin: 0;
    }

    .menu-group-label {
        padding: 0.2rem 0.6rem 0.1rem;
        margin: 0 0 0 0.6rem;
        background-color: #e8e8e8;
    }

    .menu-group-label:hover .menu-group-container {
        display: block;
    }

    .menu-group-container {
        display: none;
        position: absolute;
        padding: 0 0.6rem;
        margin: 0 0 0 -0.6rem;
        background-color: #e8e8e8;
        z-index: 1666;
    }

    .menu-group-item {
        display: block;
        padding: 0.2rem 0 0;
        margin: 0;
    }

    .menu-group-item a {
        display: block;
    }

    #main-menu ul li.after-menu-group {
        margin: 0 0 0 0.6rem;
    }

    .page-content {
        position: relative;
        width: 64rem; /* 1024px / 16px (16px default font-size) */
        padding: 0;
    }

    #healthy-meal-container .page-content {
        background: transparent url('/images/backgrounds/healthy-meal-container-plate.png') no-repeat center right;
    }

    #healthy-meal-country-container {
        padding: 0;
    }

    #healthy-meal-container h1,
    #healthy-meal-country-container h1 {
        font-size: 5rem;
    }

    #healthy-meal-container h2 {
        position: relative;
        font-size: 2rem;
        letter-spacing: 0.07rem;
        z-index: 88;
    }

    #healthy-meal-backgrounds {
        display: block;
        position: absolute;
        left: -3.3rem;
        top: 8.2rem;
        width: 52.4rem;
        height: 10rem;
    }

    #healthy-meal-tree-leaf {
        width: 86px;
        height: 90px;
        background: transparent url('/images/backgrounds/tree-leaf.png') no-repeat left top;
        background-size: contain;
    }

    #healthy-meal-tomato {
        position: absolute;
        width: 35px;
        height: 35px;
        right: 4.9rem;
        bottom: 4.3rem;
        background: transparent url('/images/backgrounds/tomato.png') no-repeat left top;
        background-size: contain;
    }

    #healthy-meal-mint {
        position: absolute;
        width: 94px;
        height: 43px;
        right: 0;
        bottom: 0;
        background: transparent url('/images/backgrounds/mint.png') no-repeat left top;
        background-size: contain;
    }

    #healthy-meal-container p {
        width: 40rem;
    }

    #healthy-meal-description-container .page-content {
        background: transparent url('/images/backgrounds/healthy-meal-container-description-plate.png') no-repeat center left;
    }

    #healthy-meal-description-container p {
        padding: 0 0 2rem 18rem;
    }

    #healthy-meal-description-container p.go-up {
        padding: 0 1rem 1rem 0;
    }

    #how-does-healthy-meal-work-container h2 {
        padding: 3rem 0 3.8rem;
        font-size: 2rem;
    }

    #how-does-healthy-meal-work-backgrounds {
        display: block;
        position: absolute;
        left: 11.4rem;
        top: 3.2rem;
        width: 44.6rem;
        height: 4rem;
    }

    #how-does-healthy-meal-work-tree-leaf {
        width: 86px;
        height: 90px;
        background: transparent url('/images/backgrounds/tree-leaf.png') no-repeat left top;
        background-size: contain;
    }

    #how-does-healthy-meal-work-yellow-tomato {
        position: absolute;
        top: 1rem;
        right: 4rem;
        width: 45px;
        height: 45px;
        background: transparent url('/images/backgrounds/yellow-tomato.png') no-repeat top left;
        background-size: contain;
    }

    #how-does-healthy-meal-work-nutlet {
        position: absolute;
        top: 2.2rem;
        right: 0;
        width: 24px;
        height: 22px;
        background: transparent url('/images/backgrounds/nutlet.png') no-repeat top left;
        background-size: contain;
    }

    #how-does-healthy-meal-work-description-container {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 14rem;
    }

    #what-are-our-results-container h2 {
        font-size: 2rem;
    }

    #what-are-our-results-statistics-container {
        padding: 2rem 0 0;
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        gap: 6rem;
    }

    #what-are-our-results-left-container,
    #what-are-our-results-center-container,
    #what-are-our-results-right-container {
        margin: 0;
    }

    #top-restaurants-by-value-of-meal,
    #top-restaurants-by-number-of-meal {
        padding: 0 0 0;
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        gap: 2rem;
    }

    #who-is-participating-backgrounds {
        display: block;
        position: absolute;
        right: 0;
        top: 0;
        width: 34rem;
        height: 28rem;
    }

    #who-is-participating-gyros {
        width: 34rem;
        height: 28rem;
        background: transparent url('/images/backgrounds/gyros.png') no-repeat right center;
        background-size: 34rem auto;
    }

    #who-is-participating-container h2 {
        font-size: 2rem;
    }

    #who-is-participating-container p {
        width: 26rem;
    }

    #who-is-participating-container p.go-up {
        width: auto;
    }

    #participating-countries {
        margin: 4rem 20rem 8rem 0;
        padding: 1rem;
    }

    #participating-countries li {
        position:relative;
        width: 3.75rem;
        height: 2.5rem;
        margin: 0 1rem 0 0;
        z-index: 666;
    }

    #news-reports-container h2 {
        font-size: 2rem;
    }

    #news-container {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        gap: 2rem;
    }

    #healthy-meal-country-backgrounds {
        display: block;
        position: absolute;
        left: 0;
        top: 6rem;
        width: 48rem;
        height: 14rem;
    }

    #healthy-meal-country-tree-leaf {
        position: absolute;
        width: 86px;
        height: 90px;
        left: 0;
        bottom: 0.7rem;
        background: transparent url('/images/backgrounds/tree-leaf.png') no-repeat left bottom;
        background-size: contain;
    }

    #healthy-meal-country-mint {
        position: absolute;
        width: 120px;
        height: 55px;
        right: 0;
        top: 0.7rem;
        background: transparent url('/images/backgrounds/mint.png') no-repeat left top;
        background-size: contain;
    }

    #healthy-meal-country-tomato {
        position: absolute;
        width: 44px;
        height: 44px;
        right: 1.7rem;
        bottom: 4.3rem;
        background: transparent url('/images/backgrounds/tomato.png') no-repeat left top;
        background-size: contain;
    }

    #healthy-meal-country-yellow-tomato {
        position: absolute;
        width: 49px;
        height: 49px;
        right: 7rem;
        bottom: 0.3rem;
        background: transparent url('/images/backgrounds/yellow-tomato.png') no-repeat left top;
        background-size: contain;
    }

    #healthy-meal-country-nutlet {
        position: absolute;
        width: 34px;
        height: 31px;
        right: 0.5rem;
        bottom: 0;
        background: transparent url('/images/backgrounds/nutlet.png') no-repeat left top;
        background-size: contain;
    }

    #healthy-meal-country-description-container h2 {
        font-size: 2rem;
    }

    #healthy-meal-country-container p {
        width: 36rem;
        padding: 0 0 7rem;
    }

    #healthy-meal-country-description-container .page-content {
        background: transparent url('/images/backgrounds/healthy-meal-country-container-description-plate.png') no-repeat center left;
    }

    #healthy-meal-country-description-container p {
        padding: 0 0 2rem 23rem;
    }

    #healthy-meal-country-description-container p.go-up {
        padding: 0 1rem 1rem 0;
    }

    #country-introduction-join-us-container .page-content {
        background: transparent url('/images/backgrounds/country-introduction-join-us-container-plate.png') no-repeat bottom right;
    }

    #country-introduction-join-us-container p {
        padding: 0 10rem 1rem 0;
    }

    #country-introduction-join-us-container p.go-up {
        padding: 0 1rem 1rem 0;
    }

    #country-introduction-join-us-container .country-introduction-join-us-link {
        padding: 0;
        margin: 0 0 1rem;
    }

    #country-introduction-join-us-links {
        /* display: grid;
           grid-template-columns: 1fr 1fr; */
        margin: 0 8rem 2rem 0;
    }

    #country-introduction-our-results-container h2,
    #country-introduction-reviews-container h2,
    #country-introduction-participating-restaurants-container h2,
    #country-introduction-participating-charities-container h2,
    #country-introduction-about-us-container h2,
    #country-introduction-news-container h2 {
        font-size: 2rem;
    }

    #country-introduction-our-results-statistics-container {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1fr;
        gap: 0.6rem;
    }

    #country-introduction-our-results-statistics-restaurants,
    #country-introduction-our-results-statistics-charities,
    #country-introduction-our-results-statistics-persons {
        margin: 0;
    }

    #country-introduction-reviews-items-container,
    #country-introduction-news {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        gap: 2rem;
    }

    #country-introduction-news {
        padding: 0 0 3rem;
    }

    .country-introduction-review-item {
    }

    #involved-restaurants-container h2 {
        font-size: 2rem;
    }

    .involved-restaurants,
    .involved-charities {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        gap: 2rem;
    }

    #country-introduction-about-us-main-organization {
        width: 26rem;
        margin: 1.6rem  auto 0;
        padding: 0 0 2rem;
    }

    #country-introduction-about-us-supported-organizations-two {
        display: grid;
        margin: 0 15rem;
        grid-template-columns: 1fr 1fr;
        gap: 2rem;
    }

    #country-introduction-about-us-supported-organizations-three {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        gap: 2rem;
    }

    #footer-backgrounds {
        display: block;
        position: absolute;
        width: 400px;
        height: 100px;
        top: -6.7rem;
        right: 3rem;
    }

    #footer-broccoli {
        position: absolute;
        top: 0;
        right: 0;
        width: 16rem;
        height: 8rem;
        background: transparent url('/images/backgrounds/broccoli.png') no-repeat top right;
        background-size: contain;
    }

    /** forms */
    .user-form {
        padding: 1rem 0 0 8rem;
        background: transparent url('/images/backgrounds/form-lemon.png') no-repeat top 3rem right 4rem;
    }

    #restaurant-login-form,
    #charity-login-form,
    #client-login-form {
        padding: 1rem 0 9rem 8rem;
    }

    legend {
        font-size: 2rem;
    }

    .login-area-container h2 {
        font-size: 2rem;
    }
}









table {
    border-collapse: collapse;
}

.items-table {
    margin: 0 0 5rem;
}

.items-table td,
.items-table th {
    border-top: solid #e0e0e0 1px;
    border-bottom: solid #e0e0e0 1px;
}

.items-table th {
    font-weight: normal;
}

.items-table td {
    padding: 0.4rem 1rem;
}

.item-detail-table th {
    padding: 0 1rem 0.4rem 0;
    text-align: left;
}

.item-detail-table td {
    padding: 0 0 0.4rem 0;
}

.item-detail-table th.voucher-detail-label {
    font-weight: normal;
}

.item-detail-table td.voucher-detail-code {
    font-size: 2rem;
    font-weight: bold;
}

.item-detail-table td.voucher-detail-meal {
    font-size: 1.4rem;
    font-weight: bold;
}

.item-detail-table td.voucher-detail-price {
    font-size: 1.6rem;
    font-weight: bold;
}

.item-detail-table td.voucher-detail-item {
    font-weight: bold;
}

.items-table a,
.items-table a:visited,
.item-detail-table a,
.item-detail-table a:visited {
    color: #8bc157;
}

.error {
    color: red;
}

.gray {
    color: gray;
}

.form-error {
    margin: 0 0 1rem;
    padding: 1rem;
    border: solid red 1px;
    color: red;
}

.form-error p {
    margin: 0;
    padding: 0;
}

#session-error {
    margin: 0 0 10px;
    padding: 10px;
    border: solid red 3px;
    color: red;
}
