@charset "utf-8";

/*=========================================\
	$INIT
\=========================================*/

/* Accent colors */

/* Social color */

/* Font family */

/*=========================================\
	$VARIABLES
\=========================================*/

:root {
  --half-gutter-width: 1rem;
  --gutter-compensation: -1rem;
  --outer-margin: 2rem;
}

/*=========================================\
	$MIXINS
\=========================================*/

/*=========================================\
	$GRID
\=========================================*/

.grid {
  padding-right: 2rem;
  padding-right: var(--outer-margin);
  padding-left: 2rem;
  padding-left: var(--outer-margin);
}

.row {
  box-sizing: border-box;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  margin-right: -1rem;
  margin-right: var(--gutter-compensation);
  margin-left: -1rem;
  margin-left: var(--gutter-compensation);
}

.no-gutters {
  margin-right: 0;
  margin-left: 0;
}

.no-gutters > .col,
.no-gutters > [class*="col-"] {
  padding-right: 0;
  padding-left: 0;
}

.row.gap > [class*="col-"] {
  padding-bottom: 1rem;
  padding-bottom: var(--half-gutter-width);
  padding-top: 1rem;
  padding-top: var(--half-gutter-width);
}

[class*="col-"].col-gap {
  padding-bottom: 1rem;
  padding-bottom: var(--half-gutter-width);
  padding-top: 1rem;
  padding-top: var(--half-gutter-width);
}

.row.reverse {
  flex-direction: row-reverse;
  flex-wrap: wrap-reverse;
}

.col.reverse {
  flex-direction: column-reverse;
  flex-wrap: wrap-reverse;
}

/*=========================================\
	$INIT EXEMPLE
\=========================================*/

/*
Animate.css - http://daneden.me/animate
Licensed under the MIT license

Copyright (c) 2013 Daniel Eden

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/

lesshat-selector {
  -lh-property: 0;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

[not-existing] {
  zoom: 1;
}

.fadeIn {
  animation-name: fadeIn;
}

lesshat-selector {
  -lh-property: 0;
}

@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translateY(-20px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

[not-existing] {
  zoom: 1;
}

.fadeInDown {
  animation-name: fadeInDown;
}

lesshat-selector {
  -lh-property: 0;
}

@keyframes fadeInLeft {
  0% {
    opacity: 0;
    transform: translateX(-20px);
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

[not-existing] {
  zoom: 1;
}

.fadeInLeft {
  animation-name: fadeInLeft;
}

lesshat-selector {
  -lh-property: 0;
}

@keyframes fadeInLeftBig {
  0% {
    opacity: 0;
    transform: translateX(-2000px);
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

[not-existing] {
  zoom: 1;
}

.fadeInLeftBig {
  animation-name: fadeInLeftBig;
}

lesshat-selector {
  -lh-property: 0;
}

@keyframes fadeInRight {
  0% {
    opacity: 0;
    transform: translateX(20px);
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

[not-existing] {
  zoom: 1;
}

.fadeInRight {
  animation-name: fadeInRight;
}

lesshat-selector {
  -lh-property: 0;
}

@keyframes fadeInRightBig {
  0% {
    opacity: 0;
    transform: translateX(2000px);
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

[not-existing] {
  zoom: 1;
}

.fadeInRightBig {
  animation-name: fadeInRightBig;
}

lesshat-selector {
  -lh-property: 0;
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }

  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

[not-existing] {
  zoom: 1;
}

.fadeInUp {
  animation-name: fadeInUp;
}

lesshat-selector {
  -lh-property: 0;
}

@keyframes fadeOut {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

[not-existing] {
  zoom: 1;
}

.fadeOut {
  animation-name: fadeOut;
}

lesshat-selector {
  -lh-property: 0;
}

@keyframes fadeOutDown {
  0% {
    opacity: 1;
    transform: translateY(0);
  }

  100% {
    opacity: 0;
    transform: translateY(20px);
  }
}

[not-existing] {
  zoom: 1;
}

.fadeOutDown {
  animation-name: fadeOutDown;
}

lesshat-selector {
  -lh-property: 0;
}

@keyframes fadeOutLeftBig {
  0% {
    opacity: 1;
    transform: translateX(0);
  }

  100% {
    opacity: 0;
    transform: translateX(-2000px);
  }
}

[not-existing] {
  zoom: 1;
}

.fadeOutLeftBig {
  animation-name: fadeOutLeftBig;
}

lesshat-selector {
  -lh-property: 0;
}

@keyframes fadeOutRightBig {
  0% {
    opacity: 1;
    transform: translateX(0);
  }

  100% {
    opacity: 0;
    transform: translateX(2000px);
  }
}

[not-existing] {
  zoom: 1;
}

.fadeOutRightBig {
  animation-name: fadeOutRightBig;
}

lesshat-selector {
  -lh-property: 0;
}

@keyframes zoomIn {
  0% {
    opacity: 0;
    transform: scale(.3);
  }

  50% {
    opacity: 1;
  }
}

[not-existing] {
  zoom: 1;
}

.zoomIn {
  animation-name: zoomIn;
}

.animated.infinite {
  animation-iteration-count: infinite;
}

.animated.hinge {
  animation-duration: 2s;
}

:-ms-fullscreen-ancestor:not(iframe) {
  animation-fill-mode: none!important;
}

:fullscreen-ancestor:not(iframe) {
  animation-fill-mode: none!important;
}

/*=========================================\
	$PLACEHOLDER (coloration)
\=========================================*/

/*=========================================\
	$BLUR
\=========================================*/

/*=========================================\
	$GREYFILTER
\=========================================*/

/*=========================================\
	$BRUSHED METAL BACKGROUND
\=========================================*/

/*=========================================\
	$TRIANGLE
\=========================================*/

/*=========================================\
	$ARROW
\=========================================*/

/*=========================================\
	$LONGSHADOW
\=========================================*/

/*=========================================\
	$LINE-CLAMPING
\=========================================*/

/*=========================================\
	$MODES
\=========================================*/

/*=========================================\
	$CONFIGURATIONS
\=========================================*/

/*=========================================\
	$POINTS-BREAK
\=========================================*/

/*=========================================\
	$SCAFFOLD
\=========================================*/

/*=========================================\
	$FONT
\=========================================*/

/*=========================================\
	$FORMS
\=========================================*/

/*=========================================\
	$BUTTON
\=========================================*/

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

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

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

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

.text-upper {
  text-transform: uppercase;
}

.text-lower {
  text-transform: lowercase;
}

.text-capitalize {
  text-transform: capitalize;
}

.text-nowrap {
  white-space: nowrap;
}

.text-strike {
  text-decoration: line-through;
}

.text-underline {
  text-decoration: underline;
}

.text-hide {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}

.text-overflow {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.text-lighter {
  font-weight: normal;
  font-weight: 100;
}

.text-light {
  font-weight: normal;
  font-weight: 200;
}

.text-regular {
  font-weight: normal;
}

.text-bold {
  font-weight: normal;
  font-weight: bold;
}

.text-bolder {
  font-weight: normal;
  font-weight: 900;
}

.img-responsive {
  display: block;
  width: 100%;
  height: auto;
}

.img-circle {
  border-radius: 50%;
}

.img-rounded {
  border-radius: 0;
}

.list-unstyled {
  padding-left: 0;
  list-style: none;
}

.list-inline {
  padding-left: 0;
  margin-left: 0.35em;
  list-style: none;
}

.list-inline li {
  display: inline-block;
  padding-right: 0.35em;
  padding-left: 0.35em;
}

.clearfix {
  content: '';
  display: block;
  clear: both;
}

.clear {
  clear: both;
}

.pull-left {
  float: left!important;
}

.pull-right {
  float: right!important;
}

.z1 {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
}

.z2 {
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
}

.z3 {
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
}

.z4 {
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.25), 0 10px 10px rgba(0, 0, 0, 0.22);
}

.z5 {
  box-shadow: 0 19px 38px rgba(0, 0, 0, 0.3), 0 15px 12px rgba(0, 0, 0, 0.22);
}

.ir {
  font: 0/0 a;
  text-shadow: none;
  color: transparent;
  background-color: transparent;
  border: 0;
  overflow: hidden;
}

.center-block {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wrap {
  display: block;
  margin: 0 auto;
  width: 1300px;
  max-width: calc(100% - 2em);
  max-width: var(--max-width);
}

.lead {
  font-size: 140%;
}

.medium {
  font-size: 115%;
}

.small {
  font-size: 85%;
}

.contract {
  white-space: nowrap;
  width: 1%;
}

.expand {
  display: block;
  width: 100%;
  height: 100%;
}

.nobr br {
  content: ' ';
}

.nobr br:after {
  content: ' ';
}

.p-3 {
  padding: 6rem !important;
}

.pt-3 {
  padding-top: 6rem !important;
}

.pb-3 {
  padding-bottom: 6rem !important;
}

.pr-3 {
  padding-right: 6rem !important;
}

.pl-3 {
  padding-left: 6rem !important;
}

.px-3 {
  padding-left: 6rem !important;
  padding-right: 6rem !important;
}

.py-3 {
  padding-top: 6rem !important;
  padding-bottom: 6rem !important;
}

.m-3 {
  margin: 6rem !important;
}

.mt-3 {
  margin-top: 6rem !important;
}

.mb-3 {
  margin-bottom: 6rem !important;
}

.mr-3 {
  margin-right: 6rem !important;
}

.ml-3 {
  margin-left: 6rem !important;
}

.mx-3 {
  margin-left: 6rem !important;
  margin-right: 6rem !important;
}

.my-3 {
  margin-top: 6rem !important;
  margin-bottom: 6rem !important;
}

.p-2 {
  padding: 4rem !important;
}

.pt-2 {
  padding-top: 4rem !important;
}

.pb-2 {
  padding-bottom: 4rem !important;
}

.pr-2 {
  padding-right: 4rem !important;
}

.pl-2 {
  padding-left: 4rem !important;
}

.px-2 {
  padding-left: 4rem !important;
  padding-right: 4rem !important;
}

.py-2 {
  padding-top: 4rem !important;
  padding-bottom: 4rem !important;
}

.m-2 {
  margin: 4rem !important;
}

.mt-2 {
  margin-top: 4rem !important;
}

.mb-2 {
  margin-bottom: 4rem !important;
}

.mr-2 {
  margin-right: 4rem !important;
}

.ml-2 {
  margin-left: 4rem !important;
}

.mx-2 {
  margin-left: 4rem !important;
  margin-right: 4rem !important;
}

.my-2 {
  margin-top: 4rem !important;
  margin-bottom: 4rem !important;
}

.p-1 {
  padding: 2rem !important;
}

.pt-1 {
  padding-top: 2rem !important;
}

.pb-1 {
  padding-bottom: 2rem !important;
}

.pr-1 {
  padding-right: 2rem !important;
}

.pl-1 {
  padding-left: 2rem !important;
}

.px-1 {
  padding-left: 2rem !important;
  padding-right: 2rem !important;
}

.py-1 {
  padding-top: 2rem !important;
  padding-bottom: 2rem !important;
}

.m-1 {
  margin: 2rem !important;
}

.mt-1 {
  margin-top: 2rem !important;
}

.mb-1 {
  margin-bottom: 2rem !important;
}

.mr-1 {
  margin-right: 2rem !important;
}

.ml-1 {
  margin-left: 2rem !important;
}

.mx-1 {
  margin-left: 2rem !important;
  margin-right: 2rem !important;
}

.my-1 {
  margin-top: 2rem !important;
  margin-bottom: 2rem !important;
}

.m-0 {
  margin: 0 !important;
}

.mt-0 {
  margin-top: 0 !important;
}

.mb-0 {
  margin-bottom: 0 !important;
}

.mr-0 {
  margin-right: 0 !important;
}

.ml-0 {
  margin-left: 0 !important;
}

.p-0 {
  padding: 0 !important;
}

.pt-0 {
  padding-top: 0 !important;
}

.pb-0 {
  padding-bottom: 0 !important;
}

.pr-0 {
  padding-right: 0 !important;
}

.pl-0 {
  padding-left: 0 !important;
}

.m {
  margin: auto !important;
}

.mt {
  margin-top: auto !important;
}

.mb {
  margin-bottom: auto !important;
}

.mr {
  margin-right: auto !important;
}

.ml {
  margin-left: auto !important;
}

.p-var {
  padding: var(--half-gutter-width) !important;
}

.pt-var {
  padding-top: var(--half-gutter-width) !important;
}

.pb-var {
  padding-bottom: var(--half-gutter-width) !important;
}

.pr-var {
  padding-right: var(--half-gutter-width) !important;
}

.pl-var {
  padding-left: var(--half-gutter-width) !important;
}

.py-var {
  padding-top: var(--half-gutter-width);
  padding-bottom: var(--half-gutter-width) !important;
}

.px-var {
  padding-right: var(--half-gutter-width);
  padding-left: var(--half-gutter-width) !important;
}

.m-var {
  margin: var(--half-gutter-width) !important;
}

.mt-var {
  margin-top: var(--half-gutter-width) !important;
}

.mb-var {
  margin-bottom: var(--half-gutter-width) !important;
}

.mr-var {
  margin-right: var(--half-gutter-width) !important;
}

.ml-var {
  margin-left: var(--half-gutter-width) !important;
}

.my-var {
  margin-top: var(--half-gutter-width);
  margin-bottom: var(--half-gutter-width) !important;
}

.mx-var {
  margin-right: var(--half-gutter-width);
  margin-left: var(--half-gutter-width) !important;
}

.d-none {
  display: none !important;
}

.d-block {
  display: block !important;
}

.d-flex {
  display: flex !important;
}

/*=========================================\
	$TEXT-MIXINS
\=========================================*/

/*=========================================\
	$FONT-WEIGHT
\=========================================*/

/*=========================================\
	$IMAGES-MIXINS
\=========================================*/

/*=========================================\
	$LIST-MIXINS
\=========================================*/

/*=========================================\
	$CLEARING-MIXINS
\=========================================*/

/*=========================================\
	$FLOATS-MIXINS
\=========================================*/

/*=========================================\
	$IR | Image replacement
\=========================================*/

/*=========================================\
	$CENTER
\=========================================*/

/*=========================================\
	$WRAP
\=========================================*/

/*=========================================\
	$SHADOW
\=========================================*/

/*=========================================\
	$LEAD
\=========================================*/

/*=========================================\
	$MEDIUM
\=========================================*/

/*=========================================\
	$SMALL
\=========================================*/

/*=========================================\
	$CONTRACT
\=========================================*/

/*=========================================\
	$EXPAND
\=========================================*/

/*=========================================\
	$NOBR
\=========================================*/

.nobr br {
  content: ' ';
}

.nobr br:after {
  content: ' ';
}

/*=========================================\
	$COMPOSITE
\=========================================*/

/*=========================================\
	$SPACING HELPERS
\=========================================*/

/*=========================================\
	DISPLAY
\=========================================*/

/*=========================================\
	$MASONRY
\=========================================*/

.masonry {
  column-count: 3;
  column-gap: 3em;
}

.masonry-item {
  display: inline-block;
  width: 100%;
}

/*=========================================\
	$ALERTS
\=========================================*/

/*=========================================\
	$PAGINATE
\=========================================*/

/*=========================================\
	$LABELS
\=========================================*/

/*=========================================\
	$TABS // NEED components.js
\=========================================*/

/*=========================================\
	$PANELS // NEED components.js
\=========================================*/

/*=========================================\
	£REVEAL // NEED components.js
\=========================================*/

/*=========================================\
	$IFRAME_RWD
\=========================================*/

.iframe-rwd {
  display: block;
  position: relative;
  padding-bottom: 65.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
}

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

/*=========================================\
	$NORMALIZE FORM CONTROLS
\=========================================*/

::-webkit-input-placeholder {
  color: #999;
}

:-moz-placeholder {
  color: #999;
}

::-moz-placeholder {
  color: #999;
}

:-ms-input-placeholder {
  color: #999;
}

::-webkit-input-placeholder {
  color: #999;
}

:-moz-placeholder {
  color: #999;
}

::-moz-placeholder {
  color: #999;
}

:-ms-input-placeholder {
  color: #999;
}

input,
button,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  outline: none;
}

input[type="search"] {
  box-sizing: border-box;
  -webkit-appearance: none;
}

input[type="range"] {
  display: block;
  width: 100%;
}

select[multiple],
select[size] {
  height: auto;
}

input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
  outline: thin dotted;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}

/*=========================================\
	$REQUIRED
\=========================================*/

/* Need helper.js : Use required attr form input to apply on label */

.required:after {
  color: #e32;
  content: ' *';
  display: inline;
  position: absolute;
}

/*=========================================\
	$LABEL
\=========================================*/

label {
  max-width: 100%;
  margin-bottom: 0.3em;
  font-weight: bold;
}

/*=========================================\
	$FIELDSET
\=========================================*/

fieldset {
  padding: 0.5em 0.8em;
  margin: 1rem 0;
  min-width: 0;
}

legend {
  display: block;
  padding: 0 0.4em;
  font-size: 24px;
  line-height: inherit;
}

/*=========================================\
	$FORM-CONTROLS
\=========================================*/

.form-group {
  margin-bottom: 1em;
}

.form-control {
  display: block;
  width: 100%;
  padding: 0.5em 0.8em;
  font-size: 16px;
  line-height: 1.42857143;
  color: #555;
  background-color: #fff;
  background-image: none;
  background-clip: padding-box;
  border: 2px solid #335C67;
}

.form-control::-ms-expand {
  background-color: transparent;
  border: 0;
}

.form-control:-ms-input-placeholder {
  color: #999;
  opacity: 1;
}

.form-control::placeholder {
  color: #999;
  opacity: 1;
}

.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control {
  background-color: #335C67;
  opacity: 1;
}

.form-control[disabled],
fieldset[disabled] .form-control {
  cursor: not-allowed;
}

textarea.form-control {
  height: auto;
  resize: vertical;
  min-height: 6em;
}

select.form-control {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  text-overflow: '';
  padding-right: 1.2em;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='100' height='100' fill='%23335C67'><polygon points='0,0 100,0 50,50'/></svg>");
  background-size: 0.65em;
  background-position: calc(100% - .8em) calc(50% + .25em);
  background-repeat: no-repeat;
}

select.form-control:focus::-ms-value {
  color: #555;
  background-color: #fff;
}

/*=========================================\
	$FORM-INLINE
\=========================================*/

.form-inline {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
}

.form-inline .form-group {
  display: flex;
  flex: 0 0 auto;
  flex-flow: row wrap;
  align-items: center;
  margin-bottom: 0;
}

.form-inline .form-control {
  display: inline-block;
  width: auto;
  vertical-align: middle;
}

/*=========================================\
	$INPUT-GROUP
\=========================================*/

.input-group {
  position: relative;
  display: flex;
  width: 100%;
}

.input-group .form-control {
  position: relative;
  z-index: 2;
  flex: 1 1 auto;
  margin-bottom: 0;
}

.input-group .form-control:not(:last-child) {
  margin-right: -1px;
}

.input-group .form-control:not(:first-child) {
  margin-left: -1px;
}

.input-group .btn {
  height: 100%;
}

.input-group-btn {
  min-height: 100%;
}

.input-group-btn:not(:last-child) > .btn,
.input-group-btn:not(:last-child) > .btn-group {
  margin-right: -1px;
}

.input-group-btn:not(:first-child) > .btn,
.input-group-btn:not(:first-child) > .btn-group {
  z-index: 2;
  margin-left: -1px;
}

.input-group > * {
  border-radius: 0;
}

.input-group-addon,
.input-group-btn {
  flex: 0 0 auto;
  white-space: nowrap;
  display: flex;
  justify-content: center;
  align-items: center;
}

.input-group-addon button,
.input-group-btn button {
  margin: 0;
}

.input-group-addon {
  position: relative;
  white-space: nowrap;
  padding: 0.5em 0.8em;
  margin-bottom: 0;
  font-weight: normal;
  line-height: 1.42857143;
  color: #555;
  text-align: center;
  background-color: #ECEEEF;
  background-image: none;
  border: 1px solid #335C67;
}

.input-group-addon input[type="radio"],
.input-group-addon input[type="checkbox"] {
  margin-top: 0;
}

.input-group-addon:not(:last-child) {
  border-right: 0;
}

.form-control + .input-group-addon:not(:first-child) {
  border-left: 0;
}

/*=========================================\
	$FORM-INLINE
\=========================================*/

.form-inline {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
}

.form-inline .form-group {
  display: flex;
  flex: 0 0 auto;
  flex-flow: row wrap;
  align-items: center;
  margin-bottom: 0;
}

.form-inline .form-control {
  display: inline-block;
  width: auto;
  vertical-align: middle;
}

/*=========================================\
	$RADIO-CHECKBOX
\=========================================*/

/*=========================================\
	$BUTTONS
\=========================================*/

.btn {
  display: inline-block;
  margin-bottom: 0;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 2px solid #335C67;
  padding: 0.5em 0.8em;
  line-height: 1.42857143;
  -webkit-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

button.btn {
  outline: 0;
}

.btn:hover {
  text-decoration: none;
}

.btn.disabled,
.btn[disabled],
fieldset[disabled] .btn {
  opacity: 0.5;
  cursor: not-allowed;
}

a.btn.disabled,
fieldset[disabled] a.btn {
  pointer-events: none;
}

.btn.btn-block {
  display: block;
  width: 100%;
}

.btn.btn-block + .btn.btn-block {
  margin-top: 5px;
}

/*=========================================\
	$GENERIC
\=========================================*/

/*
 * Remove text-shadow in selection highlight: h5bp.com/i
 * These selection rule sets have to be separate.
 * Customize the background color to match your design.
 */

*,
*:before,
*:after {
  box-sizing: inherit;
}

html {
  box-sizing: border-box;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

::selection {
  background: #335C67;
  color: #fff;
  text-shadow: none;
}

hr {
  margin-top: 22px;
  margin-bottom: 22px;
  border: 0;
  border-top: 1px solid #eee;
}

/*
 * Remove the gap between images and the bottom of their containers: h5bp.com/i/440
 */

img {
  vertical-align: middle;
  max-width: 100%;
}

[role="button"] {
  cursor: pointer;
}

/*=========================================\
	$SCAFFOLD
\=========================================*/

a {
  color: #335C67;
}

a:hover {
  color: #1a2e34;
}

figure {
  margin: 0;
}

abbr {
  cursor: help;
}

del,
s {
  text-decoration: line-through;
}

.small,
small {
  font-size: 85%;
}

.caret {
  display: inline-block;
  font-size: 0.8em;
  width: 0;
  height: 0;
  margin-left: 0.2em;
  margin-top: -0.25em;
  vertical-align: middle;
  border-top: 0.4em dashed;
  border-top: 0.4em solid;
  border-right: 0.4em solid transparent;
  border-left: 0.4em solid transparent;
}

.mark,
mark {
  padding: 0.2em;
  color: #000;
  background-color: #fcf8e3;
}

blockquote {
  position: relative;
  margin: 0 0 1.5em;
  padding-left: 1.5em;
  border-left: 5px solid #eee;
}

blockquote footer:after,
blockquote small:after,
blockquote .small:after {
  content: '';
}

blockquote footer:before,
blockquote small:before,
blockquote .small:before {
  content: '\2014   \A0';
}

table {
  float: none;
}

q:before {
  content: open-quote;
}

q:after {
  content: close-quote;
}

pre,
code {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word;
}

/*=========================================\
	$ARTICLE COMMONS
\=========================================*/

article img.pull-left,
article figure.pull-left {
  max-width: 50%;
  margin-right: 1rem;
}

article img.pull-right,
article figure.pull-right {
  max-width: 50%;
  margin-left: 1rem;
}

article p > img:not([class*="pull-"]):only-child,
article figure img {
  margin-bottom: 0!important;
}

article .row .content img:not([class*="pull-"]):only-child {
  margin: 0 auto;
  display: block;
}

article img,
article figure {
  max-width: 100%;
  height: auto;
}

article figure {
  display: table;
  margin: 0 auto;
  margin-bottom: 1rem;
}

article figure:not([class*="pull-"]) {
  margin: 1rem auto;
}

article figure img {
  margin: 0!important;
}

article figure > a {
  display: block;
}

article figure > a img {
  width: 100%;
}

article figcaption {
  display: table-caption;
  caption-side: bottom;
}

article img:not([class*="pull-"]) {
  margin: 1rem auto;
  display: block;
}

article table {
  width: 100%!important;
  max-width: 100%;
}

/*=========================================\
	$Language-specific quote
\=========================================*/

:lang(fr) {
  quotes: '\AB\2005' '\2005\BB' '\2039\2005' '\2005\203A';
}

:lang(es) {
  quotes: '\AB' '\BB' '\2039' '\203A';
}

:lang(de) {
  quotes: '\201E' '\201C' '\201A' '\2018';
}

:lang(en-GB) {
  quotes: '\2018' '\2019' '\201C' '\201D';
}

/*=========================================\
	$SR-ONLY
\=========================================*/

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.sr-only-focusable:active,
.sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto;
}

/*=========================================\
	$PRINT-P
\=========================================*/

.print-only {
  display: none;
}

/*=========================================\
	$BTGRID
\=========================================*/

.btgrid iframe {
  max-width: 100%;
}

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
  border-style: none;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Misc
   ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

template {
  display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
  display: none;
}

.cc-window {
  opacity: 1;
  transition: opacity 1s ease;
}

.cc-window.cc-invisible {
  opacity: 0;
}

.cc-animate.cc-revoke {
  transition: transform 1s ease;
}

.cc-animate.cc-revoke.cc-top {
  transform: translateY(-2em);
}

.cc-animate.cc-revoke.cc-bottom {
  transform: translateY(2em);
}

.cc-animate.cc-revoke.cc-active.cc-top {
  transform: translateY(0);
}

.cc-animate.cc-revoke.cc-active.cc-bottom {
  transform: translateY(0);
}

.cc-revoke:hover {
  transform: translateY(0);
}

.cc-grower {
  max-height: 0;
  overflow: hidden;
  transition: max-height 1s;
}

.cc-revoke,
.cc-window {
  position: fixed;
  overflow: hidden;
  box-sizing: border-box;
  font-family: Helvetica,Calibri,Arial,sans-serif;
  font-size: 16px;
  line-height: 1.5em;
  display: flex;
  flex-wrap: nowrap;
  z-index: 9999;
}

.cc-window.cc-static {
  position: static;
}

.cc-window.cc-floating {
  padding: 2em;
  max-width: 24em;
  flex-direction: column;
}

.cc-window.cc-banner {
  padding: 1em 1.8em;
  width: 100%;
  flex-direction: row;
}

.cc-revoke {
  padding: .5em;
}

.cc-revoke:hover {
  text-decoration: underline;
}

.cc-header {
  font-size: 18px;
  font-weight: 700;
}

.cc-btn,
.cc-close,
.cc-link,
.cc-revoke {
  cursor: pointer;
}

.cc-link {
  opacity: .8;
  display: inline-block;
  padding: .2em;
  text-decoration: underline;
}

.cc-link:hover {
  opacity: 1;
}

.cc-link:active,
.cc-link:visited {
  color: initial;
}

.cc-btn {
  display: block;
  padding: .4em .8em;
  font-size: .9em;
  font-weight: 700;
  border-width: 2px;
  border-style: solid;
  text-align: center;
  white-space: nowrap;
}

.cc-highlight .cc-btn:first-child {
  background-color: transparent;
  border-color: transparent;
}

.cc-highlight .cc-btn:first-child:focus,
.cc-highlight .cc-btn:first-child:hover {
  background-color: transparent;
  text-decoration: underline;
}

.cc-close {
  display: block;
  position: absolute;
  top: .5em;
  right: .5em;
  font-size: 1.6em;
  opacity: .9;
  line-height: .75;
}

.cc-close:focus,
.cc-close:hover {
  opacity: 1;
}

.cc-revoke.cc-top {
  top: 0;
  left: 3em;
  border-bottom-left-radius: .5em;
  border-bottom-right-radius: .5em;
}

.cc-revoke.cc-bottom {
  bottom: 0;
  left: 3em;
  border-top-left-radius: .5em;
  border-top-right-radius: .5em;
}

.cc-revoke.cc-left {
  left: 3em;
  right: unset;
}

.cc-revoke.cc-right {
  right: 3em;
  left: unset;
}

.cc-top {
  top: 1em;
}

.cc-left {
  left: 1em;
}

.cc-right {
  right: 1em;
}

.cc-bottom {
  bottom: 1em;
}

.cc-floating>.cc-link {
  margin-bottom: 1em;
}

.cc-floating .cc-message {
  display: block;
  margin-bottom: 1em;
}

.cc-window.cc-floating .cc-compliance {
  flex: 1 0 auto;
}

.cc-window.cc-banner {
  align-items: center;
}

.cc-banner.cc-top {
  left: 0;
  right: 0;
  top: 0;
}

.cc-banner.cc-bottom {
  left: 0;
  right: 0;
  bottom: 0;
}

.cc-banner .cc-message {
  display: block;
  flex: 1 1 auto;
  max-width: 100%;
  margin-right: 1em;
}

.cc-compliance {
  display: flex;
  align-items: center;
  align-content: space-between;
}

.cc-floating .cc-compliance>.cc-btn {
  flex: 1;
}

.cc-btn+.cc-btn {
  margin-left: .5em;
}

.cc-floating.cc-theme-classic {
  padding: 1.2em;
  border-radius: 5px;
}

.cc-floating.cc-type-info.cc-theme-classic .cc-compliance {
  text-align: center;
  display: inline;
  flex: none;
}

.cc-theme-classic .cc-btn {
  border-radius: 5px;
}

.cc-theme-classic .cc-btn:last-child {
  min-width: 140px;
}

.cc-floating.cc-type-info.cc-theme-classic .cc-btn {
  display: inline-block;
}

.cc-theme-edgeless.cc-window {
  padding: 0;
}

.cc-floating.cc-theme-edgeless .cc-message {
  margin: 2em;
  margin-bottom: 1.5em;
}

.cc-banner.cc-theme-edgeless .cc-btn {
  margin: 0;
  padding: .8em 1.8em;
  height: 100%;
}

.cc-banner.cc-theme-edgeless .cc-message {
  margin-left: 1em;
}

.cc-floating.cc-theme-edgeless .cc-btn+.cc-btn {
  margin-left: 0;
}

.tns-outer {
  padding: 0 !important;
}

.tns-outer [hidden] {
  display: none !important;
}

.tns-outer [aria-controls],
.tns-outer [data-action] {
  cursor: pointer;
}

.tns-slider {
  transition: all 0s;
}

.tns-slider>.tns-item {
  box-sizing: border-box;
}

.tns-horizontal.tns-subpixel {
  white-space: nowrap;
}

.tns-horizontal.tns-subpixel>.tns-item {
  display: inline-block;
  vertical-align: top;
  white-space: normal;
}

.tns-horizontal.tns-no-subpixel:after {
  content: '';
  display: table;
  clear: both;
}

.tns-horizontal.tns-no-subpixel>.tns-item {
  float: left;
}

.tns-horizontal.tns-carousel.tns-no-subpixel>.tns-item {
  margin-right: -100%;
}

.tns-no-calc {
  position: relative;
  left: 0;
}

.tns-gallery {
  position: relative;
  left: 0;
  min-height: 1px;
}

.tns-gallery>.tns-item {
  position: absolute;
  left: -100%;
  transition: transform 0s, opacity 0s;
}

.tns-gallery>.tns-slide-active {
  position: relative;
  left: auto !important;
}

.tns-gallery>.tns-moving {
  transition: all 0.25s;
}

.tns-autowidth {
  display: inline-block;
}

.tns-lazy-img {
  transition: opacity 0.6s;
  opacity: 0.6;
}

.tns-lazy-img.tns-complete {
  opacity: 1;
}

.tns-ah {
  transition: height 0s;
}

.tns-ovh {
  overflow: hidden;
}

.tns-visually-hidden {
  position: absolute;
  left: -10000em;
}

.tns-transparent {
  opacity: 0;
  visibility: hidden;
}

.tns-fadeIn {
  opacity: 1;
  filter: alpha(opacity=100);
  z-index: 0;
}

.tns-normal,
.tns-fadeOut {
  opacity: 0;
  filter: alpha(opacity=0);
  z-index: -1;
}

.tns-vpfix {
  white-space: nowrap;
}

.tns-vpfix>div,
.tns-vpfix>li {
  display: inline-block;
}

.tns-t-subp2 {
  margin: 0 auto;
  width: 310px;
  position: relative;
  height: 10px;
  overflow: hidden;
}

.tns-t-ct {
  width: 2333.3333333%;
  width: calc(100% * 70 / 3);
  position: absolute;
  right: 0;
}

.tns-t-ct:after {
  content: '';
  display: table;
  clear: both;
}

.tns-t-ct>div {
  width: 1.4285714%;
  width: calc(100% / 70);
  height: 10px;
  float: left;
}

.tingle-modal * {
  box-sizing: border-box;
}

.tingle-modal {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1000;
  display: flex;
  visibility: hidden;
  flex-direction: column;
  align-items: center;
  overflow: hidden;
  -webkit-overflow-scrolling: touch;
  background: rgba(0,0,0,.85);
  opacity: 0;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  cursor: pointer;
}

.tingle-modal--noClose .tingle-modal__close,
.tingle-modal__closeLabel {
  display: none;
}

.tingle-modal--confirm .tingle-modal-box {
  text-align: center;
}

.tingle-modal--noOverlayClose {
  cursor: default;
}

.tingle-modal__close {
  position: fixed;
  top: 2rem;
  right: 2rem;
  z-index: 1000;
  padding: 0;
  width: 2rem;
  height: 2rem;
  border: none;
  background-color: transparent;
  color: #fff;
  cursor: pointer;
}

.tingle-modal__close svg * {
  fill: currentColor;
}

.tingle-modal__close:hover {
  color: #fff;
}

.tingle-modal-box {
  position: relative;
  flex-shrink: 0;
  margin-top: auto;
  margin-bottom: auto;
  width: 60%;
  border-radius: 4px;
  background: #fff;
  opacity: 1;
  cursor: auto;
  will-change: transform,opacity;
}

.tingle-modal-box__content {
  padding: 3rem;
}

.tingle-modal-box__footer {
  padding: 1.5rem 2rem;
  width: auto;
  border-bottom-right-radius: 4px;
  border-bottom-left-radius: 4px;
  background-color: #f5f5f5;
  cursor: auto;
}

.tingle-modal-box__footer::after {
  display: table;
  clear: both;
  content: "";
}

.tingle-modal-box__footer--sticky {
  position: fixed;
  bottom: -200px;
  z-index: 10001;
  opacity: 1;
  transition: bottom .3s ease-in-out .3s;
}

.tingle-enabled {
  position: fixed;
  right: 0;
  left: 0;
  overflow: hidden;
}

.tingle-modal--visible .tingle-modal-box__footer {
  bottom: 0;
}

.tingle-enabled .tingle-content-wrapper {
  filter: blur(8px);
}

.tingle-modal--visible {
  visibility: visible;
  opacity: 1;
}

.tingle-modal--visible .tingle-modal-box {
  animation: scale .2s cubic-bezier(.68,-.55,.265,1.55) forwards;
}

.tingle-modal--overflow {
  overflow-y: scroll;
  padding-top: 8vh;
}

.tingle-btn {
  display: inline-block;
  margin: 0 .5rem;
  padding: 1rem 2rem;
  border: none;
  background-color: grey;
  box-shadow: none;
  color: #fff;
  vertical-align: middle;
  text-decoration: none;
  font-size: inherit;
  font-family: inherit;
  line-height: normal;
  cursor: pointer;
  transition: background-color .4s ease;
}

.tingle-btn--primary {
  background-color: #3498db;
}

.tingle-btn--danger {
  background-color: #e74c3c;
}

.tingle-btn--default {
  background-color: #34495e;
}

.tingle-btn--pull-left {
  float: left;
}

.tingle-btn--pull-right {
  float: right;
}

@supports (backdrop-filter:blur(12px)) {
  .tingle-modal {
    backdrop-filter: blur(20px);
  }

  .tingle-enabled .tingle-content-wrapper {
    filter: none;
  }
}

@keyframes scale {
  0% {
    opacity: 0;
    transform: scale(.9);
  }

  100% {
    opacity: 1;
    transform: scale(1);
  }
}

body.swal2-shown {
  overflow-y: hidden;
}

body.swal2-iosfix {
  position: fixed;
  left: 0;
  right: 0;
}

.swal2-container {
  display: flex;
  align-items: center;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  padding: 10px;
  background-color: transparent;
  z-index: 10600;
}

.swal2-container.swal2-fade {
  transition: background-color 0.1s;
}

.swal2-container.swal2-shown {
  background-color: rgba(29, 29, 28, 0.9);
}

.swal2-modal {
  background-color: #fff;
  border-radius: 5px;
  box-sizing: border-box;
  text-align: center;
  margin: auto;
  overflow-x: hidden;
  overflow-y: auto;
  display: none;
  position: relative;
}

.swal2-modal:focus {
  outline: none;
}

.swal2-modal.swal2-loading {
  overflow-y: hidden;
}

.swal2-modal .swal2-title {
  color: #335C67;
  font-size: 30px;
  text-align: center;
  font-weight: 600;
  text-transform: none;
  position: relative;
  margin: 0 0 0.4em;
  padding: 0;
  display: block;
}

.swal2-modal .swal2-title:before {
  display: none!important;
}

.swal2-modal .swal2-spacer {
  height: 10px;
  color: transparent;
  border: 0;
}

.swal2-modal .swal2-styled {
  border: 0;
  border-radius: 3px;
  box-shadow: none;
  color: #fff;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  margin: 0 5px;
  padding: 10px 32px;
}

.swal2-modal .swal2-styled:not(.swal2-loading)[disabled] {
  opacity: 0.4;
  cursor: no-drop;
}

.swal2-modal .swal2-styled.swal2-loading {
  box-sizing: border-box;
  border: 4px solid transparent;
  width: 40px;
  height: 40px;
  padding: 0;
  margin: -2px 30px;
  vertical-align: top;
  background-color: transparent !important;
  color: transparent;
  cursor: default;
  border-radius: 100%;
  animation: rotate-loading 1.5s linear 0s infinite normal;
  -webkit-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.swal2-modal .swal2-styled + .swal2-styled {
  margin-top: 15px;
}

.swal2-modal :not(.swal2-styled).swal2-loading::after {
  display: inline-block;
  content: '';
  margin-left: 5px;
  vertical-align: -1px;
  height: 6px;
  width: 6px;
  border: 3px solid #8b8a8a;
  border-right-color: transparent;
  border-radius: 50%;
  animation: rotate-loading 1.5s linear 0s infinite normal;
}

.swal2-modal .swal2-image {
  margin: 20px auto;
  max-width: 100%;
}

.swal2-modal .swal2-close {
  font-size: 36px;
  line-height: 36px;
  font-family: serif;
  position: absolute;
  top: 5px;
  right: 13px;
  cursor: pointer;
  color: #8b8a8a;
  transition: color 0.1s ease;
}

.swal2-modal .swal2-close:hover {
  color: #a15641;
}

.swal2-modal > .swal2-input,
.swal2-modal > .swal2-file,
.swal2-modal > .swal2-textarea,
.swal2-modal > .swal2-select,
.swal2-modal > .swal2-radio,
.swal2-modal > .swal2-checkbox {
  display: none;
}

.swal2-modal .swal2-content {
  font-size: 18px;
  text-align: center;
  font-weight: 300;
  position: relative;
  float: none;
  margin: 0;
  padding: 0;
  line-height: normal;
  color: #8b8a8a;
  word-wrap: break-word;
}

.swal2-modal .swal2-input,
.swal2-modal .swal2-file,
.swal2-modal .swal2-textarea,
.swal2-modal .swal2-select,
.swal2-modal .swal2-radio,
.swal2-modal .swal2-checkbox {
  margin: 20px auto;
}

.swal2-modal .swal2-input,
.swal2-modal .swal2-file,
.swal2-modal .swal2-textarea {
  width: 100%;
  box-sizing: border-box;
  border-radius: 3px;
  border: 1px solid #f6f6f6;
  font-size: 18px;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.06);
  transition: border-color 0.3s, box-shadow 0.3s;
}

.swal2-modal .swal2-input.swal2-inputerror,
.swal2-modal .swal2-file.swal2-inputerror,
.swal2-modal .swal2-textarea.swal2-inputerror {
  border-color: #bd6f59 !important;
}

.swal2-modal .swal2-input:focus,
.swal2-modal .swal2-file:focus,
.swal2-modal .swal2-textarea:focus {
  outline: none;
  box-shadow: 0 0 3px #aa9772;
  border: 1px solid #A08B62;
}

.swal2-modal .swal2-input:focus:-ms-input-placeholder,
.swal2-modal .swal2-file:focus:-ms-input-placeholder,
.swal2-modal .swal2-textarea:focus:-ms-input-placeholder {
  -ms-transition: opacity 0.3s 0.03s ease;
  transition: opacity 0.3s 0.03s ease;
  opacity: 0.8;
}

.swal2-modal .swal2-input:focus:-ms-input-placeholder, .swal2-modal .swal2-file:focus:-ms-input-placeholder, .swal2-modal .swal2-textarea:focus:-ms-input-placeholder {
  -ms-transition: opacity 0.3s 0.03s ease;
  transition: opacity 0.3s 0.03s ease;
  opacity: 0.8;
}

.swal2-modal .swal2-input:focus::placeholder,
.swal2-modal .swal2-file:focus::placeholder,
.swal2-modal .swal2-textarea:focus::placeholder {
  transition: opacity 0.3s 0.03s ease;
  opacity: 0.8;
}

.swal2-modal .swal2-input:-ms-input-placeholder,
.swal2-modal .swal2-file:-ms-input-placeholder,
.swal2-modal .swal2-textarea:-ms-input-placeholder {
  color: #b1b1b1;
}

.swal2-modal .swal2-input:-ms-input-placeholder, .swal2-modal .swal2-file:-ms-input-placeholder, .swal2-modal .swal2-textarea:-ms-input-placeholder {
  color: #b1b1b1;
}

.swal2-modal .swal2-input::placeholder,
.swal2-modal .swal2-file::placeholder,
.swal2-modal .swal2-textarea::placeholder {
  color: #b1b1b1;
}

.swal2-modal .swal2-range input {
  float: left;
  width: 80%;
}

.swal2-modal .swal2-range output {
  float: right;
  width: 20%;
  font-size: 20px;
  font-weight: 600;
  text-align: center;
}

.swal2-modal .swal2-range input,
.swal2-modal .swal2-range output {
  height: 43px;
  line-height: 43px;
  vertical-align: middle;
  margin: 20px auto;
  padding: 0;
}

.swal2-modal .swal2-input {
  height: 43px;
  padding: 0 12px;
}

.swal2-modal .swal2-input[type='number'] {
  max-width: 150px;
}

.swal2-modal .swal2-file {
  font-size: 20px;
}

.swal2-modal .swal2-textarea {
  height: 108px;
  padding: 12px;
}

.swal2-modal .swal2-select {
  color: #A08B62;
  font-size: inherit;
  padding: 5px 10px;
  min-width: 40%;
  max-width: 100%;
}

.swal2-modal .swal2-radio {
  border: 0;
}

.swal2-modal .swal2-radio label:not(:first-child) {
  margin-left: 20px;
}

.swal2-modal .swal2-radio input,
.swal2-modal .swal2-radio span {
  vertical-align: middle;
}

.swal2-modal .swal2-radio input {
  margin: 0 3px 0 0;
}

.swal2-modal .swal2-checkbox {
  color: #335C67;
}

.swal2-modal .swal2-checkbox input,
.swal2-modal .swal2-checkbox span {
  vertical-align: middle;
}

.swal2-modal .swal2-validationerror {
  background-color: #f0f0f0;
  margin: 0 -20px;
  overflow: hidden;
  padding: 10px;
  color: gray;
  font-size: 16px;
  font-weight: 300;
  display: none;
}

.swal2-modal .swal2-validationerror::before {
  content: '!';
  display: inline-block;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: #bd6f59;
  color: #fff;
  line-height: 24px;
  text-align: center;
  margin-right: 10px;
}

@supports (-ms-accelerator: true) {
  .swal2-range input {
    width: 100% !important;
  }

  .swal2-range output {
    display: none;
  }
}

.swal2-icon {
  width: 80px;
  height: 80px;
  border: 4px solid transparent;
  border-radius: 50%;
  margin: 20px auto 30px;
  padding: 0;
  position: relative;
  box-sizing: content-box;
  cursor: default;
  -webkit-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.swal2-icon.swal2-error {
  border-color: #daaea1;
}

.swal2-icon.swal2-error .x-mark {
  position: relative;
  display: block;
}

.swal2-icon.swal2-error .line {
  position: absolute;
  height: 5px;
  width: 47px;
  background-color: #bd6f59;
  display: block;
  top: 37px;
  border-radius: 2px;
}

.swal2-icon.swal2-error .line.left {
  transform: rotate(45deg);
  left: 17px;
}

.swal2-icon.swal2-error .line.right {
  transform: rotate(-45deg);
  right: 16px;
}

.swal2-icon.swal2-warning {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  color: #c89c58;
  border-color: #e1c9a5;
  font-size: 60px;
  line-height: 80px;
  text-align: center;
}

.swal2-icon.swal2-info {
  font-family: 'Open Sans', sans-serif;
  color: #335C67;
  border-color: #5599ab;
  font-size: 60px;
  line-height: 80px;
  text-align: center;
}

.swal2-icon.swal2-question {
  font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
  color: #87adbd;
  border-color: #c9dae1;
  font-size: 60px;
  line-height: 80px;
  text-align: center;
}

.swal2-icon.swal2-success {
  border-color: #7ea25f;
}

.swal2-icon.swal2-success::before,
.swal2-icon.swal2-success::after {
  content: '';
  border-radius: 50%;
  position: absolute;
  width: 60px;
  height: 120px;
  background: #fff;
  transform: rotate(45deg);
}

.swal2-icon.swal2-success::before {
  border-radius: 120px 0 0 120px;
  top: -7px;
  left: -33px;
  transform: rotate(-45deg);
  transform-origin: 60px 60px;
}

.swal2-icon.swal2-success::after {
  border-radius: 0 120px 120px 0;
  top: -11px;
  left: 30px;
  transform: rotate(-45deg);
  transform-origin: 0 60px;
}

.swal2-icon.swal2-success .placeholder {
  width: 80px;
  height: 80px;
  border: 4px solid rgba(149, 193, 30, 0.2);
  border-radius: 50%;
  box-sizing: content-box;
  position: absolute;
  left: -4px;
  top: -4px;
  z-index: 2;
}

.swal2-icon.swal2-success .fix {
  width: 7px;
  height: 90px;
  background-color: #fff;
  position: absolute;
  left: 28px;
  top: 8px;
  z-index: 1;
  transform: rotate(-45deg);
}

.swal2-icon.swal2-success .line {
  height: 5px;
  background-color: #7ea25f;
  display: block;
  border-radius: 2px;
  position: absolute;
  z-index: 2;
}

.swal2-icon.swal2-success .line.tip {
  width: 25px;
  left: 14px;
  top: 46px;
  transform: rotate(45deg);
}

.swal2-icon.swal2-success .line.long {
  width: 47px;
  right: 8px;
  top: 38px;
  transform: rotate(-45deg);
}

.swal2-progresssteps {
  font-weight: 600;
  margin: 0 0 20px;
  padding: 0;
}

.swal2-progresssteps li {
  display: inline-block;
  position: relative;
}

.swal2-progresssteps .swal2-progresscircle {
  background: #A08B62;
  border-radius: 2em;
  color: #fff;
  height: 2em;
  line-height: 2em;
  text-align: center;
  width: 2em;
  z-index: 20;
}

.swal2-progresssteps .swal2-progresscircle:first-child {
  margin-left: 0;
}

.swal2-progresssteps .swal2-progresscircle:last-child {
  margin-right: 0;
}

.swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep {
  background: #A08B62;
}

.swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep ~ .swal2-progresscircle {
  background: #c6baa2;
}

.swal2-progresssteps .swal2-progresscircle.swal2-activeprogressstep ~ .swal2-progressline {
  background: #c6baa2;
}

.swal2-progresssteps .swal2-progressline {
  background: #A08B62;
  height: 0.4em;
  margin: 0 -1px;
  z-index: 10;
}

[class^='swal2'] {
  -webkit-tap-highlight-color: transparent;
}

@keyframes showSweetAlert {
  0% {
    transform: scale(0.7);
  }

  45% {
    transform: scale(1.05);
  }

  80% {
    transform: scale(0.95);
  }

  100% {
    transform: scale(1);
  }
}

@keyframes hideSweetAlert {
  0% {
    transform: scale(1);
    opacity: 1;
  }

  100% {
    transform: scale(0.5);
    opacity: 0;
  }
}

.swal2-show {
  animation: showSweetAlert 0.3s;
}

.swal2-show.swal2-noanimation {
  animation: none;
}

.swal2-hide {
  animation: hideSweetAlert 0.15s forwards;
}

.swal2-hide.swal2-noanimation {
  animation: none;
}

@keyframes animate-success-tip {
  0% {
    width: 0;
    left: 1px;
    top: 19px;
  }

  54% {
    width: 0;
    left: 1px;
    top: 19px;
  }

  70% {
    width: 50px;
    left: -8px;
    top: 37px;
  }

  84% {
    width: 17px;
    left: 21px;
    top: 48px;
  }

  100% {
    width: 25px;
    left: 14px;
    top: 45px;
  }
}

@keyframes animate-success-long {
  0% {
    width: 0;
    right: 46px;
    top: 54px;
  }

  65% {
    width: 0;
    right: 46px;
    top: 54px;
  }

  84% {
    width: 55px;
    right: 0;
    top: 35px;
  }

  100% {
    width: 47px;
    right: 8px;
    top: 38px;
  }
}

@keyframes rotatePlaceholder {
  0% {
    transform: rotate(-45deg);
  }

  5% {
    transform: rotate(-45deg);
  }

  12% {
    transform: rotate(-405deg);
  }

  100% {
    transform: rotate(-405deg);
  }
}

.animate-success-tip {
  animation: animate-success-tip 0.75s;
}

.animate-success-long {
  animation: animate-success-long 0.75s;
}

.swal2-success.animate::after {
  animation: rotatePlaceholder 4.25s ease-in;
}

@keyframes animate-error-icon {
  0% {
    transform: rotateX(100deg);
    opacity: 0;
  }

  100% {
    transform: rotateX(0deg);
    opacity: 1;
  }
}

.animate-error-icon {
  animation: animate-error-icon 0.5s;
}

@keyframes animate-x-mark {
  0% {
    transform: scale(0.4);
    margin-top: 26px;
    opacity: 0;
  }

  50% {
    transform: scale(0.4);
    margin-top: 26px;
    opacity: 0;
  }

  80% {
    transform: scale(1.15);
    margin-top: -6px;
  }

  100% {
    transform: scale(1);
    margin-top: 0;
    opacity: 1;
  }
}

.animate-x-mark {
  animation: animate-x-mark 0.5s;
}

@keyframes pulse-warning {
  0% {
    border-color: #c89c58;
  }

  100% {
    border-color: #e1c9a5;
  }
}

.pulse-warning {
  animation: pulse-warning 0.75s infinite alternate;
}

@keyframes rotate-loading {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

/*=========================================\
	$VARS
\=========================================*/

[class*="col-xs"],
[class*="col-xs-offset"] {
  box-sizing: border-box;
  flex: 0 0 auto;
  flex-direction: column;
  padding-right: 1rem;
  padding-right: var(--half-gutter-width);
  padding-left: 1rem;
  padding-left: var(--half-gutter-width);
}

.col-xs {
  flex-grow: 1;
  flex-basis: 0;
  max-width: 100%;
}

.col-xs-1 {
  flex-basis: 8.33333333%;
  max-width: 8.33333333%;
}

.col-xs-2 {
  flex-basis: 16.66666667%;
  max-width: 16.66666667%;
}

.col-xs-3 {
  flex-basis: 25%;
  max-width: 25%;
}

.col-xs-4 {
  flex-basis: 33.33333333%;
  max-width: 33.33333333%;
}

.col-xs-5 {
  flex-basis: 41.66666667%;
  max-width: 41.66666667%;
}

.col-xs-6 {
  flex-basis: 50%;
  max-width: 50%;
}

.col-xs-7 {
  flex-basis: 58.33333333%;
  max-width: 58.33333333%;
}

.col-xs-8 {
  flex-basis: 66.66666667%;
  max-width: 66.66666667%;
}

.col-xs-9 {
  flex-basis: 75%;
  max-width: 75%;
}

.col-xs-10 {
  flex-basis: 83.33333333%;
  max-width: 83.33333333%;
}

.col-xs-11 {
  flex-basis: 91.66666667%;
  max-width: 91.66666667%;
}

.col-xs-12 {
  flex-basis: 100%;
  max-width: 100%;
}

.col-xs-offset-1 {
  margin-left: 8.33333333%;
}

.col-xs-offset-2 {
  margin-left: 16.66666667%;
}

.col-xs-offset-3 {
  margin-left: 25%;
}

.col-xs-offset-4 {
  margin-left: 33.33333333%;
}

.col-xs-offset-5 {
  margin-left: 41.66666667%;
}

.col-xs-offset-6 {
  margin-left: 50%;
}

.col-xs-offset-7 {
  margin-left: 58.33333333%;
}

.col-xs-offset-8 {
  margin-left: 66.66666667%;
}

.col-xs-offset-9 {
  margin-left: 75%;
}

.col-xs-offset-10 {
  margin-left: 83.33333333%;
}

.col-xs-offset-11 {
  margin-left: 91.66666667%;
}

.start-xs {
  justify-content: flex-start;
  text-align: start;
}

.center-xs {
  justify-content: center;
  text-align: center;
}

.end-xs {
  justify-content: flex-end;
  text-align: end;
}

.nogrow-xs {
  flex-grow: 0;
}

.top-xs {
  align-items: flex-start;
}

.middle-xs {
  align-items: center;
}

.bottom-xs {
  align-items: flex-end;
}

.stretch-xs {
  align-items: stretch;
}

.around-xs {
  justify-content: space-around;
}

.between-xs {
  justify-content: space-between;
}

.justify-xs {
  justify-content: center;
}

.first-xs {
  order: -1;
}

.last-xs {
  order: 1;
}

.small-gap-xs {
  --half-gutter-width: calc(1rem*0.5);
  --gutter-compensation: calc(-1rem*0.5);
  --outer-margin: calc(2rem*0.5);
}

.gap-xs {
  --half-gutter-width: 1rem;
  --gutter-compensation: -1rem;
  --outer-margin: 2rem;
}

.col-xs-offset-0 {
  margin-left: 0%;
}

.d-xs-flex {
  display: flex !important;
}

.d-xs-block {
  display: block !important;
}

.d-xs-none {
  display: none !important;
}

/*=========================================\
	$FONTS
\=========================================*/

/*=========================================\
	$FIX WIDTH ICON
\=========================================*/

.icon-fw {
  width: 1.28571429em;
  text-align: center;
}

/*=========================================\
	$ROTATED-FLIPPED
\=========================================*/

.icon-rotate-90 {
  transform: rotate(90deg);
}

.icon-rotate-180 {
  transform: rotate(180deg);
}

.icon-rotate-270 {
  transform: rotate(270deg);
}

.icon-flip-horizontal {
  transform: scale(-1, 1);
}

.icon-flip-vertical {
  transform: scale(1, -1);
}

/*=========================================\
	$MIXINS
\=========================================*/

/*=========================================\
	$ICON SIZES
\=========================================*/

/* makes the font 33% larger relative to the icon container */

.icon-lg {
  font-size: 1.33333333em;
  line-height: 0.75em;
  vertical-align: -15%;
}

.icon-2x {
  font-size: 2em !important;
}

.icon-3x {
  font-size: 3em !important;
}

.icon-4x {
  font-size: 4em !important;
}

.icon-5x {
  font-size: 5em !important;
}

@font-face {
  font-family: "fonticon";
  src: url(/fonts/fonticon.woff2) format("woff2"), url(/fonts/fonticon.woff) format("woff"), url(/fonts/fonticon.ttf) format("truetype");
  font-display: swap;
}

/* purgecss ignore */

i[class*="fonticon-"]:before {
  font-family: 'fonticon' !important;
  font-style: normal;
  font-weight: normal !important;
  font-variant: normal;
  text-transform: none;
  text-rendering: auto;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.fonticon-cart:before {
  content: "\F101";
}

.fonticon-cross:before {
  content: "\F102";
}

.fonticon-dolly:before {
  content: "\F103";
}

.fonticon-envelope:before {
  content: "\F104";
}

.fonticon-facebook:before {
  content: "\F105";
}

.fonticon-flower:before {
  content: "\F106";
}

.fonticon-heart:before {
  content: "\F107";
}

.fonticon-home:before {
  content: "\F108";
}

.fonticon-instagram:before {
  content: "\F109";
}

.fonticon-linkedin:before {
  content: "\F10A";
}

.fonticon-minus:before {
  content: "\F10B";
}

.fonticon-parking:before {
  content: "\F10C";
}

.fonticon-play:before {
  content: "\F10D";
}

.fonticon-plus:before {
  content: "\F10E";
}

.fonticon-scissor:before {
  content: "\F10F";
}

.fonticon-search:before {
  content: "\F110";
}

.fonticon-share:before {
  content: "\F111";
}

.fonticon-star-half:before {
  content: "\F112";
}

.fonticon-star-o:before {
  content: "\F113";
}

.fonticon-star:before {
  content: "\F114";
}

.fonticon-twitter:before {
  content: "\F115";
}

.fonticon-wheelchair:before {
  content: "\F116";
}

.fonticon-youtube:before {
  content: "\F117";
}

/*=========================================\
	$SCAFFOLD
\=========================================*/

:root {
  font-family: 'Work Sans', Helvetica, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.42857143;
  color: #666;
  --breakpoint-xl: 1300px;
  --breakpoint-lg: 960px;
  --breakpoint-md: 720px;
  --breakpoint-sm: 480px;
  --btn-color: #335C67;
  --bg-footer: url(../images/bg-footer.jpg);
  --index: 0;
  --scroll-margin-top: calc(64px + 16px * 2);
  --max-width: calc(100% - 1.6em);
}

html {
  height: 100%;
  scroll-behavior: smooth;
  overflow-x: hidden;
  transition: opacity 0.2s ease;
}

body {
  background-color: #f8f5f0;
  background-image: url(../images/bg-fiber.png);
  min-height: 100%;
  width: 100%;
  --configurator-color-1: #666;
}

body.login:after {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: var(--bg-footer) center no-repeat;
  background-size: cover;
  background-attachment: fixed;
  transform: scaleX(1.05);
  transform-origin: 50% 50%;
  z-index: -1;
  filter: blur(5px);
}

body.login footer {
  background: #f8f5f0 url(../images/bg-fiber.png);
}

body.login .footer-bottom a {
  color: #A08B62 !important;
}

body.configurator {
  --configurator-color-1: transparent;
  --configurator-color-2: transparent;
  --configurator-color-3: transparent;
  background: #fff;
}

body.configurator footer {
  background: #fff;
}

body.configurator footer .logo + div,
body.configurator footer .wrap.p-1 {
  padding-left: 0!important;
  padding-right: 0!important;
}

body.configurator .footer-bottom a {
  color: #A08B62;
}

body {
  min-height: 100%;
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: auto auto 1fr auto;
  grid-template-rows: auto auto 1fr auto;
  -ms-grid-columns: 100%;
  grid-template-columns: 100%;
      grid-template-areas: "message" "header" "main" "footer";
}

.header-message {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
  grid-area: message;
}

header[role] {
  -ms-grid-row: 2;
  -ms-grid-column: 1;
  grid-area: header;
}

footer[role] {
  -ms-grid-row: 4;
  -ms-grid-column: 1;
  grid-area: footer;
}

main {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
  grid-area: main;
}

section {
  position: relative;
  padding: 2rem 0;
  z-index: 2;
}

section:not(.has-sticky) {
  overflow-x: hidden;
}

main {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

main {
  padding: 3rem 0;
}

header + main {
  padding: 0;
}

.wrap-large {
  display: block;
  position: relative;
  margin: 0 auto;
  width: 1600px;
  max-width: calc(100% - 2em);
}

/*=========================================\
	$HEADER
\=========================================*/

.header-message {
  margin: 0;
  background: #111;
  color: #fff;
  font-size: 0.85em;
  padding: 0.5em;
  line-height: 1.2;
  display: block;
  z-index: 12;
}

.header-message .wrap {
  position: relative;
  padding-inline: 2em;
}

.header-message .header-close-button {
  position: absolute;
  top: 55%;
  right: 0;
  background-color: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
  color: inherit;
  font-size: 1em;
  transform: translateY(-50%);
  z-index: 10;
}

.active-nav .header-message {
  display: none;
}

.header-message a {
  color: inherit;
  text-decoration: underline;
}

header[role] {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 11;
  transition: 0.2s ease;
  overflow: visible;
  max-width: 100vw;
}

.header-sticky-wrap {
  position: relative;
  transition: height 0.12s linear;
  height: 64px;
  background: linear-gradient(0deg, transparent, rgba(0, 0, 0, 0.3));
  color: #fff;
}

.sticked .header-sticky-wrap,
.initial .header-sticky-wrap,
body.active-nav .header-sticky-wrap {
  background: #fff;
  box-shadow: 0 8px 16px rgba(217, 207, 196, 0.15);
  color: #111;
}

.sticked .header-sticky-wrap #baseline .logo-fill,
.initial .header-sticky-wrap #baseline .logo-fill,
body.active-nav .header-sticky-wrap #baseline .logo-fill {
  color: #A08B62;
}

.header-main {
  font-size: 1.2rem;
  height: 100%;
}

.header-main .wrap {
  height: inherit;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

.header-main a {
  color: inherit;
}

.header-main .nav-link {
  text-decoration: none;
  transition: 0.3s ease;
}

.header-main .logo {
  display: inline-block;
  position: relative;
  z-index: 12;
}

.header-main .logo img,
.header-main .logo svg {
  width: 12ch;
  height: auto;
  top: 0.1rem;
  position: relative;
}

.header-main .logo img .logo-fill,
.header-main .logo svg .logo-fill {
  fill: currentColor;
}

.header-main .logo img .logo-symbol-fill,
.header-main .logo svg .logo-symbol-fill {
  transition: 0.2s ease;
  fill: #A08B62;
}

.header-main .logo img [id],
.header-main .logo svg [id] {
  transition: transform 0.4s ease, opacity 0.4s ease;
}

.header-main .logo:hover,
.header-main .logo:focus {
  color: #335C67;
  color: var(--var-color);
}

.header-main .logo:hover .logo-symbol-fill,
.header-main .logo:focus .logo-symbol-fill {
  fill: currentColor;
}

.header-main .logo:hover #logosvg,
.header-main .logo:focus #logosvg {
  transform: translateY(20%);
}

.header-main .logo:hover #baseline,
.header-main .logo:focus #baseline {
  opacity: 0;
}

.header-main:after {
  opacity: 0;
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 64px;
  background: #fff;
  box-shadow: 0 8px 16px rgba(217, 207, 196, 0.25);
  transition: 0.3s ease;
  z-index: 10;
}

.active-nav .header-main:after {
  opacity: 1;
}

.header-symbol {
  display: none;
  position: absolute;
  left: 50%;
  bottom: 0;
  background: url(../images/symbol-white.svg) no-repeat center bottom;
  content: "";
  width: 3rem;
  height: 1rem;
  transform: translate(-50%);
  pointer-events: none;
  animation-delay: 200ms;
  animation-duration: 300ms;
  animation-fill-mode: both;
  animation-name: fadeIn;
}

header.sticked .header-symbol,
header.initial .header-symbol {
  opacity: 0!important;
}

header.sticked .header-symbol:after,
header.initial .header-symbol:after,
header.sticked .header-symbol:before,
header.initial .header-symbol:before {
  transition: 0.1s ease;
  width: 100%;
}

.header-symbol:after,
.header-symbol:before {
  content: "";
  width: calc(1300px/2 - (3rem/2));
  position: absolute;
  bottom: 0.15rem;
  height: 1px;
  background: #fff;
  transition: 1.35s ease;
  animation-delay: 300ms;
  animation-duration: 800ms;
  animation-fill-mode: both;
  animation-name: fadeInSymbol;
}

.header-symbol:after lesshat-selector,
.header-symbol:before lesshat-selector {
  -lh-property: 0;
}

@keyframes fadeInSymbol {
  0% {
    transform: scaleX(0);
  }

  100% {
    transform: scaleX(1);
  }
}

[not-existing] {
  zoom: 1;
}

.header-symbol:before {
  transform-origin: 0 50%;
  left: 100%;
}

.header-symbol:after {
  transform-origin: 100% 50%;
  right: 100%;
}

.cart-mobile {
  position: absolute;
  top: 0.4rem;
  right: 0;
  font-size: 2.6rem;
  font-weight: 200;
  color: inherit;
  z-index: 11;
}

.search-mobile {
  position: absolute;
  top: 0.6rem;
  right: 3.3rem;
  font-size: 2.6rem;
  font-weight: 200;
  color: inherit;
  z-index: 11;
}

.load-doofinder {
  cursor: pointer;
}

/*=========================================\
	$NAV
\=========================================*/

nav {
  display: flex;
}

nav > ul {
  list-style: none;
  display: flex;
  align-items: center;
  padding: 0;
}

nav > ul > li {
  display: inline-block;
  margin: 0 0.5rem;
}

.nav-container {
  padding: 0 0 0 1.5rem;
  position: relative;
  text-align: left;
  margin-left: -1rem;
  color: #666;
  max-width: calc(100vw - 4em);
}

.nav-container i {
  bottom: -0.2em;
  line-height: 1;
  position: relative;
  margin-top: -0.2em;
  display: inline-block;
}

.nav-container:before {
  content: "";
  position: absolute;
  top: 1rem;
  left: 0.5rem;
  height: calc(100% - 2rem);
  width: 2px;
  background: rgba(0, 0, 0, 0.05);
}

.nav-container .col-title {
  color: #A08B62;
  margin: 0.75rem 0;
}

.nav-container .col-title.kids {
  position: relative;
}

.nav-container .col-title.kids a {
  padding-left: 1.2em;
}

.nav-container .col-title.kids a:hover span,
.nav-container .col-title.kids a:focus span {
  color: inherit;
}

.nav-container .col-title.kids a span {
  display: inline-block;
}

.nav-container .col-title.kids a span:nth-child(even) {
  color: #797dc6;
  transform: rotate(-6deg);
}

.nav-container .col-title.kids a span:nth-child(odd) {
  color: #669290;
  transform: rotate(5deg);
}

.nav-container .col-title.kids img {
  transform: scale(1.05);
  position: absolute;
  top: 0.02em;
  left: -0.2em;
}

.nav-container .col-title a {
  color: inherit;
  text-decoration: none;
}

.nav-container .col-title a:hover,
.nav-container .col-title a:focus {
  color: #335C67;
}

.nav-container ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.nav-container ul a {
  display: block;
  block-size: max-content;
  inline-size: max-content;
  text-decoration: none;
  color: #111;
  font-size: 1rem;
}

.nav-container ul li {
  margin: 1rem 0;
  line-height: 1.1;
}

.nav-container ul li:not(:first-child) {
  border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.nav-container:after {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 0;
  height: 3rem;
  width: 12rem;
}

.nav-container > .nav-promo {
  flex: 1 0 auto;
  width: 18em;
  height: 100%;
  margin: 1rem !important;
}

.nav-container > .nav-promo img {
  object-fit: cover;
}

/*=========================================\
	$NAVICON
\=========================================*/

.header-main .navicon {
  position: absolute;
  top: 0.75rem;
  left: 0;
  color: #fff;
  width: 37px;
  height: 37px;
  z-index: 200;
  transition: 0.3s ease;
}

.sticked .header-main .navicon,
.initial .header-main .navicon,
.active-nav .header-main .navicon {
  color: #111;
}

.header-main .navicon span {
  transition: transform 0.3s ease, width 0.3s ease;
}

.header-main .navicon span:before,
.header-main .navicon span:after {
  transition: inherit;
}

.header-main .navicon span:first-child {
  font-size: 0.8em;
  position: absolute;
  height: 2px;
  width: 100%;
  top: 1.2em;
  right: 0;
  background: currentColor;
}

.header-main .navicon span:first-child:before,
.header-main .navicon span:first-child:after {
  text-transform: uppercase;
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: inherit;
  background: currentColor;
  transform: translate3d(0, 0, 0);
}

.header-main .navicon span:first-child:after {
  transform: translate3d(0, -0.8em, 0);
}

.header-main .navicon span:first-child:before {
  transform: translate3d(0, 0.8em, 0);
}

body.active-nav .header-main .navicon:after {
  opacity: 1;
}

body.active-nav .header-main .navicon span:first-child {
  background: transparent;
}

body.active-nav .header-main .navicon span:first-child:before,
body.active-nav .header-main .navicon span:first-child:after {
  top: 0;
}

body.active-nav .header-main .navicon span:first-child:before {
  transform: rotate(45deg);
}

body.active-nav .header-main .navicon span:first-child:after {
  transform: rotate(-45deg);
}

body.active-nav .header-main .navicon span:last-child:after {
  animation-name: fadeOutDown;
}

body.active-nav .header-main .navicon span:last-child:before {
  animation-name: fadeInUp;
}

/*=========================================\
	$HERO
\=========================================*/

.hero {
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  position: relative;
  background: #335C67;
  max-width: 100vw;
  overflow-x: hidden;
  margin-top: -64px;
}

.hero .wrap {
  position: relative;
  z-index: 5;
  padding: 80px 0;
}

.hero-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.hero-wrapper .hero-content {
  position: relative;
  width: 100%;
  height: 100%;
  display: inline-flex !important;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background: #335C67;
  transition: 0.8s ease;
}

.hero-bg {
  opacity: 0.92;
  -webkit-user-select: none;
      -ms-user-select: none;
          user-select: none;
  will-change: transform;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.hero-bg img,
.hero-bg picture {
  width: 100%;
  height: 100%;
  object-fit: cover;
  max-width: 100vw;
  opacity: 1;
  transition: opacity 0.25s ease;
  will-change: opacity;
}

.hero-bg img[data-src]:not(.lazyloaded),
.hero-bg picture[data-src]:not(.lazyloaded) {
  opacity: 0;
}

.active .hero-bg {
  transform: scale(1.1);
}

.hero-title {
  color: #fff;
  font-family: 'Lora', Helvetica, Arial, sans-serif;
  font-weight: 600;
  line-height: 1.1;
  margin: 1rem 0;
  text-shadow: 0 0.05em 0.5rem rgba(0, 0, 0, 0.4);
  font-size: calc(0.7rem + 5vw) !important;
  z-index: 2;
}

.hero-title strong {
  font-weight: 400;
}

.hero .hero-slide:not(.tns-slide-active) {
  opacity: 0;
}

.hero .hero-slide:not(.tns-slide-active) ~ * {
  display: none;
}

.hero .hero-slide .wrap {
  opacity: 0;
  transition: 0.3s ease;
}

.hero .hero-slide.tns-slide-active .wrap {
  animation-delay: 0s;
  animation-duration: 500ms;
  animation-fill-mode: both;
  animation-name: fadeIn;
}

.hero .tns-nav {
  position: absolute;
  left: 50%;
  display: inline-block;
  z-index: 5;
  transform: translate(-50%);
  padding: 0 0.5rem;
  bottom: 65px;
}

.hero .tns-nav:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: url(../images/wave.svg) repeat-x 1.7rem 50%;
  background-size: auto 7px;
}

.hero .tns-nav > * {
  width: 11px;
  height: 11px;
  border-radius: 50%;
  padding: 0;
  background: transparent;
  margin: 0.5rem 0.05rem;
  border: 1px solid #fff;
}

.hero .tns-nav > *.tns-nav-active {
  background: #fff;
}

.hero .tns-nav > *:hover {
  background: #A08B62;
}

.hero .tns-nav > *:nth-child(even) {
  transform: translateY(60%);
}

.hero .tns-nav > *:nth-child(odd) {
  transform: translateY(-60%);
}

/*=========================================\
	$HERO PAGE
\=========================================*/

html body .hero-page-bg {
  background: transparent;
  margin-bottom: 3rem;
}

html body .hero-page-bg .ornement-1 {
  top: calc(100% - .3em);
  left: 50%;
  font-size: 5em;
}

.hero-page {
  position: relative;
  overflow: hidden;
  z-index: 3;
}

.hero-page .wrap {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 11;
  transform: translate(-50%);
}

.hero-page h1 {
  color: #fff;
  font-size: 6vmin;
  text-shadow: 0.05em 0.05em 0.05em rgba(17, 17, 17, 0.6), 0 0.15em 0.4em rgba(160, 139, 98, 0.7);
}

.hero-page h1 strong {
  color: inherit;
}

.hero-page h1:before {
  content: url(../images/symbol-white.svg);
  width: 1.75em;
  display: block;
  line-height: 1;
  margin-top: -1em;
}

/*=========================================\
	$ARTICLE
\=========================================*/

.fancy:not(.btn):not(.admin-link),
article a:not(.btn):not(.admin-link),
.article a:not(.btn):not(.admin-link) {
  color: inherit;
  text-decoration: none;
  background: linear-gradient(180deg, #c6baa2, #c6baa2) no-repeat 0 1.05em;
  background-size: 120% 100%;
  transition: background-position-y 0.15s 0.15s ease-out, box-shadow 0.15s ease-out, color 0.12s ease;
  cursor: pointer;
  -webkit-user-select: none;
      -ms-user-select: none;
          user-select: none;
  outline: none;
  border: none;
  padding: 0;
  display: inline;
  line-height: 1.2;
}

.fancy:not(.btn):not(.admin-link):hover,
article a:not(.btn):not(.admin-link):hover,
.article a:not(.btn):not(.admin-link):hover,
.fancy:not(.btn):not(.admin-link):focus,
article a:not(.btn):not(.admin-link):focus,
.article a:not(.btn):not(.admin-link):focus {
  color: #fff;
  outline: none;
  background-position-y: 0;
  transition: background-position-y 0.15s ease-out, box-shadow 0.15s 0.15s ease-out, color 0.12s ease;
  background: linear-gradient(180deg, #335C67, #335C67) no-repeat 0 0;
  box-shadow: -0.15em 0 0 0 #335C67, 0.15em 0 0 0 #335C67;
}

.fancy:not(.btn):not(.admin-link)[disabled]:not([disabled="false"]),
article a:not(.btn):not(.admin-link)[disabled]:not([disabled="false"]),
.article a:not(.btn):not(.admin-link)[disabled]:not([disabled="false"]) {
  opacity: 0.5;
  pointer-events: none;
}

[class*="bg-"]:not(.bg-pastel) .fancy:not(.btn):not(.admin-link):hover,
[class*="bg-"]:not(.bg-pastel) article a:not(.btn):not(.admin-link):hover,
[class*="bg-"]:not(.bg-pastel) .article a:not(.btn):not(.admin-link):hover,
[class*="bg-"]:not(.bg-pastel) .fancy:not(.btn):not(.admin-link):focus,
[class*="bg-"]:not(.bg-pastel) article a:not(.btn):not(.admin-link):focus,
[class*="bg-"]:not(.bg-pastel) .article a:not(.btn):not(.admin-link):focus {
  color: #fff;
  background: linear-gradient(180deg, #A08B62, #A08B62) no-repeat 0 0;
  box-shadow: -0.15em 0 0 0 #A08B62, 0.15em 0 0 0 #A08B62;
}

article p,
.article p {
  margin: 1rem 0;
}

article ol:not(.list-unstyled),
.article ol:not(.list-unstyled),
article ul:not(.list-unstyled),
.article ul:not(.list-unstyled) {
  list-style-type: none;
  padding-left: 1.5rem;
  margin: 1rem 0;
}

article ol:not(.list-unstyled) li,
.article ol:not(.list-unstyled) li,
article ul:not(.list-unstyled) li,
.article ul:not(.list-unstyled) li {
  position: relative;
  margin: 0.5rem 0;
}

article ul:not(.list-unstyled) li:hover:before,
.article ul:not(.list-unstyled) li:hover:before {
  color: #335C67;
}

article ul:not(.list-unstyled) li:before,
.article ul:not(.list-unstyled) li:before {
  content: '\25A0';
  display: inline-block;
  position: absolute;
  left: -1.2em;
  top: 0;
  transition: 0.6s ease;
  line-height: 1;
  color: #A08B62;
  font-size: 1.2rem;
  font-family: Helvetica, Arial, sans-serif;
}

article ol,
.article ol {
  counter-reset: ol-li;
}

article ol li:hover:before,
.article ol li:hover:before {
  background: #335C67;
}

article ol li:before,
.article ol li:before {
  content: counter(ol-li);
  counter-increment: ol-li;
  position: absolute;
  right: calc(100% + 0.7em);
  top: 0.45em;
  transition: 0.6s ease;
  color: #fff;
  text-align: center;
  display: inline-block;
  line-height: 1.6;
  background: #A08B62;
  min-width: 1rem;
  height: 1rem;
  font-size: 0.7em;
}

hr {
  border-color: #A08B62;
}

hr.color-grey {
  border-color: #ccc;
}

abbr {
  text-decoration: none;
}

time {
  font-size: 0.85rem;
  color: #A08B62;
  font-weight: 600;
  font-family: 'Lora', Helvetica, Arial, sans-serif;
}

*:not(p) > time {
  display: block;
  margin-top: 1rem;
}

time + .card-title {
  margin-top: 0;
}

article .lead,
.article .lead,
.chapo {
  font-size: 1.2rem;
  font-weight: 200;
  line-height: 1.3;
  font-family: 'Lora', Helvetica, Arial, sans-serif;
}

.chapo {
  color: #A08B62;
}

article hr,
.article hr,
hr.brand {
  clear: both;
  height: 0.75rem;
  flex: 0 0 auto;
  border-width: 0;
  position: relative;
  background: url(../images/symbol.svg) no-repeat center bottom;
  content: "";
  width: 100%;
  display: block;
}

article hr:after,
.article hr:after,
hr.brand:after,
article hr:before,
.article hr:before,
hr.brand:before {
  content: "";
  width: calc(50% - 1.05rem);
  position: absolute;
  bottom: 0.125rem;
  height: 1px;
  transition: 0.85s ease;
  background: #A08B62;
}

article hr:before,
.article hr:before,
hr.brand:before {
  right: calc(50% + 1.15rem);
}

article hr:after,
.article hr:after,
hr.brand:after {
  left: calc(50% + 1.15rem);
}

hr.grey {
  border-color: #ccc;
}

blockquote {
  position: relative;
  padding: 1rem 1rem;
  margin: 1rem 0;
  font-size: 1.2rem;
  font-style: italic;
  font-family: 'Lora', Helvetica, Arial, sans-serif;
  line-height: 1.2;
  border-left: 0;
}

blockquote > p {
  margin: 0.25rem 0;
}

blockquote > p:only-of-type {
  margin: 0;
}

a blockquote {
  color: #666;
}

a:hover blockquote,
a:focus blockquote {
  text-decoration: none;
}

blockquote footer,
blockquote cite {
  font-size: 0.9rem;
  color: #335C67;
}

blockquote cite {
  font-weight: bold;
}

blockquote:before,
blockquote:after {
  position: absolute;
  font-weight: 400;
  color: #A08B62;
  font-size: 6.8rem;
  line-height: 0.5;
  opacity: 0.5;
}

blockquote:before {
  content: "\201C";
  top: 0.3rem;
  left: 0.1rem;
}

blockquote:after {
  content: "\201D";
  transform: translateY(-25%);
  top: 100%;
  right: 0.2em;
}

picture img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
}

figure {
  position: relative;
}

figcaption {
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.4), transparent);
  color: #fff;
  font-style: italic;
  padding: 0.3rem 0.45rem;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}

figcaption:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0.5rem;
  width: 1.5rem;
  height: 1px;
  background: #fff;
}

article table,
.article table,
.table {
  overflow: hidden;
  border-collapse: collapse;
  border-spacing: 2px;
  border-width: 0;
  border: 0;
  margin: 1rem 0;
  width: 100%;
}

article table thead,
.article table thead,
.table thead {
  display: table-header-group;
  vertical-align: middle;
  border-color: inherit;
}

article table thead tr,
.article table thead tr,
.table thead tr {
  border-bottom: 1px solid #A08B62;
}

article table thead th,
.article table thead th,
.table thead th {
  color: #333;
  line-height: 1.4;
  text-transform: uppercase;
  font-weight: bold;
  color: #335C67;
  font-family: 'Lora', Helvetica, Arial, sans-serif;
}

article table tbody tr td,
.article table tbody tr td,
.table tbody tr td {
  background: #fff;
}

article table tbody tr:not(:last-child) td,
.article table tbody tr:not(:last-child) td,
.table tbody tr:not(:last-child) td {
  border-bottom: 1px solid #ebebeb;
}

article table td,
.article table td,
.table td {
  line-height: 1.4;
}

article table td,
.article table td,
.table td,
article table th,
.article table th,
.table th {
  padding: 0.7rem;
}

article table tr,
.article table tr,
.table tr {
  overflow: hidden;
}

article table tfoot tr:not(:last-child) td,
.article table tfoot tr:not(:last-child) td,
.table tfoot tr:not(:last-child) td {
  border-bottom: 1px solid #ebebeb;
}

article table tfoot tr:first-child td,
.article table tfoot tr:first-child td,
.table tfoot tr:first-child td {
  position: relative;
  background-image: linear-gradient(90deg, #ccc, #ccc 75%, transparent 75%, transparent 100%);
  background-size: 8px 1px;
  background-repeat: repeat-x;
}

article table tfoot td,
.article table tfoot td,
.table tfoot td {
  background: #fff;
}

article table tfoot tr > td:first-child:not(:only-child),
.article table tfoot tr > td:first-child:not(:only-child),
.table tfoot tr > td:first-child:not(:only-child) {
  color: #335C67;
  text-align: right;
}

article table tfoot td,
.article table tfoot td,
.table tfoot td,
article table tfoot th,
.article table tfoot th,
.table tfoot th {
  padding: 0.5rem;
}

article table.table-compact td,
.article table.table-compact td,
.table.table-compact td {
  padding: 0.25rem;
}

article table.table-striped tbody tr:nth-child(even) td,
.article table.table-striped tbody tr:nth-child(even) td,
.table.table-striped tbody tr:nth-child(even) td {
  background: #fff;
}

article table.table-striped tbody tr:nth-child(odd) td,
.article table.table-striped tbody tr:nth-child(odd) td,
.table.table-striped tbody tr:nth-child(odd) td {
  background: #faf9f7;
}

article table.table-hover tbody tr:hover td,
.article table.table-hover tbody tr:hover td,
.table.table-hover tbody tr:hover td,
article table.table-hover tbody tr:hover td,
.article table.table-hover tbody tr:hover td,
.table.table-hover tbody tr:hover td,
article table.table-hover tbody tr:focus-within td,
.article table.table-hover tbody tr:focus-within td,
.table.table-hover tbody tr:focus-within td,
article table.table-hover tbody tr:focus-within td,
.article table.table-hover tbody tr:focus-within td,
.table.table-hover tbody tr:focus-within td {
  background-image: linear-gradient(0deg, rgba(160, 139, 98, 0.05), rgba(160, 139, 98, 0.05));
}

article table.table-hover.table-striped tbody tr:hover td,
.article table.table-hover.table-striped tbody tr:hover td,
.table.table-hover.table-striped tbody tr:hover td,
article table.table-hover.table-striped tbody tr:hover td,
.article table.table-hover.table-striped tbody tr:hover td,
.table.table-hover.table-striped tbody tr:hover td,
article table.table-hover.table-striped tbody tr:focus-within td,
.article table.table-hover.table-striped tbody tr:focus-within td,
.table.table-hover.table-striped tbody tr:focus-within td,
article table.table-hover.table-striped tbody tr:focus-within td,
.article table.table-hover.table-striped tbody tr:focus-within td,
.table.table-hover.table-striped tbody tr:focus-within td {
  background-image: linear-gradient(0deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.1));
}

/*=========================================\
	$RATIO
\=========================================*/

[style*="--aspect-ratio"] {
  display: block;
  position: relative;
  padding: 0!important;
}

[style*="--aspect-ratio"]:before {
  content: "";
  display: block;
  padding-bottom: calc(100% / (var(--aspect-ratio)));
}

[style*="--aspect-ratio"] > :first-child:not(source),
[style*="--aspect-ratio"] > picture:first-child img {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

/*=========================================\
	$AOV
\=========================================*/

:root {
  --delay: 200;
}

/*=========================================\
	$TITLES
\=========================================*/

h1,
.h1 {
  font-family: 'Lora', Helvetica, Arial, sans-serif;
  font-weight: 400;
  color: #335C67;
  line-height: 1.3;
  margin: 1rem 0;
  text-wrap: balance;
  font-size: 1.375em;
}

h1 a,
.h1 a {
  text-decoration: none;
}

article h1:not(.h1):first-child,
article .h1:not(.h1):first-child {
  margin-top: 0;
}

h1 strong,
.h1 strong {
  color: #A08B62;
  font-weight: inherit;
}

h1.lead,
.h1.lead {
  font-size: 1.625rem;
}

h1.simple:before,
.h1.simple:before {
  display: none;
}

h1.invert,
.h1.invert {
  color: #fff;
}

h1:before,
.h1:before {
  content: url(../images/symbol.svg);
  width: 2rem;
  display: block;
  line-height: 1;
  margin-top: -1rem;
}

h1.text-center:before,
.h1.text-center:before {
  margin-left: auto;
  margin-right: auto;
}

h1.text-right:before,
.h1.text-right:before {
  margin-left: auto;
  margin-right: 0;
}

h1 sup,
.h1 sup,
h1 sub,
.h1 sub {
  display: block;
  line-height: 1.4;
  color: #A08B62;
  font-family: 'Work Sans', Helvetica, Arial, sans-serif;
  font-size: 0.5em;
  font-weight: 400;
}

h1 sub,
.h1 sub {
  margin-top: -0.5rem;
  padding-bottom: 1rem;
}

h1 sup,
.h1 sup {
  margin-bottom: -0.5rem;
  padding-top: 1rem;
}

[class*="bg-"]:not(.bg-pastel) h1,
[class*="bg-"]:not(.bg-pastel) .h1 {
  color: #fff;
}

[class*="bg-"]:not(.bg-pastel) h1 strong,
[class*="bg-"]:not(.bg-pastel) .h1 strong {
  color: inherit;
}

h1.center-xs:before,
.h1.center-xs:before {
  margin-left: auto;
  margin-right: auto;
}

h1.start-xs:before,
.h1.start-xs:before {
  margin-left: 0;
  margin-right: auto;
}

h1.end-xs:before,
.h1.end-xs:before {
  margin-left: auto;
  margin-right: 0;
}

h2,
.h2 {
  font-size: 1.375em;
  font-family: 'Lora', Helvetica, Arial, sans-serif;
  font-weight: 400;
  color: #335C67;
  line-height: 1.3;
  position: relative;
  z-index: 1;
  margin: 1rem 0;
}

h2.h1,
.h2.h1 {
  font-weight: 400;
}

h2.h1:before,
.h2.h1:before {
  display: none;
}

h2 strong,
.h2 strong {
  color: #A08B62;
  font-weight: inherit;
}

h2:before,
.h2:before {
  content: "\F106";
  position: absolute;
  right: 100%;
  top: 0;
  transform: translate(50%, -25%);
  font-family: fonticon;
  font-size: 1.85em;
  font-weight: 100;
  color: #A08B62;
  opacity: 0.5;
  z-index: -1;
}

h2.text-center:before,
.h2.text-center:before {
  right: 50%;
  transform: translate(50%, -40%);
}

h2.text-right:before,
.h2.text-right:before {
  right: 0;
  transform: translate(-50%, -25%);
}

[class*='bg-']:not([class*='bg-pastel']) h2:before,
[class*='bg-']:not([class*='bg-pastel']) .h2:before {
  opacity: 0.3;
  color: #fff;
}

h2.start-xs:before,
.h2.start-xs:before {
  right: 100%;
  transform: translate(50%, -25%);
}

h2.center-xs:before,
.h2.center-xs:before {
  right: 50%;
  transform: translate(50%, -40%);
}

h2.end-xs:before,
.h2.end-xs:before {
  right: 0;
  transform: translate(-50%, -25%);
}

h3,
.h3 {
  font-size: 1.25em;
  font-family: 'Lora', Helvetica, Arial, sans-serif;
  font-weight: 600;
  color: #A08B62;
  margin: 1rem 0;
}

.col-title {
  font-family: 'Lora', Helvetica, Arial, sans-serif;
  font-size: 1.35rem;
  color: #335C67;
}

.title-link {
  text-decoration: none;
  line-height: 1.2;
  font-size: 1.1rem;
}

/*=========================================\
	$HEADING DECORATION
\=========================================*/

h1.center-xs:before,
.h1.center-xs:before {
  margin-left: auto;
  margin-right: auto;
}

h1.start-xs:before,
.h1.start-xs:before {
  margin-left: 0;
  margin-right: auto;
}

h1.end-xs:before,
.h1.end-xs:before {
  margin-left: auto;
  margin-right: 0;
}

h2.start-xs:before,
.h2.start-xs:before {
  right: 100%;
  transform: translate(50%, -25%);
}

h2.center-xs:before,
.h2.center-xs:before {
  right: 50%;
  transform: translate(50%, -40%);
}

h2.end-xs:before,
.h2.end-xs:before {
  right: 0;
  transform: translate(-50%, -25%);
}

/*=========================================\
	$CARD
\=========================================*/

.card:focus-within .card-picture,
.card:hover .card-picture {
  box-shadow: 0 0 0 3px rgba(160, 139, 98, 0.5);
}

.card:focus-within .card-picture a:after,
.card:hover .card-picture a:after {
  opacity: 0.1;
}

.card:focus-within.card-picture img,
.card:hover.card-picture img,
.card:focus-within .card-picture img,
.card:hover .card-picture img {
  transform: scale(1.05) translate3d(0, 0, 0);
}

.card:focus-within .card-symbol:after,
.card:hover .card-symbol:after,
.card:focus-within .card-symbol:before,
.card:hover .card-symbol:before {
  width: 300%;
}

.card:focus-within a:not(.btn),
.card:hover a:not(.btn) {
  color: #917d58;
}

.card-clickable:hover {
  cursor: pointer;
}

.card-clickable:focus,
.card-clickable:focus-within {
  box-shadow: 0 0 0 4px #A08B62;
  outline: 0;
}

.card-symbol-wrapper {
  display: block;
  padding: 0 1rem;
  overflow: hidden;
  position: relative;
}

.card-labels {
  position: absolute;
  top: 0;
  left: 0;
  padding: 0.25rem 0.35rem;
  display: flex;
  justify-content: space-between;
  gap: 2rem;
  width: 100%;
}

.card-labels a,
.card-labels button {
  position: relative;
  z-index: 10;
}

.card-labels .last-xs {
  margin-left: auto;
}

.card-text {
  position: relative;
}

.card-text .card-title {
  font-family: 'Lora', Helvetica, Arial, sans-serif;
  position: absolute;
  left: 0;
  bottom: 50% !important;
  padding: 1em 0 !important;
  transform: translateY(50%);
  width: calc(100% - 6ch);
  text-align: center;
  color: #fff;
  line-height: 1.2;
  /* 28px @ 320px increasing to 40px @ 1280px */
  font-size: clamp(28px, calc(1.75rem + ((1vw - 3.2px) * 1.25)), 40px);
  /* Note: The calc base value (1.75rem) MUST be stated in REM to maintain accessibility */
  /* Where: 1.25 = 100 * font-size_difference / viewport_width_difference */
  /* Safari resize fix */
  min-height: 0vw;
}

.card-text .card-title:before {
  display: none;
}

.card-symbol {
  position: relative;
  background: url(../images/symbol-white.svg) no-repeat center bottom;
  content: "";
  width: 3rem;
  height: 1rem;
  display: block;
  margin: 0 auto;
  margin-bottom: 2px;
}

.card-symbol:after,
.card-symbol:before {
  content: "";
  width: 50%;
  position: absolute;
  bottom: 0.1rem;
  height: 1px;
  transition: 0.85s ease;
  background: #fff;
}

.card-symbol:before {
  left: 100%;
}

.card-symbol:after {
  right: 100%;
}

.card-title {
  font-family: 'Lora', Helvetica, Arial, sans-serif;
  font-size: 1.2em;
  color: #335C67;
  font-weight: 400;
  text-decoration: none!important;
}

.card-title a {
  text-decoration: inherit!important;
}

.card-product .card-title {
  font-size: 1rem;
  font-weight: 400;
  font-family: 'Work Sans', Helvetica, Arial, sans-serif;
}

.card-picture:not(.card-video) .card-title {
  position: absolute;
  bottom: 0;
  left: 0;
  width: calc(100% - 2rem);
  height: auto;
  padding: 2.5rem 0 1rem 0;
  text-align: center;
  color: #fff;
  margin: 0 1rem;
  z-index: 1;
}

.card-picture:not(.card-video) .card-title:before {
  content: "";
  position: absolute;
  bottom: 0;
  left: -1rem;
  width: calc(100% + 2rem);
  height: 100%;
  z-index: -1;
  background: linear-gradient(0deg, rgba(0, 0, 0, 0.4), transparent);
}

.card-video .card-title {
  position: absolute;
  font-size: 1.8rem;
  top: 50%;
  left: 0;
  width: calc(100% - 2rem);
  height: auto;
  padding: 2.5rem 0 1rem 0;
  text-align: center;
  color: #fff;
  margin: 0 1rem;
  z-index: 1;
}

footer .card-title {
  position: relative;
  color: #716244;
}

@keyframes loading {
  to {
    background-position: 350% 0, 50% 50%, 50% 50%;
  }
}

.card-picture {
  background-color: #f2ebe2;
  box-shadow: 0 0 0 0 rgba(160, 139, 98, 0);
  overflow: hidden;
  transition: box-shadow 0.3s ease;
  backface-visibility: hidden;
  background-image: url(../images/symbol.svg), url(../images/bg-fiber.png);
  background-repeat: no-repeat, repeat;
  background-position: 50% 50%, 50% 50%;
  background-size: 3rem auto, auto;
}

.card-picture .card-symbol {
  position: absolute;
  bottom: 2rem;
  left: 50%;
  transform: translateX(-50%);
}

.card-product:hover .card-picture > img:not(:first-of-type).lazyloaded,
.card-product:hover .card-picture > img:not(:first-of-type).lazyloaded {
  opacity: 1;
}

.card-picture img + img:not(:first-of-type) {
  opacity: 0;
  position: absolute;
  inset: 0;
  transition: 0.65s ease;
}

.card-picture img {
  transition: 2s ease;
  transform: translate3d(0, 0, 0);
  backface-visibility: hidden;
  will-change: transform;
  margin: 0!important;
}

.card-picture img:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #f8f5f0;
  background-image: linear-gradient(0deg, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.05)), url(../images/symbol.svg), url(../images/bg-fiber.png);
  background-position: center;
  background-repeat: repeat, no-repeat, repeat;
  background-size: cover, 3rem auto, auto;
}

.card-picture img:first-of-type[data-src] {
  opacity: 0;
  transition: 0.5s ease;
}

.card-picture img:first-of-type[data-src].lazyloaded {
  opacity: 1;
}

.card-badge {
  position: relative;
  height: 5rem;
  width: 100%;
  z-index: 1;
}

.card-badge span {
  display: inline-block;
  background: #fff;
  border-radius: 50%;
  padding: 1rem;
  width: 10rem;
  margin: 0 auto;
  margin-bottom: -5rem;
}

.card-badge + * {
  padding-top: 5rem !important;
}

.card-video {
  background: #000;
  cursor: pointer;
  overflow: hidden;
  -webkit-user-select: none;
      -ms-user-select: none;
          user-select: none;
  box-shadow: 0 0 0 0 rgba(160, 139, 98, 0.5);
  transition: 0.6s ease;
}

.card-video > *:first-child ~ * {
  pointer-events: none;
}

.card-video > iframe:first-child ~ * {
  display: none;
}

.card-video:hover img.lazyloaded,
.card-video:focus-within img.lazyloaded {
  transform: scale(1.025);
  opacity: 0.9;
}

.card-video:hover:after,
.card-video:focus-within:after {
  font-size: 5rem;
}

.card-video:focus-within {
  background: #335C67;
  box-shadow: 0 0 0 0.5rem rgba(160, 139, 98, 0.5);
}

.card-video:focus-within img {
  opacity: 0.85;
}

.card-video img {
  transition: inherit;
}

.card-video:after {
  content: "\F10D";
  font-family: 'fonticon';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 6rem;
  color: #fff;
  text-shadow: 0 0.05em 0.5rem rgba(0, 0, 0, 0.4);
  pointer-events: none;
  z-index: 1;
  transition: 0.2s ease;
}

.card-video.embed-loaded:after {
  display: none;
}

.card-rate {
  font-size: 0.8rem;
}

.card-picture + .card-rate {
  margin-top: 1rem;
}

.card-rate + .card-title {
  margin-top: 0;
}

.card-rate .nb-reviews {
  color: #A08B62;
}

main .card-input {
  position: absolute;
  left: 0;
  opacity: 0;
}

.card-color {
  --color: #fff;
  --color2: #ccc;
  --color3: #aaa;
  font-size: 1em;
}

.card-color:not(.card-picture) {
  border-radius: 50%;
  padding: 1px;
  width: 2.2em;
  height: 2.2em;
}

.card-color:not(.card-picture):hover,
.card-color:not(.card-picture):focus {
  box-shadow: none;
  border: 0;
}

.card-color:not(.card-picture):hover span,
.card-color:not(.card-picture):focus span {
  box-shadow: inset 0 0 0 5px rgba(255, 255, 255, 0.5), inset 0 0 0 6px rgba(0, 0, 0, 0.3);
}

input:focus + .card-color,
.card-color:focus {
  padding: 1px;
  border: 2px solid #A08B62;
}

input:focus + .card-color ~ input:focus + .card-color,
input:focus + .card-color ~ .card-color:focus,
.card-color:focus ~ input:focus + .card-color,
.card-color:focus ~ .card-color:focus {
  padding: 1px;
  border: 2px solid #A08B62;
}

.card-color.active,
input:checked + .card-color {
  padding: 3px;
  border: 1px solid rgba(0, 0, 0, 0.5);
}

.card-color.active span,
input:checked + .card-color span {
  transform: scale(0.8);
}

.card-color span {
  box-shadow: inset 0 0 0 0 rgba(255, 255, 255, 0.5), inset 0 0 2px rgba(0, 0, 0, 0.5);
  background: var(--color) url(../images/bg-fiber-overlay.png) repeat;
  transform: translate3d(0, 0, 0);
  backface-visibility: hidden;
  background-size: 12rem;
  transition: 0.2s ease;
  border-radius: inherit;
  display: block;
  width: 100%;
  height: 100%;
}

.card-color.duo span {
  background-image: url(../images/bg-fiber-overlay.png), linear-gradient(90deg, var(--color) 50%, var(--color2) 50.1%);
  background-size: 12rem, cover;
}

.card-color.trio span {
  background-image: url(../images/bg-fiber-overlay.png), linear-gradient(90deg, var(--color) 33%, var(--color2) 33.1%, var(--color2) 66%, var(--color3) 66.1%);
  background-size: 12rem, cover;
}

.card-img {
  max-width: 33vw;
  border: 2px solid transparent;
  transition: 0.2s ease;
  width: 5rem;
}

.card-img .card-picture {
  background: #fff;
}

.card-img img {
  transition: inherit;
  display: block;
}

.card-img:hover,
.card-img:focus {
  border: 2px solid #335C67;
}

.card-img.active,
input:checked + .card-img {
  padding: 2px;
  border: 2px solid #A08B62;
}

.card-img.active img,
input:checked + .card-img img {
  transform: scale(0.8);
}

.card-reviews img {
  width: 150px;
  height: auto;
  filter: grayscale(100%);
}

/*=========================================\
	$SKELETON (NEED JS)
\=========================================*/

@keyframes skeleton {
  to {
    background-position: 350% 0, 50% 50%, 50% 50%;
  }
}

.skeleton:has([data-src]:not(.lazyloaded)),
.card-picture:has([data-src]:not(.lazyloaded)) {
  background-image: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.3) 50%, transparent 100%), url(../images/symbol.svg), url(../images/bg-fiber.png);
  background-repeat: no-repeat, no-repeat, repeat;
  background-position: -150% 0, 50% 50%, 50% 50%;
  background-size: 60% 100%, 3rem auto, auto;
  animation: loading 1.5s infinite;
}

/*=========================================\
	$COLLECTION
\=========================================*/

.collection {
  list-style: none;
  margin: 1rem 0;
  padding: 0;
}

.collection.toggle-active {
  display: block!important;
}

.collection a {
  text-decoration: none;
  display: block;
  padding: 0.45em 0.3em;
  line-height: 1.1;
  border-radius: 0;
}

.collection a:after {
  content: none;
}

.collection a:hover,
.collection a:focus {
  text-decoration: none;
  background: rgba(0, 0, 0, 0.05);
}

.collection a.active {
  color: #ccc;
}

.collection a.active:not(:only-child) {
  color: #447a89;
}

.collection a.active + ul {
  display: block;
}

.collection ul {
  font-size: 0.9rem;
  position: relative;
  margin: 0.5em 0 0 0.75rem;
  padding-left: 0.75rem;
  list-style: none;
  border-left: 4px solid rgba(0, 0, 0, 0.05);
}

.collection > li > ul ul {
  padding-top: 1em;
  padding-bottom: 1em;
  padding-left: 0.5rem;
  border-left-width: 0;
}

.collection .separator {
  background-color: rgba(0, 0, 0, 0.05);
  border-radius: 0.2rem;
  border-width: 0;
  position: relative;
  margin: 0.25em 0;
  font-size: 1.05em;
  padding: 0.25em 0.5em;
  color: #aaa;
  font-weight: bold;
}

.collection .separator:empty {
  background-color: rgba(0, 0, 0, 0.05);
  height: 0.3rem;
  padding: 0;
}

/*=========================================\
	$SORT
\=========================================*/

.sort {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1em;
  background: #fff;
}

.sort-bar,
.sort-nbre {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.sort-bar .form-control,
.sort-nbre .form-control {
  padding: 5px 10px!important;
  margin: 0!important;
  font-size: 0.9em;
  line-height: 1.3;
  min-width: 70px;
  background: #fff;
}

.sort .form-group {
  margin-bottom: 0;
}

.sort label {
  margin-bottom: 0;
  margin-right: 10px;
  text-transform: uppercase;
}

.sort + hr {
  border-top: 1px dashed #ccc;
}

/*=========================================\
	$SCROLLBAR
\=========================================*/

/*=========================================\
	$FORM
\=========================================*/

label {
  font-family: 'Lora', Helvetica, Arial, sans-serif;
  color: #666;
  font-weight: 300;
  display: block;
  font-size: 1.1rem;
  -webkit-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

label[for] {
  cursor: pointer;
}

label .label {
  font-size: 0.75rem;
}

.input-qty {
  width: auto;
}

.input-qty input {
  --btn-color: #A08B62;
  color: #A08B62;
  font-size: 14px;
}

.input-qty input::-webkit-inner-spin-button,
.input-qty input::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

.input-qty .btn {
  text-align: center;
  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
  -webkit-user-select: none;
      -ms-user-select: none;
          user-select: none;
  width: 3em;
}

.input-qty .btn i[class] {
  top: 50%;
  line-height: 1;
  transform: translateY(-50%) scale(1.2);
  display: inline-block;
}

.form-fix-height {
  height: 2.5rem;
}

.input-group {
  border-color: var(--btn-color);
}

.input-group:focus-within,
.input-group:hover {
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);
}

.input-group .btn:focus,
.input-group .form-group:focus,
.input-group .form-control:focus,
.input-group .btn:hover,
.input-group .form-group:hover,
.input-group .form-control:hover {
  box-shadow: initial;
}

.input-group .btn:focus:before,
.input-group .form-group:focus:before,
.input-group .form-control:focus:before,
.input-group .btn:hover:before,
.input-group .form-group:hover:before,
.input-group .form-control:hover:before {
  display: none;
}

.input-group .input-group-addon {
  color: #fff;
  background: var(--btn-color);
  border-color: var(--btn-color);
}

.form-group,
.input-group {
  position: relative;
}

.form-group:hover,
.input-group:hover,
.form-group:focus,
.input-group:focus,
.form-group:focus-within,
.input-group:focus-within {
  --btn-color: #A08B62;
  outline: none;
}

.form-control {
  border-color: #335C67;
  border-color: var(--btn-color);
}

.form-control:focus {
  border-color: #A08B62;
  box-shadow: 0 0 0 3px rgba(0, 0, 0, 0.1);
}

.form-control.lead {
  font-size: 1.2rem;
}

fieldset:not([data-state="filled"]) .form-control.has-error,
.filling-watcher:not([data-state="filled"]) .form-control.has-error,
.form-control.has-error:not([data-state="filled"]) {
  --btn-color: #bd6f59;
}

input {
  cursor: pointer;
}

fieldset:not(.starability-growRotate) {
  background: #fff;
  border-width: 0;
  padding-top: 0.5rem;
  position: relative;
  margin: 2rem 0 1rem 0;
}

fieldset:not(.starability-growRotate) legend {
  font-family: 'Lora', Helvetica, Arial, sans-serif;
  font-size: 1.15rem;
  color: #447a89;
  padding: 0.25rem 0.5rem;
  border: 1px solid #A08B62;
  margin: 0 auto;
  background: #fff;
  max-width: calc(100% - 1.5rem);
  white-space: nowrap;
}

fieldset:not(.starability-growRotate):hover legend,
fieldset:not(.starability-growRotate):focus-within legend {
  background: #A08B62;
  color: #fff;
}

fieldset:not(.starability-growRotate)[data-state='filled'] legend {
  color: #fff;
  background: #7ea25f;
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover,
textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
  font-family: 'Work Sans', Helvetica, Arial, sans-serif;
  border: 2px solid #A08B62;
  -webkit-text-fill-color: #A08B62;
  -webkit-box-shadow: 0 0 0px 1000px rgba(160, 139, 98, 0.1) inset;
  -webkit-transition: background-color 5000s ease-in-out 0s;
  transition: background-color 5000s ease-in-out 0s;
  animation: autofill 0s forwards;
}

input:-webkit-autofill::first-line,
select:-webkit-autofill::first-line {
  font-size: 1rem !important;
  font-family: 'Work Sans', Helvetica, Arial, sans-serif !important;
}

.radio-btn-group {
  display: flex;
  flex-wrap: wrap;
  margin: -0.25rem;
}

.radio-btn-group > * {
  position: relative;
  flex: 0 0 auto;
  flex-wrap: wrap;
  margin: 0.3rem;
}

.checkbox-btn-group {
  display: flex;
  flex-wrap: wrap;
  margin: -0.25rem;
}

.checkbox-btn-group > * {
  position: relative;
  flex: 0 0 auto;
  flex-wrap: wrap;
  margin: 0.3rem;
}

.chekbox-btn-group-caption {
  color: #666;
  font-family: 'Lora', Helvetica, Arial, sans-serif;
  font-size: 1.2rem;
  flex: 1 1 100%;
  font-weight: 200;
}

.checkbox-btn:focus {
  box-shadow: none;
}

.checkbox-btn:hover,
.checkbox-btn input:focus:not(:focus-visible),
.checkbox-btn:focus-within {
  outline: none;
}

.checkbox-btn:hover label,
.checkbox-btn input:focus:not(:focus-visible) label,
.checkbox-btn:focus-within label {
  box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.2);
}

.checkbox-btn [disabled] + label {
  opacity: 0.5;
  cursor: not-allowed;
  border-color: rgba(17, 17, 17, 0.5);
  background-color: #ccc;
  background-image: linear-gradient(to top right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) calc(50% - 1px), rgba(17, 17, 17, 0.5) 50%, rgba(0, 0, 0, 0) calc(50% + 1px), rgba(0, 0, 0, 0) 100%);
}

.checkbox-btn label {
  position: relative;
  display: block;
  border: 1px solid #ccc;
  padding: 0.25em 0.5em;
  background: #fff;
  font-size: 0.95em;
  cursor: pointer;
  font-family: 'Work Sans', Helvetica, Arial, sans-serif;
  font-weight: 300;
  margin: 0;
}

.checkbox-btn input {
  position: absolute;
  left: 0;
  opacity: 0.01;
}

.checkbox-btn input:checked + label {
  color: #fff;
  background: #A08B62;
  border-color: #A08B62;
}

/*=========================================\
	$REVEAL
\=========================================*/

fieldset[data-reveal].active {
  animation-delay: 0s;
  animation-duration: 1s;
  animation-fill-mode: both;
  animation-name: fadeIn;
}

/*=========================================\
	$OPTIONS
\=========================================*/

form {
  counter-reset: options;
}

.options-wrapper {
  position: relative;
}

.options-wrapper .option:not(:last-child):not(:only-child):after {
  content: "";
  position: absolute;
  top: 2rem;
  left: 1rem;
  height: 100%;
  z-index: 0;
  width: 1px;
  background: #A08B62;
}

.options-wrapper .option:not(:only-child) {
  position: relative;
  counter-increment: options;
  padding: 0.5rem 0 0.5rem 2.5rem;
}

.options-wrapper .option:not(:only-child):before {
  content: counter(options);
  position: absolute;
  top: 0.8rem;
  left: 0;
  width: 2rem;
  height: 2rem;
  color: #A08B62;
  border: 1px solid currentColor;
  background: #fff;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1;
}

/*=========================================\
	$BTN
\=========================================*/

.btn {
  position: relative;
  color: #335C67;
  color: var(--btn-color);
  border-color: #335C67;
  border-color: var(--btn-color);
  text-decoration: none;
  background: transparent;
  cursor: pointer;
}

.btn i[class*="fonticon-"] {
  top: 0.15em;
  position: relative;
}

.btn:hover,
.btn:focus {
  color: #fff;
  background: #335C67;
  background: var(--btn-color);
  outline: none;
}

.btn:hover:before,
.btn:focus:before {
  top: -8px;
  right: -8px;
  bottom: -8px;
  left: -8px;
  opacity: 1;
}

.btn:before {
  content: '';
  position: absolute;
  border: #335C67 solid 2px;
  border: var(--btn-color) solid 2px;
  top: -16px;
  right: -16px;
  bottom: -16px;
  left: -16px;
  opacity: 0;
  transition-duration: 0.3s;
  transition-property: top right bottom left;
  pointer-events: none;
}

.btn .label {
  top: -0.09em;
  font-weight: bold;
  color: var(--btn-color);
  background: #fff;
}

.btn.btn-filled {
  background: var(--btn-color);
  color: #fff;
}

.btn.btn-invert {
  --btn-color: #fff;
  background: rgba(0, 0, 0, 0.3);
}

.btn.btn-invert.btn-filled {
  --btn-color: #fff;
  background: var(--btn-color);
  color: #335C67;
}

.btn.active {
  --btn-color: #A08B62;
  color: #fff;
  background: #A08B62;
  background: var(--btn-color);
}

.btn.btn-primary {
  --btn-color: #335C67;
}

.btn.btn-secondary {
  --btn-color: #A08B62!important;
}

.btn.btn-success {
  --btn-color: #7ea25f;
}

.btn.btn-warning {
  --btn-color: #c89c58;
}

.btn.btn-danger {
  --btn-color: #bd6f59;
}

.btn.btn-info {
  --btn-color: #648d89;
}

.btn.btn-facebook {
  --btn-color: #4267B2;
}

.btn.btn-twitter {
  --btn-color: #00aced;
}

.btn.btn-youtube {
  --btn-color: #bb0000;
}

.btn.btn-pinterest {
  --btn-color: #c8232c;
}

.btn.btn-checkout {
  --btn-color: #335C67;
  background-color: var(--btn-color);
  border-color: var(--btn-color);
  color: #fff;
  cursor: pointer;
  text-transform: uppercase;
  font-weight: bold;
  font-family: Georgia, "Times New Roman", Times, serif;
}

.btn.btn-checkout[disabled] {
  opacity: 1;
  --btn-color: #d8d8d8;
}

.btn.btn-checkout svg {
  margin: 0;
  max-width: 45px;
  max-height: 45px;
  fill: #fff;
  stroke: #fff;
}

.btn.btn-checkout:hover,
.btn.btn-checkout:focus {
  --btn-color: #A08B62;
}

.btn[disabled] {
  pointer-events: none;
}

.btn-wishlist {
  background: rgba(255, 255, 255, 0.7);
  border-radius: 100%;
  border-width: 0;
  display: inline-block;
  margin: 0.25rem 0.3rem;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
}

.btn-wishlist:has(i:only-child) {
  width: 2rem;
  height: 2rem;
  display: flex;
  font-size: 1.2rem;
  align-items: center;
  justify-content: center;
  border: 1px solid #ccc;
}

.btn-wishlist i:only-child {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.btn-wishlist .fonticon-heart {
  color: #ae2952;
}

.btn-wishlist .fonticon-heart:not(.active) {
  color: transparent;
}

.btn-wishlist .fonticon-heart:before {
  -webkit-text-stroke-color: #ae2952;
  -webkit-text-stroke-width: 1px;
  color: currentColor;
}

/*=========================================\
	$BULLETS
\=========================================*/

.bullet {
  width: 1em;
  height: 1em;
  border-radius: 50%;
  background: #335C67;
  display: inline-block !important;
  margin-right: 0.5em;
  vertical-align: middle;
  position: relative;
}

.bullet:after {
  content: '';
  background: rgba(51, 92, 103, 0.5);
  border-radius: 50%;
  width: 1em;
  height: 1em;
  position: absolute;
  top: calc(50% - 0.5em);
  left: calc(50% - 0.5em);
  animation: ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
}

.bullet-secondary {
  background: #A08B62;
}

.bullet-secondary:after {
  background: rgba(160, 139, 98, 0.5);
}

.bullet-success {
  background: #7ea25f;
}

.bullet-success:after {
  background: rgba(126, 162, 95, 0.5);
}

.bullet-warning {
  background: #c89c58;
}

.bullet-warning:after {
  background: rgba(200, 156, 88, 0.5);
}

.bullet-danger {
  background: #bd6f59;
}

.bullet-danger:after {
  background: rgba(189, 111, 89, 0.5);
}

.bullet-info {
  background: #648d89;
}

.bullet-info:after {
  background: rgba(100, 140, 137, 0.5);
}

@keyframes ping {
  75%, 100% {
    transform: scale(2);
    opacity: 0;
  }
}

/*=========================================\
	$ALERT
\=========================================*/

.alert:empty {
  display: none;
}

.alert {
  padding: 0.5rem 1rem;
}

.alert:not(li):before,
.alert:not(li):after {
  content: "";
  width: 0.8rem;
  height: 0.8rem;
  pointer-events: none;
  border-style: solid;
  border-width: 0;
  position: absolute;
}

.alert:not(li):before {
  top: -4px;
  left: -4px;
  border-left-width: 2px;
  border-top-width: 2px;
}

.alert:not(li):after {
  bottom: -4px;
  right: -4px;
  border-right-width: 2px;
  border-bottom-width: 2px;
}

div.alert {
  margin: 1rem 0;
}

ul.alert {
  padding-left: 1rem;
}

.alert > ul {
  margin: 0;
  padding-left: 1rem;
}

.alert li:only-child {
  list-style: none;
}

.alert.alert-default {
  background-color: #111;
  border-color: #040404;
  background: rgba(17, 17, 17, 0.9) center;
  color: #fff;
  position: relative;
}

.alert.alert-default hr {
  border-top-color: #040404;
}

.alert.alert-default a {
  cursor: pointer;
  text-decoration: underline;
}

.alert.alert-default hr {
  border-top-color: #040404;
}

.alert.alert-default a {
  cursor: pointer;
  text-decoration: underline;
}

.alert.alert-default label {
  color: inherit;
}

.alert.alert-default:before,
.alert.alert-default:after {
  border-color: rgba(17, 17, 17, 0.5);
}

.alert.alert-success {
  background-color: #7ea25f;
  border-color: #7c9255;
  background: rgba(126, 162, 95, 0.9) center;
  color: #fff;
  position: relative;
}

.alert.alert-success hr {
  border-top-color: #7c9255;
}

.alert.alert-success a {
  cursor: pointer;
  text-decoration: underline;
}

.alert.alert-success hr {
  border-top-color: #7c9255;
}

.alert.alert-success a {
  cursor: pointer;
  text-decoration: underline;
}

.alert.alert-success label {
  color: inherit;
}

.alert.alert-success:before,
.alert.alert-success:after {
  border-color: rgba(126, 162, 95, 0.5);
}

.alert.alert-info {
  background-color: #648d89;
  border-color: #597e74;
  background: rgba(100, 140, 137, 0.9) center;
  color: #fff;
  position: relative;
}

.alert.alert-info hr {
  border-top-color: #597e74;
}

.alert.alert-info a {
  cursor: pointer;
  text-decoration: underline;
}

.alert.alert-info hr {
  border-top-color: #597e74;
}

.alert.alert-info a {
  cursor: pointer;
  text-decoration: underline;
}

.alert.alert-info label {
  color: inherit;
}

.alert.alert-info:before,
.alert.alert-info:after {
  border-color: rgba(100, 140, 137, 0.5);
}

.alert.alert-warning {
  background-color: #c89c58;
  border-color: #c27c45;
  background: rgba(200, 156, 88, 0.9) center;
  color: #fff;
  position: relative;
}

.alert.alert-warning hr {
  border-top-color: #c27c45;
}

.alert.alert-warning a {
  cursor: pointer;
  text-decoration: underline;
}

.alert.alert-warning hr {
  border-top-color: #c27c45;
}

.alert.alert-warning a {
  cursor: pointer;
  text-decoration: underline;
}

.alert.alert-warning label {
  color: inherit;
}

.alert.alert-warning:before,
.alert.alert-warning:after {
  border-color: rgba(200, 156, 88, 0.5);
}

.alert.alert-danger {
  background-color: #bd6f59;
  border-color: #b44e48;
  background: rgba(189, 111, 89, 0.9) center;
  color: #fff;
  position: relative;
}

.alert.alert-danger hr {
  border-top-color: #b44e48;
}

.alert.alert-danger a {
  cursor: pointer;
  text-decoration: underline;
}

.alert.alert-danger hr {
  border-top-color: #b44e48;
}

.alert.alert-danger a {
  cursor: pointer;
  text-decoration: underline;
}

.alert.alert-danger label {
  color: inherit;
}

.alert.alert-danger:before,
.alert.alert-danger:after {
  border-color: rgba(189, 111, 89, 0.5);
}

/*=========================================\
	$BREADCRUMB
\=========================================*/

.breadcrumbs-wrapper {
  width: 100%;
  padding: 0 0;
  margin-bottom: 1rem;
  font-size: 0.85em;
  border-bottom: 1px solid #A08B62;
  text-align: left;
}

.d-md-none .breadcrumbs-wrapper {
  border-bottom-width: 0;
  margin-bottom: 0;
}

.d-md-none .breadcrumbs-wrapper ul > li:first-child {
  display: none;
}

.d-md-none .breadcrumbs-wrapper ul > li:nth-child(2) {
  display: none;
}

.d-md-none .breadcrumbs-wrapper ul > li:nth-child(2) {
  display: none;
}

.wrap > .breadcrumbs-wrapper:first-child,
.wrap-large > .breadcrumbs-wrapper:first-child,
.wrap > div:first-child .breadcrumbs-wrapper {
  border-bottom: 1px solid #A08B62;
}

.breadcrumbs-wrapper .breadcrumbs {
  padding: 0;
  position: relative;
  list-style-type: none;
  margin: 0;
  display: inline-flex;
  flex-wrap: nowrap;
  line-height: 1.1;
  max-width: 100%;
  font-weight: normal;
  font-weight: 100;
}

.breadcrumbs-wrapper img {
  position: relative;
  line-height: 1;
  top: -0.25em;
  width: 1.5em;
  height: auto;
  opacity: 0.3;
}

.breadcrumbs-wrapper img:hover {
  opacity: 1;
}

.breadcrumbs-wrapper ul {
  padding: 0;
}

.breadcrumbs-wrapper li {
  color: #A08B62;
  position: relative;
  flex: 0 auto;
  flex-shrink: 1000;
  display: inline-block;
  padding: 0.25em 0.4em;
  padding-right: 0.8em;
  z-index: 1;
}

.breadcrumbs-wrapper li:hover,
.breadcrumbs-wrapper li:focus-within {
  flex: 1 0 auto;
  z-index: 2;
}

.breadcrumbs-wrapper li.breadcrumbs-icon {
  flex: 0 0 auto;
  flex-shrink: 0.5;
}

.breadcrumbs-wrapper li:last-child {
  font-weight: bold;
  flex: 1 0 auto !important;
  max-width: 60vw;
  padding-right: 0;
}

.breadcrumbs-wrapper li:not(:last-child):before {
  content: "";
  position: absolute;
  top: 0.25em;
  right: 0;
  height: 1.3em;
  letter-spacing: -0.05em;
  width: 1px;
  transform: skew(-14deg);
  display: block;
  background: #A08B62;
  opacity: 0.5;
}

.breadcrumbs-wrapper li p {
  margin-top: 0px;
  margin-bottom: 0px;
}

.breadcrumbs-wrapper a {
  font-weight: normal;
  color: inherit;
  position: relative;
  flex: 0 1 auto;
}

.breadcrumbs-wrapper a:hover,
.breadcrumbs-wrapper a:focus {
  color: #335C67;
}

.breadcrumbs-wrapper li a {
  text-decoration: none;
}

/*=========================================\
	$MAPPING
\=========================================*/

.mapping {
  position: relative;
}

.configurator .mapping {
  color: transparent;
}

.configurators-ui .active .mapping {
  animation-delay: 1500ms;
  animation-duration: 600ms;
  animation-fill-mode: both;
  animation-name: fadeInUp;
}

.mapping.card-picture {
  background: transparent;
}

.mapping.active svg {
  opacity: 0.92 !important;
}

.mapping.mapping-blend svg {
  mix-blend-mode: multiply;
}

.mapping svg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  opacity: 0;
}

.mapping svg.active {
  opacity: 0.92;
}

.mapping svg:only-of-type {
  opacity: 0.92;
}

.mapping img[data-src]:not(.lazyloaded) ~ svg {
  opacity: 0!important;
}

.mapping path,
.mapping polygon,
.mapping circle {
  fill: currentColor !important;
  transition: 0.3s ease;
}

.mapping polygon {
  opacity: 0.8;
}

.mapping img {
  transform: scale(1) !important;
}

/*=========================================\
	$SHARE DIALOG
\=========================================*/

.share-dialog,
.boutique-open {
  width: 95%;
  max-width: 500px;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.15);
  border: 1px solid #ddd;
  padding: 20px;
  border-radius: 0;
  background-color: #fff;
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  z-index: 99;
  transform: translate(-50%, -50%);
}

.share-dialog p,
.boutique-open p {
  margin: 0;
}

.share-dialog header,
.boutique-open header {
  display: flex;
  justify-content: space-between;
  margin-bottom: 20px;
}

.share-dialog .targets,
.boutique-open .targets {
  display: -ms-grid;
  display: grid;
  -ms-grid-rows: 1fr;
  grid-template-rows: 1fr;
  grid-gap: 20px;
  margin-bottom: 20px;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
}

.share-dialog .link,
.boutique-open .link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px;
  border-radius: 4px;
  background-color: #eee;
  color: #666;
  transition: 0.1s ease;
}

.share-dialog .link.active,
.boutique-open .link.active {
  background-color: #b6c8a7;
}

.share-dialog .paste-box,
.boutique-open .paste-box {
  margin-right: 15px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  border-width: 0;
  outline: none;
  background: transparent;
  resize: none;
}

.share-dialog .share-button,
.boutique-open .share-button,
.share-dialog .copy-link,
.boutique-open .copy-link {
  padding-left: 30px;
  padding-right: 30px;
}

.boutique-open {
  max-width: 600px;
}

.close-button {
  background-color: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
  color: #666;
  opacity: 0.7;
}

.close-button:hover,
.close-button:focus {
  opacity: 1;
}

.share-dialog.is-open,
.boutique-open.is-open {
  display: block;
  animation-delay: 0s;
  animation-duration: 300ms;
  animation-fill-mode: both;
  animation-name: fadeInUpShare;
}

lesshat-selector {
  -lh-property: 0;
}

@keyframes fadeInUpShare {
  0% {
    opacity: 0;
    transform: translate(-50%, -30%);
  }

  100% {
    opacity: 1;
    transform: translate(-50%, -50%);
  }
}

[not-existing] {
  zoom: 1;
}

/*=========================================\
	$FOOTER
\=========================================*/

footer[role] {
  position: relative;
  margin-top: 4rem;
  width: 100vw;
  background: #fff;
  padding-bottom: 4rem;
  overflow-x: hidden;
}

body.login footer[role] {
  padding-bottom: 6em;
}

body.login footer[role]:before {
  display: none;
}

footer[role] section {
  padding-bottom: 0;
  content-visibility: visible;
  overflow-x: hidden;
}

footer[role] a:not(.btn) {
  color: #666;
  text-decoration: none;
}

footer[role] a:not(.btn).active,
footer[role] a:not(.btn):hover,
footer[role] a:not(.btn):focus {
  color: #335C67;
}

footer[role] ul {
  list-style: none;
  padding: 0;
  font-size: 0.875em;
}

footer[role] ul li {
  margin: 1rem 0;
}

footer[role] .shift-top {
  z-index: inherit;
}

footer[role] .logo {
  position: relative;
  text-align: center;
  z-index: 10;
  display: block;
}

footer[role] .logo img,
footer[role] .logo svg {
  position: relative;
  width: 22ch;
  height: auto;
  max-width: 80vw;
  background: #fff;
  padding: 1rem 2rem;
  z-index: 2;
}

footer[role] .logo img .logo-fill,
footer[role] .logo svg .logo-fill {
  fill: currentColor;
}

footer[role] .logo img .logo-symbol-fill,
footer[role] .logo svg .logo-symbol-fill {
  fill: #A08B62;
}

footer[role] .logo:hover,
footer[role] .logo:focus {
  color: #335C67;
}

footer[role] .footer-bottom {
  color: #fff;
  padding: 1rem 0;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%);
  max-width: 100vw;
  overflow-x: hidden;
}

footer[role] .footer-bottom a {
  color: inherit;
  text-decoration: none;
  margin: 0.25rem 0.5rem;
}

footer[role] .footer-bottom a:hover,
footer[role] .footer-bottom a:focus {
  color: #A08B62;
  background: #fff;
  box-shadow: 0.5em 0 0 #fff, -0.5em 0 0 #fff;
}

footer[role] .footer-bottom .d-flex {
  margin: 0 -0.5rem;
  justify-content: space-between;
}

footer[role] .footer-bottom .d-flex .d-flex {
  margin: 0;
}

/*=========================================\
	             $CART MINI
       le reste est dans cart.less
\=========================================*/

@keyframes animate {
  0% {
    background-position: left;
  }

  50% {
    background-position: right;
  }

  100% {
    background-position: right;
  }
}

[data-cartcount] {
  position: relative;
}

[data-cartcount]:after {
  font-style: normal;
  content: attr(data-cartcount);
  position: absolute;
  top: 50%;
  left: 50%;
  background: #fff;
  color: #111;
  display: inline-block;
  font-size: 0.3em;
  border-radius: 2em;
  padding: 0.2em 0.35em;
  height: 1.25em;
  line-height: 1;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  transition: inherit;
  transform: translate(-50%, -10%);
}

.active-nav [data-cartcount]:after,
.sticked [data-cartcount]:after,
.initial [data-cartcount]:after {
  color: #fff;
  background: #111;
  border-color: #111;
}

/*=========================================\
	$STORE GRID
\=========================================*/

.store-grid {
  display: -ms-grid;
  display: grid;
  gap: calc(var(--half-gutter-width) * 0.5);
  -ms-grid-columns: (minmax(0, 1fr))[2];
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.store-grid .col-span-1 {
  -ms-grid-column-span: 1;
  grid-column: span 1 / span 1;
}

.store-grid .col-span-2 {
  -ms-grid-column-span: 2;
  grid-column: span 2 / span 2;
}

/*=========================================\
	$PRICE
\=========================================*/

.prices span:first-child {
  color: #A08B62;
  font-weight: 400;
  line-height: 1;
}

.prices span:first-of-type:not(:only-of-type) {
  color: #A08B62;
  font-weight: 400;
  font-size: 1.2em;
  line-height: 1;
}

.prices span + span {
  text-decoration: line-through;
  margin: 0.2em 0;
  line-height: 0.8;
  font-size: 1em;
  font-weight: 400;
  color: #ccc;
}

.product-prices .prices {
  font-size: 1.6rem;
  font-family: 'Lora', Helvetica, Arial, sans-serif;
}

/*=========================================\
	$FILTERS & OPTIONS
\=========================================

.filters {

	&-carac {
		ul {
			padding: 0;
			margin: 0;
			display: flex;
			flex-wrap: wrap;
			li {
				position: relative;
				list-style: none;
				flex: 1 1 50%;
				max-width: calc(~'50% - 10px');
				//min-width: 50%;
				margin: 5px;

				&.full {
					max-width: 100%;
					min-width: 100%;
					margin: 5px 0;
				}

				.checkbox-label,.radio-label {
					position: relative;
					vertical-align: middle;
					cursor: pointer;
					padding: 8px 10px!important;
					width       : 100%;
					text-align: center;
					z-index: 2;
					max-width: 100%;
					color: @body-color;

					+ .back{
						position : absolute;
						left     : 0;
						top      : 0;
						margin   : 0;
						padding  : 0;
						width    : 100%;
						cursor   : pointer;
						height   : 100%;
						background: #fff;
						border: 1px solid rgba(0,0,0,.1);
						border-radius: 4px;
						z-index: 1;
					}

					&.active {
						color: @brand-success!important;
						+ .back {
							background: #fff;
							border: 2px solid @brand-success!important;
						}
					}

					&:hover,&:focus {
						+ .back {
							border: 2px solid @brand-grey;
							background: @brand-secondary;
						}
					}
				}

			}
		}
		input.checkbox,input.radio {
			position: absolute;
			+ label + .back {
				overflow: hidden;
				&:before {
					position: absolute;
					content: '';
					background:
									linear-gradient(to top left,
									rgba(0,0,0,0) 0%,
									rgba(0,0,0,0) 48%,
									rgba(0,0,0,.2) 50%,
									rgba(0,0,0,0) 52%,
									rgba(0,0,0,0) 100%),
									linear-gradient(to top right,
									rgba(0,0,0,0) 0%,
									rgba(0,0,0,0) 48%,
									rgba(0,0,0,.2) 50%,
									rgba(0,0,0,0) 52%,
									rgba(0,0,0,0) 100%);
					display: block;
					width: 100%;
					left: 0;
					right: 0;
					top: 0;
					bottom: 0;
					opacity: 0;
					pointer-events: none;
					visibility: hidden;
					cursor: not-allowed;
					z-index: 2;
					transition: .2s all ease-in-out;
				}
			}

			&:disabled,[disabled] {
				+ label {
					opacity: .4;
					cursor: not-allowed;
					+ .back {
						background: @brand-secondary;
						&:before {
							opacity: 1;
							pointer-events: auto;
							visibility: visible;
						}
					}
				}
			}

			&:checked + label {
				color: @brand-success!important;
				+ .back {
					background: #fff;
					border: 2px solid @brand-success!important;
				}
			}
			&:hover + label,&:focus + label {
				+ .back {
					border: 2px solid @brand-grey-dark;
					background: @brand-grey;
				}
			}
		}
	}
}


 */

/*=========================================\
	$DROPDOWN BLOCK
\=========================================*/

.dropdown-block a {
  text-decoration: none;
}

.dropdown-block:only-child .dropdown-content {
  transition: max-height 1.6s ease;
  max-height: 3000vh;
}

.dropdown-block:only-child .dropdown-label:before {
  display: none;
}

.dropdown-block .dropdown-label:only-child:before {
  display: none;
}

.dropdown-block.open .dropdown-content {
  transition: max-height 1.6s ease;
  max-height: 3000vh;
}

.dropdown-block.open .dropdown-label:before {
  content: "\F10B";
  transform: translateY(-50%) rotate(0deg);
}

.dropdown-label {
  margin: 0;
  position: relative;
  padding: 0.5em 0;
  margin: 0.25rem 0;
  cursor: pointer;
  display: block;
  overflow: hidden;
  -webkit-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.dropdown-label .count {
  color: #666;
  font-weight: 300;
  font-family: 'Lora', Helvetica, Arial, sans-serif;
}

.dropdown-label:hover,
.dropdown-label:focus {
  color: #335C67;
}

.dropdown-block .dropdown-label:before {
  content: "\F10E";
  position: absolute;
  right: 0.5rem;
  top: 50%;
  font-family: 'fonticon';
  transition: all 0.12s ease-in-out;
  transform: translateY(-50%) rotate(-90deg);
}

.dropdown-content {
  backface-visibility: hidden;
  max-height: 0;
  height: auto;
  transition: max-height 0.3s ease;
  overflow: hidden;
}

.dropdown-content > ul {
  list-style: none;
  padding-left: 0.5rem;
}

.dropdown-content > ul a {
  margin: 0.3rem 0;
  display: block;
  color: #A08B62;
}

.dropdown-content > ul a:hover,
.dropdown-content > ul a:focus {
  color: #335C67;
}

.dropdown-content > ul > ul a {
  color: #666;
}

/*=========================================\
	$RIPPLE
\=========================================*/

.ripple {
  width: 2px;
  height: 2px;
  position: absolute;
  border-radius: 50%;
  background-color: rgba(160, 139, 98, 0.6);
  animation: rippleEffect 0.5s ease-in-out;
}

@keyframes rippleEffect {
  0% {
    transform: scale(1);
  }

  100% {
    opacity: 0;
    transform: scale(var(--scale));
  }
}

/*=========================================\
	$RANGE
\=========================================*/

label[data-connect] {
  display: inline-block;
  width: auto;
  font-size: 0.95em;
  font-weight: 200;
  padding: 0 0.4em;
  line-height: 1;
}

label[data-connect] span {
  font-weight: 600;
}

label[data-connect]:only-child {
  justify-content: center;
  text-align: center;
}

label[data-connect] ~ label:not([data-connect]) {
  position: absolute;
  text-align: center;
  display: inline-block;
  padding: 0 0.4em;
  left: 50%;
  top: 0;
  transform: translateX(-50%) translateY(-0.3em);
}

.range {
  min-height: 1px;
  border-radius: 0;
  margin: 1rem 1rem;
  -webkit-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.range.noUi-target {
  background: #fff;
}

.range.noUi-horizontal {
  height: 0.5em;
}

.noUi-connects {
  overflow: visible;
}

.range.noUi-target {
  height: 1px;
  background: rgba(0, 0, 0, 0.2);
  border-width: 0;
  box-shadow: inherit;
}

.noUi-connect {
  height: 0.25em;
  background-color: #335C67;
  background-size: 200% 100%;
  transition: background 0.6s ease;
  background-position: top center;
}

.noUi-handle {
  background-color: #fff;
  border-radius: 0;
  border-width: 0;
  transform: translateY(-25%);
  color: #335C67;
  border: 2px solid #335C67;
}

.noUi-handle > *:focus,
.noUi-handle:focus-within > * {
  outline: none !important;
  box-shadow: inherit;
}

.noUi-handle:before,
.noUi-handle:after {
  width: 2px;
  top: 50%;
  left: 50%;
  background: currentColor;
}

.noUi-handle:before {
  transform: translateY(-50%) translateX(-3px);
}

.noUi-handle:after {
  transform: translateY(-50%) translateX(1px);
}

/*=========================================\
	$COMPOSITE
\=========================================*/

.composite {
  display: flex;
  align-items: center;
  justify-content: center;
}

.composite > * {
  flex: 1 1 auto;
}

.composite > img {
  width: 33%;
  max-width: 8rem;
  margin: 0;
}

.composite-compact {
  flex: 0 0 auto;
  width: auto;
}

img.composite-compact {
  max-width: 25%;
}

.composite-image {
  flex: 0 0 auto;
  width: 7rem;
  max-width: 25%;
  -ms-grid-row-align: start;
      align-self: start;
}

.composite-expand {
  flex: 1 1 auto;
}

/*=========================================\
	$METERS
\=========================================*/

.meters {
  font-size: 0.8em;
  width: 100%;
}

.meters td {
  white-space: nowrap;
}

.meter {
  font-size: 1.2em;
  background: #eee;
  min-width: 7em;
  display: block;
  height: 1.4em;
  margin: 0 0.5rem;
}

.meter div {
  background: #F5BD23;
  height: 100%;
  position: relative;
}

.meter div::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
}

/*=========================================\
	$HEART SUCCESS ANIMATION
\=========================================

// Dialog de remerciement après la notation
// Voir : https://css-tricks.com/recreating-the-twitter-heart-animation/

.heart-success{
	position: relative;
	align-self: center;
	color:@pink;
	font-size: 5.5rem;
	display:inline-block;
	backface-visibility: hidden;
	animation: heart-success .7s .25s cubic-bezier(0.17, 0.89, 0.32, 1.49) both;
	user-select: none;
	line-height: 1.2;
	opacity:0;

	&:hover{
		&:after,&:before{
			animation: inherit;
		}
	}

	&:after,&:before{
		position: absolute;
		z-index: -1;
		top: 48.6%; // Magic ¯\_(ツ)_/¯
		left: 48.75%; // Magic ¯\_(ツ)_/¯
		content: '';
		animation: inherit;
		animation-delay: .4s;
		animation-duration: .2s;
		animation-timing-function: ease-out;
		border-radius: 50%;
	}

	&:before{
		will-change: transform, border-width, border-color;
		box-sizing: border-box;
		margin: -3.375rem;
		border: solid 3.375rem #e2264d;
		width: 6.75rem;
		height: 6.75rem;
		transform: scale(0);
		animation-name: bubble;
	}


	&:after{
		will-change: opacity, box-shadow;
		animation-name: particles;

		margin: -0.05625em;
		width: 0.1125em;
		height: 0.1125em;

		opacity: 0;
		box-shadow: 0.48714rem -4.5rem 0 -0.3rem #ff8080, -0.48714rem -3.9375rem 0 -0.3rem #ffed80, 3.82197rem -2.42484rem 0 -0.3rem #ffed80, 2.77474rem -2.83585rem 0 -0.3rem #a4ff80, 4.27878rem 1.47627rem 0 -0.3rem #a4ff80, 3.94718rem 0.40125rem 0 -0.3rem #80ffc8, 1.51358rem 4.26572rem 0 -0.3rem #80ffc8, 2.14731rem 3.3362rem 0 -0.3rem #80c8ff, -2.39137rem 3.843rem 0 -0.3rem #80c8ff, -1.26952rem 3.75893rem 0 -0.3rem #a480ff, -4.49557rem 0.52642rem 0 -0.3rem #a480ff, -3.73038rem 1.3511rem 0 -0.3rem #ff80ed, -3.21452rem -3.18656rem 0 -0.3rem #ff80ed, -3.38219rem -2.07413rem 0 -0.3rem #ff8080;
	}
}

@keyframes heart-success {
	0%{
		transform: translateY(50%) scale(0);
	}
	17.5% {
		transform: translateY(-10%) scale(0);
	}
	100%{opacity:1; transform: translateY(0) scale(1);}
}

@keyframes bubble {
	0%{
		// TRES DROLE
		//box-shadow: 0.48714rem -4.5rem 0 -0.28125rem #ff8080, -0.48714rem -3.9375rem 0 -0.28125rem #ffed80, 3.82197rem -2.42484rem 0 -0.28125rem #ffed80, 2.77474rem -2.83585rem 0 -0.28125rem #a4ff80, 4.27878rem 1.47627rem 0 -0.28125rem #a4ff80, 3.94718rem 0.40125rem 0 -0.28125rem #80ffc8, 1.51358rem 4.26572rem 0 -0.28125rem #80ffc8, 2.14731rem 3.3362rem 0 -0.28125rem #80c8ff, -2.39137rem 3.843rem 0 -0.28125rem #80c8ff, -1.26952rem 3.75893rem 0 -0.28125rem #a480ff, -4.49557rem 0.52642rem 0 -0.28125rem #a480ff, -3.73038rem 1.3511rem 0 -0.28125rem #ff80ed, -3.21452rem -3.18656rem 0 -0.28125rem #ff80ed, -3.38219rem -2.07413rem 0 -0.28125rem #ff8080;
	}
	15% {
		transform: scale(1);
		border-color: #cc8ef5;
		border-width: 3.375rem;
	}
	30%, 100% {
		-webkit-transform: scale(1);
		transform: scale(1);
		border-color: #cc8ef5;
		border-width: 0;
	}
}

@keyframes particles {
	0%, 20% {
		opacity: 0;
	}
	25% {
		opacity: 1;
		box-shadow: 0.48714rem -3.65625rem 0 0 #ff8080, -0.48714rem -3.09375rem 0 0 #ffed80, 3.1623rem -1.89877rem 0 0 #ffed80, 2.11506rem -2.30978rem 0 0 #a4ff80, 3.45618rem 1.28852rem 0 0 #a4ff80, 3.12458rem 0.2135rem 0 0 #80ffc8, 1.14749rem 3.50553rem 0 0 #80ffc8, 1.78123rem 2.57601rem 0 0 #80c8ff, -2.02528rem 3.08281rem 0 0 #80c8ff, -0.90343rem 2.99873rem 0 0 #a480ff, -3.67298rem 0.33867rem 0 0 #a480ff, -2.90778rem 1.16335rem 0 0 #ff80ed, -2.55484rem -2.6605rem 0 0 #ff80ed, -2.72252rem -1.54806rem 0 0 #ff8080;
	}
}

/*=========================================\
	$RATE
\=========================================*/

.starability-heart {
  min-height: 31px;
}

.rate {
  text-align: left;
  position: relative;
  display: inline-block;
  unicode-bidi: bidi-override;
  direction: rtl;
  color: #F5BD23;
  font-size: 1.25em;
  line-height: 1;
  top: 0.22em;
  text-decoration: none;
}

.rate:hover {
  color: #F5BD23;
  text-decoration: none;
}

.rate + small {
  font-size: 0.7em;
  font-weight: normal;
  font-weight: bold;
}

.rate + a {
  font-size: 0.8em;
}

.rate span:before {
  font-family: 'fonticon';
  content: "\F113";
  display: inline;
}

.rate span.active.half:before {
  content: "\F112";
}

.rate span.active:before {
  content: "\F114";
}

.rate span.active ~ span:before {
  content: "\F114";
}

/*=========================================\
	$PAGINATE
\=========================================*/

.paginate {
  text-align: center;
  -webkit-user-select: none;
      -ms-user-select: none;
          user-select: none;
  margin: 0 -0.15em;
  padding: 0;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
}

.paginate a {
  margin: 0.2em;
}

.paginate ul {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  margin: 0;
  list-style: none;
  padding: 0;
}

.paginate li {
  display: inline-block;
}

.paginate li.active .btn {
  pointer-events: none;
}

.paginate li a {
  display: inline-block;
  text-align: center;
  min-width: 2.5em;
}

.paginate .separator {
  font-weight: normal;
  font-weight: bold;
  margin: 0.2em;
  padding: 0.5em 0.8em;
  background: rgba(0, 0, 0, 0.1);
  color: rgba(0, 0, 0, 0.2);
  border-radius: 0;
  position: relative;
}

/*=========================================\
	$COMPONENTS
\=========================================*/

.label {
  position: relative;
  display: inline-block;
  font-size: 0.7em;
  line-height: 1.2;
  padding: 0.2em 0.6em;
  top: -0.3em;
  margin-right: 0.5em;
  vertical-align: baseline;
  white-space: nowrap;
  font-family: 'Work Sans', Helvetica, Arial, sans-serif;
}

a.label {
  text-decoration: none;
}

.label-default {
  background-color: #bbb;
  color: #333;
}

.label-default:empty {
  display: none;
}

a.label-default:hover,
a.label-default:focus,
.label-default.active {
  border-radius: 0;
  color: #333;
  background: #ccc;
}

.label-primary {
  background-color: #335C67;
  color: #fff;
}

.label-primary:empty {
  display: none;
}

a.label-primary:hover,
a.label-primary:focus,
.label-primary.active {
  border-radius: 0;
  color: #fff;
  background: #447a89;
}

.label-success {
  background-color: #7ea25f;
  color: #fff;
}

.label-success:empty {
  display: none;
}

a.label-success:hover,
a.label-success:focus,
.label-success.active {
  border-radius: 0;
  color: #fff;
  background: #98b47f;
}

.label-info {
  background-color: #648d89;
  color: #fff;
}

.label-info:empty {
  display: none;
}

a.label-info:hover,
a.label-info:focus,
.label-info.active {
  border-radius: 0;
  color: #fff;
  background: #7fa4a1;
}

.label-warning {
  background-color: #c89c58;
  color: #fff;
}

.label-warning:empty {
  display: none;
}

a.label-warning:hover,
a.label-warning:focus,
.label-warning.active {
  border-radius: 0;
  color: #fff;
  background: #d5b37e;
}

.label-danger {
  background-color: #bd6f59;
  color: #fff;
}

.label-danger:empty {
  display: none;
}

a.label-danger:hover,
a.label-danger:focus,
.label-danger.active {
  border-radius: 0;
  color: #fff;
  background: #cb8f7d;
}

/*=========================================\
	$TABS
\=========================================*/

.tabs {
  position: relative;
  z-index: 2;
  padding-left: 0;
  margin-bottom: 0;
  display: inline-flex;
  flex-wrap: wrap-reverse;
  list-style: none;
  max-width: calc(100% - 1px);
  -webkit-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.tabs a {
  flex: 1 1 auto;
  display: inline-block;
  border-collapse: collapse;
  margin-right: -1px;
  z-index: 0;
  border: 1px solid #F5F2F0;
  position: relative;
  display: block;
  height: 100%;
  padding: 0.5em 1.2em;
  background: #fbfbfb;
  text-decoration: none;
  color: #666;
  z-index: 2;
  border: 1px solid rgba(0, 0, 0, 0.08);
  border-top-width: 0;
}

.tabs a a:first-child {
  border-left-width: 0;
}

.tabs a:hover {
  text-decoration: none;
  background: #A08B62;
  color: #fff;
}

.tabs a.active {
  z-index: 3;
  background: #fff;
  color: #A08B62;
  border-bottom-color: 1px solid #fff;
}

.tabs a.active:after {
  content: "";
  position: absolute;
  top: 100%;
  left: 0;
  height: 1px;
  width: 100%;
  background: inherit;
}

.tab-pane {
  animation-delay: 0s;
  animation-duration: 1s;
  animation-fill-mode: both;
  position: relative;
  margin-top: 0;
  z-index: 1;
  background: #fff;
  padding: 0.5rem 1.5rem;
  display: none;
}

.tab-pane.active {
  display: block;
}

/*=========================================\
	$ORNEMENTS
\=========================================*/

@keyframes float {
  from {
    transform: translate(calc(-50% - 1rem), calc(-50% + 1rem)) rotate(10deg);
  }

  to {
    transform: translate(calc(-50% - 1rem), calc(-50% + 1rem)) rotate(-30deg);
  }
}

.ornement-1 {
  position: absolute;
  top: 0;
  left: 100%;
  font-size: 6.25em;
  transform: translate(calc(-50% - 1rem), calc(-50% + 1rem));
  width: 1em;
  height: 1em;
  background: url(../images/ornement-fleur-de-lin.png) no-repeat;
  background-size: contain;
  z-index: 10;
  filter: drop-shadow(0 0 0.75rem rgba(0, 0, 0, 0.2));
  animation: float infinite 12s ease-in-out alternate;
}

.ornement-2 {
  bottom: 15%;
  right: 100%;
  height: 50%;
  width: 8rem;
  max-width: 12vw;
  transition: 2.6s ease;
}

.ornement-2:after {
  transform: translate(25%);
  background: url(../images/ornement-pousse-de-lin-1.png) no-repeat bottom right;
}

.ornement-2 ~ * {
  position: relative;
  z-index: 2;
}

.ornement-2.inview {
  height: 96.5%;
  width: 16rem;
}

.ornement-3 {
  bottom: 12%;
  left: 100%;
  height: 50%;
  width: 12rem;
  max-width: 18vw;
  transition: 1.8s ease;
}

.ornement-3:after {
  background: url(../images/ornement-pousse-de-lin-2.png) no-repeat bottom left;
  transform: translate(-45%) rotate(2.5deg);
}

.ornement-3 ~ * {
  position: relative;
  z-index: 2;
}

.ornement-3.inview {
  height: 100%;
  width: 24rem;
}

.ornement-2,
.ornement-3 {
  position: absolute;
  z-index: 1;
  opacity: 0;
  backface-visibility: hidden;
  transform: scale3d(1, 1, 1);
  transition: 1.4s ease;
}

.ornement-2:after,
.ornement-3:after {
  display: block;
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: contain;
  transition: 0s;
}

.ornement-2.inview,
.ornement-3.inview {
  opacity: 1;
}

.bg-ornements {
  background: url(../images/bg-fiber.png), url(../images/ornement-pousse-de-lin-1.png) no-repeat bottom right, url(../images/ornement-pousse-de-lin-2.png) no-repeat bottom left #335C67;
  background-size: auto 50%;
  background-blend-mode: multiply, luminosity, luminosity;
}

.bg-ornements hr.brand {
  filter: invert(1) brightness(100);
}

.bg-ornements p.text-white {
  color: white;
  font-family: Georgia, "Times New Roman", Times, serif;
}

lesshat-selector {
  -lh-property: 0;
}

@keyframes zoomInInvert {
  0% {
    opacity: 0;
    transform: scale(1.8) rotate(20deg);
  }

  50% {
    opacity: 1;
    transform: scale(1) rotate(0);
  }
}

[not-existing] {
  zoom: 1;
}

.petale {
  position: absolute;
  width: 30%;
  height: 30%;
  max-width: 3.5rem;
  transition: 0s;
  opacity: 0;
}

.petale.inview {
  animation-name: zoomInInvert !important;
  animation-duration: 1.2s !important;
}

.petale.reverted:not(.inview) {
  opacity: 0;
  animation: inherit;
}

.petale:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  filter: drop-shadow(0 1px 0.1rem rgba(0, 0, 0, 0.2));
}

.petale-1 {
  top: 100%;
  right: 100%;
  width: 60%;
  height: 0;
  padding-bottom: 100%;
  max-width: 8rem;
  transform: scale(0.3) rotate(20deg) translateY(-70%);
  transform-origin: 50% 50%;
  opacity: 0;
}

.petale-1:after {
  background-image: url(../images/petale-fleur-seche.png);
  transform: translate(50%, -50%);
}

.petale-1.inview {
  opacity: 1;
  transition: 0.6s 0.2s;
  animation: inherit !important;
  transform: scale(1) rotate(0deg) translateY(0%);
}

.petale-2 {
  top: 110%;
  left: 0;
}

.petale-2:after {
  background-image: url(../images/petale-1.png);
  transform: translate(-50%);
}

.petale-3 {
  bottom: 105%;
  left: 3%;
}

.petale-3:after {
  background-image: url(../images/petale-2.png);
}

.petale-4 {
  top: 0;
  left: 110%;
}

.petale-4:after {
  transform: rotate(75deg);
  background-image: url(../images/petale-3.png);
}

.petale-5 {
  top: 0;
  left: 115%;
}

.petale-5:after {
  background-image: url(../images/petale-4.png);
}

.petale-6 {
  top: 95%;
  left: 98%;
  width: 35%;
  height: 35%;
  max-width: 4.25rem;
}

.petale-6:after {
  transform: rotate(-10deg);
  background-image: url(../images/petale-3.png);
}

.list-flower {
  list-style-type: none;
}

.list-flower li:before {
  content: "\F106";
  position: absolute;
  right: 100%;
  top: 0;
  transform: translate(50%, -25%);
  font-family: fonticon;
  font-size: 1.85em;
  font-weight: 100;
  color: #A08B62;
  opacity: 0.5;
  z-index: -1;
}

/*=========================================\
	$INSTAGRAME BOX
\=========================================*/

.instagram-hover {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  z-index: 2;
}

.instagram-hover a {
  text-decoration: none;
}

.instagram-hover ~ * {
  z-index: 1;
}

.instagram-hover .col-xs-12 {
  padding: 1rem;
  background: rgba(255, 255, 255, 0.9);
  text-align: center;
  opacity: 0;
  transform: translateY(3rem);
  transition: 0.2s ease;
}

@supports (backdrop-filter: blur(20px)) {
}

.instagram-hover .col-xs-12:hover {
  opacity: 1;
  transform: translateY(-3rem);
}

/*=========================================\
	$TINGLE
\=========================================*/

[data-modal-id] {
  display: none;
}

.tingle-modal {
  background: rgba(255, 255, 255, 0.6);
}

.tingle-modal-box {
  max-width: 42em;
  width: calc(1300px - 4em);
  border-radius: 0;
  box-shadow: 0 19px 38px rgba(0, 0, 0, 0.15), 0 15px 12px rgba(0, 0, 0, 0.11);
}

[data-modal-class*="modal-large"] .tingle-modal-box {
  max-width: 1300px;
}

[data-modal-class*="modal-fill"] .tingle-modal-box .tingle-modal-box__content {
  padding: 0;
}

.tingle-modal-box textarea {
  overflow: auto !important;
  min-height: 140px;
}

.tingle-modal__close {
  color: rgba(102, 102, 102, 0.3);
}

.tingle-modal__close:hover {
  color: #666;
}

/*=========================================\
	$MODAL ICON
\=========================================*/

.swal-icon {
  width: 80px;
  height: 80px;
  border-width: 4px;
  border-style: solid;
  border-radius: 50%;
  padding: 0;
  position: relative;
  box-sizing: content-box;
  margin: 20px auto 30px auto;
}

.swal-icon:first-child {
  margin-top: 32px;
}

.swal-icon--custom {
  width: auto;
  height: auto;
  max-width: 100%;
  border: none;
  border-radius: 0;
}

.swal-icon img {
  max-width: 100%;
  max-height: 100%;
}

:root {
  --swal-red: #f27474;
}

.swal-icon--error {
  border-color: var(--swal-red);
  animation: animateErrorIcon 0.5s;
}

.swal-icon--error__x-mark {
  position: relative;
  display: block;
  animation: animateXMark 0.5s;
}

.swal-icon--error__line {
  position: absolute;
  height: 5px;
  width: 47px;
  background-color: var(--swal-red);
  display: block;
  top: 37px;
  border-radius: 2px;
}

.swal-icon--error__line--left {
  transform: rotate(45deg);
  left: 17px;
}

.swal-icon--error__line--right {
  transform: rotate(-45deg);
  right: 16px;
}

@keyframes animateErrorIcon {
  from {
    transform: rotateX(100deg);
    opacity: 0;
  }

  to {
    transform: rotateX(0deg);
    opacity: 1;
  }
}

@keyframes animateXMark {
  0% {
    transform: scale(0.4);
    margin-top: 26px;
    opacity: 0;
  }

  50% {
    transform: scale(0.4);
    margin-top: 26px;
    opacity: 0;
  }

  80% {
    transform: scale(1.15);
    margin-top: -6px;
  }

  100% {
    transform: scale(1);
    margin-top: 0;
    opacity: 1;
  }
}

:root {
  --swal-blue: #c9dae1;
}

.swal-icon--info {
  border-color: var(--swal-blue);
  /* "i"-letter body */
  /* "i"-letter dot */
}

.swal-icon--info::before {
  content: "";
  position: absolute;
  width: 5px;
  height: 29px;
  left: 50%;
  bottom: 17px;
  border-radius: 2px;
  margin-left: -2px;
  background-color: var(--swal-blue);
}

.swal-icon--info::after {
  content: "";
  position: absolute;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  margin-left: -3px;
  top: 19px;
  background-color: var(--swal-blue);
  left: 50%;
}

:root {
  --swal-green: #a5dc86;
  --swal-green-light: rgba(165, 220, 134, 0.2);
}

.swal-icon--success {
  border-color: var(--swal-green);
  /* Moving circular line */
  /* Ring */
  /* Hide corners left from animation */
}

.swal-icon--success::before,
.swal-icon--success::after {
  content: "";
  border-radius: 50%;
  position: absolute;
  width: 60px;
  height: 120px;
  background: white;
  transform: rotate(45deg);
}

.swal-icon--success::before {
  border-radius: 120px 0 0 120px;
  top: -7px;
  left: -33px;
  transform: rotate(-45deg);
  transform-origin: 60px 60px;
}

.swal-icon--success::after {
  border-radius: 0 120px 120px 0;
  top: -11px;
  left: 30px;
  transform: rotate(-45deg);
  transform-origin: 0px 60px;
  animation: rotatePlaceholder 4.25s ease-in;
}

.swal-icon--success__ring {
  width: 80px;
  height: 80px;
  border: 4px solid var(--swal-green-light);
  border-radius: 50%;
  box-sizing: content-box;
  position: absolute;
  left: -4px;
  top: -4px;
  z-index: 2;
}

.swal-icon--success__hide-corners {
  width: 5px;
  height: 90px;
  background-color: white;
  padding: 1px;
  position: absolute;
  left: 28px;
  top: 8px;
  z-index: 1;
  transform: rotate(-45deg);
}

.swal-icon--success__line {
  height: 5px;
  background-color: var(--swal-green);
  display: block;
  border-radius: 2px;
  position: absolute;
  z-index: 2;
}

.swal-icon--success__line--tip {
  width: 25px;
  left: 14px;
  top: 46px;
  transform: rotate(45deg);
  animation: animateSuccessTip 0.75s;
}

.swal-icon--success__line--long {
  width: 47px;
  right: 8px;
  top: 38px;
  transform: rotate(-45deg);
  animation: animateSuccessLong 0.75s;
}

@keyframes rotatePlaceholder {
  0% {
    transform: rotate(-45deg);
  }

  5% {
    transform: rotate(-45deg);
  }

  12% {
    transform: rotate(-405deg);
  }

  100% {
    transform: rotate(-405deg);
  }
}

@keyframes animateSuccessTip {
  0% {
    width: 0;
    left: 1px;
    top: 19px;
  }

  54% {
    width: 0;
    left: 1px;
    top: 19px;
  }

  70% {
    width: 50px;
    left: -8px;
    top: 37px;
  }

  84% {
    width: 17px;
    left: 21px;
    top: 48px;
  }

  100% {
    width: 25px;
    left: 14px;
    top: 45px;
  }
}

@keyframes animateSuccessLong {
  0% {
    width: 0;
    right: 46px;
    top: 54px;
  }

  65% {
    width: 0;
    right: 46px;
    top: 54px;
  }

  84% {
    width: 55px;
    right: 0px;
    top: 35px;
  }

  100% {
    width: 47px;
    right: 8px;
    top: 38px;
  }
}

:root {
  --swal-orange: #f8bb86;
}

.swal-icon--warning {
  border-color: var(--swal-orange);
  animation: pulseWarning 0.75s infinite alternate;
  /* Exclamation mark */
}

.swal-icon--warning__body {
  position: absolute;
  width: 5px;
  height: 47px;
  left: 50%;
  top: 10px;
  border-radius: 2px;
  margin-left: -2px;
  background-color: var(--swal-orange);
}

.swal-icon--warning__dot {
  position: absolute;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  margin-left: -4px;
  left: 50%;
  bottom: -11px;
  background-color: var(--swal-orange);
}

@keyframes pulseWarning {
  from {
    border-color: #f8d486;
  }

  to {
    border-color: var(--swal-orange);
  }
}

/*=========================================\
	$SWAL
\=========================================*/

.swal2-container.swal2-shown {
  background: rgba(255, 255, 255, 0.7);
}

@supports (backdrop-filter: blur(20px)) {
}

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

.swal2-title:after,
.swal2-title:before {
  display: none;
}

.swal2-modal {
  border-radius: 0;
  box-shadow: 0 0.5em 0.5em rgba(0, 0, 0, 0.1);
}

.swal2-modal button {
  border-radius: 0;
}

/*=========================================\
	$CAROUSEL
\=========================================*/

.carousel-wrapper {
  position: relative;
}

.carousel {
  -webkit-user-select: none;
      -ms-user-select: none;
          user-select: none;
}

.carousel:not(.tns-slider) > * {
  display: none;
}

.carousel-with-cards .tns-outer {
  margin: -3px;
}

.carousel-with-cards .tns-ovh {
  padding: 3px;
}

.carousel-controls {
  transition: 0.2s ease;
  z-index: 5;
  position: absolute;
  top: calc(50% + 1rem);
  left: 0;
  width: 100%;
  height: 0;
  opacity: 0;
}

.carousel-controls > button {
  background-color: #f8f5f0;
  box-shadow: 0 0.5em 0.5em rgba(0, 0, 0, 0.1);
  color: #A08B62;
  cursor: pointer;
  margin: 0;
  width: 2.5em;
  height: 2.5em;
  position: absolute;
  top: 50%;
  z-index: 1080;
  outline: none;
  border: 0;
  transition: inherit;
  font-family: Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
}

.carousel-controls > button:after,
.carousel-controls > button:before {
  font-size: 18px;
}

.carousel-controls > button[disabled] {
  opacity: 0;
}

.carousel-controls > button:first-child {
  left: 20px;
}

.carousel-controls > button:first-child:after {
  content: "\2190";
}

.carousel-controls > button:last-child {
  right: 20px;
}

.carousel-controls > button:last-child:after {
  content: "\2192";
}

.carousel-controls > button:hover {
  color: #335C67;
}

.carousel-controls:hover {
  color: #335C67;
}

.carousel-controls:focus {
  outline: none;
}

.carousel-wrapper:hover .carousel-controls:not([aria-disabled="true"]) {
  opacity: 1;
  top: 50%;
}

/*=========================================\
	$FILTER TOGGLE
\=========================================

#form_filters{
	@media @max-md{
		display:none;
		overflow-x: hidden;
		.active-filter &{
			display:block;
			position : fixed;
			top : 103px;
			left :0;
			height :calc(~"100% - 160px");
			width :100%;
			background : #fff;
			border:1px solid @brand-grey-light;
			z-index:90;
			overflow-y: auto;
			padding:@half-gutter-width*.75 @half-gutter-width;
			.animated(200);
			.fadeInUp;
		}
	}
}

.filter-toggle{
	display:none;
	@media @max-md{
		display:block;
		&:not(:first-child){
			margin-top :@half-gutter-width;
		}
		& + .col-item{
			border:0;
			padding:0;
			background : transparent;
			&:after{
				display:none;
			}
		}
	}
}

.close-filters{
	display:none;
	.active-filter &{
		position : fixed;
		top : 105px + 5rem;
		right :@half-gutter-width*.3;
		border-radius: 50%;
		color:@body-color;
		font-size :1.2em;
		width :1.5em;
		height :1.5em;
		display:flex;
		align-items: center;
		justify-content: center;
		z-index:100;
		.animated(200,700);
		.fadeInRight;
	}
}

/*=========================================\
	$STEPS
\=========================================*/

.steps-wrap {
  display: table;
  table-layout: fixed;
  width: 100%;
  margin: 1rem 0;
  padding: 0;
  list-style: none;
}

.steps-wrap a {
  color: inherit;
  text-decoration: none;
}

.steps-wrap li {
  counter-increment: stepNum;
  position: relative;
  font-family: 'Lora', Helvetica, Arial, sans-serif;
  text-align: center;
}

.steps-wrap li a:before {
  content: counter(stepNum);
  font-family: inherit;
  font-weight: 700;
  background-color: #fff;
  display: block;
  width: 36px;
  height: 36px;
  line-height: 32px;
  text-align: center;
  color: currentColor;
  border: 1px solid currentColor;
  border-radius: 50%;
  white-space: nowrap;
  letter-spacing: -0.1em;
}

/*=========================================\
	$LOADER
\=========================================*/

@keyframes spinner {
  0% {
    transform: rotate(0deg);
  }

  100% {
    transform: rotate(360deg);
  }
}

/*=========================================\
	$LAYOUT MAP
\=========================================*/

.layout-map {
  margin: 0 auto;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 0fr;
  grid-template-columns: 1fr 0fr;
}

.layout-map .layout-content {
  padding: 2rem;
}

.layout-map .layout-map-wrapper {
  background: #fff;
  position: relative;
}

.layout-map .layout-map-display {
  position: sticky !important;
  top: 80px;
  height: calc(100vh - 80px);
  width: 100%;
}

.layout-map #map {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

/*=========================================\
	$BG
\=========================================*/

.bg-primary {
  --bg: #335C67;
  background-color: var(--bg);
}

.bg-white {
  background: #fff;
  --bg: #fff;
}

.bg-default {
  background: #f8f5f0 url(../images/bg-fiber.png);
  --bg: #f8f5f0 url(../images/bg-fiber.png);
}

.bg-black {
  background: #111;
  --bg: #111;
}

.bg-waves {
  background-size: 8em auto;
  --bg: rgba(51, 92, 103, 0.2) url(../images/bg-waves.svg);
}

.bg-waves:not(.bg-ext-left):not(.bg-ext-right) {
  background: rgba(51, 92, 103, 0.2) url(../images/bg-waves.svg);
}

.bg-dirt {
  background-size: 16em auto;
  --bg: rgba(160, 139, 98, 0.2) url(../images/bg-dirt.svg);
}

.bg-dirt:not(.bg-ext-left):not(.bg-ext-right) {
  background: rgba(51, 92, 103, 0.2) url(../images/bg-dirt.svg);
}

.bg-brand-hex {
  background: #335C67 url(../images/bg-fiber.png);
  --bg: #335C67 url(../images/bg-fiber.png);
}

.bg-fiber {
  background-image: url(../images/bg-fiber.png);
  --bg: url(../images/bg-fiber.png);
}

[class*="bg-"] {
  --bg-offset: 0;
  position: relative;
}

[class*="bg-"]:not(.bg-white):not(.bg-pastel) {
  color: #fff;
}

[class*="bg-"]:not(.bg-white):not(.bg-pastel) h2,
[class*="bg-"]:not(.bg-white):not(.bg-pastel) a:not(.btn) {
  color: inherit;
}

[class*="bg-"]:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--bg);
  background-size: inherit;
  z-index: -1;
}

[class*="bg-"].bg-pastel {
  color: #666;
}

[class*="bg-"].bg-full:before {
  width: 100vw;
  left: 50%;
  top: 0;
  height: 100%;
  transform: translate(-50%);
}

[class*="bg-"].bg-ext-right:before {
  left: 50%;
  transform: translate(0);
}

[class*="bg-"].bg-ext-left:before {
  left: 50%;
  transform: translate(-100%);
}

[class*="bg-"][style*='--bg-offset']:before {
  top: calc(var(--bg-offset) / 2);
  height: calc(100% - var(--bg-offset));
}

/*=========================================\
	$FAQ
\=========================================*/

.faq-item + .faq-item {
  border-top: 1px dotted #ccc;
}

.faq-question {
  font-size: 1.2rem;
}

/*=========================================\
	$ALMA
\=========================================*/

.alma-banner {
  position: relative;
  border: 5px solid #FA5022;
  color: #01425D;
  padding: 0.75em 1em 0.75em 6rem;
  line-height: 1.2;
}

.alma-banner:before {
  content: "";
  position: absolute;
  top: 0;
  left: 1rem;
  height: 100%;
  width: 4rem;
  background: url(../images/alma.svg) no-repeat center;
  background-size: 3.5rem auto;
}

.alma-banner ul {
  padding-left: 1rem;
  margin: 0;
}

/*=========================================\
	$HELPERS
\=========================================*/

.color-primary {
  color: #335C67;
}

.color-secondary {
  color: #A08B62;
}

.color-danger {
  color: #bd6f59;
}

.color-success {
  color: #7ea25f;
}

.color-grey {
  color: #ccc;
}

.leading-none {
  line-height: 0!important;
}

.link-cover {
  position: absolute;
  inset: 0;
}

.relative {
  position: relative;
}

.logo img,
.logo svg {
  width: 24ch;
  padding: 0 1em;
}

.flex-wrap {
  flex-wrap: wrap;
}

.tag {
  display: inline-flex;
  align-items: center;
  font-size: 0.9rem;
  background: #fff;
  text-decoration: none;
  padding: 0.25em 0.5em;
  box-shadow: 0 0 0 1px rgba(160, 139, 98, 0.2);
  transition: 0.3s ease;
  color: #A08B62;
  cursor: pointer;
  border-radius: 4px;
}

.tag:focus,
.tag:hover {
  color: #335C67;
  box-shadow: 0 0 0 3px #335C67;
}

.tag.lead {
  font-weight: 200;
  font-size: 1rem;
  padding: 0.5em 0.75em;
}

.tag .tag-color[style*='--color'] {
  width: 1em;
  height: 1em;
  display: inline-block;
  border-radius: 50%;
  background: var(--color);
  box-shadow: 0 0 0 1px rgba(160, 139, 98, 0.4);
}

.tag .tag-color[style*='--color']:first-child {
  margin-right: 0.75ch;
}

.tag .tag-color[style*='--color']:last-child {
  margin-left: 0.75ch;
}

.text-balance {
  text-wrap: balance;
}

.gap-1 {
  gap: 0.75rem;
}

.gap-2 {
  gap: 1.3rem;
}

.heading-font {
  font-family: 'Lora', Helvetica, Arial, sans-serif;
}

.unavailable {
  opacity: 0.5;
  position: relative;
}

.unavailable:after {
  position: absolute;
  transform: rotate(25deg);
  left: -0.5rem;
  top: calc(50% - 1px);
  width: calc(100% + 1rem);
  content: ' ';
  height: 2px;
  background-color: black;
}

.link-block {
  position: relative;
  text-decoration: none;
}

.link-block:hover:after,
.link-block:focus:after {
  top: -8px;
  right: -8px;
  bottom: -8px;
  left: -8px;
  opacity: 1;
}

.link-block:after {
  content: '';
  position: absolute;
  border: #A08B62 solid 2px;
  top: -16px;
  right: -16px;
  bottom: -16px;
  left: -16px;
  opacity: 0;
  transition-duration: 0.3s;
  transition-property: top right bottom left;
  pointer-events: none;
}

.p-r {
  position: relative;
}

.of-v {
  overflow: visible;
}

.of-h {
  overflow: hidden;
}

[style*="--index"] {
  z-index: var(--index);
}

.review-pourcentage {
  font-size: 4rem;
  font-weight: bold;
  color: #335C67;
  line-height: 1;
  font-family: 'Lora', Helvetica, Arial, sans-serif;
}

.img-fit {
  object-fit: cover;
}

.link-flag {
  display: block;
  text-decoration: none;
  padding: 0.25rem 1rem;
  border: 1px solid #ccc;
  background: #fff;
  border-radius: 4px;
  color: #999;
}

.link-flag:hover,
.link-flag:focus {
  color: #666;
  text-decoration: none;
  border-color: #335C67;
}

.bg-shift-top:before {
  top: 6rem;
  height: calc(100% - (1rem * 6));
}

.shift-top-rwd {
  position: relative;
  margin-top: -6rem;
  z-index: 10;
}

.sticky {
  position: sticky;
  top: 32px;
}

header + main .sticky {
  top: 112px;
}

.admin-link {
  font-size: 0.8rem;
  color: #d9534f;
}

*:focus-within .admin-link,
*:hover .admin-link {
  color: #d9534f !important;
}

.admin-link:hover,
.admin-link:focus {
  color: #fff !important;
  background: #d9534f;
  box-shadow: -0.25rem 0 0 #d9534f, 0.25rem 0 0 #d9534f;
}

.justify-col {
  display: flex;
  justify-content: center;
}

.img-grayscale {
  opacity: 0.7;
  filter: grayscale(100%);
  transition: 0.2s ease;
}

.img-grayscale:hover,
.img-grayscale:focus {
  opacity: 1;
  filter: grayscale(0%);
}

.h-100 {
  min-height: 100%;
}

.h-100.d-flex {
  display: flex;
  flex-direction: column;
}

.h-100.d-flex > * {
  flex: 0 1 auto;
  align-items: stretch;
}

.h-100.d-flex .h-100 {
  flex: 1 1 100%;
}

.w-full {
  width: 100%;
}

.unwrap {
  width: calc(100vw + 2px);
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}

a:hover,
button:hover,
a:focus,
button:focus {
  outline: none;
}

.img-unwrap {
  position: relative;
  display: flex;
  justify-content: center;
}

.img-unwrap-shit-top {
  transform: translateY(-8rem);
}

.img-unwrap-shit-top:after {
  transform: translateY(8rem);
}

.picture-section-3 {
  position: relative;
  display: flex;
  justify-content: center;
}

.picture-section-3:before {
  content: "";
  position: absolute;
  left: 50%;
  top: 0;
  width: 10em;
  height: 100%;
  color: #ccc;
  background-image: radial-gradient(currentColor 2px, transparent 2px);
  background-size: 1.2rem 1.2rem;
  z-index: -2;
}

.madeInFrance {
  width: 1rem;
  height: auto;
  top: -0.1em;
  position: relative;
}

@keyframes blink {
  0% {
    opacity: 0;
  }

  30% {
    opacity: 0.5;
  }

  60% {
    opacity: 1;
  }
}

.blink {
  transition: 0.2s ease;
  animation: blink 2s linear infinite;
}

.blink.alert {
  animation: inherit;
}

.blink.alert > * {
  animation: blink 2s linear infinite;
}

.socials {
  margin-right: -0.5rem;
  margin-left: -0.5rem;
  font-size: 1.2rem;
}

header .socials {
  color: #A08B62;
}

.socials a {
  display: inline-block;
  margin: 0.5rem;
  text-decoration: none;
}

.fonticon-linkedin:hover,
.fonticon-linkedin:focus {
  color: #0e76a8;
}

.fonticon-facebook:hover,
.fonticon-facebook:focus {
  color: #4267B2;
}

.fonticon-twitter:hover,
.fonticon-twitter:focus {
  color: #00aced;
}

.fonticon-youtube:hover,
.fonticon-youtube:focus {
  color: #bb0000;
}

.fonticon-instagram:hover,
.fonticon-instagram:focus {
  color: #c8232c;
}

.modern .fonticon-instagram:hover,
.modern .fonticon-instagram:focus {
  background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285AEB 90%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.google-review {
  cursor: pointer;
  transition: all 0.25s ease-in-out;
  position: fixed;
  z-index: 996;
  bottom: 0;
  left: 0;
  filter: grayscale(0);
  max-width: 120px;
  border-top: 1px solid rgba(0, 0, 0, 0.1);
  border-right: 1px solid rgba(0, 0, 0, 0.1);
}

.google-review img {
  width: 100%;
  height: auto;
}

.google-review:hover,
.google-review:focus {
  filter: grayscale(100%);
}

.postal {
  position: relative;
}

.postal:after {
  content: "";
  position: absolute;
  top: 10%;
  height: 80%;
  width: 60%;
  left: 1rem;
  background: url(../images/postal.png) no-repeat top left;
  background-size: contain;
  pointer-events: none;
  opacity: 0.2;
}

[class*="bg-"]:not(.bg-white) .postal:after {
  left: inherit;
  right: -0.5rem;
  opacity: 0.4;
  z-index: 0;
}

[class*="bg-"]:not(.bg-white) .postal > * {
  position: relative;
  z-index: 1;
}

.relais_list {
  position: relative;
  overflow-y: auto;
  list-style: none;
  padding: 0;
  margin: 0;
  z-index: 10!important;
  min-height: 10rem;
  border: 1px solid #ebebeb;
}

.relais_list.loader {
  border-color: transparent;
  text-indent: -9999em;
  pointer-events: none;
  min-height: 12em;
  max-height: 38em;
  border: 1px solid transparent;
  background: rgba(0, 0, 0, 0.03);
}

.relais_list li {
  position: relative;
  z-index: 1;
}

.relais_list li table td {
  background: transparent;
}

.relais_list li:not(:last-child) {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.relais_list li:hover {
  background: #fff;
}

.relais_list li:hover label {
  color: #A08B62;
}

.relais_list .input-state {
  pointer-events: none;
}

.relais_list label:not(:hover) input:not(:checked) ~ .input-state {
  position: absolute;
  background: #f8f5f0;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
}

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  input[type="date"].form-control,
  input[type="time"].form-control,
  input[type="datetime-local"].form-control,
  input[type="month"].form-control {
    line-height: 1.42857143;
  }
}

@media print {
  article p a:after {
    content: " (" attr(href) ") ";
  }

  p {
    widows: 3;
    orphans: 3;
  }
  .print-only {
    display: initial;
  }
  .cc-revoke,
  .cc-window {
    display: none;
  }
}

@media only screen and (max-width: 720px) {
  .btgrid .row {
    margin-right: 0!important;
    margin-left: 0!important;
  }

  .btgrid .col-md-4,
  .btgrid .col-md-6 {
    width: 100%;
  }
  nav {
    top: 0;
    left: 0;
    flex-direction: column;
    width: 100vw;
    max-width: 100vw;
    height: 100vh;
    position: fixed;
    background: #f8f5f0 url(../images/bg-fiber.png);
    z-index: 10;
    color: #111;
    padding: 0 2rem;
    font-size: 1.32rem;
    transition: 0.3s ease;
    transform: translateY(100%);
    display: block;
    overflow-y: scroll;
    overflow-x: hidden;
  }

  nav > *:first-child {
    margin-top: calc(1rem*2 + 64px);
  }

  nav > *:last-child {
    margin-bottom: calc(1rem*2 + 64px);
  }

  body.active-nav nav {
    transform: translateY(0);
  }

  nav i:first-child {
    position: relative;
    top: 0.2em;
    font-size: 1.3em;
  }

  nav > div {
    order: 1;
    text-align: center;
  }

  nav > * {
    order: 2;
  }

  nav ul {
    flex-direction: column;
    margin: 0;
  }

  nav ul .active + ul {
    display: block;
  }

  nav ul li {
    width: 100%;
    margin: 1rem 0;
  }

  nav .nav-container li {
    margin: 0;
    padding: 1rem 0;
  }

  nav .col-title + ul {
    padding-left: 1.5rem;
  }

  nav hr {
    margin: 0;
  }

  nav .nav-link {
    font-weight: 200;
    display: block;
    font-family: 'Lora', Helvetica, Arial, sans-serif;
  }

  nav .nav-link:not(:only-child) {
    margin-bottom: 1rem;
  }

  header.sticked nav .nav-link,
  header.initial nav .nav-link {
    color: #111;
  }

  nav a.active {
    color: #A08B62;
  }
@supports (--custom:property) {
    article [style*="--aspect-ratio"] iframe:first-child,
    .article [style*="--aspect-ratio"] iframe:first-child {
      left: 50%;
      width: 101vw!important;
      transform: translateX(-50.5%);
    }
}
  article table.table-rwd-vertical thead + tbody > tr:first-child,
  .article table.table-rwd-vertical thead + tbody > tr:first-child,
  .table.table-rwd-vertical thead + tbody > tr:first-child {
    border-top-width: 0;
  }
  .table-rwd-vertical {
    border-collapse: collapse;
    box-shadow: none;
    width: 100%;
    max-width: 100%;
    font-size: 0.85rem;
    text-align: center;
  }

  .table-rwd-vertical thead tr {
    position: absolute;
    top: -9999px;
    left: -9999px;
  }

  table.table-rwd-vertical tbody th {
    border-top-width: 0!important;
    text-align: center;
    color: #335C67;
    font-family: 'Lora', Helvetica, Arial, sans-serif;
    line-height: 1.2;
    font-weight: 200;
    padding: 0.5em;
  }

  table.table-rwd-vertical tbody th p {
    margin: 0;
  }

  .table-rwd-vertical tbody {
    display: block;
    margin: 0 1px;
  }

  .table-rwd-vertical tbody td:empty,
  .table-rwd-vertical tbody tr.empty-row {
    display: none!important;
  }

  .table-rwd-vertical tbody tr td:nth-child(even) {
    background: #fff;
  }

  .table-rwd-vertical tbody tr td:nth-child(odd) {
    background: #fff;
  }

  .table-rwd-vertical tbody th + td:nth-child(2):last-child {
    border-top-width: 0;
    padding-top: 0;
  }

  .table-rwd-vertical tbody tr {
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1);
    overflow: hidden;
    width: 100%;
    display: flex;
    flex-direction: column;
    margin: 1rem 0;
  }

  .table-rwd-vertical tbody td,
  .table-rwd-vertical tbody th {
    border-radius: 0;
    border: none;
    position: relative;
    width: 100%!important;
  }

  .table-rwd-vertical tbody td:not[data-label],
  .table-rwd-vertical tbody th:not[data-label] {
    text-align: center;
  }

  .table-rwd-vertical tbody td[data-label],
  .table-rwd-vertical tbody th[data-label] {
    padding-left: 50%;
    text-align: left;
  }

  .table-rwd-vertical tbody td[data-label]:before,
  .table-rwd-vertical tbody th[data-label]:before {
    color: #335C67;
    position: absolute;
    top: 0;
    left: 0;
    width: calc(50% - 0.5rem);
    padding: 0.5rem;
    font-size: 1rem;
    font-family: 'Lora', Helvetica, Arial, sans-serif;
    content: " " attr(data-label);
    font-weight: normal;
  }

  .table-rwd-vertical tbody td:not(.crossed):not(:first-child) {
    border-top: 1px solid rgba(0, 0, 0, 0.1);
  }

  .table-rwd-vertical tfoot {
    margin: 0 1px 1px 1px;
    display: block;
  }

  .table-rwd-vertical tfoot tr {
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.1);
  }

  .table-rwd-vertical tfoot tr:first-child td {
    background-image: inherit;
  }
  footer .card-title:after {
    content: "";
    position: absolute;
    bottom: -0.25em;
    left: 0;
    width: 100%;
    height: 1px;
    background: rgba(0, 0, 0, 0.15);
  }
  fieldset:not(.starability-growRotate) legend {
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
  }
  aside .dropdown-block:not(.active) .dropdown-content {
    display: none!important;
  }

  aside .dropdown-block.active .dropdown-content {
    max-height: 100vh;
  }

  aside .dropdown-block .dropdown-content {
    transition: 0s;
  }
  .composite:not(.composite-rwd) {
    display: block;
  }
  .composite-image {
    float: right;
  }
  .composite-expand {
    width: 100%;
  }
  .tabs a {
    flex: 1 1 100%;
  }

  .tabs a.active {
    order: -1;
  }
  .bg-ornements {
    display: none;
  }
  .carousel-center-rwd .tns-item {
    transform: translateX(25%);
  }
  .steps-wrap li a {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.4rem;
  }

  .steps-wrap li a:before {
    font-size: 1rem;
    margin-right: 1rem;
  }

  .steps-wrap li a[data-nb-steps]:before {
    content: counter(stepNum) '/' attr(data-nb-steps);
  }

  .steps-wrap li:not(.active) a {
    display: none;
  }
  .p-rwd-0 {
    padding: 0 !important;
  }
  .bg-rwd-video {
    --bg: #335C67;
  }
  .unwrap-md {
    width: calc(100vw + 2px);
    position: relative;
    left: 50%;
    transform: translateX(-50%);
  }
}

@media screen and (max-width:900px) {
  .cc-btn {
    white-space: normal;
  }
}

@media screen and (max-width:414px) and (orientation:portrait),screen and (max-width:736px) and (orientation:landscape) {
  .cc-window.cc-top {
    top: 0;
  }

  .cc-window.cc-bottom {
    bottom: 0;
  }

  .cc-window.cc-banner,
  .cc-window.cc-floating,
  .cc-window.cc-left,
  .cc-window.cc-right {
    left: 0;
    right: 0;
  }

  .cc-window.cc-banner {
    flex-direction: column;
  }

  .cc-window.cc-banner .cc-compliance {
    flex: 1 1 auto;
  }

  .cc-window.cc-floating {
    max-width: none;
  }

  .cc-window .cc-message {
    margin-bottom: 1em;
  }

  .cc-window.cc-banner {
    align-items: unset;
  }

  .cc-window.cc-banner .cc-message {
    margin-right: 0;
  }
}

@media (max-width :540px) {
  .tingle-modal {
    top: 0;
    display: block;
    padding-top: 60px;
    width: 100%;
  }

  .tingle-modal-box {
    width: auto;
    border-radius: 0;
  }

  .tingle-modal-box__content {
    overflow-y: scroll;
  }

  .tingle-modal--noClose {
    top: 0;
  }

  .tingle-modal--noOverlayClose {
    padding-top: 0;
  }

  .tingle-modal-box__footer .tingle-btn {
    display: block;
    float: none;
    margin-bottom: 1rem;
    width: 100%;
  }

  .tingle-modal__close {
    top: 0;
    right: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 60px;
    border: none;
    background-color: #2c3e50;
    box-shadow: none;
    color: #fff;
  }

  .tingle-modal__closeLabel {
    display: inline-block;
    vertical-align: middle;
    font-size: 1.6rem;
    font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",sans-serif;
  }

  .tingle-modal__closeIcon {
    display: inline-block;
    margin-right: .8rem;
    width: 1.6rem;
    vertical-align: middle;
    font-size: 0;
  }

  @supports (backdrop-filter:blur(12px)){
    .tingle-modal {
      backdrop-filter: blur(8px);
    }
  }
}

@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .swal2-range input {
    width: 100% !important;
  }

  .swal2-range output {
    display: none;
  }
}

@media only screen and (min-width: 480px) {
  :root {
    --debug-media-query: "sm";
  }

  [class*="col-sm"],
  [class*="col-sm-offset"] {
    box-sizing: border-box;
    flex: 0 0 auto;
    flex-direction: column;
    padding-right: 1rem;
    padding-right: var(--half-gutter-width);
    padding-left: 1rem;
    padding-left: var(--half-gutter-width);
  }

  .col-sm {
    flex-grow: 1;
    flex-basis: 0;
    max-width: 100%;
  }

  .col-sm-1 {
    flex-basis: 8.33333333%;
    max-width: 8.33333333%;
  }

  .col-sm-2 {
    flex-basis: 16.66666667%;
    max-width: 16.66666667%;
  }

  .col-sm-3 {
    flex-basis: 25%;
    max-width: 25%;
  }

  .col-sm-4 {
    flex-basis: 33.33333333%;
    max-width: 33.33333333%;
  }

  .col-sm-5 {
    flex-basis: 41.66666667%;
    max-width: 41.66666667%;
  }

  .col-sm-6 {
    flex-basis: 50%;
    max-width: 50%;
  }

  .col-sm-7 {
    flex-basis: 58.33333333%;
    max-width: 58.33333333%;
  }

  .col-sm-8 {
    flex-basis: 66.66666667%;
    max-width: 66.66666667%;
  }

  .col-sm-9 {
    flex-basis: 75%;
    max-width: 75%;
  }

  .col-sm-10 {
    flex-basis: 83.33333333%;
    max-width: 83.33333333%;
  }

  .col-sm-11 {
    flex-basis: 91.66666667%;
    max-width: 91.66666667%;
  }

  .col-sm-12 {
    flex-basis: 100%;
    max-width: 100%;
  }

  .col-sm-offset-1 {
    margin-left: 8.33333333%;
  }

  .col-sm-offset-2 {
    margin-left: 16.66666667%;
  }

  .col-sm-offset-3 {
    margin-left: 25%;
  }

  .col-sm-offset-4 {
    margin-left: 33.33333333%;
  }

  .col-sm-offset-5 {
    margin-left: 41.66666667%;
  }

  .col-sm-offset-6 {
    margin-left: 50%;
  }

  .col-sm-offset-7 {
    margin-left: 58.33333333%;
  }

  .col-sm-offset-8 {
    margin-left: 66.66666667%;
  }

  .col-sm-offset-9 {
    margin-left: 75%;
  }

  .col-sm-offset-10 {
    margin-left: 83.33333333%;
  }

  .col-sm-offset-11 {
    margin-left: 91.66666667%;
  }

  .start-sm {
    justify-content: flex-start;
    text-align: start;
  }

  .center-sm {
    justify-content: center;
    text-align: center;
  }

  .end-sm {
    justify-content: flex-end;
    text-align: end;
  }

  .nogrow-sm {
    flex-grow: 0;
  }

  .top-sm {
    align-items: flex-start;
  }

  .middle-sm {
    align-items: center;
  }

  .bottom-sm {
    align-items: flex-end;
  }

  .stretch-sm {
    align-items: stretch;
  }

  .around-sm {
    justify-content: space-around;
  }

  .between-sm {
    justify-content: space-between;
  }

  .justify-sm {
    justify-content: center;
  }

  .first-sm {
    order: -1;
  }

  .last-sm {
    order: 1;
  }

  .small-gap-sm {
    --half-gutter-width: calc(1rem*0.5);
    --gutter-compensation: calc(-1rem*0.5);
    --outer-margin: calc(2rem*0.5);
  }

  .gap-sm {
    --half-gutter-width: 1rem;
    --gutter-compensation: -1rem;
    --outer-margin: 2rem;
  }

  .col-sm-offset-0 {
    margin-left: 0%;
  }

  .d-sm-flex {
    display: flex !important;
  }

  .d-sm-block {
    display: block !important;
  }

  .d-sm-none {
    display: none !important;
  }
  .wrap-large {
    max-width: calc(100% - 2.65em);
  }
  .store-grid {
    -ms-grid-columns: (minmax(0, 1fr))[2];
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: calc(var(--half-gutter-width) * 1);
  }

  .store-grid .sm\:col-span-1 {
    -ms-grid-column-span: 1;
    grid-column: span 1 / span 1;
  }

  .store-grid .sm\:col-span-2 {
    -ms-grid-column-span: 2;
    grid-column: span 2 / span 2;
  }
}

@media only screen and (min-width: 720px) {
  :root {
    --debug-media-query: "md";
  }

  [class*="col-md"],
  [class*="col-md-offset"] {
    box-sizing: border-box;
    flex: 0 0 auto;
    flex-direction: column;
    padding-right: 1rem;
    padding-right: var(--half-gutter-width);
    padding-left: 1rem;
    padding-left: var(--half-gutter-width);
  }

  .col-md {
    flex-grow: 1;
    flex-basis: 0;
    max-width: 100%;
  }

  .col-md-1 {
    flex-basis: 8.33333333%;
    max-width: 8.33333333%;
  }

  .col-md-2 {
    flex-basis: 16.66666667%;
    max-width: 16.66666667%;
  }

  .col-md-3 {
    flex-basis: 25%;
    max-width: 25%;
  }

  .col-md-4 {
    flex-basis: 33.33333333%;
    max-width: 33.33333333%;
  }

  .col-md-5 {
    flex-basis: 41.66666667%;
    max-width: 41.66666667%;
  }

  .col-md-6 {
    flex-basis: 50%;
    max-width: 50%;
  }

  .col-md-7 {
    flex-basis: 58.33333333%;
    max-width: 58.33333333%;
  }

  .col-md-8 {
    flex-basis: 66.66666667%;
    max-width: 66.66666667%;
  }

  .col-md-9 {
    flex-basis: 75%;
    max-width: 75%;
  }

  .col-md-10 {
    flex-basis: 83.33333333%;
    max-width: 83.33333333%;
  }

  .col-md-11 {
    flex-basis: 91.66666667%;
    max-width: 91.66666667%;
  }

  .col-md-12 {
    flex-basis: 100%;
    max-width: 100%;
  }

  .col-md-offset-1 {
    margin-left: 8.33333333%;
  }

  .col-md-offset-2 {
    margin-left: 16.66666667%;
  }

  .col-md-offset-3 {
    margin-left: 25%;
  }

  .col-md-offset-4 {
    margin-left: 33.33333333%;
  }

  .col-md-offset-5 {
    margin-left: 41.66666667%;
  }

  .col-md-offset-6 {
    margin-left: 50%;
  }

  .col-md-offset-7 {
    margin-left: 58.33333333%;
  }

  .col-md-offset-8 {
    margin-left: 66.66666667%;
  }

  .col-md-offset-9 {
    margin-left: 75%;
  }

  .col-md-offset-10 {
    margin-left: 83.33333333%;
  }

  .col-md-offset-11 {
    margin-left: 91.66666667%;
  }

  .start-md {
    justify-content: flex-start;
    text-align: start;
  }

  .center-md {
    justify-content: center;
    text-align: center;
  }

  .end-md {
    justify-content: flex-end;
    text-align: end;
  }

  .nogrow-md {
    flex-grow: 0;
  }

  .top-md {
    align-items: flex-start;
  }

  .middle-md {
    align-items: center;
  }

  .bottom-md {
    align-items: flex-end;
  }

  .stretch-md {
    align-items: stretch;
  }

  .around-md {
    justify-content: space-around;
  }

  .between-md {
    justify-content: space-between;
  }

  .justify-md {
    justify-content: center;
  }

  .first-md {
    order: -1;
  }

  .last-md {
    order: 1;
  }

  .small-gap-md {
    --half-gutter-width: calc(1rem*0.5);
    --gutter-compensation: calc(-1rem*0.5);
    --outer-margin: calc(2rem*0.5);
  }

  .gap-md {
    --half-gutter-width: 1rem;
    --gutter-compensation: -1rem;
    --outer-margin: 2rem;
  }

  .col-md-offset-0 {
    margin-left: 0%;
  }

  .d-md-flex {
    display: flex !important;
  }

  .d-md-block {
    display: block !important;
  }

  .d-md-none {
    display: none !important;
  }
  html {
    overflow-x: inherit;
  }
  body {
    overflow-x: hidden;
  }
  section {
    padding: 4rem 0;
  }

  section:first-child {
    padding-top: 2rem;
  }
  .wrap-large {
    max-width: calc(100% - 3.6em);
  }
  .header-sticky-wrap {
    height: 80px;
  }
  .header-main .nav-link {
    text-align: center;
  }
  .header-main .logo img,
  .header-main .logo svg {
    top: 0;
    width: 15ch;
  }
  .header-main {
    display: flex;
    flex-direction: row;
    height: inherit;
    align-items: center;
  }

  .header-main:after {
    display: none;
  }
  .header-symbol {
    display: block;
  }
  nav {
    height: 100%;
    flex: 1 1 100%;
    justify-content: space-between;
    align-items: center;
    font-size: 0.75em;
  }

  nav > div {
    flex: 0 0 0;
  }

  nav > ul {
    margin: 0;
    flex-direction: row;
    height: 100%;
  }

  nav > ul > li {
    position: relative;
    display: inline-block;
  }

  nav > * {
    flex: 1 1 0;
  }

  nav > *:first-child {
    text-align: left;
  }

  nav > *:last-child {
    text-align: right;
  }

  nav > *:last-child > :first-child {
    margin-left: auto;
  }

  nav > *:not(:first-child):not(:last-child) {
    text-align: center;
  }

  nav li:hover .nav-link:not(:only-child):after,
  nav li:focus .nav-link:not(:only-child):after,
  nav li:focus-within .nav-link:not(:only-child):after {
    content: "";
    position: absolute;
    display: block;
    width: 0;
    height: 0;
    font-size: 5rem;
    border-top: 0.25em solid transparent;
    border-left: 0.15em solid transparent;
    border-right: 0.15em solid transparent;
    border-bottom: 0.25em solid #fff;
    pointer-events: none;
    left: 50%;
    margin-left: -0.5rem;
    top: calc(100% + 0.75rem);
    animation-delay: 200ms;
    animation-duration: 200ms;
    animation-fill-mode: both;
    animation-name: fadeInUp;
  }

  nav .nav-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    height: 1.6rem;
    line-height: 1;
    z-index: 1;
    color: #fff;
  }

  nav .nav-link.active {
    opacity: 0.5;
  }

  header.sticked nav .nav-link,
  header.initial nav .nav-link {
    color: #111;
  }

  header.sticked nav .nav-link:not(.logo):before,
  header.initial nav .nav-link:not(.logo):before {
    opacity: 0.5;
    bottom: -26.66666667px;
  }

  nav .nav-link:not(.logo):only-child:before,
  nav .nav-link:not(.logo):only-child:after {
    position: absolute;
    left: 50%;
    transition: 0.4s ease;
    opacity: 0;
  }

  nav .nav-link:not(.logo):only-child:before {
    content: "";
    bottom: -23.66666667px;
    transform: translate(-50%, 10%);
    width: 0.5px;
    height: 0;
    background: currentColor;
    pointer-events: none;
  }

  nav .nav-link:not(.logo):only-child:after {
    content: "\F106";
    font-family: fonticon;
    bottom: -26.66666667px;
    transform: translate(-50%, 0);
    font-size: 1.05rem;
    color: currentColor;
  }

  nav .nav-link:only-child:hover,
  nav .nav-link:only-child:focus {
    outline: none;
    color: currentColor;
  }

  header.sticked nav .nav-link:only-child:hover,
  header.sticked nav .nav-link:only-child:focus,
  header.initial nav .nav-link:only-child:hover,
  header.initial nav .nav-link:only-child:focus {
    color: #A08B62;
  }

  header.sticked nav .nav-link:only-child:hover:before,
  header.sticked nav .nav-link:only-child:focus:before,
  header.initial nav .nav-link:only-child:hover:before,
  header.initial nav .nav-link:only-child:focus:before {
    height: 16px;
  }

  nav .nav-link:only-child:hover:before,
  nav .nav-link:only-child:focus:before,
  nav .nav-link:only-child:hover:after,
  nav .nav-link:only-child:focus:after {
    opacity: 0;
  }

  nav .nav-link:only-child:hover:before,
  nav .nav-link:only-child:focus:before {
    opacity: 1;
    height: 11px;
  }

  nav .nav-link:only-child:hover:after,
  nav .nav-link:only-child:focus:after {
    opacity: 1;
    bottom: -1rem;
  }

  nav i:first-child {
    font-size: 1.6em;
  }
  .nav-container ul a {
    font-size: 0.95rem;
    color: #111;
  }

  .nav-container ul a:hover,
  .nav-container ul a:focus {
    color: #335C67;
  }
  .nav-container ul li {
    margin: 0.75rem 0;
  }

  .nav-container ul li:not(:first-child) {
    border-top: 0;
  }
  .header-main .navicon {
    display: none;
  }
  .hero {
    margin-top: -80px;
  }
  .hero-title {
    font-size: 3.75em !important;
  }
  .hero .tns-nav {
    bottom: 81px;
  }
  .hero-page h1 {
    font-size: 4vmin;
  }
  .aov {
    opacity: 0;
    animation-delay: 200ms;
    animation-duration: 400ms;
    animation-fill-mode: both;
    animation-delay: var(--delay);
  }

  .aov.reverted {
    animation-name: fadeOut;
  }

  .aov.inview {
    opacity: 1;
    animation-name: fadeInUp;
  }

  .aov.inview.aov-up {
    animation-name: fadeInUp;
  }

  .aov.inview.aov-down {
    animation-name: fadeInDown;
  }

  .aov.inview.aov-right {
    animation-name: fadeInRight;
  }

  .aov.inview.aov-left {
    animation-name: fadeInLeft;
  }
  h1,
  .h1 {
    font-size: 1.625em;
  }
  h1.lead,
  .h1.lead {
    font-size: 2.125rem;
  }
  h1.center-md:before,
  .h1.center-md:before {
    margin-left: auto;
    margin-right: auto;
  }

  h1.start-md:before,
  .h1.start-md:before {
    margin-left: 0;
    margin-right: auto;
  }

  h1.end-md:before,
  .h1.end-md:before {
    margin-left: auto;
    margin-right: 0;
  }
  h2.center-md:before,
  .h2.center-md:before {
    right: 50%;
    transform: translate(50%, -40%);
  }

  h2.start-md:before,
  .h2.start-md:before {
    right: 100%;
    transform: translate(50%, -25%);
  }

  h2.end-md:before,
  .h2.end-md:before {
    right: 0;
    transform: translate(-50%, -25%);
  }
  .title-link {
    font-size: 1.15rem;
  }
  h1.center-md:before,
  .h1.center-md:before {
    margin-left: auto;
    margin-right: auto;
  }

  h1.start-md:before,
  .h1.start-md:before {
    margin-left: 0;
    margin-right: auto;
  }

  h1.end-md:before,
  .h1.end-md:before {
    margin-left: auto;
    margin-right: 0;
  }
  h2.center-md:before,
  .h2.center-md:before {
    right: 50%;
    transform: translate(50%, -40%);
  }

  h2.start-md:before,
  .h2.start-md:before {
    right: 100%;
    transform: translate(50%, -25%);
  }

  h2.end-md:before,
  .h2.end-md:before {
    right: 0;
    transform: translate(-50%, -25%);
  }
  .collection {
    font-size: 1.1rem;
  }
  .collection > li > ul {
    max-height: 16em;
    overflow-x: auto;
  }
  ::-webkit-scrollbar-track {
    background-color: transparent;
  }

  body::-webkit-scrollbar-track {
    border-left: 1px solid rgba(160, 139, 98, 0.3);
  }

  ::-webkit-scrollbar {
    width: 0.5rem;
    height: 0.5rem;
    background-color: #fff;
    -webkit-transition: 0.2s ease;
    transition: 0.2s ease;
  }

  .lg-zoomed::-webkit-scrollbar {
    color: rgba(0, 0, 0, 0.35);
  }

  .lg-on::-webkit-scrollbar {
    width: 0;
    opacity: 0;
  }

  ::-webkit-scrollbar-thumb {
    background: #A08B62;
  }

  ::-webkit-scrollbar-thumb:hover {
    background: #aa9772;
  }
  fieldset:not(.starability-growRotate),
  .block-border {
    padding-top: 2rem;
    margin: 3rem 6px 1rem 6px;
    border-color: #A08B62;
    border: 1px solid rgba(160, 139, 98, 0.5);
  }

  fieldset:not(.starability-growRotate):before,
  .block-border:before {
    content: "";
    position: absolute;
    top: -6px;
    left: -6px;
    width: calc(100% + 12px);
    height: calc(100% + 12px);
    border: 1px solid rgba(160, 139, 98, 0.5);
    z-index: -1;
  }
  fieldset:not(.starability-growRotate) legend {
    position: absolute;
    top: 0;
    left: 50%;
    padding: 0.35rem 0.75rem;
    transform: translate(-50%, -50%);
    margin: 0 auto;
    border-bottom: 1px solid rgba(160, 139, 98, 0.5);
    transition: 0.4s ease;
  }

  fieldset:not(.starability-growRotate) legend:before {
    content: "";
    position: absolute;
    top: -7px;
    left: -7px;
    width: calc(100% + 12px);
    height: calc(100% + 12px);
    border: 1px solid rgba(160, 139, 98, 0.5);
    z-index: -1;
  }
  footer[role] {
    padding-bottom: 16vmax;
  }
  footer[role] {
    background: transparent;
  }

  footer[role] > :first-child {
    margin-bottom: -2.25em;
  }

  footer[role]:before {
    content: "";
    position: absolute;
    bottom: 0;
    height: 16vmax;
    width: 100vw;
    background: linear-gradient(0deg, rgba(17, 0, 0, 0.6), transparent) center bottom repeat-x, var(--bg-footer) center bottom no-repeat;
    background-size: 100% 7em, cover;
    z-index: 1;
  }

  footer[role] > * {
    position: relative;
    z-index: 2;
  }
  footer[role] .logo:after {
    content: "";
    position: absolute;
    top: 87.5%;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    height: 1px;
    background: #A08B62;
    z-index: 1;
  }
  footer[role] .logo {
    margin-top: 0;
  }

  footer[role] .logo img,
  footer[role] .logo svg {
    width: 17ch;
    padding: 0 1em;
  }
  [data-cartcount]:after {
    transform: translate(-50%);
    font-size: 0.4em;
    border-width: 1px;
  }
  .store-grid {
    -ms-grid-columns: (minmax(0, 1fr))[4];
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: calc(var(--half-gutter-width) * 2);
  }

  .store-grid .md\:col-span-1 {
    -ms-grid-column-span: 1;
    grid-column: span 1 / span 1;
  }

  .store-grid .md\:col-span-2 {
    -ms-grid-column-span: 2;
    grid-column: span 2 / span 2;
  }

  .store-grid .md\:col-span-3 {
    -ms-grid-column-span: 3;
    grid-column: span 3 / span 3;
  }

  .store-grid .md\:col-span-4 {
    -ms-grid-column-span: 4;
    grid-column: span 4 / span 4;
  }
  .composite-gap {
    margin: 0 -1rem;
  }

  .composite-gap > * {
    margin: 0 1rem;
  }
  .tab-pane {
    padding: 0.5rem 1.5rem;
  }
  @supports (backdrop-filter: blur(20px)){
    .instagram-hover .col-xs-12 {
      backdrop-filter: blur(20px);
    }
  }
  @supports (backdrop-filter: blur(20px)){
    .swal2-container.swal2-shown {
      backdrop-filter: blur(20px);
    }
  }
  .steps-wrap li {
    display: table-cell;
    color: #A08B62;
  }

  .steps-wrap li a {
    transition: 0.2s;
  }

  .steps-wrap li a:before {
    content: '\2713';
    margin: 0 auto 4px;
    color: #fff;
    background-color: #A08B62;
    border-color: #A08B62;
    transition: inherit;
  }

  .steps-wrap li:after {
    content: '';
    height: 1px;
    width: 100%;
    color: #A08B62;
    position: absolute;
    top: 15px;
    border-top: 1px solid currentColor;
    left: 50%;
    z-index: -1;
  }

  .steps-wrap li:last-child:after {
    display: none;
  }

  .steps-wrap li a:focus,
  .steps-wrap li a:hover {
    color: #7ea25f;
  }

  .steps-wrap li a:focus:before,
  .steps-wrap li a:hover:before {
    color: #fff;
    background: #7ea25f;
    border-color: #7ea25f;
  }

  .steps-wrap li.active {
    color: #335C67;
  }

  .steps-wrap li.active a:before {
    background: #335C67;
    border-color: #335C67;
    content: counter(stepNum);
    font-family: inherit;
    font-weight: 700;
  }

  .steps-wrap li.active:after {
    border-top: 1px dotted currentColor;
  }

  .steps-wrap li.active a:focus,
  .steps-wrap li.active a:hover {
    color: #335C67;
  }

  .steps-wrap li.active a:focus:before,
  .steps-wrap li.active a:hover:before {
    color: #fff;
    background: #3b6b78;
    border-color: #3b6b78;
  }

  .steps-wrap li.active ~ li {
    color: rgba(160, 139, 98, 0.5);
  }

  .steps-wrap li.active ~ li a {
    color: rgba(160, 139, 98, 0.5);
  }

  .steps-wrap li.active ~ li a:before {
    color: inherit;
    content: counter(stepNum);
    font-family: inherit;
    font-weight: 700;
    background-color: #fff;
  }

  .steps-wrap li.active ~ li:after {
    border-top: 1px dotted currentColor;
  }

  .steps-wrap li.active ~ li a:focus,
  .steps-wrap li.active ~ li a:hover {
    color: #A08B62;
  }

  .steps-wrap li.active ~ li a:focus:before,
  .steps-wrap li.active ~ li a:hover:before {
    color: #A08B62;
    border-color: #A08B62;
  }
  .loader:after {
    content: "";
    border-color: transparent;
    transition: all 0.13s 0.4s linear;
    border-radius: 50%;
    position: absolute;
    top: calc(50% - 4em);
    left: calc(50% - 4em);
    width: 8em;
    height: 8em;
    color: rgba(255, 255, 255, 0.25);
    border-top: 0.4rem solid currentColor;
    border-right: 0.4rem solid currentColor;
    border-bottom: 0.4rem solid currentColor;
    border-left: 0.4rem solid #aa9772;
    z-index: 10;
    font-size: 0.6rem;
    opacity: 0;
    pointer-events: none;
  }

  .shoppinglist-card .loader:after {
    color: #ccc;
  }

  .loader.loading:after {
    opacity: 1;
    animation: spinner 1.1s infinite linear;
  }
  .layout-map {
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
  }
  .bg-white-md {
    --bg: #fff;
    background-color: var(--bg);
    color: #666;
  }
  .mt-md-0 {
    margin-top: 0!important;
  }
  .shift-top {
    position: relative;
    margin-top: -6rem !important;
    z-index: 10;
  }

  .shift-top-wrapper {
    margin-bottom: 5rem;
  }
  .translate-top {
    transform: translateY(-6rem);
  }
  .text-columns {
    column-count: 2;
    column-gap: 4rem;
    column-rule: solid 1px #A08B62;
  }

  .text-columns li {
    break-inside: avoid;
  }

  .text-columns > *:first-child {
    margin-top: 0;
  }
  .img-unwrap-left > * {
    position: absolute;
    top: 50%;
    right: 2rem;
    transform: translateY(-50%);
    width: 700px;
  }
  .img-unwrap-right > * {
    position: absolute;
    top: 50%;
    left: 2rem;
    transform: translateY(-50%);
    width: 500px;
  }
  .img-unwrap-right-alt {
    margin-bottom: -2rem;
  }

  .img-unwrap-right-alt > * {
    width: 120%;
  }
  .img-unwrap-vertical-left > * {
    position: absolute;
    top: 0;
    right: 0;
    width: 120%;
  }
  .relais_list {
    max-height: 42em;
  }
}

@media only screen and (min-width: 960px) {
  :root {
    --debug-media-query: "lg";
  }

  [class*="col-lg"],
  [class*="col-lg-offset"] {
    box-sizing: border-box;
    flex: 0 0 auto;
    flex-direction: column;
    padding-right: 1rem;
    padding-right: var(--half-gutter-width);
    padding-left: 1rem;
    padding-left: var(--half-gutter-width);
  }

  .col-lg {
    flex-grow: 1;
    flex-basis: 0;
    max-width: 100%;
  }

  .col-lg-1 {
    flex-basis: 8.33333333%;
    max-width: 8.33333333%;
  }

  .col-lg-2 {
    flex-basis: 16.66666667%;
    max-width: 16.66666667%;
  }

  .col-lg-3 {
    flex-basis: 25%;
    max-width: 25%;
  }

  .col-lg-4 {
    flex-basis: 33.33333333%;
    max-width: 33.33333333%;
  }

  .col-lg-5 {
    flex-basis: 41.66666667%;
    max-width: 41.66666667%;
  }

  .col-lg-6 {
    flex-basis: 50%;
    max-width: 50%;
  }

  .col-lg-7 {
    flex-basis: 58.33333333%;
    max-width: 58.33333333%;
  }

  .col-lg-8 {
    flex-basis: 66.66666667%;
    max-width: 66.66666667%;
  }

  .col-lg-9 {
    flex-basis: 75%;
    max-width: 75%;
  }

  .col-lg-10 {
    flex-basis: 83.33333333%;
    max-width: 83.33333333%;
  }

  .col-lg-11 {
    flex-basis: 91.66666667%;
    max-width: 91.66666667%;
  }

  .col-lg-12 {
    flex-basis: 100%;
    max-width: 100%;
  }

  .col-lg-offset-1 {
    margin-left: 8.33333333%;
  }

  .col-lg-offset-2 {
    margin-left: 16.66666667%;
  }

  .col-lg-offset-3 {
    margin-left: 25%;
  }

  .col-lg-offset-4 {
    margin-left: 33.33333333%;
  }

  .col-lg-offset-5 {
    margin-left: 41.66666667%;
  }

  .col-lg-offset-6 {
    margin-left: 50%;
  }

  .col-lg-offset-7 {
    margin-left: 58.33333333%;
  }

  .col-lg-offset-8 {
    margin-left: 66.66666667%;
  }

  .col-lg-offset-9 {
    margin-left: 75%;
  }

  .col-lg-offset-10 {
    margin-left: 83.33333333%;
  }

  .col-lg-offset-11 {
    margin-left: 91.66666667%;
  }

  .start-lg {
    justify-content: flex-start;
    text-align: start;
  }

  .center-lg {
    justify-content: center;
    text-align: center;
  }

  .end-lg {
    justify-content: flex-end;
    text-align: end;
  }

  .nogrow-lg {
    flex-grow: 0;
  }

  .top-lg {
    align-items: flex-start;
  }

  .middle-lg {
    align-items: center;
  }

  .bottom-lg {
    align-items: flex-end;
  }

  .stretch-lg {
    align-items: stretch;
  }

  .around-lg {
    justify-content: space-around;
  }

  .between-lg {
    justify-content: space-between;
  }

  .justify-lg {
    justify-content: center;
  }

  .first-lg {
    order: -1;
  }

  .last-lg {
    order: 1;
  }

  .small-gap-lg {
    --half-gutter-width: calc(1rem*0.5);
    --gutter-compensation: calc(-1rem*0.5);
    --outer-margin: calc(2rem*0.5);
  }

  .gap-lg {
    --half-gutter-width: 1rem;
    --gutter-compensation: -1rem;
    --outer-margin: 2rem;
  }

  .col-lg-offset-0 {
    margin-left: 0%;
  }

  .d-lg-flex {
    display: flex !important;
  }

  .d-lg-block {
    display: block !important;
  }

  .d-lg-none {
    display: none !important;
  }
  :root {
    --scroll-margin-top: calc(80px + 16px * 3);
    --max-width: calc(100% - 2em);
  }
  header[role] {
    --max-width: calc(100% - 3.6em);
  }
  nav > ul > li {
    margin: 0 1rem;
  }
  nav {
    font-size: 0.875em;
  }
  .nav-container {
    --half-gutter-width: 2.2rem;
    position: absolute;
    top: calc(100% + 1rem);
    left: 0;
    top: calc(100% + 1rem*2.75);
    width: max-content !important;
    background: #fff;
    flex-direction: row;
    box-shadow: 0 0.5em 1em rgba(0, 0, 0, 0.13);
    display: none;
    padding: 0;
  }

  .nav-container:before {
    display: none;
  }

  li:hover > .nav-container,
  li:focus > .nav-container,
  li:focus-within > .nav-container {
    display: flex;
    animation-delay: 0s;
    animation-duration: 200ms;
    animation-fill-mode: both;
    animation-name: fadeInUp;
  }

  .nav-container .col-md {
    flex-basis: auto;
  }

  .nav-container > div:not(.card-picture) {
    padding: 1rem 0.5rem;
  }
  .title-link {
    font-size: 1.2rem;
  }
  .share-dialog .targets,
  .boutique-open .targets {
    -ms-grid-columns: 1fr 1fr 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
  .store-grid {
    -ms-grid-columns: (minmax(0, 1fr))[6];
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .store-grid .lg\:col-span-1 {
    -ms-grid-column-span: 1;
    grid-column: span 1 / span 1;
  }

  .store-grid .lg\:col-span-2 {
    -ms-grid-column-span: 2;
    grid-column: span 2 / span 2;
  }

  .store-grid .lg\:col-span-3 {
    -ms-grid-column-span: 3;
    grid-column: span 3 / span 3;
  }

  .store-grid .lg\:col-span-4 {
    -ms-grid-column-span: 4;
    grid-column: span 4 / span 4;
  }

  .store-grid .lg\:col-span-5 {
    -ms-grid-column-span: 5;
    grid-column: span 5 / span 5;
  }

  .store-grid .lg\:col-span-6 {
    -ms-grid-column-span: 6;
    grid-column: span 6 / span 6;
  }
  .tab-pane {
    padding: 1rem 2.5rem;
  }
  .carousel-controls {
    top: 50%;
    opacity: 1;
  }
  .layout-map {
    -ms-grid-columns: 1fr 58%;
    grid-template-columns: 1fr 58%;
  }
  .row-shift > [class*="col-lg-"]:nth-child(3n-1) {
    transform: translateY(-20%);
  }

  .row-shift > [class*="col-lg-"]:nth-child(3n) {
    transform: translateY(-40%);
  }
}

@media only screen and (min-width: 1300px) {
  :root {
    --debug-media-query: "xl";
  }

  [class*="col-xl"],
  [class*="col-xl-offset"] {
    box-sizing: border-box;
    flex: 0 0 auto;
    flex-direction: column;
    padding-right: 1rem;
    padding-right: var(--half-gutter-width);
    padding-left: 1rem;
    padding-left: var(--half-gutter-width);
  }

  .col-xl {
    flex-grow: 1;
    flex-basis: 0;
    max-width: 100%;
  }

  .col-xl-1 {
    flex-basis: 8.33333333%;
    max-width: 8.33333333%;
  }

  .col-xl-2 {
    flex-basis: 16.66666667%;
    max-width: 16.66666667%;
  }

  .col-xl-3 {
    flex-basis: 25%;
    max-width: 25%;
  }

  .col-xl-4 {
    flex-basis: 33.33333333%;
    max-width: 33.33333333%;
  }

  .col-xl-5 {
    flex-basis: 41.66666667%;
    max-width: 41.66666667%;
  }

  .col-xl-6 {
    flex-basis: 50%;
    max-width: 50%;
  }

  .col-xl-7 {
    flex-basis: 58.33333333%;
    max-width: 58.33333333%;
  }

  .col-xl-8 {
    flex-basis: 66.66666667%;
    max-width: 66.66666667%;
  }

  .col-xl-9 {
    flex-basis: 75%;
    max-width: 75%;
  }

  .col-xl-10 {
    flex-basis: 83.33333333%;
    max-width: 83.33333333%;
  }

  .col-xl-11 {
    flex-basis: 91.66666667%;
    max-width: 91.66666667%;
  }

  .col-xl-12 {
    flex-basis: 100%;
    max-width: 100%;
  }

  .col-xl-offset-1 {
    margin-left: 8.33333333%;
  }

  .col-xl-offset-2 {
    margin-left: 16.66666667%;
  }

  .col-xl-offset-3 {
    margin-left: 25%;
  }

  .col-xl-offset-4 {
    margin-left: 33.33333333%;
  }

  .col-xl-offset-5 {
    margin-left: 41.66666667%;
  }

  .col-xl-offset-6 {
    margin-left: 50%;
  }

  .col-xl-offset-7 {
    margin-left: 58.33333333%;
  }

  .col-xl-offset-8 {
    margin-left: 66.66666667%;
  }

  .col-xl-offset-9 {
    margin-left: 75%;
  }

  .col-xl-offset-10 {
    margin-left: 83.33333333%;
  }

  .col-xl-offset-11 {
    margin-left: 91.66666667%;
  }

  .start-xl {
    justify-content: flex-start;
    text-align: start;
  }

  .center-xl {
    justify-content: center;
    text-align: center;
  }

  .end-xl {
    justify-content: flex-end;
    text-align: end;
  }

  .nogrow-xl {
    flex-grow: 0;
  }

  .top-xl {
    align-items: flex-start;
  }

  .middle-xl {
    align-items: center;
  }

  .bottom-xl {
    align-items: flex-end;
  }

  .stretch-xl {
    align-items: stretch;
  }

  .around-xl {
    justify-content: space-around;
  }

  .between-xl {
    justify-content: space-between;
  }

  .justify-xl {
    justify-content: center;
  }

  .first-xl {
    order: -1;
  }

  .last-xl {
    order: 1;
  }

  .small-gap-xl {
    --half-gutter-width: calc(1rem*0.5);
    --gutter-compensation: calc(-1rem*0.5);
    --outer-margin: calc(2rem*0.5);
  }

  .gap-xl {
    --half-gutter-width: 1rem;
    --gutter-compensation: -1rem;
    --outer-margin: 2rem;
  }

  .col-xl-offset-0 {
    margin-left: 0%;
  }

  .d-xl-flex {
    display: flex !important;
  }

  .d-xl-block {
    display: block !important;
  }

  .d-xl-none {
    display: none !important;
  }
  .nav-container {
    max-width: 1300px;
  }
  .title-link {
    font-size: 1.45rem;
  }
  .tab-pane {
    padding: 1.5rem 3.5rem;
  }
  .carousel-controls > button:first-child {
    left: 1rem;
    transform: translate(-50%, -50%);
  }
  .carousel-controls > button:last-child {
    right: 1rem;
    transform: translate(50%, -50%);
  }
}

@media only screen and (max-width: 1300px) {
  html {
    touch-action: manipulation;
  }
}

@media (prefers-reduced-motion: reduce) {
  .skeleton:has([data-src]:not(.lazyloaded)),
  .card-picture:has([data-src]:not(.lazyloaded)) {
    background: inherit;
    animation: none;
  }
}

@media (max-width: 540px) {
  .tingle-modal__close {
    background-color: #335C67;
    color: #fff;
  }
}


