@import url('../css/fontawesome-all.min.css');
@font-face {
  font-family: 'DM Sans';
  src: url('/templates/pfr/css/fonts/DMSans-VariableFont.ttf');
  font-style: normal; }
@font-face {
  font-family: 'DM Sans';
  src: url('/templates/pfr/css/fonts/DMSans-Italic-VariableFont.ttf');
  font-style: italic; }

* {
  font-family: 'DM Sans', Arial, sans-serif; }

body {
  background-size: 100%;
  background-attachment: fixed;
  margin: 0;
  color: #000;
  line-height: 130%; }
  body h1, body h2 {
    font-size: 16px; }
  body h2 {
    margin-bottom: 8px; }
  body h4 {
    margin-bottom: 5px; }
  body hr.hr {
    margin-bottom: 15px;
    border: none;
    border-bottom: 1px #ddd solid; }
  body a {
    color: #007878;
    text-decoration: none; }
  body a.btn {
    background: #007878;
    color: white;
    font-size: 12px;
    padding: 8px 15px;
    cursor: pointer; }
  body a.btnNeo {
    background: #007878;
    color: white;
    padding: 12px 20px;
    display: inline-block;
    margin-bottom: 10px;
    border-radius: 2px;
    transition: all 0.2s;
    width: calc(100% - 40px);
    max-width: 450px; }
  body a.yel {
    background: #ffb300; }
  body a.gre {
    background: #007878; }
  body a.win {
    background: #b4005e; }
  body a.lgr {
    background: #d1b500; }
  body a.btnNeo:hover {
    background: #004545; }
  body em {
    color: red; }
  body fieldset {
    border: none;
    padding: 0; }
  body .hidden {
    display: none; }
  body .input-hidden {
    pointer-events: none;
    visibility: hidden; }
  body .container {
    max-width: 1050px;
    padding: 10px 20px 20px;
    margin: 0 auto; }
    body .container .header {
      text-align: center;
      padding: 30px 0 20px; }
      body .container .header .logo {
        padding-bottom: 6px;
        max-width: 400px;
        margin: auto; }
        body .container .header .logo img {
          max-width: 100%; }
      body .container .header .logout {
        text-align: right;
        padding: 25px 0 10px; }
        body .container .header .logout a {
          color: white; }
      body .container .header .subheader {
        padding-top: 15px;
        font-size: 14px;
        line-height: 140%; }
        body .container .header .subheader b {
          padding-bottom: 5px; }
    body .container .content {
      background: white;
      box-sizing: border-box;
      padding: 25px 0px 80px;
      position: relative;
      border-radius: 4px; }
      body .container .content #flashMessage {
        color: red;
        text-align: center;
        font-size: 14px; }
      body .container .content .row {
        padding-bottom: 10px; }
      body .container .content .buttons.home {
        padding: 20px 0;
        text-align: center; }
      body .container .content .buttons.payment {
        padding: 20px;
        text-align: center; }
        body .container .content .buttons.payment a, body .container .content .buttons.payment input {
          padding: 13px 18px;
          margin-bottom: 10px;
          display: inline-block;
          font-size: 13px;
          border-radius: 2px;
          transition: all 0.3s; }
        body .container .content .buttons.payment a:hover, body .container .content .buttons.payment input:hover {
          background: #333; }
      body .container .content .pay.cc .buttons {
        text-align: left;
        padding-left: 0; }
    body .container .content form legend {
      font-size: 18px; }
    body .container .content form select[readonly="readonly"], body .container .content form input[readonly="readonly"] {
      background: #eee;
      border: 1px solid #aaa;
      color: #555;
      border-radius: 2px; }
    body .container .content form div.input {
      padding-bottom: 15px; }
      body .container .content form div.input .error-message {
        color: red;
        padding-bottom: 10px;
        padding-top: 10px; }
    body .container .content form .dinner .form {
      display: none; }
      body .container .content form .dinner .names .name {
        display: none; }
      body .container .content form .dinner .names .name.active {
        display: block; }
    body .container .content form .input.pb-0 {
      padding-bottom: 0; }
    body .container .content form .input.required label:after {
      color: #e32;
      content: '*';
      display: inline; }
    body .container .content form .input.radio, body .container .content form .input.checkbox {
      overflow: hidden;
      padding-top: 15px; }
      body .container .content form .input.radio fieldset, body .container .content form .input.checkbox fieldset {
        margin: 0; }
      body .container .content form .input.radio legend, body .container .content form .input.checkbox legend {
        padding-top: 0;
        padding-bottom: 10px;
        font-size: 14px;
        font-weight: normal; }
      body .container .content form .input.radio input, body .container .content form .input.checkbox input {
        display: block;
        float: left;
        margin-right: 15px;
        clear: both; }
      body .container .content form .input.radio label, body .container .content form .input.checkbox label {
        display: block;
        float: left;
        width: auto; }
    body .container .content form .input.select .checkbox input {
      margin-right: 15px; }
    body .container .content form .input.select .checkbox input#UserAppointmentId11, body .container .content form .input.select .checkbox label[for="UserAppointmentId11"], body .container .content form .input.select .checkbox input#UserAppointmentId13, body .container .content form .input.select .checkbox label[for="UserAppointmentId13"] {
      display: none; }
    body .container .content form .input.radio.required label:after {
      content: '';
      display: none; }
    body .container .content form .input.radio.required legend:after {
      color: #e32;
      content: '*';
      display: inline; }
    body .container .content form .input.checkbox {
      padding-top: 0; }
    body .container .content form legend {
      font-size: 16px;
      font-weight: bold;
      padding-top: 30px;
      padding-bottom: 10px; }
    body .container .content form label {
      display: inline-block;
      width: 230px;
      box-sizing: border-box;
      padding-right: 20px;
      vertical-align: middle; }
      body .container .content form div.input.text input, body .container .content form div.input.number input, body .container .content form div.input.email input, body .container .content form div.input.tel input, body .container .content form div.input.password input, body .container .content form div.input.textarea input, body .container .content form div.input.text textarea, body .container .content form div.input.number textarea, body .container .content form div.input.email textarea, body .container .content form div.input.tel textarea, body .container .content form div.input.password textarea, body .container .content form div.input.textarea textarea {
        width: 250px;
        height: 26px;
        line-height: 26px;
        padding: 0 10px;
        font-size: 14px;
        outline: none; }
        body .container .content form div.input.text input.error, body .container .content form div.input.number input.error, body .container .content form div.input.email input.error, body .container .content form div.input.tel input.error, body .container .content form div.input.password input.error, body .container .content form div.input.textarea input.error, body .container .content form div.input.text textarea.error, body .container .content form div.input.number textarea.error, body .container .content form div.input.email textarea.error, body .container .content form div.input.tel textarea.error, body .container .content form div.input.password textarea.error, body .container .content form div.input.textarea textarea.error {
          outline: 1px solid red;
          outline-offset: -1px; }
    body .container .content form div.input.select select {
      width: 275px;
      height: 30px;
      line-height: 30px;
      padding-left: 8px; }
    body .container .content form div.piva {
      display: inline-flex;
      gap: 4px;
      width: 250px;
      margin-left: -5px; }
      body .container .content form div.piva .input.select {
        flex: 0 0 0; }
        body .container .content form div.piva .input.select select {
          width: auto; }
      body .container .content form div.piva .input.text, body .container .content form div.piva .input.number {
        flex: 1 1 0; }
        body .container .content form div.piva .input.text input, body .container .content form div.piva .input.number input {
          width: 100%; }
    body .container .content form div.submit {
      padding-top: 10px; }
      body .container .content form div.submit input {
        border: none;
        background: #007878;
        color: white;
        font-size: 12px;
        padding: 8px 15px;
        cursor: pointer; }
        body .container .content form div.submit input[disabled] {
          cursor: not-allowed; }
    body .container .content form div.input.hidden {
      display: none; }
    body .container .content form .buttons {
      padding-top: 20px;
      overflow: hidden; }
      body .container .content form .buttons a {
        float: left;
        line-height: 34px; }
      body .container .content form .buttons .submit {
        padding-top: 0;
        padding-left: 20px;
        float: left; }
        body .container .content form .buttons .submit input {
          cursor: pointer; }
    body .container .content form .person hr {
      margin-bottom: 20px;
      border: none;
      border-bottom: 1px #eee solid; }
    body .container .content form hr.mainhr {
      margin-top: 10px;
      margin-bottom: 20px;
      border: none;
      border-bottom: 1px #bbb solid;
      text-align: right; }
    body .container .content form .price {
      text-align: right;
      font-size: 16px;
      font-weight: bold; }
    body .container .content form .day, body .container .content form .tasting {
      display: none; }
      body .container .content form .day.active, body .container .content form .tasting.active {
        display: block; }
    body .container .content form .busAdditional {
      display: none; }
      body .container .content form .busAdditional.open {
        display: block; }
    body .container .content form .tastingBlock .title {
      padding-bottom: 10px; }
    body .container .content form .tastingRegistration {
      overflow: hidden; }
      body .container .content form .tastingRegistration .title {
        padding-top: 10px;
        cursor: pointer;
        font-weight: bold;
        font-size: 16px; }
        body .container .content form .tastingRegistration .title i {
          color: red; }
      body .container .content form .tastingRegistration .description {
        box-sizing: border-box;
        max-height: 0;
        padding: 0;
        opacity: 0;
        overflow: hidden;
        transition: all 0.5s; }
        body .container .content form .tastingRegistration .description.open {
          max-height: none;
          padding: 10px 0;
          opacity: 1; }
          body .container .content form .tastingRegistration .description.open .inputs {
            padding-top: 10px; }
          body .container .content form .tastingRegistration .description.open .input.checkbox {
            padding: 0; }
      body .container .content form .tastingRegistration.open {
        display: block; }
    body .container .content form .buttons.additional {
      display: flex;
      justify-content: right;
      padding-top: 30px; }
      body .container .content form .buttons.additional div.submit input {
        font-size: 14px; }
  body .container .content form#UserRegisterPrivateForm .invoice_italy, body .container .content form#UserRegisterCompanyForm .invoice_italy {
    display: none; }
    body .container .content form#UserRegisterPrivateForm .invoice_italy.active, body .container .content form#UserRegisterCompanyForm .invoice_italy.active {
      display: block; }
body .container .content form#UserSettingsForm div.input.radio {
  padding-top: 0; }
  body .container .content form#UserSettingsForm div.input.radio legend {
    display: block;
    width: 230px;
    float: left;
    box-sizing: border-box;
    padding-right: 20px;
    vertical-align: middle;
    font-family: Verdana, sans-serif;
    font-size: 12px; }
  body .container .content form#UserSettingsForm div.input.radio input {
    clear: none; }
body .container .content #apiResponseNotes {
  max-width: 500px;
  margin-bottom: 12px; }
  body .container .content #apiResponseNotes textarea, body .container .content #apiResponseNotes label {
    width: 100%; }
body .container .content #invoiceItaly {
  display: none; }
  body .container .content #invoiceItaly.active {
    display: block; }
body .container .content #UserBookForm .masterclass legend {
  width: 100%; }
body .container .content #UserBookForm .input.appointment label {
  width: auto; }
body .container .content #UserBookForm hr {
  border: none;
  border-bottom: 1px #ddd solid; }
body .container .content .login .links {
  padding-top: 10px; }
  body .container .content .login .links a {
    display: inline-block;
    margin-right: 15px; }
body .container .content dl.summary {
  overflow: hidden;
  padding: 20px 0; }
  body .container .content dl.summary dt, body .container .content dl.summary dd {
    float: left;
    padding-bottom: 10px; }
  body .container .content dl.summary dt {
    clear: both;
    width: 305px; }
  body .container .content dl.summary dd {
    font-weight: bold; }
body .container .content .tasting dl.summary {
  padding-bottom: 0; }
body .container .content .descriptionShuttle {
  display: none; }
  body .container .content .descriptionShuttle.open {
    display: block; }
body .cake-sql-log {
  background: white;
  padding: 20px;
  margin-top: 30px; }
  body .cake-sql-log caption {
    padding-bottom: 10px; }
body .mark {
  border: 1px solid red;
  padding: 10px; }

.modal {
  position: fixed;
  inset: 0;
  background: #0001;
  backdrop-filter: blur(4px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 15px; }
  .modal .content {
    padding: 25px !important;
    padding-top: 50px !important;
    position: relative; }
  .modal .close {
    position: absolute;
    top: 0;
    right: 0;
    background: #333;
    color: white;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center; }
  .modal .actions {
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: center;
    margin-top: 25px; }
    .modal .actions .submit {
      padding-top: 0 !important; }
  .modal .loading {
    text-align: center; }
    .modal .loading i {
      animation: spin 0.8s linear infinite; }
  .modal a.btn {
    padding: 6px 10px; }
    .modal a.btn.btn-secondary {
      background: gray; }

.footer {
  background-color: #333333;
  padding: 25px 0;
  color: #fff; }
  .footer a {
    color: #fff;
    font-weight: bold; }
  .footer .socials, .footer .langmenu {
    display: flex;
    gap: 15px;
    justify-content: end; }
  .footer .container {
    display: flex;
    gap: 20px;
    padding: 80px 20px 40px;
    flex-wrap: wrap;
    justify-content: space-between; }
  .footer .footer-2 {
    text-align: right; }

@keyframes spin {
  from {
    transform: rotate(0deg); }
  to {
    transform: rotate(360deg); } }
