* {
  margin: 0;
  padding: 0;
}

:root {
  --mainsize: 1rem;
  --lineheight: calc(var(--mainsize) * 1.45);
  --mainsizemd: calc(var(--mainsize) * .75);
  --lineheightmd: calc(var(--mainsizemd) * 1.45);
  --mainsizesm: calc(var(--mainsize) * .666);
  --lineheightsm: calc(var(--mainsizesm) * 1.45);
  /*primary*/
  --sepia: rgba(83,51,0,1);
  --sepia0: rgba(83,51,0,0);
  --sepia10: rgba(83,51,0,.1);
  --sepia25: rgba(83,51,0,.25);
  --sepia33: rgba(83,51,0,.333);
  --sepia50: rgba(83,51,0,.5);
  --sepia75: rgba(83,51,0,.75);
  --sepia80: rgba(83,51,0,.8);
  --sepia90: rgba(83,51,0,.9);
  --teagreen: rgba(196,219,155,1);
  --asparagus: rgba(125,156,77,1);
  --asparagus0: rgba(125,156,77,0);
  --asparagus25: rgba(125,156,77,.25);
  --asparagus50: rgba(125,156,77,.5);
  --asparagus60: rgba(125,156,77,.6);
  --asparagus70: rgba(125,156,77,.7);
  --asparagus75: rgba(125,156,77,.75);
  --asparagus80: rgba(125,156,77,.8);
  --asparagus85: rgba(125,156,77,.85);
  --asparagus90: rgba(125,156,77,.9);
  /*secondary*/
  --midnightgreen: rgba(0,61,64,1);
  --persianorange: rgba(277,145,76,1);

  --black: rgba(0,0,0,1);
  --black90: rgba(0,0,0,.9);
  --black80: rgba(0,0,0,.8);
  --black70: rgba(0,0,0,.7);
  --black60: rgba(0,0,0,.6);
  --black50: rgba(0,0,0,.5);
  --black40: rgba(0,0,0,.4);
  --black30: rgba(0,0,0,.3);
  --black20: rgba(0,0,0,.2);
  --black10: rgba(0,0,0,.1);

  --white: #ffffff;
  --gray: #adadad;
  --br: calc(var(--mainsize) * .666);
  --ls1: .125rem;

}


html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust:100%
}

html, body {
  scroll-behavior: smooth;
  margin: 0;
  padding:0
  text-rendering: optimizeSpeed;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  -webkit-tap-highlight-color: transparent;
  font-size: var(--mainsize);
  line-height: var(--lineheight);
}

body {
  font-family: petala-pro, sans-serif;
  font-weight: 400;
  font-style: normal;
  color: var(--sepia);
  background: var(--teagreen);
}

body.wurst {
  color: var(--black);
  background: var(--white);
}



/* ####################################################### helper ####################################################### */

.uniform__potty {
  position: absolute;
  left: -9999px;
}

.uniform-success i {
  font-size: calc(var(--mainsize) * 2);
}

p.uniform-errors__item, p.uniform-success__item {
  font-weight: 600;
}

a {
  color: inherit;
  text-decoration: none;
}

hr {
  margin: var(--lineheight) 0;
  color: inherit;
  border: 0;
  border-top: 2px dotted;
  opacity: .25;
}

hr.wave {
  display:block;
  border:0px;
  height:10px;
  background: url("../images/linewave_teagreen.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  opacity: 1;
}

body.wurst hr.wave {
  display:block;
  border:0px;
  height:10px;
  background: url("../images/linewave_white.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  opacity: 1;
}

.shadow {
  -webkit-box-shadow: 0px 15px 10px -10px rgba(0, 0, 0, 0.666)!important;
  box-shadow: 0px 15px 10px -10px rgba(0, 0, 0, 0.666)!important;
}

.shadow2 {
  -webkit-box-shadow: rgba(0, 0, 0, 0.15) 0px 5px 15px 0px;
  box-shadow: rgba(0, 0, 0, 0.15) 0px 5px 15px 0px;
}

.no_shadow {
  -webkit-box-shadow: none!important;
  box-shadow: none!important;
}


.no_btn {
  background: unset;
  border: unset;
  border-radius: unset;
  padding: unset;
  margin: unset;
  color: unset;
  font-family:inherit;
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

.lh1 {line-height: 1;}
.lh11 {line-height: 1.1}
.lh12 {line-height: 1.2}
.lh13 {line-height: 1.3}
.lh14 {line-height: 1.4}
.lh15 {line-height: 1.5}


.mtlh1 {margin-top: var(--lineheight);}
.mblh1 {margin-bottom: var(--lineheight);}


.persianorange {color: var(--persianorange);}

/* ####################################################### default ####################################################### */

main.main {
  padding: 66px 0;
}

main.main:has(.pagecover) {
  padding-top: 0;
}

.container-xxl {
  width: unset;
  max-width: 100%;
}

body.wurst .pagecover .container-xxl {
  width: 100%;
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 600;
  text-transform: uppercase;
}



.card {
  border-radius: var(--br);
  border: none;
  background: var(--sepia);
  color: var(--teagreen);
}

body.wurst .card {
  background: var(--black);
  color: var(--white);
}

.btn {
  outline: none!important;
  box-shadow: none!important;
  border-radius: var(--br);
  font-weight: 600;
  text-transform: uppercase;
}

.btn-primary,
.btn-primary:link,
.btn-primary:active,
.btn-primary:visited,
.btn-primary:active:focus,
.btn-primary:active:hover,
.btn-primary:hover,
.btn-primary:focus {
  color: var(--sepia)!important;
  border: 2px solid var(--asparagus)!important;
  background-color: var(--asparagus)!important;
}

body.wurst .btn-primary,
body.wurst .btn-primary:link,
body.wurst .btn-primary:active,
body.wurst .btn-primary:visited,
body.wurst .btn-primary:active:focus,
body.wurst .btn-primary:active:hover,
body.wurst .btn-primary:hover,
body.wurst .btn-primary:focus {
  color: var(--black)!important;
  border: 2px solid var(--gray)!important;
  background-color: var(--gray)!important;
}

main.main .intro p {
  font-weight: 600;
  margin-bottom: 0;
  text-transform: uppercase;
  line-height: 1.4;
  text-align: center;
  color: var(--sepia); text-align: left;
  margin: var(--lineheight) 0;
}

main.main .intro p:not(.author) span {
  border-bottom: 6px solid var(--asparagus);
}

/* ####################################################### text ####################################################### */


.maintext {
  margin-top: calc(var(--lineheight) * 1);
}

.text {
  line-height: var(--lineheight);
}
.text h1, .text h2, .text h3, .text h4, .text h5, .text h6 {
  font-size: calc(var(--mainsize) * 1.25);
  font-weight: 600;
  line-height: inherit;
  margin-bottom: calc(var(--lineheight) * .5);
}

.text a {
  text-decoration: underline;
}

.text p:first-child {
  margin-top: 0;
}
.text p:last-child {
  margin-bottom: 0;
}

.text p + h1, .text p + h2, .text p + h3, .text ul + h1, .text ul + h2, .text ul + h3 {
  margin-top: calc(var(--lineheight) * 2);
}

.text ul, .text ol, .text p {
  margin-bottom: var(--lineheight);
}

.text ul,
.text ol {
  margin-left: 1rem;
}

.text ul > li {
  list-style: disc;
}
.text ol > li {
  list-style: decimal;
}
.text ul ol,
.text ul ul,
.text ol ul,
.text ol ol {
  margin-bottom: 0;
}

.text figure {
  background-size: 122px auto!important;
  background-repeat: no-repeat!important;
  background-position: center!important;
  background: url("../images/loading.gif");
  margin: calc(var(--lineheight) * 2) 0;
  border-radius: var(--br);
}

.text figure img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: var(--br);
}

.text figcaption {
  padding-top: 0;
  font-size: var(--mainsizesm);
  text-align: right;
  color: var(--sepia80);

}

.text_md {
  font-size: var(--mainsizemd);
  line-height: var(--lineheightmd)
}

.text_sm {
  font-size: var(--mainsizesm);
  line-height: var(--lineheightsm)
}

/* ####################################################### navi ####################################################### */


.fhnav {
  background-color: var(--sepia);
  color: var(--teagreen);
  -webkit-transition: padding 0.666s cubic-bezier(0.25, 0.1, 0.25, 1);
  transition: padding 0.666s cubic-bezier(0.25, 0.1, 0.25, 1);
}

body.wurst .fhnav {
  background-color: var(--black);
  color: var(--white);
}

body.wurst .fhnav img.logo {
  filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(0%) hue-rotate(241deg) brightness(103%) contrast(103%);
}

.fhnav .nav-link,
.fhnav .nav-link.active,
.fhnav .nav-link:link,
.fhnav .nav-link:active,
.fhnav .nav-link:visited,
.fhnav .nav-link:active:focus,
.fhnav .nav-link:active:hover,
.fhnav .nav-link:hover,
.fhnav .nav-link:focus {
  color: inherit;
  font-weight: 600;
  text-transform: uppercase;
}

.fhnav .nav-link.logout,
.fhnav .nav-link.logout.active,
.fhnav .nav-link.logout:link,
.fhnav .nav-link.logout:active,
.fhnav .nav-link.logout:visited,
.fhnav .nav-link.logout:active:focus,
.fhnav .nav-link.logout:active:hover,
.fhnav .nav-link.logout:hover,
.fhnav .nav-link.logout:focus {
  color: var(--persianorange);
  font-weight: 600;
  text-transform: uppercase;
}

body.wurst .fhnav .nav-link.logout,
body.wurst .fhnav .nav-link.logout.active,
body.wurst .fhnav .nav-link.logout:link,
body.wurst .fhnav .nav-link.logout:active,
body.wurst .fhnav .nav-link.logout:visited,
body.wurst .fhnav .nav-link.logout:active:focus,
body.wurst .fhnav .nav-link.logout:active:hover,
body.wurst .fhnav .nav-link.logout:hover,
body.wurst .fhnav .nav-link.logout:focus {
  color: var(--gray);
}

.fhnav .navbar-toggler {
  border: none;
}

.fhnav i {
  color: var(--teagreen);
  font-size: calc(var(--mainsize) * 2);
}


nav.bread {
  margin-top: calc(var(--lineheight) * .5);
  color: var(--asparagus);
  line-height: 1;
}

nav.bread ol {
  list-style: none;
}

nav.bread ol li {
  display: inline;
}

nav.bread ol li:last-child i {
  display: none;
}

nav.bread ol li a,
nav.bread ol li a:link,
nav.bread ol li a:hover,
nav.bread ol li a:focus,
nav.bread ol li a:active,
nav.bread ol li a:active:focus,
nav.bread ol li a:active:hover,
nav.bread ol li a:visited {
  color: inherit;
  text-decoration: none;
  line-height: 1;
  -webkit-transition: all 0.666s cubic-bezier(0.25, 0.1, 0.25, 1);
  transition: all 0.666s cubic-bezier(0.25, 0.1, 0.25, 1);
}


.fhnav img.logo.menu_logo {
  width: auto;
  height: 40px;
  display: block;
  vertical-align: middle;
  -webkit-transition: all 0.666s cubic-bezier(0.25, 0.1, 0.25, 1);
  transition: all 0.666s cubic-bezier(0.25, 0.1, 0.25, 1);
}


.fhnav img.logo.menu_logo.pagestart {
  height: 60px;
}

.fhnav img.logo.menu_logo.pagescroll {
  height: 40px;
}

/* ####################################################### figure picture image ####################################################### */


figure.picture_holder {
  background: var(--asparagus);
  margin-bottom: 0;
  border-radius: var(--br);
}

body.wurst figure.picture_holder {
  background: var(--black);
}

figure.picture_holder.card_picture_holder {
  background: none;
  margin-bottom: 0;
  border-top-left-radius: var(--br);
  border-top-right-radius: var(--br);
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

picture.image {
  position: relative;
  display: block;
  --w: 1;
  --h: 1;
  margin: 0;
  padding: 0;
  padding-bottom: calc(100% / var(--w) * var(--h));
  background-size: 122px auto!important;
  background-repeat: no-repeat!important;
  background-position: center!important;
  margin-bottom: 0;
  overflow: hidden;
  background: url("../images/loading.gif");
  border-radius: var(--br);
}

figure.picture_holder.card_picture_holder picture.image {
  border-top-left-radius: var(--br);
  border-top-right-radius: var(--br);
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  overflow: unset;
}


picture.image img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: 0;
  padding: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  border: 0;
  -webkit-transition: transform 3s cubic-bezier(0.25, 0.1, 0.25, 1), opacity 2s cubic-bezier(0.25, 0.1, 0.25, 1);
  transition: transform 3s cubic-bezier(0.25, 0.1, 0.25, 1), opacity 2s cubic-bezier(0.25, 0.1, 0.25, 1);
  border-radius: var(--br);
}

figure.picture_holder.card_picture_holder picture.image img {
  border-top-left-radius: var(--br);
  border-top-right-radius: var(--br);
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}


.picture.image[data-contain] img {object-fit: contain;}

picture.image img.fade {opacity: 0;}
picture.image img.scale {transform: scale(1.075);}
picture.image img.fade.img_loaded {opacity: 1;}
picture.image img.scale.img_loaded {transform: scale(1);}




/* ####################################################### pagecover ####################################################### */

figure.picture_holder.picture_holder_cover,
picture.image.cover,
picture.image.cover img {
  border-radius: 0;
}

picture.image.cover {
  --w: 4;
  --h: 5;
}

.pagecover .container-xxl {
  padding-left: unset;
  padding-right: unset;
}

.pagecover .caption {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  padding: calc(var(--lineheight) * 3);
  display: flex;
  justify-content: center;
  align-items: center;
  background: radial-gradient(circle, var(--sepia75) 25%, var(--sepia0) 100%);
}


.pagecover .caption h1, h1.hello {
  font-weight: 600;
  margin-bottom: 0;
  text-transform: uppercase;
  line-height: 1.575;
  text-align: center;
  color: var(--teagreen);
}

.pagecover .caption h1 span, h1.hello span {
  border-bottom: 6px solid var(--persianorange);
}

.pagecover .cp_caption {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  align-items:flex-start;
  justify-content: flex-end;
  padding-right: var(--mainsize);
  padding-bottom: var(--mainsize);
  writing-mode: vertical-rl;
  background: linear-gradient(-65deg, var(--sepia75) 10%, var(--sepia0) 50%);
}

.pagecover .cp_caption.wurst_cp_caption {
  background: none;
}

.pagecover .cp_caption small {
  color: var(--teagreen);
  letter-spacing: var(--ls1);
  font-size: var(--mainsizesm);
}


.pagecover header.caption h1 {
  animation: h1in 3s cubic-bezier(0.25, 0.1, 0.25, 1);
            animation-iteration-count: 1;
            animation-fill-mode: forwards;
}

@keyframes h1in {
0% {
    opacity: 0;
    scale: 1.1;
}

100% {
    opacity: 1;
    scale: 1;
}}


/* ####################################################### footer ####################################################### */


.footer_contacts {
  text-align: center;
  position: relative;
}


.footer_contacts .footer_contact.footer_contact_mail {
  background: var(--asparagus50);
}

.footer_contacts .footer_contact.footer_contact_whatsapp {
  background: var(--asparagus75);
}

.footer_contacts .footer_contact.footer_contact_insta {
  background: var(--asparagus90);
}

.footer_contacts.axel .footer_contact.axel_fact {
  background: var(--black10);
}

.footer_contacts.axel .footer_contact.axel_fact:first-of-type {
  background: var(--black20);
}

.footer_contacts.axel .footer_contact.axel_fact:last-of-type {
  background: var(--black30);
}

.footer_contacts .footer_contact a .inner, .footer_contacts.axel .footer_contact.axel_fact .inner{
  padding: calc(var(--lineheight) * 2) calc(var(--lineheight) * 1);
}


.footer_contacts .footer_contact.footer_contact_insta a .inner, .footer_contacts.axel .footer_contact.axel_fact:last-of-type .inner {
  padding-bottom: calc(var(--lineheight) * 3);
}

.footer_contacts .footer_contact a .inner i, .footer_contacts.axel .footer_contact.axel_fact .inner i {
  font-size: calc(var(--mainsize) * 3);
  padding-top: calc(var(--lineheight) * 1);
}

.footer_contacts p.text {
  text-transform: uppercase;
  font-weight: 600;
  line-height: 1;
}


.footer_waves {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  --w2: 1;
  --h2: .029;
  background: url("../images/waves.png");
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: cover;
  width: 100vw;
  height: calc(100vw / var(--w2) * var(--h2));
}

body.wurst .footer_waves {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  --w2: 1;
  --h2: .029;
  background: url("../images/black_waves.png");
  background-repeat: no-repeat;
  background-position: bottom center;
  background-size: cover;
  width: 100vw;
  height: calc(100vw / var(--w2) * var(--h2));
}

footer.footer {
  background: var(--sepia);
  padding: calc(var(--lineheight) * 4) 0;
  color: var(--teagreen);
  text-align: center;
}

body.wurst footer.footer {
  background-color: var(--black);
  color: var(--white);
}

body.wurst footer.footer img.kalmar {
  filter: brightness(0) saturate(100%) invert(100%) sepia(100%) saturate(0%) hue-rotate(241deg) brightness(103%) contrast(103%);
}

footer ul, footer .credits .text_md, footer .credits .text_sm {
  line-height: 1;
}
footer ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

footer ul li {
  display: inline-block;
}

footer ul li a, footer .credits a, footer .no_btn {
  text-decoration: underline;
  color: inherit;
  font-weight: inherit;
}

/* ####################################################### home ####################################################### */

section.blox .blox_item {
  position: relative;
  border-radius: var(--br);
  padding: var(--lineheight);
  text-align: center;
  background-repeat: no-repeat!important;
  background-size: cover!important;
  background-position: center center!important;
  min-height: 50vh;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  color: var(--teagreen);
}

section.blox .item:nth-child(3), section.blox .item:nth-child(4){
  display: none;
}

section.blox .blox_item h2 {
  line-height: 1.4;
}

section.blox .blox_item h2 span {
    border-bottom: 6px solid var(--teagreen);
}

section.blox .blox_item h3 {
  line-height: 1.4;
}

section.blox .blox_item h3 span {
    border-bottom: 5px solid var(--teagreen);
}

section.blox .cp_caption {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 75%;
  display: flex;
  align-items:flex-start;
  justify-content: flex-start;
  padding-right: var(--mainsize);
  padding-top: var(--mainsize);
  writing-mode: vertical-rl;
  background: linear-gradient(-125deg, var(--sepia90) 0%, var(--sepia0) 50%);
  border-top-right-radius: var(--br);
}



section.blox .cp_caption small {
  color: var(--teagreen);
  letter-spacing: var(--ls1);
  font-size: var(--mainsizesm);
}

/* ####################################################### carousel ####################################################### */

.carousel {
  margin-top: -66px;
}

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

figure.picture_holder.carousel_image_holder {
  border-radius: 0;
}

picture.image.carousel_image {
  --w: 1;
  --h: 1;
  border-radius: 0;
}

img.carousel_img {
  border-radius: 0!important;
}

.carousel .overlay {
  position: absolute;
  top:0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: linear-gradient(0,var(--sepia90) 15%, var(--sepia0) 90%);
  border-radius: 0;
}

.carousel-caption {
  position: absolute;
  top:0;
  right: 15%;
  bottom: calc(var(--lineheight) + 2rem);
  left: 15%;
  padding-top: 0;
  padding-bottom: 0;
  color: var(--colorbg);
  text-align: center;
  display: flex;
  align-items: flex-end;
}

.carousel_caption_inner {
  padding: var(--lineheight);
  animation: captionin 3s cubic-bezier(0.25, 0.1, 0.25, 1);
            animation-iteration-count: 1;
            animation-fill-mode: forwards;
}

@keyframes captionin {
0% {
    opacity: 0;
    scale: 1.1;
}

100% {
    opacity: 1;
    scale: 1;
}}

.carousel_caption_inner h1 {
  margin-bottom: var(--lineheight);
  color: var(--persianorange);
  line-height: 1.5;
}

.carousel_caption_inner h1 span {
  border-bottom: 6px solid var(--persianorange);
}



.carousel_caption_inner h1 + .text {
  margin-top: calc(var(--lineheight) * .5);
}

.carousel_caption_inner .text p {
  margin-bottom: 0;
  color: var(--teagreen);
}

.carousel_caption_inner .text:has(a) p {
  margin-bottom: calc(var(--lineheight) * .75);
}

.carousel-indicators {
  margin-bottom: 2rem;
}

.carousel-indicators [data-bs-target] {
  box-sizing: content-box;
  flex: 0 1 auto;
  width: 45px;
  height: 1px;
  padding: 0;
  margin-right: 4px;
  margin-left: 4px;
  text-indent: -999px;
  cursor: pointer;
  background-color: var(--teagreen);
  background-clip: padding-box;
  border: unset;
  border-radius: var(--br);
  border-top: 3px solid var(--teagreen);
  border-bottom: 3px solid var(--teagreen);
}

.carousel-control-next-icon {background-image: url("../images/chevron-compact-right.svg");}
.carousel-control-prev-icon {background-image: url("../images/chevron-compact-left.svg");}

.carousel-control-next-icon, .carousel-control-prev-icon {
  display: inline-block;
  width: 4rem;
  height: 4rem;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: 100% 100%;
}

.carousel .cp_caption_slider {
  position: absolute;
  bottom: var(--mainsize);
  right: 0;
  padding-right: var(--mainsize);
  writing-mode: vertical-rl;
}

.carousel .cp_caption_slider small {
  color: var(--teagreen);
  letter-spacing: var(--ls1);
  font-size: var(--mainsizesm);
  opacity: .666;
}

/* ####################################################### wurst ####################################################### */

main.wurst header {
  margin: calc(var(--lineheight) * 2) 0;
}


main.wurst h1.hello {color: var(--black); text-align: left; line-height: 1.3;}


main.wurst h1.hello span {border-bottom: 7px solid var(--black);}
main.wurst .intro p:not(.author) span {color: var(--black); border-bottom: 7px solid var(--black);}
main.wurst .intro p.author {font-size: var(--mainsizemd); position: relative; font-weight: 400; top: -15px; opacity: .666; letter-spacing: var(--ls1); border-bottom-color: var(--black);}

main.wurst .card h2 span {color: var(--white); font-weight: 400;}


/* ####################################################### toast ####################################################### */

.toast {
  --bs-toast-max-width: 450px;
  width: var(--bs-toast-max-width);
  max-width: 100%;
  font-size: var(--mainsize);
  color: var(--teagreen);
  background-color: var(--sepia);
  border: var(--bs-toast-border-width) solid var(--bs-toast-border-color);
  -webkit-box-shadow: 0px 15px 10px -10px rgba(0, 0, 0, 0.666)!important;
  box-shadow: 0px 15px 10px -10px rgba(0, 0, 0, 0.666)!important;
  border-radius: var(--br);
}

.toast-header {
  padding: calc(var(--lineheight) * .75);
  color: var(--sepia);
  background-color: var(--asparagus);
  border-bottom: none;
  border-top-left-radius: var(--br);
  border-top-right-radius: var(--br);
}

.toast-header p {
  font-size: calc(var(--mainsize) * 1.5);
  font-weight: 600;
  text-transform: uppercase;
}

.toast-header p span {
  border-top: 4px solid transparent;
  border-bottom: 4px solid var(--sepia);
}

.toast-header button i {
  font-size: calc(var(--mainsize) * 2);
}

.toast-body {
  padding: calc(var(--lineheight) * .75);
}

/* ####################################################### services ####################################################### */

section.services {
  margin: calc(var(--lineheight) * 1.5) 0;
}

section.services .card h2 {
  line-height: 1.4;
}

section.services .card h2 span {
  border-bottom: 4px solid var(--persianorange);
}

section.services .card figure footer {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  align-items:flex-start;
  justify-content: flex-start;
  padding: calc(var(--lineheight) * .25);
  writing-mode: vertical-rl;
  background: linear-gradient(240deg, var(--sepia) 10%, var(--sepia0) 50%);
  border-top-right-radius: var(--br);
  border-top-left-radius: var(--br);
}

section.services .card figure footer small {
  color: var(--teagreen);
  font-size: var(--mainsizesm);
}

/* ####################################################### references ####################################################### */

section.references {
  margin: calc(var(--lineheight) * 1.5) 0;
}

section.references .reference_icon {
  position: absolute;
  right: calc(var(--bs-gutter-x) * .5);;
  top: 0;
  padding: 10px;
  color: var(--teagreen);
  background-color: var(--sepia50);
  border-top-right-radius: var(--br);
  border-bottom-left-radius: var(--br);
  line-height: 1;
}

section.references .reference .cp_caption_gallery {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items:flex-start;
  justify-content: flex-end;
  padding-right: var(--mainsize);
  padding-bottom: var(--mainsize);
  writing-mode: vertical-rl;
  background: linear-gradient(-55deg, var(--sepia80) 0%, var(--sepia0) 75%);
  border-bottom-right-radius: var(--br);
}

section.references .reference .modal .cp_caption {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  align-items:flex-start;
  justify-content: flex-start;
  padding-right: var(--mainsize);
  padding-top: var(--mainsize);
  writing-mode: vertical-rl;
  background: linear-gradient(-125deg, var(--sepia90) 2%, var(--sepia0) 50%);
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
}


section.references .reference .cp_caption_gallery small {
  color: var(--teagreen);
  font-size: var(--mainsizesm);
}

section.references .reference .cp_caption small {
  color: var(--teagreen);
  letter-spacing: var(--ls1);
  font-size: var(--mainsizesm);
}
/* ####################################################### lightbox ####################################################### */

.lightboxOverlay {
  opacity: 1!important;
  background-color: var(--asparagus80);
  -webkit-backdrop-filter:saturate(160%) blur(15px);
  backdrop-filter:saturate(160%) blur(15px);
  -webkit-transition: opacity 1.25s cubic-bezier(0.25, 0.1, 0.25, 1);
  transition: opacity 1.25s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.lb-outerContainer {
  background: url(../images/loading.gif) var(--sepia);
  background-position: center!important;
  background-repeat: no-repeat!important;
  background-size: 100px auto!important;
  border-radius: var(--br);
  margin-top: -2rem;
}


.lightbox .lb-image {
  border: none;
  border-radius: var(--br);
  -webkit-box-shadow: 0px 15px 10px -10px rgba(0, 0, 0, 0.666)!important;
  box-shadow: 0px 15px 10px -10px rgba(0, 0, 0, 0.666)!important;
}

.lb-dataContainer {
  padding-top: calc(var(--lineheight) * .75);
  font-size: var(--text_md);
}
.lb-dataContainer span.lb-caption {
    font-size: var(--mainsize);
    color: var(--sepia);
    font-weight: 400;
    line-height: 1em;
}

.lb-dataContainer span.lb-caption span {
    font-weight: 600;
    text-transform: uppercase;
}

.lb-closeContainer, .lb-dataContainer .lb-data .lb-details .lb-number {
}

.lb-data .lb-close {
  float: right;
  background: url(../images/close.svg) var(--teagreen);
  background-size: 80% auto;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 1;
  width: 35px;
  height: 35px;
  border-radius: 100%;
}

/* ####################################################### modal ####################################################### */

.modal-backdrop {
  -webkit-transition: opacity 1.25s cubic-bezier(0.25, 0.1, 0.25, 1);
  transition: opacity 1.25s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.modal-backdrop.show {
  opacity: 1!important;
  -webkit-backdrop-filter:saturate(160%) blur(15px);
  backdrop-filter:saturate(160%) blur(15px);
}
.modal-backdrop.fade {
  opacity: 0;
}
.modal-backdrop {
--bs-backdrop-zindex: 1050;
--bs-backdrop-bg: var(--asparagus80);
--bs-backdrop-opacity: 1;
position: fixed;
top: 0;
left: 0;
z-index: var(--bs-backdrop-zindex);
width: 100vw;
height: 100vh;
background-color: var(--bs-backdrop-bg);
}

.modal-content {
  color: var(--teagreen);
  background-color: var(--sepia);
  border: none;
  border-radius: var(--br);
}

.modal-header {
  padding: calc(var(--lineheight) * 1);
  border-bottom: none;
  border-top-left-radius: var(--br);
  border-top-right-radius: var(--br);
}

.modal-header h3 {
  line-height: 1.4;
}

.modal-header h3 span {
  border-bottom: 8px solid var(--teagreen);
}

.modal-header .fh_btn_close {
  padding: calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);
  margin-top: calc(-.5 * var(--bs-modal-header-padding-y));
  margin-right: calc(-.5 * var(--bs-modal-header-padding-x));
  margin-bottom: calc(-.5 * var(--bs-modal-header-padding-y));
  margin-left: auto;
  box-sizing: content-box;
  width: 1em;
  height: 1em;
  border: 0;
  color: var(--teagreen);
  background: transparent;
  font-size: calc(var(--mainsize) * 1.5);
  text-decoration: none;
}



.modal-body {
  padding: 0;
  background: var(--sepia);
}

.modal-body p {
  padding: 0 calc(var(--lineheight) * 1);
  padding-bottom: calc(var(--lineheight) * 1.5)
}

.modal-body figure.picture_holder   {
  margin-bottom: 0;
  background: var(--sepia);
}
.modal-body figure figcaption {
  background-color: var(--sepia);
  color: var(--teagreen);
  font-size: var(--text_md);
  margin-top: - calc(var(--lineheight) * 1);
  margin-bottom: calc(var(--lineheight) * 1.5);
  padding: 0 calc(var(--lineheight) * 1);
  padding-top: calc(var(--lineheight) * .5);
  text-align: right;
}
.modal-footer {
padding: calc(var(--lineheight) * 1);
background-color: var(--sepia);
border-top: none;
border-bottom-right-radius: var(--br);
border-bottom-left-radius: var(--br);
}

.modal-content figure, .modal-content figure picture, .modal-content figure picture img {
  border-radius: 0;
}

/* ####################################################### @ hover ####################################################### */
@media (hover: hover) {

  .fhnav .nav-link,
  .btn,
  nav.bread ol li a,
  .reference a .reference_icon,
  .reference a img,
  .modal-header .fh_btn_close,
  .footer_contacts .footer_contact,
  .toast-header button:hover i {
    -webkit-transition: all 0.666s cubic-bezier(0.25, 0.1, 0.25, 1);
    transition: all 0.666s cubic-bezier(0.25, 0.1, 0.25, 1);
  }

  .toast-header button:hover i {
    color: var(--persianorange);
  }

  .footer_contacts .footer_contact.footer_contact_mail:hover {background: var(--asparagus70);}
  .footer_contacts .footer_contact.footer_contact_whatsapp:hover {background: var(--asparagus85);}
  .footer_contacts .footer_contact.footer_contact_insta:hover {background: var(--asparagus);}


  .modal-header .fh_btn_close:hover {
    color: var(--persianorange);
  }

  .reference a img, .reference_link  {
    transform: scale(1);
  }

  .reference a:hover img, .reference_link:hover img  {
    transform: scale(1.05);
  }

  .reference a:hover .reference_icon {
    background-color: var(--sepia);
  }

  .fhnav .nav-link,
  .fhnav .nav-link:link,
  .fhnav .nav-link:active,
  .fhnav .nav-link:visited  {
    color: inherit;
  }

  .fhnav .nav-link:hover,
  .fhnav .nav-link:focus,
  .fhnav .nav-link:active:focus,
  .fhnav .nav-link:active:hover,
  .fhnav a.nav-link.active,
  .fhnav a.nav-link.active:hover  {
    color: var(--asparagus)
  }

  .btn-primary,
  .btn-primary:link,
  .btn-primary:active,
  .btn-primary:visited  {
    color: var(--sepia)!important;
    border: 2px solid var(--asparagus)!important;
    background-color: var(--asparagus)!important;
  }

  .btn-primary:hover,
  .btn-primary:focus,
  .btn-primary:active:focus,
  .btn-primary:active:hover {
    color: var(--sepia)!important;
    border: 2px solid var(--teagreen)!important;
    background-color: var(--teagreen)!important;
  }


  body.wurst .btn-primary,
  body.wurst .btn-primary:link,
  body.wurst .btn-primary:active,
  body.wurst .btn-primary:visited  {
    color: var(--black)!important;
    border: 2px solid var(--gray)!important;
    background-color: var(--gray)!important;
  }

  body.wurst .btn-primary:hover,
  body.wurst .btn-primary:focus,
  body.wurst .btn-primary:active:focus,
  body.wurst .btn-primary:active:hover {
    color: var(--black)!important;
    border: 2px solid var(--white)!important;
    background-color: var(--white)!important;
  }


  nav.bread ol li a,
  nav.bread ol li a:link,
  nav.bread ol li a:active,
  nav.bread ol li a:visited {
    color: inherit;
  }

  nav.bread ol li a:hover,
  nav.bread ol li a:focus,
  nav.bread ol li a:active:focus,
  nav.bread ol li a:active:hover {
    color: var(--sepia);
  }

}




@media (min-width: 576px) {
  picture.image.cover {--w: 1;--h: 1;}
  .footer_contacts .footer_contact a .inner, .footer_contacts.axel .footer_contact.axel_fact .inner {padding-bottom: calc(var(--lineheight) * 3.5);}
}


@media (min-width: 768px) {
  picture.image.cover {--w: 5;--h: 4;}
  picture.image.carousel_image {--w: 5;--h: 4;}
  .footer_contacts .footer_contact a .inner, .footer_contacts.axel .footer_contact.axel_fact .inner {width: 80%;margin: auto;}
  section.blox .item:nth-child(3) {
    display: block;
  }
}


@media (min-width: 992px) {
  .pagecover {padding-top: 66px;}
  .container-xxl {--bs-gutter-x: 1.5rem; width: 960px; max-width: 960px!important; padding-right: calc(var(--bs-gutter-x) * .5);padding-left: calc(var(--bs-gutter-x) * .5);}
  body.wurst .pagecover {padding-top: 0;}
  body.wurst .pagecover .container-xxl {width: 100%!important; max-width: unset!important;}
  picture.image.cover {--w: 5;--h: 3;}
  picture.image.carousel_image {--w: 5;--h: 3;}
  figure.picture_holder.picture_holder_cover, picture.image.cover, picture.image.cover img, .pagecover .caption, .pagecover .cp_caption {border-radius: var(--br);}
  body.wurst figure.picture_holder.picture_holder_cover, body.wurst picture.image.cover, body.wurst picture.image.cover img, body.wurst .pagecover .caption, body.wurst .pagecover .cp_caption {border-radius: 0;}
  .footer_contacts .footer_contact a .inner, .footer_contacts.axel .footer_contact.axel_fact .inner {width: 66%;padding-bottom: calc(var(--lineheight) * 4);}


}


@media (min-width: 1200px) {
  picture.image.carousel_image {--w: 5;--h: 2;}
  .footer_contacts .footer_contact a .inner, .footer_contacts.axel .footer_contact.axel_fact .inner {width: 50%;padding-bottom: calc(var(--lineheight) * 4.5);}
}


@media (min-width: 1400px) {
  picture.image.carousel_image {--w: 3;--h: 1;}
}
