@font-face {
  font-family: Inderes Heading;
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/fonts/GT-America-Condensed-Black.woff2) format("woff2");
}

@font-face {
  font-family: Inderes Heading;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/GT-America-Condensed-Bold.woff2) format("woff2");
}

@font-face {
  font-family: Inderes Heading;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/GT-America-Condensed-Medium.woff2) format("woff2");
}

@font-face {
  font-family: Inderes Heading;
  font-style: italic;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/GT-America-Condensed-Medium-Italic.woff2) format("woff2");
}

@font-face {
  font-family: Inderes;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/GT-America-Standard-Regular.woff2) format("woff2");
}

@font-face {
  font-family: Inderes;
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/GT-America-Standard-Regular-Italic.woff2) format("woff2");
}

@font-face {
  font-family: Inderes;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/GT-America-Standard-Bold.woff2) format("woff2");
}

@font-face {
  font-family: Inderes;
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/GT-America-Standard-Bold-Italic.woff2) format("woff2");
}

@font-face {
  font-family: Inderes Mono;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/Inconsolata-Regular.woff2) format("woff2"),
    url(/fonts/Inconsolata-Regular.ttf) format("truetype");
}

@font-face {
  font-family: Inderes Mono;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/Inconsolata-SemiBold.woff2) format("woff2"),
    url(/fonts/Inconsolata-SemiBold.ttf) format("truetype");
}

@font-face {
  font-family: Inderes Mono;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/ChivoMono-Regular.woff2) format("woff2"),
    url(/fonts/ChivoMono-Regular.ttf) format("truetype");
  unicode-range: u+0030-0039, u+0025, u+002c, u+002d, u+002e, u+003a, u+003b,
    u+003d, u+005c, u+005f, u+007c, u+002f;
}

@font-face {
  font-family: Inderes Mono;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(/fonts/ChivoMono-Regular.woff2) format("woff2"),
    url(/fonts/ChivoMono-Regular.ttf) format("truetype");
  unicode-range: u+0030-0039, u+0025, u+002c, u+002d, u+002e, u+003a, u+003b,
    u+003d, u+005c, u+005f, u+007c, u+002f;
}

:root {
  --inderes-blue: #3F3EFF;
  --white: #fff;
  --black: #000;
  --light-green: #d4fcb3;
  --light-blue: #bac8ff;
  --grey: #e1dcdc;
  --light-grey: #efefef;
  --light-red: #fccebe;

  --h1-font: 900 clamp(1.5rem, 5vw, 3.25rem) / .9em "Inderes Heading", sans-serif;
  --h2-font: 900 clamp(1.25rem, 3vw, 2.2rem) / 1em "Inderes Heading", sans-serif;
  --h3-font: 700 clamp(1.1rem, 2.5vw, 1.25rem) / 1.1em "Inderes", sans-serif;

  font-size: clamp(16px, 2vw, 18px);
}

html {
  display: flex;
  justify-content: stretch;
}

body {
  margin: 0;
  font-family: "Inderes", sans-serif;
  text-rendering: optimizelegibility;
  font-feature-settings: "calt", "clig", "kern", "liga", "locl", "rlig";
  color: var(--black);
  background-color: var(--white);
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: stretch;
}

h1 {
  font: var(--h1-font);
  color: var(--inderes-blue);
  text-transform: uppercase;
  margin: 0 0 .25em;
}

h2 {
  font: var(--h2-font);
}

h3 {
  font: var(--h3-font);
}

h5 {
  font-size: 16px;
}

h6 {
  font-weight: 400;
  line-height: normal;
}

p {
  margin: 1em 0;
}

p.strong {
  font-weight: 700;
}

a {
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

.container {
  width: 100%;
  max-width: 800px;
}

@media screen and (min-width: 768px) {
  .container {
    margin: 0;
  }
}

button {
  font-family: 'Inderes Heading', sans-serif;
  min-height: 2.25em;
  padding: 0 2em;
  font: inherit;
  font-size: 1.1em;
  font-weight: 700;
  color: var(--inderes-blue);
  border-radius: 0;
  border: 1px solid var(--grey);
  cursor: pointer;
  transition: .2s ease-out;
}

button:hover {
  border-color: var(--inderes-blue);
}

button#submit, button.submit {
  background-color: var(--inderes-blue);
  color: var(--white);
  display: flex;
  align-items: center;
  gap: 1em;
  padding: 0 .5em 0 1em;
  margin: 0 0 0 auto;
  border-color: var(--inderes-blue);
}

button#submit::after, button.submit::after {
  content: '';
  background: no-repeat center/cover url(/imgs/icons/arrow-blue-circle.svg);
  display: block;
  width: 1.45em;
  height: 1.45em;
  flex-shrink: 0;
}

button#submit:hover, button.submit:hover {
  border-radius: 40px;
}

td {
  vertical-align: top;
}

.nowrap {
  white-space: nowrap;
}

::selection {
  background-color: var(--light-green);
  color: var(--black);
}

.content {
  max-width: 760px;
}

hr {
  border-top: 1px solid #535259;
  margin-left: 10px;
}


/* Header */
header {
  align-self: stretch;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0;
  background-color: var(--inderes-blue);
}

.header-content {
  display: flex;
  justify-content: space-between;
  align-items: end;
  padding: 4rem 1rem 1.5rem;
}

.header_nav a {
  font-size: 1rem;
  color: var(--white);
}

.language-selector {
  position: relative;
}

.lang-dropdown-btn {
  min-height: 0px;
  background: none;
  color: white;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  font-weight: 500;
}

.lang-dropdown-content {
  display: none;
  position: absolute;
  right: 0;
  background-color: white;
  min-width: 120px;
  box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
  z-index: 1000;
  border-radius: 4px;
}

.lang-dropdown-content a {
  color: black !important;
  padding: 12px 16px;
  text-decoration: none;
  display: block;
}

.lang-dropdown-content a:hover {
  background-color: #f1f1f1;
}

.lang-dropdown-content a.active {
  font-weight: bold;
  background-color: rgba(0,0,0,0.05);
}

.lang-dropdown:hover .lang-dropdown-content {
  display: block;
}

.header__logo {
  width: 100px;
}

.header_nav li {
  display: inline-block;
}

.header_nav li.not-important {
  display: none;
  @media screen and (min-width: 768px) {
    display: inline-block;
  }
}

ul.no-list {
  list-style-type: none;
  margin: 0;
  display: flex;
  gap: 2rem;
}

/* Main content */
main {
  display: grid;
  grid-template: ". slogan ." auto
                 ". content ." auto / auto max-content auto;
  padding: 4rem 0;
  .inderes {
    background: url(/imgs/illustrations/main-flowers.svg) top right / 20vw auto no-repeat, url(/imgs/illustrations/footer-flowers-top.svg) bottom left / 20vw auto no-repeat;
  }
}

a[name="top"], .slogan {
  grid-area: slogan;
}

.content {
  grid-area: content;
}

.order-form {
  margin-top: 2rem;
}

#error {
  display: none;
  min-height: 15vh;
}

#error-msg {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 1.25rem;
  background-color: var(--light-red);
  border-radius: 4px;
  border: 1px solid #ff000090;
  width: fit-content;
  padding: 1.5em 4em;
  margin: 0.25rem 0;
  opacity: 0;
  z-index: -1;
  transition: .3s ease-out;
}

#error-msg.mdl-snackbar--active {
  opacity: 1;
  z-index: 1;
}

#error-msg .mdl-snackbar__text {
  color: red;
}

#error-msg.ok {
  background-color: var(--white);
  border: 2px solid #0078ff;
  color: var(--black);
}

#error-msg.ok .mdl-snackbar__text {
  color: var(--black);
}

.mdl-snackbar__action {
  display: none;
}

.form-row {
  display: grid;
  gap: .2rem;
  margin-bottom: .75em;
}

label {
  font-size: max(16px, .95rem);
}

input,
textarea {
  min-height: 2.25em;
  background-color: var(--light-grey);
  border: 1px solid var(--grey);
  padding: 0 .5em;
  font: inherit;
  transition: all .2s ease, height 0s;
}

textarea {
  padding-top: .5em;
  resize: vertical;
  max-height: 350px;
}

input:is(:hover, :focus) {
  outline: none;
  border-color: var(--black);
}

input:user-invalid,
.is-invalid input {
  border: 1px solid #ff000090;
  background-color: var(--light-red);
}

#toimitusehdot-btn {
  min-height: initial;
}

.shipmode {
  display: flex;
  align-items: center;
}

th {
  text-align: left;
  white-space: nowrap;
}

.overflow {
  overflow: auto;
  max-width: 100vw;
}

table.offer-lines, table.feedbcack-offer-lines  {
  border-collapse: collapse;
  width: 100%;
}

/**
  * These sections are shown/hidden by js. Hiding initially.
  */
#confirm-offer-updated,
#confirmed-offer-content,
#feedback-content,
#order-confirmation,
#order-form,
#order-offer {
  display: none;
}

.offer-lines th, .offer-lines td, .feedbcack-offer-lines th, .feedbcack-offer-lines td {
  padding-right: 0.5em;
  padding-left: 0.5em;
  border-top: 1px solid #efefef;
  vertical-align: middle;
}

.align-center {
  text-align: center;
}

.align-left {
  text-align: left;
}

.align-right {
  text-align: right;
}

.border-strong td {
  border-top: 2px solid #ddd;
}

/** Displayed after offer request is sent */
.flik-data {
  display: grid;
  row-gap: 0.5em;
}

.offer-head-line {}

.producer {}

.hidden-option {
  display: none;
}

.flik-form .mdl-textfield__input:disabled {}

.mdl-textfield.is-disabled.is-disabled .mdl-textfield__label {}

.flik-logo-image {
  width: 90px;
}

.mdl-layout__header-row .mdl-navigation__link {
  color: #001d3f;
}

.flik-header {}

.slogan {}

.flik-more-section {}

#order-offer .price, .feedbcack-offer-price .price {
  text-align: right;
}

.element-invisible {
  display: none;
}

#feedback-content, #confirmed-offer-content, #order-offer, #order-form, #order-confirmation  {
  max-width: 95vw;
}

@media screen and (min-width: 768px) {
  #feedback-content {
    max-width: 600px;
  }
}

.feedback-form {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.feedback-options {
  display: flex;
  flex-direction: row;  
  justify-content: space-between;
  align-items: center;
  width: 100%;  
}

.feedback-options input[type="radio"] {
  display: none;
}

.feedback-options label {
  padding: 5px;
  border-radius: 5px;
  cursor: pointer;
  background-color: #f0f0f0;
  margin: 5px;
  text-align: center;
  width: 100%;
}

@media screen and (min-width: 600px) {
  .feedback-options label {
    padding: 10px;
  }
}

.feedback-options input[type="radio"]:checked + label {
  background-color: #007bff;
  color: white;
}

.feedback-form-other-feedback p {
  margin-bottom: 0.5em;
}

.feedback-form-other-feedback,
.feedback-form-other-feedback__input {
  width: 100%;
  box-sizing: border-box;
}

/*
The following styles are added by the Material Design Lite library
And we are not using them.
.mdl-checkbox.is-checked .mdl-checkbox__box-outline {}
.mdl-checkbox.is-checked .mdl-checkbox__tick-outline {}

These were used in the past:
.mdl-data-table {}
.mdl-data-table b {}
.mdl-data-table th {}
.mdl-data-table tbody tr:hover,
.mdl-data-table tbody tr.is-selected {}
*/

.flik-offer-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5px 10px;
  background-color: #0078ff;
  color: #fff;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  text-align: center;
  text-decoration: none;
  font-size: 16px;
  width: max-content;
  min-width: 250px;
}

.flik-offer-btn:hover {
  background-color: #005bb5;
  text-decoration: none;
}

.flik-link {
  text-decoration: none;
  color: #0078ff !important;
}

.flik-offer-description-td {}

.flik-link:hover {}

.flik-offer-btn:hover {}

.light {}

.flik-link-menu:hover {
  cursor: pointer;
}

.header-background {
  background-color: #0666d2;
  color: #fff;
  padding: 10px;
  text-align: center;
}

/* In use by js */
.confirmation-value {}

.confirmation-description {}

.offer-details {
  margin-top: 1em;
  margin-bottom: 1em;
}

.offer-details-row {
  display: grid;
  grid-template-columns: 1fr;
  margin-bottom: .2em;
}

.offer-details-row > :first-child {
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .offer-details-row {
    grid-template-columns: 2fr 4fr;
  }
}

/* Footer */
/**
 * TODO: Refactor footer together with Flik-footer to have less copied/duplicated styles and classes
 */
.inderes {

footer {
  background-color: var(--inderes-blue);
  align-self: stretch;
  margin: 0 0 0;
  padding: 2rem 0 .5rem;
  position: relative;
  background-image: url(/imgs/illustrations/footer-flowers-btm.svg);
  background-size: 20vw auto;
  background-position: top left;
  background-repeat: no-repeat;
}

.footer-container {
  display: flex;
  flex-direction: column;
  margin-top: 4em;
  max-width: 800px;
}

.footer-content {
  margin-left: 1em;
  margin-right: 1em;
}

@media screen and (min-width: 768px) {
  .footer-container {
    display: grid;
    margin: 0 auto 2rem;
    grid-template-columns: 1fr max-content;
    gap: 4rem;
    justify-content: space-between;
    align-items: start;
    justify-items: end;  
  }

  .footer-content {
    margin: initial;
  }
}

.footer-container h2 {
  margin: 0 0 2rem;
  font: var(--h2-font);
  color: var(--white);
  text-transform: uppercase;
  text-wrap: balance;
}

.footer-links {
  display: flex;
  flex-direction: column;
  align-items: start;
  gap: .5rem;
  max-width: 180px;
  line-height: 1.25rem;
}

.footer-links b {
  font-weight: 700;
  font-family: "Inderes Heading", sans-serif;
  font-size: 1.05rem;
  color: var(--white);
  text-transform: uppercase;
}

.footer-links b:not(:first-of-type) {
  margin-top: .75rem;
}

.footer-links a {
  color: var(--white);
  position: relative;
}

.footer-links a::before {
  content: "\20dd";
  position: absolute;
  left: -2.5em;
  font-size: .75em;
  opacity: 0;
  transition: .2s ease-out;
}

.footer-links a:hover::before {
  opacity: 1;
  left: -1.5em;
}

footer p {
  padding: .75em 0 0;
  color: var(--light-green);
  font-weight: 900;
  font-family: "Inderes Heading", sans-serif;
  text-transform: uppercase;
  text-align: right;
  width: fit-content;
  transform: rotate(90deg) translateX(1em);
  transform-origin: 100% 0;
  position: absolute;
  bottom: 0;
  right: 0;
}
}
