body {
  background: url("/2021/assets/images/background.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  width: 100vw;
  height: 100%;
}
*,
*:before,
*:after {
  box-sizing: border-box;
}
.button {
  background-color: #fa551e;
  border: 0;
  color: #fff;
  border-radius: 4px;
  padding: 6px 12px;
}
header {
  width: 377px;
  height: 231px;
  background-image: url("/2021/assets/images/header-line.png");
  background-repeat: no-repeat;
  background-position: right bottom;
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  position: absolute;
  left: 0;
  right: 0;
  z-index: 200;
}
header a {
  background-image: url("/2021/assets/images/header-brand.png");
  background-image: url("/2021/assets/images/header-brand.svg");
  background-repeat: no-repeat;
  background-size: contain;
  display: block;
  width: 180px;
  height: 48px;
  margin-left: 40px;
  margin-bottom: 120px;
  text-indent: -5555px;
}
.app {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
.content {
  display: flex;
  flex: 1 0 auto;
  flex-direction: row;
  position: relative;
  min-height: 75vh;
}
.content > div {
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
}

.description-container {
  margin: 0 32px;
  color: #fff;
  text-shadow: 0px 2px 4px rgba(0, 0, 0, 0.43);
}
.description-container > div {
  max-width: 430px;
}
.description-container h2 {
  font-size: 40px;
}
.description-container p {
  font-size: 23px;
}
.description-container img {
  margin-bottom: 35px;
}
.form-container > div {
  padding: 24px 50px;
  max-width: 640px;
  background-color: rgba(255, 255, 255, 0.45);
  align-self: stretch;
  -webkit-backdrop-filter: blur(30px);
  backdrop-filter: blur(30px);
  position: relative;
}
.form-container .input > input {
  height: 40px;
  font-size: 14px;
  background-color: #fff;
  border-radius: 4px;
  border: 1px solid #ced4da;
  padding: 0 16px;
}
.form-container .input > input::placeholder {
  color: #a8aeb7;
}
.form-container .input > input:focus {
  outline: 0;
}
.form-container a {
  color: #fa551e;
}
.form-container .action-commands {
  display: flex;
  justify-content: flex-end;
}
.form-container button {
  margin-top: 28px;
  padding: 14px 22px;
}

/** checks **/
.checks {
  margin-top: 16px;
}
.check {
  color: #fff;
  text-shadow: 0px 2px 4px rgba(0, 0, 0, 0.43);
}
.check input,
.face input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

.checkmark {
  display: inline-flex;
  height: 24px;
  width: 39px;
  border-radius: 12px;
  background-color: #cbcbcb;
  position: relative;
  top: 6px;
}
.check input ~ .checkmark {
  position: relative;
}
.check input ~ .checkmark::before {
  content: " ";
  width: 18px;
  height: 18px;
  border-radius: 9px;
  background-color: #fff;
  position: absolute;
  left: 3px;
  top: 3px;
}
.check input:checked ~ .checkmark {
  background-color: #fa551e;
}
.check input:checked ~ .checkmark::before {
  background-color: #fff;
  left: initial;
  right: 3px;
}
/** checks **/

.options {
  display: flex;
}

.options > .o {
  color: #888;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.options > .o > span {
  margin: 8px 0;
}

.options > .o::before,
.options > .o::after {
  content: " ";
  width: 1px;
  display: flex;
  flex: 1 0 auto;
  background: #888;
}

.option {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1 0 auto;
  margin: 0 16px;
  text-align: center;
}

.option > span {
  font-size: 18px;
}

.input {
  display: flex;
  flex-direction: column;
  margin-top: 16px;
  flex: 1;
  flex-grow: 1;
  position: relative;
}
.small-iput-info {
  font-size: 10px !important;
  position: absolute;
  right: 0;
}

.input-with-label {
  position: relative !important;
  margin-top: 0 !important;
}

.input-with-label span {
  color: #000 !important;
  position: absolute !important;
  top: 14px;
  left: 16px;
  text-shadow: none !important;
}

.input-with-label input {
  text-align: right;
}

.input span {
  color: #fff;
  min-height: 20px;
  line-height: 1.2;
  margin-bottom: 6px;
  display: block;
  font-size: 14px;
  text-shadow: 0px 2px 4px rgba(0, 0, 0, 0.43);
}

.input > div > span:last-child {
  text-align: right;
}
.card-image {
  max-width: 127px;
}

.mandatory_fields {
  position: absolute;
  right: 0;
  bottom: 0;
  color: #888;
  padding: 8px 16px;
  border-radius: 16px;
  margin: 16px;
  font-size: 12px;
}
.caption {
  font-size: 10px !important;
}
.error,
.success {
  background-color: red;
  color: white;
  padding: 6px;
  display: inline-block;
  margin-top: 8px;
  border-radius: 16px;
}

.success {
  background-color: green;
}

.block {
  display: block;
}
h1 {
  font-size: 30px;
  font-weight: bold;
}
.description-container h1 {
  text-align: center;
  max-width: 594px;
}
.extra-letter,
.extra-letter p {
  display: inline-block;
  text-align: center;
  font-size: 20px;
  margin-top: 23px;
}
.footer a,
.footer span {
  color: #fff;
  margin: 0 16px;
  text-decoration: none;
}
.footer {
  display: flex;
  flex-direction: row;
  padding: 47px;
}
.footer .left-menu,
.footer .right-menu {
  flex: 1;
  display: flex;
  flex-direction: row;
}
.footer .right-menu {
  justify-content: flex-end;
}
.partner-logo {
  width: 200px;
  height: 85px;
  background-image: url("/images/galp-footer-brand.png");
  background-repeat: no-repeat;
  background-position: right center;
  background-size: contain;
  position: absolute;
  top: 63px;
  right: 40px;
  z-index: 300;
}
.form-container > .partner-logo {
  background-color: transparent;
  position: initial;
  top: auto;
  right: auto;
  left: auto;
  align-self: flex-end;
  margin: 24px 72px;
}
#cookies-modal {
  background-color: #fff;
  position: absolute;
  width: 403px;
  left: 32px;
  bottom: 32px;
  padding: 26px;
  font-size: 9.4px;
}
#cookies-modal .buttons {
  margin-top: 21px;
  display: flex;
  justify-content: flex-end;
}
#cookies-modal .button {
  font-size: 7.5px;
  margin-left: 16px;
}
.mobile-align-center {
  justify-content: center !important;
  align-items: center;
}

/* Reset Select */
select {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  appearance: none;
  outline: 0;
  box-shadow: none;
  border: 1px solid #ced4da;
  background: #fff;
  background-image: none;
}
/* Remove IE arrow */
select::-ms-expand {
  display: none;
}
/* Custom Select */
.select {
  position: relative;
  display: flex;
  height: 40px;
  background: #fff;
  overflow: hidden;
  border-radius: 4px;
}
select {
  flex: 1;
  font-family: "Canaro", sans-serif;
  color: #000;
  cursor: pointer;
  padding: 0 16px;
}
/* Arrow */
.select::after {
  display: flex;
  align-items: center;
  justify-content: center;
  content: "\25BC";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  padding: 0 16px;
  font-size: 12px;
  background: transparent;
  cursor: pointer;
  pointer-events: none;
  -webkit-transition: 0.25s all ease;
  -o-transition: 0.25s all ease;
  transition: 0.25s all ease;
  color: #888;
}
/* Transition */
.select:hover::after {
  color: #fa551e;
}

/* For ipad: */
@media (max-width: 991.98px) {
  body {
    height: 100%;
  }
  header {
    position: initial;
    left: initial;
    right: initial;
    margin-bottom: 51px;
  }
  .partner-logo {
    right: 44px;
  }
  .content {
    flex-direction: column;
    min-height: initial;
  }
  .content > div.not-center {
    align-items: initial;
  }
  .description-container h2 {
    font-size: 36px;
  }
  .description-container p {
    font-size: 19px;
    margin-bottom: 99px;
  }
  .form-container > div {
    max-width: initial;
    margin: 0 44px 87px 44px;
  }
  .options {
    flex-direction: column;
  }
  .description-container img {
    margin-bottom: 28px;
  }
  .input {
    margin-left: 0 !important;
  }
  .footer {
    background-color: #fff;
    flex-direction: row;
    align-items: flex-start;
  }
  .footer .left-menu,
  .footer .right-menu {
    flex-direction: column;
  }
  .footer a,
  .footer span {
    display: inline-block;
    color: #5a6473;
    margin-bottom: 16px;
    font-size: 14px;
  }
}

/* For iphone: */
@media (max-width: 767.98px) {
  header {
    height: 148px;
    margin-bottom: 16px;
    background-position: -220px bottom;
  }
  .description-container img {
    margin-bottom: 8px;
  }
  .description-container p {
    margin-bottom: 32px;
  }
  header a {
    margin-left: 32px;
    margin-bottom: 64px;
  }
  .partner-logo {
    right: 16px;
  }
  .form-container > div {
    margin: 0;
    padding: 24px;
  }
  .footer {
    flex-direction: column;
  }
  .footer .left-menu,
  .footer .right-menu {
    flex-direction: column;
  }
  .footer a,
  .footer span {
    display: inline-block;
    margin-bottom: 16px;
    font-size: 14px;
  }
}
