/*
 * Proportional function
 * Help compute proportional size in rem according to the width
*/
.wpcf7 form .wpcf7-response-output {
  font: 400 max(1rem, 0.9375dvw)/1.33 "Schibsted Grotesk", sans-serif;
  letter-spacing: -0.01875dvw;
}

/* =========================
 * == Highlighting texts
 ========================= */
mark {
  --_highlighted-color-from: var(--highlighted-color-from, white);
  --_highlighted-color-to: var(--highlighted-color-to, rgba(255, 255, 255, 0));
  padding-left: 0.17ch;
  margin-left: -0.17ch;
  background: linear-gradient(90deg, var(--_highlighted-color-from) 0%, var(--_highlighted-color-to) 100%) no-repeat 0 50%;
  background-size: 0 100%;
  animation: mark-reveal 1.5s ease-out forwards;
  color: inherit;
}

@keyframes mark-reveal {
  to {
    background-size: 100% 100%;
  }
}
/* =================
 * == Over titles
 =================== */
.over-title {
  position: relative;
  text-transform: uppercase;
  font: 400 max(1.125rem, 0.9375dvw)/normal "Fjalla One", sans-serif;
  letter-spacing: -0.05625rem;
}

.wpcf7 form .wpcf7-response-output {
  border: none;
  margin: 0;
}
.wpcf7 form.failed .wpcf7-response-output, .wpcf7 form.aborted .wpcf7-response-output {
  color: red;
}
.wpcf7 form.sent .wpcf7-response-output {
  color: green;
}
.wpcf7 form.spam .wpcf7-response-output {
  color: orange;
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output {
  color: black;
}

.input-text {
  width: 100%;
}
.input-text input {
  border: 1px solid var(--form-color, rgba(0, 0, 0, 0.08));
  font: 18px/0.3333333333 "Schibsted Grotesk", sans-serif;
  padding: 14px;
  min-height: 48px;
  width: 100%;
  letter-spacing: -0.36px;
}
.input-text--outlined input {
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--form-color, #000);
  padding: 0 0 18px;
  min-width: unset;
  min-height: unset;
  width: 100%;
}
@media screen and (max-width: 1024px) {
  .input-text--outlined input {
    padding: 6px 0;
  }
}
.input-text--outlined input::placeholder {
  color: var(--_placeholder-color);
}
.input-text--half {
  width: calc((100% - var(--form-gap)) / 2);
}
@media screen and (max-width: 1024px) {
  .input-text--half {
    width: 100%;
  }
}

.input-textarea {
  width: 100%;
}
.input-textarea--half {
  width: calc((100% - var(--form-gap)) / 2);
}
@media screen and (max-width: 1024px) {
  .input-textarea--half {
    width: 100%;
  }
}
.input-textarea textarea {
  resize: vertical;
  border: 1px solid var(--form-color, rgba(0, 0, 0, 0.08));
  font: 16px/19px "Schibsted Grotesk", sans-serif;
  padding: 14px;
  min-width: 366px;
  min-height: 48px;
  width: 100%;
}
.input-textarea--outlined textarea {
  border: none;
  border-bottom: 1px solid var(--form-color, #000);
  background: transparent;
  padding: 0 0 18px;
  min-width: unset;
  min-height: unset;
  width: 100%;
}
.input-textarea--outlined textarea::placeholder {
  color: var(--_placeholder-color);
}

.input-checkbox {
  width: 100%;
}
.input-checkbox__label {
  font: 400 18px/26px "Schibsted Grotesk", sans-serif;
}
.input-checkbox .wpcf7-checkbox .wpcf7-list-item, .input-checkbox .wpcf7-acceptance .wpcf7-list-item {
  margin-left: 0;
}
.input-checkbox .wpcf7-checkbox .wpcf7-list-item label input, .input-checkbox .wpcf7-acceptance .wpcf7-list-item label input {
  display: none;
}
.input-checkbox .wpcf7-checkbox .wpcf7-list-item label .wpcf7-list-item-label:before,
.input-checkbox .wpcf7-checkbox .wpcf7-list-item label .input-radio__item__label:before, .input-checkbox .wpcf7-acceptance .wpcf7-list-item label .wpcf7-list-item-label:before,
.input-checkbox .wpcf7-acceptance .wpcf7-list-item label .input-radio__item__label:before {
  content: " ";
  display: inline-block;
  margin-right: 10px;
  height: 10px;
  width: 10px;
  border: 1px solid rgba(0, 0, 0, 0.5);
  background: transparent;
  transition: all 0.3s ease-in-out;
}
.input-checkbox .wpcf7-checkbox .wpcf7-list-item label input:checked + .wpcf7-list-item-label:before, .input-checkbox .wpcf7-checkbox .wpcf7-list-item label input:checked + .input-radio__item__label:before, .input-checkbox .wpcf7-acceptance .wpcf7-list-item label input:checked + .wpcf7-list-item-label:before, .input-checkbox .wpcf7-acceptance .wpcf7-list-item label input:checked + .input-radio__item__label:before {
  border-color: #000;
  background: #000;
}

.input-dropdown {
  position: relative;
  width: 100%;
}
.input-dropdown:after {
  content: " ";
  position: absolute;
  height: 10px;
  width: 10px;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  background: url(/wp-content/themes/lesbonstech/assets/images/icons/arrow-down.svg) no-repeat center center;
  background-size: contain;
}
.input-dropdown--half {
  width: calc((100% - var(--form-gap)) / 2);
}
.input-dropdown select {
  border: 1px solid var(--form-color, rgba(0, 0, 0, 0.08));
  font: 16px/19px "Schibsted Grotesk", sans-serif;
  padding: 14px;
  min-width: 366px;
  min-height: 48px;
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.input-dropdown--outlined select {
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--form-color, #000);
  padding: 10px 0;
  min-width: unset;
  min-height: unset;
  width: 100%;
}

.input-file {
  display: flex;
  gap: 6px;
  align-items: flex-end;
  color: rgba(0, 0, 0, 0.49);
}
.input-file::before {
  content: " ";
  height: 25px;
  width: 25px;
  background: url(/wp-content/themes/lesbonstech/assets/images/icons/download.svg) no-repeat center;
  background-size: contain;
}
.input-file input[type=file] {
  display: none;
}

.input-radio {
  width: 100%;
}
.input-radio__label {
  font: 400 18px/26px "Schibsted Grotesk", sans-serif;
}
.input-radio .wpcf7-radio .wpcf7-list-item label input,
.input-radio label.input-radio__item input {
  display: none;
}
.input-radio .wpcf7-radio .wpcf7-list-item label .wpcf7-list-item-label:before,
.input-radio .wpcf7-radio .wpcf7-list-item label .input-radio__item__label:before,
.input-radio label.input-radio__item .wpcf7-list-item-label:before,
.input-radio label.input-radio__item .input-radio__item__label:before {
  content: " ";
  display: inline-block;
  margin-right: 10px;
  height: 10px;
  width: 10px;
  border: 1px solid rgba(0, 0, 0, 0.5);
  background: transparent;
  transition: all 0.3s ease-in-out;
}
.input-radio .wpcf7-radio .wpcf7-list-item label input:checked + .wpcf7-list-item-label:before, .input-radio .wpcf7-radio .wpcf7-list-item label input:checked + .input-radio__item__label:before,
.input-radio label.input-radio__item input:checked + .wpcf7-list-item-label:before,
.input-radio label.input-radio__item input:checked + .input-radio__item__label:before {
  border-color: #000;
  background: #000;
}

.input-search {
  display: flex;
  flex-flow: row nowrap;
  gap: 12px;
}
.input-search label {
  flex: 1;
}
.input-search input {
  border: 1px solid rgba(0, 0, 0, 0.08);
  font: 16px/19px "Schibsted Grotesk", sans-serif;
  padding: 15px;
  min-width: 366px;
  min-height: 48px;
}
@media screen and (max-width: 1024px) {
  .input-search input {
    width: 100%;
    min-width: auto;
  }
}

.input-submit {
  position: relative;
  display: flex;
  flex-flow: row-reverse nowrap;
  justify-content: flex-end;
  gap: 5px;
}
.input-submit .wpcf7-spinner {
  order: 2;
  margin-left: auto;
}
.input-submit--btn {
  width: 100%;
  flex-direction: row;
  align-items: center;
}
.input-submit--btn .btn {
  font-weight: 500;
}
.input-submit--btn .wpcf7-spinner {
  display: none;
}

.wpcf7-form.submitting .input-submit--btn .wpcf7-spinner {
  display: block;
  margin: 0;
  flex-shrink: 0;
}

form {
  --form-gap: 62px;
  --_placeholder-color: var(--placeholder-color, rgba(21, 42, 69, 0.7));
  display: flex;
  flex-flow: row wrap;
  justify-content: end;
  gap: var(--form-gap);
}
@media screen and (max-width: 1024px) {
  form {
    --form-gap: 25px;
  }
}
form label {
  width: 100%;
}
form span {
  font-family: "Schibsted Grotesk", sans-serif;
}
form input::placeholder {
  font-family: "Schibsted Grotesk", sans-serif;
}

.accordion-item:first-child .accordion-item__title {
  padding-top: 0;
}
.accordion-item__title {
  cursor: pointer;
  padding: var(--_accordion__margin) 0;
  display: flex;
  justify-content: space-between;
  gap: 10px;
}
.accordion-item__title > * {
  font-size: max(18px, 1.3541666667dvw);
  letter-spacing: -0.0885416667dvw;
}
.accordion-item__icon {
  display: block;
  flex-shrink: 0;
  width: var(--_accordion__button-size);
  height: var(--_accordion__button-size);
  position: relative;
}
@media screen and (max-width: 1024px) {
  .accordion-item__icon {
    width: 28px;
    height: 28px;
  }
}
.accordion-item__icon > * {
  height: 3px;
  width: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #152B46;
  transition: transform 1s cubic-bezier(0.2, 0.9, 0.5, 1);
}
@media screen and (max-width: 1024px) {
  .accordion-item__icon > * {
    height: 2px;
  }
}
.accordion-item__icon > *:nth-child(2) {
  transform: translate(-50%, -50%) rotate(90deg);
}
.accordion-item__content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s cubic-bezier(0.2, 0.9, 0.5, 1);
}
.accordion-item__content__wrapper {
  padding-bottom: 40px;
}
.accordion-item:not(:last-child) {
  border-bottom: 1px solid var(--_accordion__separator-color);
}
.accordion-item:last-child {
  border-bottom: 1px solid var(--_accordion__last-border);
}
.accordion-item.open .accordion-item__icon > *:nth-child(2) {
  transform: translate(-50%, -50%) rotate(180deg);
}
.accordion-item.open .accordion-item__content {
  max-height: var(--max-height, 1000px);
}

.accordion {
  --_accordion__separator-color: var(--accordion__separator-color, #152B46);
  --_accordion__last-border: var(--accordion__last-border, transparent);
  --_accordion__margin: var(--accordion__margin, 20px);
  --_accordion__button-size: var(--accordion__button-size, 42px);
  display: flex;
  flex-flow: column nowrap;
}

.section-accordion {
  padding: 6.25dvw 0 2.6041666667dvw;
  background: linear-gradient(270deg, rgba(255, 255, 255, 0) -3.79%, #FFF 71.01%);
  backdrop-filter: blur(95px);
}
@media screen and (max-width: 1024px) {
  .section-accordion {
    padding: 6.4864864865dvh 0;
  }
}
.section-accordion .container {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
  gap: 8.4375dvw;
}
@media screen and (max-width: 1024px) {
  .section-accordion .container {
    flex-flow: column nowrap;
  }
}
.section-accordion__right * + .accordion {
  margin-top: 11.1111111111dvh;
}
@media screen and (max-width: 1024px) {
  .section-accordion__right * + .accordion {
    margin-top: 4.3243243243dvh;
  }
}
.section-accordion__left {
  max-width: 20.0520833333dvw;
  width: 100%;
}
@media screen and (max-width: 1024px) {
  .section-accordion__left {
    max-width: 100%;
  }
}
.section-accordion__content {
  flex: 1;
}
.section-accordion__content .button {
  margin-top: 50px;
}
.section-accordion__content__title {
  margin-bottom: 6.4864864865dvh;
}

.contact {
  background: #FD5E3E;
  padding: 11.1111111111dvh 7.2916666667dvw;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  gap: max(20px, 1.5625dvw);
  align-items: flex-end;
}
@media screen and (max-width: 1024px) {
  .contact {
    gap: max(20px, 7.8947368421dvw);
  }
}
.contact header {
  color: #fff;
  max-width: 25.5729166667dvw;
}
@media screen and (max-width: 1024px) {
  .contact header {
    max-width: 100%;
  }
}
.contact header .over-title {
  display: block;
  margin-bottom: 10px;
}
.contact header .heading-1 {
  letter-spacing: -0.2864583333dvw;
}
.contact header .heading-1 .button-arrow {
  vertical-align: middle;
}
.contact__content {
  display: flex;
  flex-flow: column nowrap;
  gap: 4.6296296296dvh;
  max-width: 28.6979166667dvw;
}
@media screen and (max-width: 1024px) {
  .contact__content {
    max-width: 100%;
  }
}
.contact__content .p-content {
  color: #fff;
}
.contact__buttons {
  display: flex;
  flex-flow: row wrap;
  gap: 15px;
}
.contact .button {
  --btn-hover-background-color: #fff;
  --btn-hover-color: #152B46;
}

main .background-1 {
  padding-top: calc(var(--header-free, 0dvh) + 7dvh);
  position: relative;
}
main .background-1::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -10;
  background: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="1920" height="2327" viewBox="0 0 1920 2327" fill="none"><path d="M0 -22H1920V3368H0V-22Z" fill="url(%23paint0_linear_2092_2831)"/><defs><linearGradient id="paint0_linear_2092_2831" x1="1349" y1="440" x2="1587.83" y2="3387.95" gradientUnits="userSpaceOnUse"><stop stop-color="white"/><stop offset="0.486956" stop-color="%230095FC"/><stop offset="0.97" stop-color="%23152B46"/></linearGradient></defs></svg>');
  background-size: cover;
}
main .section-1 {
  padding-bottom: 12.962962963dvh;
}
@media screen and (max-width: 1024px) {
  main .section-1 {
    padding-bottom: 6.7567567568dvh;
  }
}
main .section-1 header {
  padding: 0 7.2916666667dvw;
  margin-bottom: max(20px, 1.5625dvw);
}
main .section-1__content {
  --left-width: 20.2604166667%;
  --right-width: 59.4791666667%;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  padding-left: 7.2916666667dvw;
}
@media screen and (max-width: 1024px) {
  main .section-1__content {
    --left-width: 100%;
    --right-width: 100%;
    padding-right: 7.2916666667dvw;
  }
}
main .section-1__content--details {
  max-width: var(--left-width, 0dvw);
}
main .section-1__content--details > .p-content {
  margin-bottom: 6.25dvw;
}
main .section-1__content--details .p-content a {
  color: inherit;
  text-decoration: none;
  text-underline-offset: 0.15em;
  transition: color 0.2s ease-in-out;
}
main .section-1__content--details .p-content a:hover {
  color: #FD5E3E;
}
main .section-1__content--form {
  margin-top: min(-2.75rem, -5.7291666667dvw);
  width: 100%;
  max-width: var(--right-width, 0dvw);
  background: linear-gradient(270deg, rgba(255, 255, 255, 0) 5.77%, rgba(255, 255, 255, 0.4) 71.01%);
  backdrop-filter: blur(30px);
  padding: 7.2916666667dvw;
}
@media screen and (max-width: 1024px) {
  main .section-1__content--form {
    margin-top: 6.7567567568dvh;
  }
}
main .section-1 .contact-details {
  display: flex;
  flex-flow: column nowrap;
  gap: max(30px, 3.4375dvw);
}
main .section-1__buttons {
  display: flex;
  flex-flow: row wrap;
  gap: max(15px, 1.0416666667dvw);
  margin-top: max(30px, 3.4375dvw);
}
main .section-3 {
  padding: 10.4166666667dvw 0;
}