/* #region Main */

  * {
    margin: 0px;
    padding: 0px;
    box-sizing: border-box;
  }

  body {
    min-width: 320px;
    background: rgb(253,252,251);
    background: linear-gradient(135deg, rgba(253,252,251,1) 0%, rgba(226,209,195,1) 100%);
    font-family: 'Playfair Display', 'TimesNewRoman', 'Times New Roman', 'Times', 'Baskerville', 'Georgia', serif;
    color: #333333;
  }

/* #endregion */

/* #region Language switcher */

  #language-switcher {
    max-width: 840px;
    margin: 30px auto 0px auto;
    padding: 0px 12px 0px 0px;
    display: flex;
    justify-content: flex-end;
  }
  #language-switcher .flag-holder {
    display: block;
    margin: 0px 0px 0px 0px;
    width: 40px;
    height: 40px;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    border-radius: 20px;
    position: relative;
  }
  #language-switcher .flag-holder.lt {
    background-image: url('../images/lt.png');
  }
  #language-switcher .flag-holder.pl {
    background-image: url('../images/pl.png');
  }
  #language-switcher .flag-holder.en {
    background-image: url('../images/en.png');
  }
  #language-switcher .flag-holder.de {
    background-image: url('../images/de.png');
  }
  #language-switcher .flag-holder.fr {
    background-image: url('../images/fr.png');
  }
  #language-switcher .flag-holder:hover {
    border: solid 3px rgba(226,209,195,.5);
  }
  #language-switcher .flag-holder.active {
    border: solid 3px rgba(205,176,152,1);
  }

  #language-switcher .flag-holder a {
    display: block;
    width: 34px;
    height: 34px;
    border-radius: 17px;
  }
  #language-switcher .flag-holder a span  {
    display: none;
  }

  @media screen and (min-width: 840px) {
    #language-switcher {
      padding: 0px 0px 0px 0px;
    }
    #language-switcher .flag-holder {
      right: -4px;
    }
  }

/* #endregion */

/* #region Declaration */

  #declaration-holder {
    max-width: 840px;
    background: #ffffff;
    margin: 30px auto 20px auto;
    padding: 15px;
    border-radius: 0px;
    border: solid 1px rgba(226,209,195,.4);
    box-shadow: 5px 5px 10px rgba(226,209,195,1);
    font-size: 23px;
    line-height: 1.5;
  }

  #declaration-holder h1,
  #declaration-holder h2 {
    width: 100%;
    display: block;
    text-align: center;
    font-weight: bold;
    line-height: 1.2;
  }

  #declaration-holder h1 {
    font-size: 30px;
  }
  #declaration-holder h2 {
    font-size: 25px;
  }

  #declaration-holder .heading {
    border-bottom: double 3px rgba(226,209,195,.5);
    padding-bottom: 30px;
    margin-bottom: 30px;
  }

  #declaration-holder img {
    margin: 0px auto 0px auto;
    display: block;
    margin-bottom: 15px;
  }

  #declaration-holder p {
    text-align: justify;
    margin-bottom: 20px;
    text-indent: 50px;
  }

  #declaration-holder ul,
  #declaration-holder ol {
    margin-bottom: 20px;
    margin-left: 50px;
    font-style: italic;
  }

  #declaration-holder .signatures {
    padding-top: 15px;
    text-align: right;
    font-weight: bold;
    border-top: double 3px rgba(226,209,195,.5);
  }

  #declaration-holder .signatures ul,
  #declaration-holder .signatures ol {
    list-style-type: none;
    margin-bottom: 0px;
  }
  #declaration-holder .signatures li {
    margin-bottom: 10px;
  }
  #declaration-holder .signatures li:last-of-type {
    margin-bottom: 0px;
  }

  @media screen and (min-width: 840px) {
    #declaration-holder {
      font-size: 17px;
      padding: 60px;
      border-radius: 6px;
    }
  }

/* #endregion */

/* #region Counter */

  #counter-holder {
    width: auto;
    max-width: 840px;
    margin: 0px auto 20px auto;
    text-align: center;
    font-size: 17px;
    font-style: italic;
    color: rgb(158,102,76);
  }
  #counter-holder span {
    font-weight: bold;
    color: #333333;
  }

/* #endregion */

/* #region Form */

  #form-holder {
    width: auto;
    max-width: 840px;
    margin: 0px auto 30px auto;
    text-align: center;
  }
  #form-holder h2 {
    background: rgba(226,209,195,1);
    border-radius: 6px;
    text-align: center;
    padding: 3px 0px 5px 0px;
    font-size: 27px;
    font-weight: normal;
    color: #ffffff;
    text-shadow: 1px 1px rgba(197,163,135,1);
    margin-bottom: 15px;
  }
  #form-holder form {
    max-width: 840px;
    display: inline-grid;
    grid-template-columns: auto 250px;
    grid-gap: 6px;
    align-items: center;
    margin: 0px auto 0px auto;
  }
  #form-holder form div {
    margin: 3px auto 3px auto;
  }
  #form-holder form label {
    text-align: left;
    padding-right: 15px;
    font-style: italic;
  }
  #form-holder form label::after {
    content: '*';
    font-size: 10px;
    top: -7px;
    right: -2px;
    position: relative;
    color: rgba(240,0,0,1);
  }
  #form-holder form label.error {
    color: rgba(240,0,0,1);
  }

  #form-holder form input[type='text'] {
    width: 100%;
    border-radius: 10px;
    background-color: #ffffff;
    padding: 10px;
    font-size: 14px;
    border: solid 1px rgba(226,209,195,.8);
    color: #333333;
  }
  #form-holder form input[type='text'].error {
    border: solid 1px rgba(240,0,0,1);
  }

  #form-holder #errors {
    margin-top: 10px;
    grid-column: span 2;
    font-size: 13px;
    font-style: italic;
    display: none;
  }
  #form-holder #errors strong {
    color: rgba(240,0,0,1);
  }
  #form-holder #errors .error_desc {
    display: none;
  }

  #form-holder form input[type='submit'] {
    grid-column: span 2;
    width: 200px;
    margin: 10px auto 0px auto;
    background: rgb(199,161,138);
    border: solid 1px rgba(226,209,195,1);
    padding: 5px;
    border-radius: 10px;
    font-size: 18px;
    cursor: pointer;
    font-family: 'Playfair Display', 'TimesNewRoman', 'Times New Roman', 'Times', 'Baskerville', 'Georgia', serif;
    color: #ffffff;
    font-style: italic;
  }

  #form-holder #success {
    display: none;
    font-size: 30px;
    font-style: italic;
    color: rgb(158,102,76);
    margin: 30px auto 30px auto;
  }

/* #endregion */

/* #region Footer */

  #footer {
    border-top: double 3px rgb(199,161,138);
    width: auto;
    max-width: 840px;
    text-align: center;
    margin: 0px auto 0px auto;
  }

  #footer .container {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 6px;
    align-items: center;
    margin: 0px auto 0px auto;
  }
  #footer .container div {
    padding: 5px 15px 5px 15px;
    font-size: 14px;
  }
  #footer .container .left {
    text-align: left;
  }
  #footer .container .right {
    text-align: right;
  }

  @media screen and (min-width: 840px) {
    #footer .container div {
      padding: 5px 0px 5px 0px;
      font-size: 14px;
    }
  }

/* #endregion */