/**
 * Created by Ben Byford
 *
 * main.css
 *
  Fonts
	Variables
  Animation
	General HTML tags
	Main content
	Footer
	Helper Classes
	Print
 *
 */

/*********************************************************************
* Fonts
*
*/


/*********************************************************************
* Variables
*
*/

:root{    
    /* colors */
    --color-main: #E7F8F7;
    --color-main-transparent: #e7f8f7a4;
    --color-main-darker: #17A2B8;
    --color-main-darkest: #047688;
    --color-main-light: #20bcd4;
    
    --color-main2: #c86048;
    --color-secondary: #971C1E;
    --color-bg: var(--color-main);
    --color-bg-lighter: #ded4d1;
    --color-btn-main: var(--color-main-darkest);
    --color-btn-light: #fc9b89;
    --color-btn-light-transparent: #fc9a89f1;
    --color-text: #002016;
    --color-footer: var(--color-secondary);

    --dark-blue: #232639;
    --blue: #2a345f;
    --blue-light: #2d396e;
    --blue-lightest: #5166c4;

    --green: #0CA477;
    --green-darker: #077655;
    --green-darkest: #04523b;
    --green-light: #28cb9a;
    --green-light-transparent: #9bd78f00;
    --green-lightest: #d4eecf;

    --yellow: #facb41;
    --yellow-50: #facc4188;

    --color-link: var(--green-darker);
    --color-link-hover: var(--green-darkest);

    --padding-sm: 0.2em;
    --padding: 0.4em;
    --padding-bg: 0.8em;
    --margin: 1.2em;
    --margin-bg: calc(var(--margin) * 1.5);

    --btn-size: 1.4em;
    --border-radius: 3px;

    /* fonts */
    --font-main: 'Iter', sans-serif;
    --font-headers: 'Lexend', sans-serif;
    --font-size: 16px;
    --font-size-small: 14px;
    
    /* screen widths for reference */
    --small-screen: 460px;
    --medium-screen: 786px;
    --large-screen: 1260px;
    --big-screen: 1600px;

    /* animation speeds */
    --speed-fastest: 0.2s;
    --speed-fast: 0.3s;
    --speed-normal: .5s;
    --speed-slow: 1s;

    --line-width: 8px;
    --line-width-big: 16px;
    --line-width-half: 4px;
}


/*********************************************************************
* Animation
*
*/


/* transitions */
nav a,
nav a:after,
.search input,
input[type="submit"],
a,
.menu-btn:hover .menu-draw-icon svg path,
.menu-draw-icon svg path,
.menu-btn svg rect,
.post .grid-span-three > * {
  transition: all var(--speed-fastest) ease-out;
}

svg path,
.menu-icon span,
a img,
.menu-draw-icon{
  transition: all var(--speed-fast) ease-in-out;
}

blockquote{
  transition: all var(--speed-normal) ease;
}
.fslider .fslide{
  transition: opacity var(--speed-slow) ease-out;
}

.fadeIn{
  opacity: 5%; 
}
.fadeIn.start{
  animation: fadeIn 2s cubic-bezier(0.230, 0.000, 0.230, 1.000) forwards;
}
.fadeInFromBottom{
  opacity: 95%; 
  transform: translateY(10px);
}
.fadeInFromBottom.start{
  animation: fadeInFromBottom 1s cubic-bezier(0.230, 0.000, 0.230, 1.000) forwards;
}

.fadeInFromLeft,
.fadeInFromRight{
  opacity: 50%; 
}
.fadeInFromLeft{
  transform: translateX(-50%);
}
.fadeInFromRight{
  transform: translateX(50%);
}
.start .fadeInFromLeft{
  animation: fadeInFromLeft 2s cubic-bezier(0.230, 0.000, 0.230, 1.000) forwards;
}
.start .fadeInFromRight{
  animation: fadeInFromRight 2s cubic-bezier(0.230, 0.000, 0.230, 1.000) forwards;
}
.shake{
  animation: shake 0.5s ease-out forwards;
}

@media all and (min-width: 460px) {}

/* animations */
@keyframes fadeInFromBottom {
  0% { opacity: 95%; 
    transform: translateY(10px);}
  100% { opacity: 100%; 
    transform: translateY(0px);}
}
@keyframes fadeInFromLeft {
  0% { opacity: 50%; 
    transform: translateX(-50%);}
  100% { opacity: 100%; 
    transform: translateX(0px);}
}
@keyframes fadeInFromRight {
  0% { opacity: 50%; 
    transform: translateX(50%);}
  100% { opacity: 100%; 
    transform: translateX(0px);}
}
@keyframes fadeOut {
  0% { opacity: 100%; }
  100% { opacity: 0%; }
}
@keyframes fadeIn {
  0% { opacity: 5%; }
  100% { opacity: 100%; }
}
@keyframes fadeInRotate {
  0% {
    opacity: 0%;
    transform: rotateZ(-45deg) translateX(-10%); }
  100% {
    opacity: 100%;
    transform: rotateZ(0deg) translateX(0%);}
}
@keyframes moveInTop {
  0% { transform: translateY(-100%); }
  100% { transform: translateY(0%); }
}
@keyframes moveInLeft {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(0%); }
}
@keyframes moveInRight {
  0% { transform: translateX(100%); }
  100% { transform: translateX(0%); }
}
@keyframes moveInBottom {
  0% { transform: translateY(100%); }
  100% { transform: translateY(0%); }
}
@keyframes wonk {
  0% { transform: rotateZ(0deg); }
  100% { transform: rotateZ(5deg) translateX(7px); }
}
@keyframes shake {
  0% { transform: rotateZ(0deg); }
  25% { transform: rotateZ(0.5deg); }
  55% { transform: rotateZ(-0.5deg); }
  80% { transform: rotateZ(0.2deg); }
  100% { transform: rotateZ(0deg); }
}

/* init animations */
.fade-in { animation: fadeIn var(--speed-normal) 0s ease-in-out forwards; }
.fade-in-slow{ --speed-normal: var(--speed-slow); }


/*********************************************************************
* General HTML tags
*
*/

* {
  box-sizing: border-box;
  text-rendering: optimizeLegibility;
}

::selection,
::-moz-selection {
  background: #90eda9; background: #64ff8d4b;
  color: black;
  text-shadow: none;
}
html{
  scroll-snap-type: proximity;
}
html,
body {
  scroll-behavior: smooth;
}
body {
  position: relative;
  padding: 0;
  min-height: 100vh;
  margin: 0 auto;
  background: var(--color-bg);
  overflow-x: hidden;
  font-family: "Inter", verdana, sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 300;
  font-size: var(--font-size-small);
  line-height: 1.4em;
  color: var(--color-text);
}
@media all and (min-width: 568px) {
  body, td, input, textarea {
    font-size: var(--font-size);
  }
}
input,
textarea {
  font-weight: 400;
}
textarea {
  min-height: 160px;
}
video {
  max-height: 100vh;
  display: block;
}
img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
}
img.max-height{
  max-height: 440px;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 120%;
  word-break: keep-all;
  letter-spacing: -0.025em;
  color: #250e0d;
  text-align: left;
  font-family: "Lexend", "Helvetica Neue", Helvetica, sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}
@media all and (min-width: 786px) {
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    max-width: 70vw;
  }
}
h1 {
  font-size: 2em;
  margin: 0.3em 0 0.5em 0;
  line-height: 1.1em;
  color: var(--color-main-darkest);
}
@media all and (min-width: 786px) {
  h1 {
    font-size: 2.6em;
  }
}
h2 {
  font-size: 1.7em;
  margin: 1.4em 0 0.6em 0;
  font-weight: 600;
}
h3 {
  font-size: 1.6em;
  margin: 1.2em 0 0.5em 0;
  color: var(--color-btn-main);
  font-weight: 500;
}
h4 {
  font-size: 1.4em;
  margin: 0.5em 0 0.4em 0;
  color: var(--color-btn-main);
  font-weight: 400;
}
h5 {
  color: var(--color-btn-main);
  line-height: 1.3em;
  font-size: 1.2em;
  margin: 0.4em 0 0.3em 0;
  font-weight: 300;
}
h6 {
  color: var(--color-btn-main);
  line-height: 1.2em;
  font-size: 1em;
  margin: 0.4em 0 0.3em 0;
}
strong{
  font-weight: 600;
}
audio {
  margin: 1.5em 0 1em;
}
a {
  color: var(--color-link);
  word-break: break-word;
  cursor: pointer;
}
a:visited {
  opacity: 0.95;
}
a:hover {
  opacity: 0.9;
  text-decoration: none;
  color: var(--color-link-hover);
}
a:hover img {
  transform: translateY(calc(-1 * var(--line-width-half)));
}
a:active,
a:focus {
  color: var(--green);
}
a:active img,
a:focus img {
  transition: all 0.1s ease-in-out;
  opacity: 1;
  transform: translateY(1px);
}
p {
  text-align: left;
}
p,
.text-shadow{
  text-shadow: rgba(255, 255, 255, 0.4) 0px 1px 1px;
}
small {
  font-size: 0.75em;
  opacity: 0.75;
}
blockquote {
  font-size: 105%;
  line-height: 1.4em;
  padding: var(--margin) var(--margin);
  margin: 1em 0 1.5em;
  border-bottom: var(--line-width) solid var(--color-main-light);
  background: var(--color-main-transparent);
}
blockquote p{
  padding-left: 2em;
  padding-right: 2em;
}
blockquote p:last-child {
  margin: none;
}
blockquote:before,
blockquote:after{
  display: inline;
  font-family: Georgia, 'Times New Roman', Times, serif;
  font-size: 4em;
  height: 10px;
}
blockquote:before{
  content: '“';
  float: left;
  padding-top: 0.2em;
}
blockquote:after{
  content: '”';
  float: right;
}
blockquote:hover{
  transform:translateY(calc(-1 * var(--line-width-half)));
}
pre,
code {
  background: #eee;
  border: 1px solid #ddd;
}
pre {
  font-size: 14px;
  line-height: 1.4em;
  padding: 1em;
  border-left: 4px solid #ddd;
}
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 2px solid #cbffff;
  margin: 1em 0;
  padding: 0;
  max-width: 50%;
}
figcaption{
  font-size: 80%;
  background-color: #eee;
  padding: var(--padding-sm) var(--padding);
  font-style: italic;
}

form input,
form textarea {
  display: inline-block;
  margin: 0 0 0.6em;
  text-align: left;
  padding: 0.6em 0.6em 0.5em;
  border: 1px solid var(--color-main-light);
  border-radius: var(--border-radius);
  border-top-width: 2px;
  width: 100%;
  vertical-align: top;
  line-height: 1em;
}
form input:focus,
form textarea:focus,
form input:focus-visible,
form textarea:focus-visible {
  /* border: 1px solid var(--green-light); */
  outline: 2px solid var(--green-light);
}
form input[type="submit"] {
  cursor: pointer;
  border: 0;
  max-width: 200px;
  text-align: center;
  margin-top: 0;
  margin-bottom: calc(var(--padding) + 0.2em);
}
form input[type="checkbox"] {
  width: 10px;
  display: inline-block;
}
ul{
  display: table;
}
ul li, 
ol li{
  margin-bottom: var(--padding);
}

/*********************************************************************
 * 2. nav area
 *
 */

/* logo */ 
.logo a{
  width: 170px;
  height: 80px;
  display: block;
  margin: 0;
}
@media all and (max-width:786px){
  .logo a{
    width: 150px;
    height: 70px;
  }
}
@media all and (max-width: 460px){
  .logo a{
    width: 115px;
    height: 55px;
  }
}
.main_logo .logo-bottom{
  filter: drop-shadow(1px 3px 2px var(--color-main-dark));
}
.main_logo:hover .logo-bottom{
  filter: drop-shadow(3px 4px 6px var(--color-main-dark));
}

/* menu draw */ 
.menu-draw-icon{
  filter: drop-shadow(1px 1px 1px var(--color-main2));
}
.menu-draw-icon:hover{
  filter: drop-shadow(1px 2px 3px var(--color-main3));
}
.menu-draw-icon:hover .top-level{
  transform: translateX(-2px);
}
.menu-draw-icon:hover .middle-level{
  transform: translateX(-1px);
}
.menu-draw-icon:active .top-level,
.open .menu-draw-icon .top-level{
  transform: translateX(-11px);
}
.menu-draw-icon:active .middle-level,
.open .menu-draw-icon .middle-level{
  transform: translateX(-5px);
}
.open .menu-draw-icon .top-level,
.open .menu-draw-icon .middle-level,
.open .menu-draw-icon .bottom-level{
  stroke: var(--color-btn-light);
  fill: white;
}
.open .menu-draw-icon:active .top-level,
.open .menu-draw-icon:active .middle-level,
.open .menu-draw-icon:active .bottom-level{
  stroke: white;
}

header{
  position: relative;
}
header .header {
  overflow: hidden;
  width: 100%;
  height: 62px;
  background-position: center 2px;
  background-size: 386px;
  background-attachment: local;
  background-blend-mode: multiply;
}
header .container{
  position: relative;
  z-index: 100;
}
header .header.header-svg svg {
  display: block;
  height: 100%;
  width: 100%;
}
@media all and (max-width:786px){
  .header .container .header-btn{
    display: none;
  }
}

.search-nav {
  display: block;
}
form.search {
  margin: 0;
  padding-bottom: 0.2em;
}
form.search input {
  margin: 0;
  border: 0;
  border-bottom: 3px solid #cbffff;
}
form.search input:active,
form.search input:hover,
form.search input:focus {
  background: rgba(22, 22, 22, 0.2);
}
@media all and (min-width: 786px) {
  form.search {
    width: 100%;
    float: right;
  }
}
form.search button {
  display: none;
}
#search {
	display: none;

	height: 100%; height: 100vh;
	width: 100%; width: 100vw;
	overflow: none;
	background: rgba(0, 0, 0, 0.8);
	position: fixed;
	top: 0;
	z-index: 102;
}

#search .close-search {
  color: white;
  margin-top: var(--padding);
  display: block;
}
#search form.search {
  margin: 0 auto;
  position: absolute;
  padding: var(--padding);
  width: var(--small-screen);
  top: 45%;
  left: 0;
  right: 0;
  padding: var(--padding-bg);
}
#search input {
  color: grey;
  margin: 0;
  padding: 0.25em 0.75em;
  border: 1px solid transparent;
  height: 2em;
  width: 98%;
  background: rgba(255, 255, 255, 0.8);
}
#search input&:active,
#search input &:hover,
#search input &:focus {
  background: rgba(255, 255, 255, 0.9);
}

.btn {
  font-weight: 500;
  display: inline-block;
  background-color: var(--color-main-darker);
  padding: calc(var(--padding) * 1.75) calc(var(--margin) * 1.5);
  margin: var(--padding) 0em var(--padding-bg);
  box-shadow: var(--color-main-darkest) 0px 3px 0px;
  border-radius: var(--border-radius);
  color: white;
  text-align: center;
  text-decoration: none;
}
.btn:visited {
  /* color: white; */
}
.btn:hover {
  opacity: 1;
  color: white;
  transform: translateY(-1px);
  box-shadow: var(--color-main-darkest) 0px 4px 0px;
}
.btn:active {
  background-color: var(--yellow);
  transform: translateY(3px);
  color: var(--color-main-darkest);
  box-shadow: var(--blue) 0px -1px 0px;
  box-shadow: var(--blue) 0px -1px 0px, var(--yellow-50) 0px 2px 10px;
}
.btn.special-btn{
  text-transform: uppercase;
}
.btn.special-btn:before{

}
.btn[href^="tel"]:before,
.btn[href^="mailto"]:before{
  content: "";
}
.btn[href^="mailto"]:before{
  content: "@ ";
}
.btn[href^="tel"]:before{
  content: "☎ ";
}
.blue-btn{
  background-color: var(--blue);
  box-shadow: var(--dark-blue) 0px 3px 0px;
  color: var(--color-btn-light);
}
.blue-btn:hover {
  background-color: var(--blue-light);
  box-shadow: var(--dark-blue) 0px 5px 0px;
}
.blue-btn:active {
  background-color: var(--dark-blue);
  transform: translateY(3px);
  box-shadow: var(--dark-blue) 0px 0px 0px;
  box-shadow: var(--dark-blue) 0px 0px 0px, var(--yellow-50) 0px 0px 10px;
}
.big-btn {
  font-size: 110%;
}
.arrow-right {
  background-image: url(../img/arrow-right.svg);
  background-size: 16px 16px;
  background-position: 99% center;
  background-repeat: no-repeat;
  padding-right: 1.6em;
}
.arrow-right:hover {
  background-position: 101% center;
}
.arrow-right:active {
  background-position: 94% center;
}


/*********************************************************************
 * 3. Specific content and sidebar
 *
 */

.eyebrow{
  padding: var(--padding) 0 var(--padding-sm);
}
.eyebrow small{
  margin-left: var(--margin);
}
.header_inner{
  width:40%;
}
@media all and (min-width: 768px) {
  .header_inner{
    width:70%;
  }
}

#main {
  clear: both;
  background-color: white;
  width: 100%;
  box-shadow: 0 15px 35px #21718e;
}
@media all and (min-width: 1260px) {
  #main,
  header,
  .max-width{
    width: var(--large-screen);
  }
}
#main #content {
  scroll-snap-type: y proximity;
}
#page-end{
  height: var(--margin-bg);
  width: 100%;
  background-color: white;
  margin-bottom: calc(-1 * var(--margin));
  display: block;
  position: relative;
  box-shadow: #22222214 0px 10px 10px;
} 

nav {
  margin-left: 0;
  padding-left: 0;
  list-style: none;
  text-align: right;
}
nav a {
  padding: 0.4em 0;
  font-family: var(--font-headers);
  font-weight: 400;
  display: block;
  color: var(--dark-blue);
  padding-bottom: var(--padding-sm);
  position: relative;
  text-decoration: none;
}
nav a:after{
  content: "";
  width: 100%;
  height: 3px;
  position: absolute;
  bottom: -3px; left: 0;
  background-color: transparent;
}
nav a:hover,
nav a.current {
  color: var(--green);
}
nav a:hover:after,
nav a.current:after{
  background-color: var(--green);
}
nav a:active {
  color: white;
}
nav .btn{
  margin: var(--padding) 0;
}

@media all and (max-width: 786px) {
  #section-label{
    background-color: var(--color-btn-light-transparent);
    position: fixed;
    z-index: 101;
    width: 100vw;
    left: 0; right: 0; top: 0;
    height: 100vh;
    text-align: center;
    animation: fadeIn forwards var(--speed-fast) ease-out;
  }
  .open nav#main-nav,
  .closing nav#main-nav{
    display: block;
    pointer-events: all;
    position: fixed;
    z-index: 101;
    background: var(--color-main);
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    text-align: center;
  }
  .closing nav#main-nav{
    pointer-events: none;
    animation: fadeOut forwards var(--speed-fastest) ease-out;
  }
  .closed nav#main-nav{
    display: none;
  }
  nav#main-nav .page-nav-inner{
    height: 90%;
    flex-direction: column;
    justify-content: center;
  }
}


.menu-icon{
  z-index: 102;
  text-align:right;
  position: relative;
}
.menu-btn{
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  width: 40px;
}
.menu-btn svg rect{
  fill: var(--color-main-darker);
}
.menu-btn:hover svg rect,
.menu-btn:focus svg rect{
  opacity: 0.7;
}
.menu-btn:active svg rect{
  fill: var(--color-main-darkest);
  opacity: 1;
}
@media all and (min-width: 786px) {
  .menu-btn{
    display: none;
  }
}


/*********************************************************************
 * Blog
 *
 */
.post {
  margin-bottom: 0.5em;
  display: block;
}
.post .grid-span-three{
  min-height: 2em;
}
.post .grid-span-three > * {
  opacity: 0.95;
}
.post:hover .grid-span-three > * {
  opacity: 1;
}
@media all and (min-width: 786px) {
  .post .grid-span-three.padding {
    padding-right: 0;
  }
}
.breadcrumb {
  font-size: 80%;
  /* clear: right; */
  margin-bottom: var(--padding);
  color: var(--color-btn-main);
}
.MarkupPagerNav{
  display: inline-block;
  list-style: none;
  padding: var(--padding);
}
.MarkupPagerNav li{
  padding: var(--padding-sm);
  display: inline;
}
.MarkupPagerNavOn{
  font-weight: bold;
  pointer-events: none;
}
.MarkupPagerNavOn a{
  text-decoration: none;
  text-decoration-line: none;

}

/*********************************************************************
 * 4. Footer
 *
 */
#footer {
  clear: both;
  font-size: 90%;
  line-height: 160%;
  text-align: center;
  padding-top: calc(3 * var(--margin-bg));
  padding-bottom: 0;
  display: inline-block;
  width: 100%;
}
#footer nav{
  text-align: center;
  margin-top: var(--margin);
}
#footer nav a{
  display: inline-block;
  margin-right: var(--padding-bg);
}
@media all and (min-width: 786px) {
  #footer nav{
    text-align: right;
  }
  #footer nav a{
    margin-left: var(--padding-bg);
  }
}

#cookie-law{
  position: fixed;
  bottom: 0;
  padding: 1em;
  width: 100%;
  background-color: var(--color-main);
  font-size: 80%;
  box-shadow: 0px 10px 15px black;
}
#cookie-law .container{
  width: auto;
  max-width: var(--large-screen);
}
#cookie-law a.btn,
#cookie-law p{ display: inline-block }

/*********************************************************************
* Sections
*
*/
section {
  scroll-snap-align: start;
  position: relative;
  overflow: hidden;
}
.banner-section{

}
.banner-section img{
  width: 100%;
}
.banner-header{
  margin-top: -6em !important;
}
.banner-header h1{
  background-color: white;
  width: fit-content;
  padding: var(--padding) var(--padding-bg);
}
.slides-section{
  padding-bottom: var(--line-width-big);
  background-color: var(--color-bg);
}
@media all and (max-width: 786px) {
  .slides-section h1{
    margin-top: var(--padding-bg);
  }
  .slides-section.three-up{
    display: block;
  }
}
.text-section > *{
  margin-top: 0;
}
.text-section > p,
.text-section > ul,
.text-section > h2,
.text-section > h3,
.text-section > h4,
.text-section > h5,
.text-section > h6{
  /* max-width: var(--medium-screen); */
}
.spacer{
  width: 100%;
  height: var(--line-width);
}
section.spacer{
  height: var(--line-width-big);
  background-color: var(--color-main);
}

/*********************************************************************
* 4. Helper classes
*
*/
.outline{
  border: var(--color-main-light) 1px solid;
  border-radius: var(--border-radius);
}

.container {
  position: relative;
  margin: 0 auto;
  width: 92%;
}
.container > h2,
.container > h3,
.container > h4{
  margin-top: 0;
}
.container-mobile{}

@media all and (min-width: 1280px) {
  .container-mobile{
    width: 100%;
  }
}
.text-container {
  max-width: 768px;
}
.small-text-container{
  max-width: 460px;
}
.big-container {
  max-width: var(--big-screen);
}
.banner-image{
  margin-bottom: 3em;
}

.align_left,
.align-left {
  /* for images placed in rich text editor */
  float: left;
  margin: 0 30px 0.75em 0;
  position: relative;
  top: 0.5em;
  max-width: 50%;
}
.align_right,
.align-right {
  /* for images placed in rich text editor */
  margin: 0 0 0.75em 1em;
  float: right;
  max-width: 50%;
}
.align_center,
.align-center {
  /* for images placed in rich text editor */
  display: block;
  margin: 1em auto;
  position: relative;
  top: 0.5em;
}
.ztop{
  position: relative;
  z-index: 4;
}
.image-3rd{
  width: 33.33%; width: 33.33vw;
}
.image-shadow{
  box-shadow: 0px var(--line-width) 0px var(--color-main-darker);
}
.info {
  font-size: 80%;
}
.cf:before,
.cf:after {
  content: " ";
  display: table;
}
.cf:after {
  clear: both;
}
.cf {
  *zoom: 1;
}
.hide {
  display: none;
}
#message,
#address,
#pageId {
  display: none;
}
.no-opacity {
  opacity: 0;
}
.opacity {
  opacity: 1;
}
.absolute {
  position: absolute;
}
.text-center {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.text-left {
  text-align: left;
}
.text-right {
  text-align: right;
}
.upper,
.uppercase {
  text-transform: uppercase;
}
.center{
  left: 0; right: 0;
}
.margin-center {
  margin-left: auto;
  margin-right: auto;
}
.margin-top {
  margin-top: 0.6em;
}
.margin-bottom {
  margin-bottom: 0.6em;
}
.margin-bottom-bg {
  margin-bottom: 1.6em;
}
.margin-top-minus {
  margin-top: -2em;
}
.no-padding {
  padding: 0;
  margin: -0.6em 0 0.6em;
}
.no-padding-top{
  padding-top: 0 !important;
  margin-top: 0;
}
.padding {
  padding: var(--padding) var(--padding-sm);
}
.padding-sm {
  padding: var(--padding-sm) 0;
}
.padding-tb {
  padding: var(--margin) 0;
}
.padding-tb-big {
  padding: var(--margin-bg) 0;
}
@media all and (min-width: 786px) {
  .padding {
    padding: 1.8em 1.2em;
  }
}
.padding-smaller {
  padding: 0.9em 0.6em;
}
@media all and (min-width: 786px) {
  .padding-smaller {
    padding: 1.2em 0.9em;
  }
}
.padding-top {
  padding-top: var(--margin);
}
.padding-left-right {
  padding: 0.6em 1.2em 0.36em;
}
@media all and (max-width: 786px) {
  .padding-small-only {
    padding: 0.9em 0.9em;
  }
}
.rotate-right {
  transform: rotate(10deg);
}
.rotate-left {
  transform: rotate(-10deg);
}
.full-width {
  width: 100%;
}
.full-width-image {
  width: 100%; max-width: var(--large-screen);
}
.inline-block {
  display: inline-block;
}
.flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
}
.flex.flex-right{
  justify-content: end;
  align-items: center;
}
.flex.flex-end{
  align-content: end;
}
.flex.flex-center{
  align-content: center;
}

@media screen and (min-width: 460px) {
  .grid {
    display: grid;
  }
  .grid-auto{
    width: auto;
  }
  .grid-template-columns-auto{
    grid-template-columns: auto auto auto;
    grid-column-gap: 0;
  }
}
.grid-item {
  padding: 0.6em 0 0.6em 0;
}
@media all and (min-width: 460px) {
  .grid-item {
    padding: 0.6em 0.5em 0.6em 0;
  }
}
@media all and (min-width: 786px) {
  .grid-item {
    padding: 0.6em 1em 0.6em 0;
  }
}
.grid-item img {
  max-width: 400px;
}
.grid-span-one {
  grid-column: auto / 1 span;
}
.grid-span-two {
  grid-column: auto / 2 span;
}
.grid-span-three {
  grid-column: auto / 3 span;
}
.grid-span-four {
  grid-column: auto / 4 span;
}
.grid-span-six {
  grid-column: auto / 6 span;
}
.six-up {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
}
@media screen and (min-width: 460px) {
  .six-up {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}
@media screen and (min-width: 786px) {
  .six-up {
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
  }
}
.four-up {
  grid-template-columns: 1fr 1fr;
}
@media screen and (min-width: 460px) {
  .four-up {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media screen and (min-width: 786px) {
  .four-up {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }
}
@media screen and (min-width: 460px) {
  .three-up {
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (min-width: 786px) {
  .three-up {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
@media screen and (min-width: 460px) {
  .one-up {
    grid-template-columns: 1fr;
  }
}
@media screen and (min-width: 786px) {
  .two-up {
    grid-template-columns: 1fr 1fr;
  }
}
.two-up-small {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-column-gap: 0.3em;
  grid-row-gap: 0.3em;
}
@media screen and (min-width: 786px) {
  .two-up-small {
    grid-template-columns: 1fr 1fr;
  }
}
.two-up-small > div {
  width: 100%;
}
.span-two {
  grid-column: span 2;
}
.span-three {
  grid-column: span 3;
}
.gap {
  gap:var(--margin);
}
.gap-small {
  gap: 0.5em;
}
.gap-bg {
  gap: var(--margin-bg);
}
.circle {
  border-radius: 500px;
  max-width: 300px;
}
.border {
  border: 0.65rem solid var(--color-btn-main);
}
.border-bottom {
  border-bottom: 0.65rem solid var(--color-btn-main);
}
.blue-bg{
  background-color: var(--color-main-darker);
}
.blue-bg > p,
.blue-bg > h2{
  color: #feffed;
}
.blue-bg-lighter{
  background-color: var(--color-main-lighter);
}
.bg-red{
  background-color: var(--color-secondary);
  color: white;
}
.bg-red a{
  color: white;
}
.bg-red a:hover{
  color: rgb(255, 228, 228);
}
.bg-white {
  background-color: white;
}
.bg-white-transparent {
  background-color: rgba(255, 255, 255, 0.4);
}
.bg-white small {
  color: #250e0d;
}
.text-green{
  color: var(--green)
}
.text-red{
  color: var(--color-secondary)
}

.section-title{
  padding-bottom: var(--padding);
  border-bottom: var(--color-bg) 5px solid;
  width: fit-content;
}
.image-section{
  width: 50%;
  float: left;
  padding: 0 30px var(--margin) 0;
}
@media all and (max-width: 460px) {
  .image-section{
    width: auto;
    padding: 0 0 var(--margin) 0;
  }
}

.slider{
  
}
.slider img{
  width:100%;
}

.card{
  display: inline-block;
  background-color: var(--color-main);
  padding-right: 1px; padding-top: 1px; padding-left: var(--line-width-big);
}
@media all and (max-width: 460px) {
  .card{
    margin-bottom: var(--padding-bg);
  }
}
.card a{
  text-decoration: none;
}


/* ==========================================================================
Print styles
========================================================================== */
@media print {
  * {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: "";
  }
  pre,
  blockquote {
    border: 1px solid #999;
  }
  thead {
    display: table-header-group;
  }
  img {
    max-width: 100% !important;
  }
  @page {
    margin: 0.5cm;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  pre,
  blockquote,
  h2,
  h3,
  tr,
  img {
    page-break-after: avoid;
  }
}


/* slideshow */
.fslider{ 
  display: block;
  position: relative;
}
.fslider .fslide{
  opacity: 0;
	position: absolute;
	left: 0; right: 0; top: 0;
  width: 100%;
}
.fslider .current-slide{
    opacity: 1;
    z-index: 11;
}
@media all and (max-width: 460px) {
  .fslider.aspect-square{
    width: 100%;
    height: 400px;
  }
}
.slider-nav{
  width: 100%;
}
.slider-nav .dot{
  width: calc(var(--padding) + 2px);
  height: calc(var(--padding) + 2px);
  border-radius: 50%;
  background-color: var(--color-main-light);
  display: inline-block;
  margin: 0 var(--padding) 0 0;
  cursor: pointer;
}
.slides-section .slider-nav .dot{
  background-color: white;
}
.slider-nav .dot.current-dot{
  background-color: var(--color-secondary);
}