/* That's 17px, having set font size on HTML element below */
/* That's 19.5px, having set font size on HTML element below */
/* That's 24px */
body {
  background: #141414;
  color: #f1f3f1;
  /*#reviews-press {
      .review-press {
          border-top-color: $swatchTextReverse;
      }
  }*/
    /*div.panel {
        td.yes span {
            background-color: $swatchTextReverse;
        }

        tr {
            border-bottom-color: $swatchBackgroundReversePrimary;
        }

        tr:hover {
            background:$swatchBackgroundReversePrimary;
        }
    }*/ }
  body #author {
    border-bottom-style: solid;
    border-bottom-width: 0.2rem;
    border-image: linear-gradient(to right, #77300e, #d25519, #77300e) 1; }
  body #editions #editions-01 {
    border-image: linear-gradient(to right, #77300e, #d25519, #77300e) 1; }
  body #editions #editions-02 {
    border-image: linear-gradient(to right, #333333, #737373, #333333) 1; }
  body .feature {
    background-color: #141414; }
    body .feature a, body .feature #editions .accordion:after, #editions body .feature .accordion:after, body .feature footer p#newsletter-signup, footer body .feature p#newsletter-signup, body .feature div.ribbon p, div.ribbon body .feature p {
      text-decoration-color: white; }
    body .feature a:link, body .feature #editions .accordion:link:after, #editions body .feature .accordion:link:after, body .feature footer p#newsletter-signup:link, footer body .feature p#newsletter-signup:link, body .feature div.ribbon p:link, div.ribbon body .feature p:link {
      color: #252b25; }
    body .feature a:hover, body .feature #editions .accordion:hover:after, #editions body .feature .accordion:hover:after, body .feature footer p#newsletter-signup:hover, footer body .feature p#newsletter-signup:hover, body .feature div.ribbon p:hover, div.ribbon body .feature p:hover {
      color: #0d0f0d; }
    body .feature a:visited, body .feature #editions .accordion:visited:after, #editions body .feature .accordion:visited:after, body .feature footer p#newsletter-signup:visited, footer body .feature p#newsletter-signup:visited, body .feature div.ribbon p:visited, div.ribbon body .feature p:visited {
      color: #252b25; }
    body .feature a:active, body .feature #editions .accordion:active:after, #editions body .feature .accordion:active:after, body .feature footer p#newsletter-signup:active, footer body .feature p#newsletter-signup:active, body .feature div.ribbon p:active, div.ribbon body .feature p:active {
      color: #0d0f0d; }
    body .feature button {
      box-shadow: 0.075rem 0.075rem 0.15rem #252b25; }
      body .feature button a, body .feature button #editions .accordion:after, #editions body .feature button .accordion:after, body .feature button footer p#newsletter-signup, footer body .feature button p#newsletter-signup, body .feature button div.ribbon p, div.ribbon body .feature button p {
        text-shadow: none;
        text-decoration-color: white; }
    body .feature #call {
      background-color: #23aa5d; }
      body .feature #call a, body .feature #call #editions .accordion:after, #editions body .feature #call .accordion:after, body .feature #call footer p#newsletter-signup, footer body .feature #call p#newsletter-signup, body .feature #call div.ribbon p, div.ribbon body .feature #call p {
        color: white; }
    body .feature #call:hover {
      background-color: #2cd474; }
    body .feature #call.fixed {
      background-color: #23aa5d;
      color: white !important;
      text-decoration-color: white !important; }
      body .feature #call.fixed a:link, body .feature #call.fixed #editions .accordion:link:after, #editions body .feature #call.fixed .accordion:link:after, body .feature #call.fixed footer p#newsletter-signup:link, footer body .feature #call.fixed p#newsletter-signup:link, body .feature #call.fixed div.ribbon p:link, div.ribbon body .feature #call.fixed p:link, body .feature #call.fixed a:visited, body .feature #call.fixed #editions .accordion:visited:after, #editions body .feature #call.fixed .accordion:visited:after, body .feature #call.fixed footer p#newsletter-signup:visited, footer body .feature #call.fixed p#newsletter-signup:visited, body .feature #call.fixed div.ribbon p:visited, div.ribbon body .feature #call.fixed p:visited {
        color: white !important;
        text-decoration-color: white !important; }
      body .feature #call.fixed a:hover, body .feature #call.fixed #editions .accordion:hover:after, #editions body .feature #call.fixed .accordion:hover:after, body .feature #call.fixed footer p#newsletter-signup:hover, footer body .feature #call.fixed p#newsletter-signup:hover, body .feature #call.fixed div.ribbon p:hover, div.ribbon body .feature #call.fixed p:hover, body .feature #call.fixed a:active, body .feature #call.fixed #editions .accordion:active:after, #editions body .feature #call.fixed .accordion:active:after, body .feature #call.fixed footer p#newsletter-signup:active, footer body .feature #call.fixed p#newsletter-signup:active, body .feature #call.fixed div.ribbon p:active, div.ribbon body .feature #call.fixed p:active {
        color: white !important;
        text-decoration-color: white !important; }
    body .feature #call.fixed:hover, body .feature #call.fixed:active {
      color: white !important;
      text-decoration-color: white !important; }
    body .feature dd, body .feature p {
      color: #f1f3f1; }
    body .feature a:last-of-type, body .feature #editions .accordion:last-of-type:after, #editions body .feature .accordion:last-of-type:after, body .feature footer p#newsletter-signup:last-of-type, footer body .feature p#newsletter-signup:last-of-type, body .feature div.ribbon p:last-of-type, div.ribbon body .feature p:last-of-type {
      color: white; }
    body .feature #feature-primary-02 .flex-container {
      background-image: linear-gradient(transparent 80%, #070707); }
  body .flickity-button {
    background: rgba(25, 29, 25, 0.5); }
  body .flickity-button:hover {
    background: rgba(25, 29, 25, 0.5); }
  body .flickity-button:active {
    background: rgba(25, 29, 25, 0.5); }
  body .flickity-button-icon {
    fill: #141414; }
  body .flickity-page-dots .dot {
    background: black; }
  body .flickity-page-dots .dot.is-selected {
    background: #f1f3f1; }
  body .flickity-viewport {
    background: white; }
  body .main-carousel {
    height: 66.6666666667vw; }
    body .main-carousel div.classic {
      background: linear-gradient(#404040 50%, #333333); }
    body .main-carousel div.signature {
      background: linear-gradient(#fdf2ed 50%, #fae2d6); }
  body button {
    color: white;
    text-decoration-color: white; }
    body button a, body button #editions .accordion:after, #editions body button .accordion:after, body button footer p#newsletter-signup, footer body button p#newsletter-signup, body button div.ribbon p, div.ribbon body button p {
      text-decoration-color: white; }
  body input, body textarea {
    background: #212121;
    border-color: #acb8ac;
    color: #f1f3f1;
    box-shadow: inset 0.0375rem 0.0375rem 0.075rem white; }
  body ::placeholder {
    color: white; }
  body select {
    background-color: #212121 !important;
    border-color: #acb8ac;
    color: #f1f3f1; }
  body main {
    background-image: linear-gradient(#070707, #141414); }
  body div.feature-image {
    background-color: #070707; }
  body div.panel, body div.ribbon {
    background-color: #212121; }
  body div.panel-outline {
    background-color: transparent !important;
    border-color: #212121; }
  body #faq, body #steps {
    border-bottom-style: solid;
    border-bottom-width: 0.2rem;
    border-image: linear-gradient(to right, #77300e, #d25519, #77300e) 1; }
  body header {
    background: rgba(255, 255, 255, 0.0625);
    border-bottom: none; }
  body a, body #editions .accordion:after, #editions body .accordion:after, body footer p#newsletter-signup, footer body p#newsletter-signup, body div.ribbon p, div.ribbon body p {
    text-decoration-color: white; }
  body a:link, body #editions .accordion:link:after, #editions body .accordion:link:after, body footer p#newsletter-signup:link, footer body p#newsletter-signup:link, body div.ribbon p:link, div.ribbon body p:link {
    color: white; }
  body a:hover, body #editions .accordion:hover:after, #editions body .accordion:hover:after, body footer p#newsletter-signup:hover, footer body p#newsletter-signup:hover, body div.ribbon p:hover, div.ribbon body p:hover {
    color: #e3e7e3; }
  body a:visited, body #editions .accordion:visited:after, #editions body .accordion:visited:after, body footer p#newsletter-signup:visited, footer body p#newsletter-signup:visited, body div.ribbon p:visited, div.ribbon body p:visited {
    color: white; }
  body a:active, body #editions .accordion:active:after, #editions body .accordion:active:after, body footer p#newsletter-signup:active, footer body p#newsletter-signup:active, body div.ribbon p:active, div.ribbon body p:active {
    color: #e3e7e3; }
  body #nav-primary-button:before, body #nav-primary-button:after, body #nav-primary-button span, #nav-primary-button body span {
    background-color: #f1f3f1; }
  body #nav-primary-button {
    background-color: transparent; }
    body #nav-primary-button span {
      background: #f1f3f1; }
  body #nav-primary a, body #nav-primary #editions .accordion:after, #editions body #nav-primary .accordion:after, body #nav-primary footer p#newsletter-signup, footer body #nav-primary p#newsletter-signup, body #nav-primary div.ribbon p, div.ribbon body #nav-primary p {
    text-decoration-color: white; }
  body #nav-primary a:link, body #nav-primary #editions .accordion:link:after, #editions body #nav-primary .accordion:link:after, body #nav-primary footer p#newsletter-signup:link, footer body #nav-primary p#newsletter-signup:link, body #nav-primary div.ribbon p:link, div.ribbon body #nav-primary p:link {
    color: white; }
  body #nav-primary a:hover, body #nav-primary #editions .accordion:hover:after, #editions body #nav-primary .accordion:hover:after, body #nav-primary footer p#newsletter-signup:hover, footer body #nav-primary p#newsletter-signup:hover, body #nav-primary div.ribbon p:hover, div.ribbon body #nav-primary p:hover {
    color: #e3e7e3; }
  body #nav-primary a:visited, body #nav-primary #editions .accordion:visited:after, #editions body #nav-primary .accordion:visited:after, body #nav-primary footer p#newsletter-signup:visited, footer body #nav-primary p#newsletter-signup:visited, body #nav-primary div.ribbon p:visited, div.ribbon body #nav-primary p:visited {
    color: white; }
  body #nav-primary a:active, body #nav-primary #editions .accordion:active:after, #editions body #nav-primary .accordion:active:after, body #nav-primary footer p#newsletter-signup:active, footer body #nav-primary p#newsletter-signup:active, body #nav-primary div.ribbon p:active, div.ribbon body #nav-primary p:active {
    color: #e3e7e3; }
  body ::selection {
    color: #f1f3f1;
    background: white; }

@media only screen and (min-width: 568px) {
  #about ul:first-of-type li {
    background: rgba(25, 29, 25, 0.75); }

  #editions {
    border-image: linear-gradient(to right, #77300e, #d25519, #77300e, #333333, #737373, #333333) 1; }
    #editions #editions-01 {
      border-image: none; }
    #editions #editions-02 {
      border-image: none; }

  .feature {
    background-color: #030406 !important; } }
@media (orientation: landscape) {
  ol.stages li:before {
    border-bottom-color: #f1f3f1; } }
#feature-primary {
  width: 100svw;
  height: 100svw;
  max-height: 100svw; }
  #feature-primary #feature-video {
    height: 100svw;
    width: 100svw;
    object-fit: cover;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 0; }
  #feature-primary #call.fixed {
    backdrop-filter: blur(10px);
    height: 4.8rem !important;
    left: 0;
    line-height: 4.8rem;
    margin-top: 0 !important;
    position: fixed !important;
    text-align: center;
    text-shadow: none !important;
    top: 0;
    width: 100%;
    z-index: 2; }
    #feature-primary #call.fixed a, #feature-primary #call.fixed #editions .accordion:after, #editions #feature-primary #call.fixed .accordion:after, #feature-primary #call.fixed footer p#newsletter-signup, footer #feature-primary #call.fixed p#newsletter-signup, #feature-primary #call.fixed div.ribbon p, div.ribbon #feature-primary #call.fixed p {
      text-shadow: none; }
  #feature-primary #feature-primary-02 {
    align-content: center;
    display: grid;
    grid-column: 1 / span 18;
    height: 100svw;
    flex-wrap: wrap;
    justify-content: center;
    width: 100svw;
    z-index: 0; }
    #feature-primary #feature-primary-02 button {
      display: inline-block;
      margin-bottom: 0;
      text-align: center; }
    #feature-primary #feature-primary-02 .flex-container {
      align-content: end;
      height: 100svw;
      padding-bottom: 2.4rem;
      width: 100svw; }
    #feature-primary #feature-primary-02 h2, #feature-primary #feature-primary-02 h3, #feature-primary #feature-primary-02 h4 {
      position: absolute;
      right: 1000000px; }
    #feature-primary #feature-primary-02 p {
      margin-bottom: 0;
      text-align: center; }
      #feature-primary #feature-primary-02 p span#more {
        position: absolute;
        right: 1000000px; }

@media only screen and (min-width: 568px) and (orientation: landscape) {
  #feature-primary {
    height: 100svh;
    width: 100svw; }
    #feature-primary #feature-video {
      height: 100svh;
      width: 100svw; }
    #feature-primary #feature-primary-02 {
      height: 100svh;
      width: 100svw; }
      #feature-primary #feature-primary-02 .flex-container {
        height: 100svh;
        padding-bottom: 4.8rem;
        width: 100svw; }
      #feature-primary #feature-primary-02 p {
        margin-bottom: 0; }
        #feature-primary #feature-primary-02 p span#more {
          position: relative;
          right: 0; } }
@media only screen and (min-width: 768px) and (orientation: portrait) {
  #feature-primary {
    height: 84.375svw;
    width: 100svw; }
    #feature-primary #feature-video {
      height: 84.375svw;
      width: 100svw; }
    #feature-primary #feature-primary-02 {
      height: 84.375svw;
      width: 100svw; }
      #feature-primary #feature-primary-02 .flex-container {
        height: 84.375svw;
        padding-bottom: 0;
        width: 100svw; }
      #feature-primary #feature-primary-02 p {
        position: absolute;
        top: 73.828125svw;
        width: 100svw; }
        #feature-primary #feature-primary-02 p span#more {
          position: relative;
          right: 0; } }
@media only screen and (min-width: 1024px) {
  #feature-primary {
    height: 56.25svw;
    width: 100svw; }
    #feature-primary #feature-video {
      height: 56.25svw;
      width: 100svw; }
    #feature-primary #feature-primary-02 {
      height: 56.25svw;
      width: 100svw; }
      #feature-primary #feature-primary-02 .flex-container {
        height: 56.25svw;
        width: 100svw; }
    #feature-primary p {
      position: absolute;
      top: 49.21875svw !important;
      width: 100svw; }
      #feature-primary p span#more {
        position: relative;
        right: 0; } }
#also figure {
  float: left;
  width: 50%; }
#also figure:last-of-type {
  clear: left; }
#also figcaption {
  padding: 0.6rem 1.2rem 0 0; }
  #also figcaption a, #also figcaption #editions .accordion:after, #editions #also figcaption .accordion:after, #also figcaption footer p#newsletter-signup, footer #also figcaption p#newsletter-signup, #also figcaption div.ribbon p, div.ribbon #also figcaption p {
    font-size: 1.4875rem;
    line-height: 2.1rem; }
#also img {
  position: relative;
  width: 75%;
  z-index: -1;
  filter: drop-shadow(0.1rem 0.1rem 0.3rem rgba(25, 29, 25, 0.75)); }
#also #also_02 img {
  width: 50%; }
#also #also_03 img {
  width: 50%; }

@media only screen and (min-width: 568px) {
  #also figure {
    float: left;
    width: 50%; } }
@media only screen and (min-width: 736px) {
  #also figure {
    float: left;
    width: 33.333%; }
  #also figure:last-of-type {
    clear: none; } }
body.overlay-navigation #author {
  filter: blur(10px); }

#author {
  background-position: right bottom;
  background-repeat: no-repeat;
  background-size: 12rem;
  padding-bottom: 9.6rem;
  margin-bottom: 2.4rem;
  	/*div {
        padding-right: 27.5%;
  	}*/ }
  #author figure {
    position: absolute;
    right: 1000000px; }

@media only screen and (min-width: 568px) {
  #author {
    background-position: 75% bottom; } }
/* Between iPad portrait and iPad landscape */
@media only screen and (max-width: 1023px) and (min-width: 768px) {
  #author {
    background-image: url("../images/matti-riekki_1024.webp"); } }
/* iPad landscape and above */
@media only screen and (min-width: 1024px) {
  #author {
    background-image: url("../images/matti-riekki_1366.webp"); } }
@media only screen and (min-width: 375px) and (orientation: portrait) {
  #author {
      /*div {
		padding-right: 37.5%;
      }*/ } }
@media only screen and (min-width: 414px) and (orientation: portrait) {
  #author {
      /*div {
		padding-right: 40%;
      }*/ } }
@media only screen and (min-width: 768px) and (orientation: portrait) {
  #author div {
    padding-right: 0%; } }
#editions {
  background-blend-mode: hard-light, normal;
  background-repeat: repeat-x;
  background-position: center;
  background-size: cover;
  margin-bottom: 2.4rem;
  /* Style the buttons that are used to open and close the accordion panel */
  /* Add a background color to the button if it is clicked on (add the .active class with JS), and when you move the mouse over it (hover) */
  /* Style the accordion panel. Note: hidden by default */ }
  #editions #editions-01, #editions #editions-02 {
    background-blend-mode: normal, normal, hard-light, normal;
    background-size: 50%, cover, cover, cover;
    background-repeat: no-repeat;
    border-top-width: 0.2rem;
    border-top-style: solid;
    padding-bottom: 1.2rem;
    padding-top: 1.2rem;
    z-index: 0;
    position: relative; }
  #editions #editions-01 {
    background-position: 95%, top center; }
  #editions #editions-02 {
    background-position: 95%, bottom center; }
  #editions .accordion {
    cursor: pointer; }
  #editions .accordion:after {
    content: '\002B\00A0Show details';
    font-size: 1.7rem;
    font-weight: normal;
    display: block;
    line-height: 2.4rem;
    margin-bottom: 1.2rem;
    font-family: 'Alright-v2-Normal-Light'; }
  #editions .active:after {
    content: "\002D\00A0Hide details"; }
  #editions .panel {
    background: none;
    margin: 0;
    max-height: 0;
    overflow: hidden;
    padding: 0;
    transition: max-height 0.2s ease-out; }
  #editions .panel + p {
    color: #ea4f3d; }
    #editions .panel + p span {
      color: #f1f3f1;
      text-decoration: line-through; }
  #editions h4 {
    font-size: 2.975rem;
    letter-spacing: 0.075rem;
    line-height: 2.7rem;
    position: relative !important;
    right: 0 !important;
    font-family: 'Alright-v2-Normal-Black';
    text-shadow: 0.075rem 0.075rem 0.15rem #252b25; }
  #editions h4:after, #editions p {
    font-size: 1.275rem !important;
    font-style: normal;
    line-height: 1.8rem !important;
    letter-spacing: 0;
    margin: 1.2rem 0;
    text-shadow: none;
    text-transform: none;
    font-family: 'Alright-v2-Normal-Light'; }
  #editions button {
    margin: 0.6rem 0 2.4rem 0; }
    #editions button a, #editions button .accordion:after, #editions button footer p#newsletter-signup, footer #editions button p#newsletter-signup, #editions button div.ribbon p, div.ribbon #editions button p {
      font-size: 1.7rem;
      line-height: 2.4rem;
      color: white; }
  #editions ul {
    list-style: none;
    margin-bottom: 1.2rem;
    padding-right: 37.5%; }
  #editions li {
    /*border-bottom-style: dotted;
    border-bottom-width: $baseline / 32;*/
    font-size: 1.275rem !important;
    line-height: 1.8rem !important; }
  #editions li:last-of-type {
    border-bottom: none; }
  #editions a, #editions .accordion:after, #editions footer p#newsletter-signup, footer #editions p#newsletter-signup, #editions div.ribbon p, div.ribbon #editions p {
    font-size: 1.275rem;
    line-height: 1.8rem; }
  #editions h2, #editions h3, #editions h4, #editions figure {
    position: absolute;
    right: 1000000px; }

@media only screen and (min-width: 568px) {
  #editions {
    border-top-style: solid;
    border-top-width: 0.3rem; }
    #editions .col-two-01 {
      grid-column: 2 / span 8 !important; }
    #editions .col-two-02 {
      grid-column: 10 / span 8 !important; }
    #editions #editions-01, #editions #editions-02 {
      border-top-style: none;
      border-top-width: 0; }
    #editions h4 {
      /*span {
      	display: block;
      }*/ } }
@media only screen and (min-width: 1024px) {
  #editions .col-two-01 {
    grid-column: 4 / span 6 !important; }
  #editions .col-two-02 {
    grid-column: 11 / span 6 !important; } }
@media only screen and (min-width: 1366px) and (orientation: landscape) {
  #editions .col-two-01 {
    grid-column: 5 / span 5 !important; }
  #editions .col-two-02 {
    grid-column: 10 / span 5 !important; } }
@media only screen and (min-width: 1440px) {
  #editions .edition {
    background-size: 40%, cover; } }
@media only screen and (min-width: 2560px) and (orientation: landscape) {
  #editions #editions-01, #editions #editions-02 {
    padding-top: 2.4rem !important; }
  #editions #editions-01 {
    padding-right: 2.4rem; }
  #editions #editions-02 {
    padding-left: 2.4rem;
    padding-right: 2.4rem; } }
footer {
  padding: 4.8rem 1.95rem 7.2rem 1.95rem; }
  footer dd span {
    font-variant-caps: small-caps;
    letter-spacing: 0.15rem;
    text-transform: lowercase; }
  footer dl {
    margin-bottom: 2.4rem; }
  footer dt {
    float: left;
    margin-right: 0.6rem;
    font-variant-caps: small-caps;
    letter-spacing: 0.15rem;
    text-transform: lowercase; }
  footer h4 {
    position: absolute;
    right: 1000000px; }
  footer h5 {
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    text-indent: -1000000px;
    margin-bottom: 1.2rem;
    width: 3.6rem; }
  footer h5, footer h6 {
    display: inline-block;
    font-variant-numeric: lining-nums;
    height: 3.6rem;
    line-height: 3.6rem;
    text-transform: uppercase; }
  footer h6 + dl dt:first-child {
    position: absolute;
    right: 1000000px; }
  footer p#newsletter-signup {
    cursor: pointer; }
  footer #useful-links a#newsletter-signup, footer #useful-links #editions #newsletter-signup.accordion:after, #editions footer #useful-links #newsletter-signup.accordion:after, footer #useful-links p#newsletter-signup {
    cursor: pointer; }
  footer #useful-links li {
    display: inline;
    margin-right: 1.2rem; }

@media only screen and (min-width: 568px) {
  footer {
    padding: 4.8rem 1.2rem 7.2rem 1.2rem; } }
button {
  background: #23aa5d;
  cursor: pointer;
  display: block;
  height: 3.6rem;
  line-height: 3.6rem;
  margin-bottom: 1.2rem;
  overflow: hidden;
  padding: 0 0.6rem;
  text-decoration: underline;
  text-decoration-thickness: 0.075rem;
  text-underline-offset: 0.3rem;
  box-shadow: 0.075rem 0.075rem 0.15rem #252b25;
  font-family: 'Alright-v2-Normal-Medium';
  transition: background 0.5s linear; }
  button a, button #editions .accordion:after, #editions button .accordion:after, button footer p#newsletter-signup, footer button p#newsletter-signup, button div.ribbon p, div.ribbon button p {
    font-family: 'Alright-v2-Normal-Medium'; }

button:hover {
  background: #2cd474; }

button.disabled {
  display: none !important; }

#form-contact {
  margin-top: 2.4rem; }

input, textarea {
  border-style: solid;
  border-width: 0.075rem;
  border-radius: 0;
  /* Stops iOS rounding textarea corners */
  display: block;
  height: 4.8rem;
  margin-bottom: 1.2rem;
  padding: 0.6rem;
  width: 100%;
  font-family: 'Alright-v2-Normal-Light';
  font-style: italic;
  transition: border 0.5s linear;
  -webkit-appearance: none; }

input:focus:invalid, textarea:focus:invalid, input:focus:required:invalid, textarea:focus:required:invalid {
  /* Focus stops validation pseudo-classes being applied before user has entered anything */
  border: 0.075rem solid #ea4f3d;
  /* Using border so as not to interfere with browser autofill styling */ }

input:focus:required:valid, textarea:focus:required:valid {
  border: 0.075rem solid #23aa5d;
  /* Using border so as not to interfere with browser autofill styling */ }

input[type="checkbox"], textarea[type="checkbox"] {
  float: left;
  height: 2.4rem;
  margin-right: 0.6rem;
  position: relative;
  width: 2.4rem; }

input[type="checkbox"]:checked:after, textarea[type="checkbox"]:checked:after {
  content: '\2713';
  font-style: normal;
  left: 0;
  position: absolute;
  right: 2.4rem;
  text-align: center;
  top: 0;
  width: 2.4rem;
  font-family: 'Alright-v2-Normal-Light'; }

input[type="checkbox"] + label, textarea[type="checkbox"] + label {
  position: relative;
  /* Label after checkbox visible */
  right: 0; }

label + button {
  margin-top: 2.4rem; }

label {
  position: absolute;
  right: 1000000px; }

select {
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  background-color: transparent;
  background-position: 97.5% center;
  background-repeat: no-repeat;
  background-size: 1.5rem !important;
  border-style: solid;
  border-radius: 0;
  border-width: 0.075rem;
  cursor: pointer;
  font-family: inherit;
  font-size: inherit;
  height: 4.8rem;
  line-height: 4.8rem;
  outline: none;
  padding: 0 2.4rem 0 0.6rem;
  line-height: inherit;
  margin: 0;
  width: 100%; }

textarea {
  height: 21.6rem; }

* {
  border: 0;
  box-sizing: border-box;
  /* Border box ensures padding and border are included in width and height of elements */
  margin: 0;
  padding: 0;
  -webkit-text-size-adjust: none; }

#discover {
  background-position: 92.5% bottom;
  background-repeat: no-repeat;
  background-size: 19.2rem; }

body {
  background-repeat: repeat;
  background-size: 100%;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  padding: 0; }

html {
  scroll-behavior: smooth;
  scroll-padding-top: 48px;
  /* Offsets scroll to avoid the fixed header */ }

.clickable {
  cursor: pointer; }

.grid-container {
  align-content: start;
  display: grid;
  grid-gap: 0;
  grid-template-columns: repeat(18, minmax(0, 1fr));
  /* That's 18 equally sized columns */ }

.grid-container > div {
  grid-column: 1 / span 18; }

.inner-container {
  margin: 0 auto;
  max-width: 1200px; }

.col-one-01,
.col-two-01, .col-two-02,
.col-three-01, .col-three-02, .col-three-03,
.col-three-01-gap,
.col-four-01, .col-four-02, .col-four-03, .col-four-04,
.col-three-02-03,
div.review-press,
div.quote-left, div.quote-right {
  grid-column: 1 / span 18;
  padding: 0 1.95rem; }

.col-three-01-02 {
  grid-column: 1 / span 12 !important;
  padding: 0 1.8rem 0 1.95rem; }

.col-three-02-03 h3:first-of-type, .col-three-02-03 h4:first-of-type {
  margin-top: 2.4rem; }

main {
  padding-top: 2.4rem; }

body.collection main, body.index main, body.product main {
  padding-top: 2.4rem; }

div.product-images {
  margin-bottom: 4.8rem; }

div.panel, div.ribbon {
  grid-column: 1 / span 18;
  margin-bottom: 2.4rem;
  padding: 1.95rem; }
  div.panel p:last-of-type, div.ribbon p:last-of-type {
    margin-bottom: 0; }

div.panel-outline {
  border-style: solid;
  border-width: 0.6rem;
  margin-bottom: 2.4rem;
  padding: 1.35rem !important; }

div.feature-image {
  background-position: center !important;
  background-repeat: no-repeat;
  background-size: 80%;
  grid-column: 1 / span 18;
  height: 66.6666666667vw;
  margin-bottom: 2.4rem; }
  div.feature-image figcaption {
    padding: 1.2rem; }
  div.feature-image figure img {
    position: absolute;
    right: 1000000px; }

div.review-press {
  grid-column: 1 / span 18;
  padding-bottom: 1.8rem;
  padding-top: 1.8rem; }

div.ribbon {
  grid-column: 1 / span 18;
  padding: 1.2rem 1.95rem;
  text-align: center; }
  div.ribbon a, div.ribbon #editions .accordion:after, #editions div.ribbon .accordion:after, div.ribbon footer p#newsletter-signup, footer div.ribbon p#newsletter-signup, div.ribbon p {
    text-decoration: none; }
  div.ribbon h4:after, div.ribbon #editions p, #editions div.ribbon p {
    content: ". "; }
  div.ribbon h4, div.ribbon p {
    display: inline; }

@media only screen and (min-width: 568px) {
  .col-one-01 {
    grid-column: 3 / span 14 !important; }

  .col-one-01,
  .col-two-01, .col-two-02,
  .col-four-01, .col-four-02, .col-four-03, .col-four-04,
  div.quote-left, div.quote-right {
    padding: 0; }

  .col-two-01 {
    grid-column: 3 / span 6 !important;
    padding: 0 1.8rem 0 0; }

  .col-two-02 {
    grid-column: 7 / span 6 !important;
    padding: 0 0 0 1.8rem; }

  .col-three-01 {
    grid-column: 3 / span 4 !important;
    padding: 0 1.8rem 0 0; }

  .col-three-02 {
    grid-column: 7 / span 4 !important;
    padding: 0 1.8rem 0 1.8rem; }

  .col-three-03 {
    grid-column: 13 / span 4 !important;
    padding: 0 0 0 1.8rem; }

  .col-three-01-02 {
    grid-column: 3 / span 10 !important;
    padding: 0 1.8rem 0 0; }

  .col-three-02-03 {
    grid-column: 3 / span 14;
    padding: 0; }

  .col-four-01, .col-four-03 {
    grid-column: 3 / span 7 !important;
    padding: 0; }

  .col-four-02, .col-four-04 {
    grid-column: 10 / span 7 !important;
    padding: 0; }

  aa
  div.panel, aa
  div.ribbon {
    padding: 1.2rem; }

  div.review-press {
    grid-column: 10 / span 7;
    padding: 1.8rem 0 1.8rem 2.7rem; }

  div.review-press:nth-child(2n+2) {
    grid-column: 3 / span 7;
    padding: 1.8rem 2.7rem 1.8rem 0; }

  div.review-press-sole, div.review-press:nth-child(2n+2).review-press-last {
    grid-column: 3 / span 14; }

  div.review-press:nth-child(2n+2).review-press-last {
    padding-right: 50%; }
    div.review-press:nth-child(2n+2).review-press-last blockquote, div.review-press:nth-child(2n+2).review-press-last figcaption {
      padding-right: 2.7rem; }

  div.ribbon {
    padding: 1.2rem; }

  .grid-container > .grid-item-01 {
    grid-column: 1 / span 1; }

  .grid-container > .grid-item-02 {
    grid-column: 2 / span 1; }

  .grid-container > .grid-item-03 {
    grid-column: 3 / span 1; }

  .grid-container > .grid-item-04 {
    grid-column: 4 / span 1; }

  .grid-container > .grid-item-05 {
    grid-column: 5 / span 1; }

  .grid-container > .grid-item-06 {
    grid-column: 6 / span 1; }

  .grid-container > .grid-item-07 {
    grid-column: 7 / span 1; }

  .grid-container > .grid-item-08 {
    grid-column: 8 / span 1; }

  .grid-container > .grid-item-09 {
    grid-column: 9 / span 1; }

  .grid-container > .grid-item-10 {
    grid-column: 10 / span 1; }

  .grid-container > .grid-item-11 {
    grid-column: 11 / span 1; }

  .grid-container > .grid-item-12 {
    grid-column: 12 / span 1; }

  .grid-container > .grid-item-13 {
    grid-column: 13 / span 1; }

  .grid-container > .grid-item-14 {
    grid-column: 14 / span 1; }

  .grid-container > .grid-item-15 {
    grid-column: 15 / span 1; }

  .grid-container > .grid-item-16 {
    grid-column: 16 / span 1; }

  .grid-container > .grid-item-17 {
    grid-column: 17 / span 1; }

  .grid-container > .grid-item-18 {
    grid-column: 18 / span 1; } }
@media only screen and (min-width: 1024px) {
  .col-one-01 {
    grid-column: 5 / span 10 !important; }

  .col-two-01 {
    grid-column: 5 / span 5 !important; }

  .col-two-02 {
    grid-column: 10 / span 5 !important; }

  .col-three-01 {
    grid-column: 5 / span 3 !important;
    padding: 0 1.8rem 0 0; }

  .col-three-02 {
    grid-column: 8 / span 3 !important;
    padding: 0 1.8rem 0 1.8rem; }

  .col-three-03 {
    grid-column: 11 / span 3 !important;
    padding: 0 0 0 1.8rem; }

  .col-three-01-gap {
    grid-column: 5 / span 10 !important; }

  .col-three-01-02 {
    grid-column: 5 / span 7 !important; }

  .col-four-01, .col-four-03 {
    grid-column: 5 / span 5 !important; }

  .col-four-02, .col-four-04 {
    grid-column: 5 / span 10 !important; }

  .col-three-02-03 {
    grid-column: 5 / span 10; }

  div.review-press {
    grid-column: 10 / span 5; }

  div.review-press:nth-child(2n+2) {
    grid-column: 5 / span 5; }

  div.review-press-sole, div.review-press:nth-child(2n+2).review-press-last {
    grid-column: 5 / span 10; } }
@media only screen and (min-width: 1366px) {
  #summary div.specifications {
    grid-column: 5 / span 7; }
  #summary div.buy {
    grid-column: 12 / span 3; } }
@media only screen and (min-width: 1367px) {
  div.feature-image {
    background-attachment: fixed; } }
body.overlay-navigation header {
  border-bottom: none; }

header {
  position: absolute;
  width: 100%;
  z-index: 2; }
  header h1 a, header h1 #editions .accordion:after, #editions header h1 .accordion:after, header h1 footer p#newsletter-signup, footer header h1 p#newsletter-signup, header h1 div.ribbon p, div.ribbon header h1 p {
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    display: block;
    height: 4.8rem;
    line-height: 4.8rem;
    margin: 0 auto;
    text-indent: -1000000px;
    width: 4.8rem; }
  header h2 {
    font-size: 5.1rem;
    height: 9.6rem;
    line-height: 9.6rem;
    font-family: 'Alright-v2-Normal-ExThin'; }
  header p {
    position: absolute;
    right: 1000000px; }

@media only screen and (min-width: 568px) {
  header {
    position: absolute;
    top: 0; } }
a, #editions .accordion:after, footer p#newsletter-signup, div.ribbon p {
  text-decoration: underline;
  text-underline-offset: 0.3rem;
  text-decoration-thickness: 0.075rem;
  transition: color 0.5s linear; }

body.overlay-navigation header h1, body.overlay-navigation header h2, body.overlay-navigation .feature, body.overlay-navigation main, body.overlay-navigation #reviews-press, body.overlay-navigation #editions, body.overlay-navigation #steps, body.overlay-navigation .feature-image, body.overlay-navigation #faq, body.overlay-navigation .product-images, body.overlay-navigation #video_01, body.overlay-navigation #also, body.overlay-navigation footer {
  filter: blur(10px); }

body.overlay-navigation header {
  box-shadow: none; }

#nav-primary-button:before, #nav-primary-button:after, #nav-primary-button span {
  content: '';
  display: block;
  height: 0.3rem;
  margin: 0.8rem;
  transition: all 0.5s ease-in-out; }

#nav-primary-button {
  box-shadow: none;
  cursor: pointer;
  height: 4.8rem;
  padding: 0;
  position: fixed;
  left: 0;
  top: 0;
  width: 4.8rem;
  z-index: 5; }
  #nav-primary-button span {
    text-indent: -1000000px; }

#nav-primary-button:focus {
  outline: 0; }

body.overlay-navigation #nav-primary-button:before, body.overlay-navigation #nav-primary-button:after, body.overlay-navigation #nav-primary-button span, #nav-primary-button body.overlay-navigation span {
  box-shadow: none;
  transform: translateY(11px) rotate(45deg); }

body.overlay-navigation #nav-primary-button:after {
  box-shadow: none;
  transform: translateY(-11px) rotate(-45deg); }

body.overlay-navigation #nav-primary-button span {
  transform: scale(0); }

#nav-primary {
  height: 100%;
  left: -100%;
  opacity: 0;
  padding: 7.2rem 1.2rem 2.4rem 1.2rem;
  position: absolute;
  width: 100%;
  z-index: 4;
  transition: opacity 0.5s linear; }
  #nav-primary a, #nav-primary #editions .accordion:after, #editions #nav-primary .accordion:after, #nav-primary footer p#newsletter-signup, footer #nav-primary p#newsletter-signup, #nav-primary div.ribbon p, div.ribbon #nav-primary p {
    font-size: 3.4rem;
    line-height: 4.8rem;
    padding: 1.2rem;
    font-family: 'Alright-v2-Normal-Medium'; }
  #nav-primary li {
    margin-bottom: 1.2rem; }
  #nav-primary ul {
    list-style: none; }

body.overlay-navigation #nav-primary {
  left: 0;
  opacity: 1;
  position: fixed;
  top: 0; }

@media only screen and (min-width: 568px) and (max-width: 896px) and (orientation: landscape) {
  #nav-primary {
    column-count: 2;
    column-gap: 3.6rem; } }
html {
  font-size: 62.5%;
  /* That's 10px, since default size for most browsers is 16px (100%) */ }

* {
  font-size: 1.7rem;
  font-weight: normal !important;
  line-height: 2.4rem;
  font-family: 'Alright-v2-Normal-Light'; }

abbr {
  cursor: help;
  text-decoration: none; }

acronym {
  text-decoration: none;
  font-variant-caps: small-caps;
  letter-spacing: 0.15rem;
  text-transform: lowercase; }

b, strong {
  font-family: 'Alright-v2-Normal-Bold'; }

em, italic {
  font-family: 'Alright-v2-Normal-Light';
  font-style: italic; }

figcaption {
  font-size: 1.4875rem;
  font-family: 'Alright-v2-Normal-Medium'; }

b em, b italic, strong em, strong italic, em b, em strong, italic b, italic strong {
  font-family: 'Alright-v2-Normal-Bold';
  font-style: italic; }

h1, h4, h5, h6 {
  font-family: 'Alright-v2-Normal-Medium'; }

h1 {
  font-size: 3.4rem;
  line-height: 4.8rem; }

h2 {
  font-family: 'Alright-v2-Normal-ExThin'; }

h3, h4 {
  font-variant-numeric: lining-nums;
  /*letter-spacing: $baseline / 32;*/
  margin: 1.2rem 0;
  text-transform: uppercase;
  font-family: 'Alright-v2-Normal-Black'; }
  h3 a, h4 a, h3 #editions .accordion:after, #editions h3 .accordion:after, h4 #editions .accordion:after, #editions h4 .accordion:after, h3 footer p#newsletter-signup, footer h3 p#newsletter-signup, h4 footer p#newsletter-signup, footer h4 p#newsletter-signup, h3 div.ribbon p, div.ribbon h3 p, h4 div.ribbon p, div.ribbon h4 p {
    font-family: 'Alright-v2-Normal-Black'; }

li::marker {
  font-variant-numeric: tabular-nums; }

p, ol, ul {
  margin-bottom: 2.4rem; }

ol {
  counter-reset: ordered-list;
  list-style: none; }
  ol li {
    counter-increment: ordered-list;
    position: relative; }
  ol li:before {
    content: counter(ordered-list);
    font-variant-numeric: tabular-nums;
    left: -1.8rem;
    position: absolute;
    text-align: right;
    font-family: 'Alright-v2-Normal-Medium'; }

ol.stages {
  position: relative;
  z-index: -1; }
  ol.stages li {
    margin-bottom: 1.2rem; }
  ol.stages li:last-of-type {
    margin-bottom: 0; }

/*main div:first-of-type p:first-of-type {
    @include sansMedium;
	* {
		@include sansMedium;
	}
}
*/
small *, footer * {
  font-size: 1.4875rem; }

.small-caps {
  font-variant-caps: small-caps;
  letter-spacing: 0.15rem;
  text-transform: lowercase; }

blockquote p:first-of-type {
  text-indent: -0.4rem; }
blockquote p:first-of-type:before {
  content: "\2018"; }
blockquote p:last-of-type {
  margin-bottom: 0; }
blockquote p:last-of-type:after {
  content: "\2019"; }

cite {
  font-size: 100%;
  font-style: normal; }

figcaption {
  margin-bottom: 2.4rem; }

blockquote.pull-quote {
  text-indent: -1.4769230769rem; }
  blockquote.pull-quote p:first-of-type:before {
    content: "\275B";
    padding-right: 0.3rem; }
  blockquote.pull-quote p:last-of-type:after {
    content: "\275C";
    padding-left: 0.3rem; }

blockquote.pull-quote * {
  font-size: 2.01875rem;
  line-height: 2.85rem;
  font-family: 'Alright-v2-Normal-Thin'; }
  blockquote.pull-quote * em, blockquote.pull-quote * i {
    @inlcude sansThinItalic; }

figcaption.pull-quote {
  font-variant-caps: small-caps;
  letter-spacing: 0.15rem;
  text-transform: lowercase;
  margin-top: 1.2rem; }

dl.company-information dt {
  float: left;
  margin-right: 0.6rem;
  font-variant-caps: small-caps;
  letter-spacing: 0.15rem;
  text-transform: lowercase; }

dl.faq dd {
  margin-bottom: 2.4rem; }
dl.faq dt {
  font-family: 'Alright-v2-Normal-Medium'; }

.valid {
  color: #23aa5d; }

.alert {
  color: #ea4f3d; }

@media (orientation: landscape) {
  ol.stages li {
    float: left;
    padding: 0 1.8rem 2.4rem 0;
    width: calc(100% / 3); }
  ol.stages li:before {
    border-bottom-style: solid;
    border-bottom-width: 0.075rem;
    display: block;
    left: 0;
    margin-bottom: 0.6rem;
    position: relative;
    text-align: left; }
  ol.stages li:first-of-type {
    padding-left: 0; }
  ol.stages li:last-of-type {
    padding-right: 0; } }
.iframe-container {
  overflow: hidden;
  padding-top: 177.78%;
  position: relative; }

.iframe-container iframe {
  border: 0;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%; }

@media (orientation: landscape) {
  .iframe-container {
    padding-top: 56.25%; } }
#author {
  background-image: url("../images/matti-riekki_767.webp"); }

/* Between iPad portrait and iPad landscape */
@media only screen and (max-width: 1023px) and (min-width: 768px) {
  #author {
    background-image: url("../images/matti-riekki_1024.webp"); } }
/* iPad landscape and above */
@media only screen and (min-width: 1024px) {
  #author {
    background-image: url("../images/matti-riekki_1366.webp"); } }
#editions {
  background-image: url("../images/sts_texture.webp"), linear-gradient(to bottom, #333333 50%, rgba(210, 85, 25, 0.8) 50%); }
  #editions #editions-01 {
    background-image: url("../images/sts_editions_classic.webp"), url("../images/sts_ornament_classic.svg"), url("../images/sts_texture.webp"), linear-gradient(#333333, #333333); }
  #editions #editions-02 {
    background-image: url("../images/sts_editions_signature.webp"), url("../images/sts_ornament_signature.svg"), url("../images/sts_texture.webp"), linear-gradient(#d25519, #d25519); }

@media only screen and (min-width: 568px) {
  #editions {
    background-image: url("../images/sts_texture.webp"), linear-gradient(to right, #333333 50%, #d25519 50%); }
    #editions #editions-01 {
      background-image: url("../images/sts_editions_classic.webp"), url("../images/sts_ornament_classic.svg"); }
    #editions #editions-02 {
      background-image: url("../images/sts_editions_signature.webp"), url("../images/sts_ornament_signature.svg"); } }
footer h5 {
  background-image: url("../images/logos/rocket88_rgb_241-243-241.svg"); }

header h1 a, header h1 #editions .accordion:after, #editions header h1 .accordion:after, header h1 footer p#newsletter-signup, footer header h1 p#newsletter-signup, header h1 div.ribbon p, div.ribbon header h1 p {
  background-image: url("../images/logos/rocket88_rgb_241-243-241.svg"); }

@font-face {
  font-family: 'Alright-v2-Normal-ExThin';
  src: url("../fonts/Alright-v2-Normal-ExThin.woff2") format("woff2"), url("../fonts/Alright-v2-Normal-ExThin.woff") format("woff");
  font-weight: normal; }
@font-face {
  font-family: 'Alright-v2-Normal-ExThin';
  src: url("../fonts/Alright-v2-Normal-ExThin-Italic.woff2") format("woff2"), url("../fonts/Alright-v2-Normal-ExThin-Italic.woff") format("woff");
  font-weight: normal;
  font-style: italic; }
@font-face {
  font-family: 'Alright-v2-Normal-Thin';
  src: url("../fonts/Alright-v2-Normal-Thin.woff2") format("woff2"), url("../fonts/Alright-v2-Normal-Thin.woff") format("woff");
  font-weight: normal; }
@font-face {
  font-family: 'Alright-v2-Normal-Thin';
  src: url("../fonts/Alright-v2-Normal-Thin-Italic.woff2") format("woff2"), url("../fonts/Alright-v2-Normal-Thin-Italic.woff") format("woff");
  font-weight: normal;
  font-style: italic; }
@font-face {
  font-family: 'Alright-v2-Normal-Light';
  src: url("../fonts/Alright-v2-Normal-Light.woff2") format("woff2"), url("../fonts/Alright-v2-Normal-Light.woff") format("woff");
  font-weight: normal; }
@font-face {
  font-family: 'Alright-v2-Normal-Light';
  src: url("../fonts/Alright-v2-Normal-Light-Italic.woff2") format("woff2"), url("../fonts/Alright-v2-Normal-Light-Italic.woff") format("woff");
  font-weight: normal;
  font-style: italic; }
@font-face {
  font-family: 'Alright-v2-Normal-Regular';
  src: url("../fonts/Alright-v2-Normal-Regular.woff2") format("woff2"), url("../fonts/Alright-v2-Normal-Regular.woff") format("woff");
  font-weight: normal; }
@font-face {
  font-family: 'Alright-v2-Normal-Regular';
  src: url("../fonts/Alright-v2-Normal-Regular-Italic.woff2") format("woff2"), url("../fonts/Alright-v2-Normal-Regular-Italic.woff") format("woff");
  font-weight: normal;
  font-style: italic; }
@font-face {
  font-family: 'Alright-v2-Normal-Medium';
  src: url("../fonts/Alright-v2-Normal-Medium.woff2") format("woff2"), url("../fonts/Alright-v2-Normal-Medium.woff") format("woff");
  font-weight: normal; }
@font-face {
  font-family: 'Alright-v2-Normal-Medium';
  src: url("../fonts/Alright-v2-Normal-Medium-Italic.woff2") format("woff2"), url("../fonts/Alright-v2-Normal-Medium-Italic.woff") format("woff");
  font-weight: normal;
  font-style: italic; }
@font-face {
  font-family: 'Alright-v2-Normal-Bold';
  src: url("../fonts/Alright-v2-Normal-Bold.woff2") format("woff2"), url("../fonts/Alright-v2-Normal-Bold.woff") format("woff");
  font-weight: normal; }
@font-face {
  font-family: 'Alright-v2-Normal-Bold';
  src: url("../fonts/Alright-v2-Normal-Bold-Italic.woff2") format("woff2"), url("../fonts/Alright-v2-Normal-Bold-Italic.woff") format("woff");
  font-weight: normal;
  font-style: italic; }
@font-face {
  font-family: 'Alright-v2-Normal-Black';
  src: url("../fonts/Alright-v2-Normal-Black.woff2") format("woff2"), url("../fonts/Alright-v2-Normal-Black.woff") format("woff");
  font-weight: normal; }
@font-face {
  font-family: 'Alright-v2-Normal-Black';
  src: url("../fonts/Alright-v2-Normal-Black-Italic.woff2") format("woff2"), url("../fonts/Alright-v2-Normal-Black-Italic.woff") format("woff");
  font-weight: normal;
  font-style: italic; }
@font-face {
  font-family: 'Alright-v2-Normal-Ultra';
  src: url("../fonts/Alright-v2-Normal-Ultra.woff2") format("woff2"), url("../fonts/Alright-v2-Normal-Ultra.woff") format("woff");
  font-weight: normal; }
@font-face {
  font-family: 'Alright-v2-Normal-Ultra';
  src: url("../fonts/Alright-v2-Normal-Ultra-Italic.woff2") format("woff2"), url("../fonts/Alright-v2-Normal-Ultra-Italic.woff") format("woff");
  font-weight: normal;
  font-style: italic; }
