* {
  margin: 0;
  padding: 0;
}

:root {
  --mainsize: .9rem;
  --lineheight: calc(var(--mainsize) * 1.45);
  --br: calc(var(--mainsize) * .5);
}


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: effra-cc, sans-serif;
  font-weight: 400;
  font-style: normal;
  color: var(--colorfont);
  background: var(--colorbg);
  /*
  background: linear-gradient(180deg,var(--colorbg100) 33%, var(--colorbg0) 100%);
  */
}



.colorfont { color: var(--colorfont);}
.colorbg { color: var(--colorbg);}
.color1 { color: var(--color1);}
.color2 { color: var(--color2);}
.color3 { color: var(--color3);}


.colorfont0 { color: var(--colorfont0);}
.colorbg0 { color: var(--colorbg0);}
.color10 { color: var(--color10);}
.color20 { color: var(--color20);}
.color30 { color: var(--color30);}


.colorfont25 { color: var(--colorfont25);}
.colorbg25 { color: var(--colorbg25);}
.color125 { color: var(--color125);}
.color225 { color: var(--color225);}
.color325 { color: var(--color325);}

.colorfont50 { color: var(--colorfont50);}
.colorbg50 { color: var(--colorbg50);}
.color150 { color: var(--color150);}
.color250 { color: var(--color250);}
.color350 { color: var(--color350);}

.colorfont75 { color: var(--colorfont75);}
.colorbg75 { color: var(--colorbg75);}
.color175 { color: var(--color175);}
.color275 { color: var(--color275);}
.color375 { color: var(--color375);}

.colorfontbg { background: var(--colorfont);}
.colorbgbg { background: var(--colorbg);}
.color1bg { background: var(--color1);}
.color2bg { background: var(--color2);}
.color3bg { background: var(--color3);}

.colorfontbg0 { background: var(--colorfont0);}
.colorbgbg0 { background: var(--colorbg0);}
.color1bg0 { background: var(--color10);}
.color2bg0 { background: var(--color20);}
.color3bg0 { background: var(--color30);}

.colorfontbg25 { background: var(--colorfont25);}
.colorbgbg25 { background: var(--colorbg25);}
.color1bg25 { background: var(--color125);}
.color2bg25 { background: var(--color225);}
.color3bg25 { background: var(--color325);}

.colorfontbg50 { background: var(--colorfont50);}
.colorbgbg50 { background: var(--colorbg50);}
.color1bg50{ background: var(--color150);}
.color2bg50 { background: var(--color250);}
.color3bg50 { background: var(--color350);}

.colorfontbg75 { background: var(--colorfont75);}
.colorbgbg75 { background: var(--colorbg75);}
.color1bg75 { background: var(--color175);}
.color2bg75 { background: var(--color275);}
.color3bg75 { background: var(--color375);}


main {
  padding-bottom: calc(var(--lineheight) * 3);
}

section.default.has_text {
  margin-top: calc(var(--lineheight) * 1.5);
}


.shadow {
  -webkit-box-shadow: 0px 15px 10px -10px var(--colorfont50)!important;
  box-shadow: 0px 15px 10px -10px var(--colorfont50)!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;
}


.uc, .uppercase {
  text-transform: uppercase;
}

h1, h2, h3, h4, h5, h6, .fs-1, .fs-2, .fs-3, .fs-4, .fs-5, .fs-6, .page_title, .rb, h3.accordion-header, .rocabold  {
  font-family: "roca", sans-serif;
  font-weight: 700;
  font-style: normal;
  letter-spacing: .05rem;
}


.roca {
  font-family: roca, sans-serif;
  font-weight: 400;
  font-style: normal;
}

.effrareg {
  font-family: effra-cc, sans-serif;
  font-weight: 400;
  font-style: normal;
}


.effrasemibold, .text p strong {
  font-family: effra-cc, sans-serif;
  font-weight: 600;
  font-style: normal;
}

.effrabold {
  font-family: effra-cc, sans-serif;
  font-weight: 900;
  font-style: normal;
}

.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;}

.ls0 {letter-spacing: 0;}
.ls1 {letter-spacing: .05rem;}
.ls2 {letter-spacing: .075rem;}
.ls3 {letter-spacing: .1rem;}
.ls4 {letter-spacing: .15rem;}
.ls5 {letter-spacing: .2rem;}

.br {
  border-radius: var(--br);
}

.page_header.no_intro {
  margin-bottom: calc(var(--mainsize) * 3);
}

.page_header.no_cover {
  margin: calc(var(--mainsize) * 3) 0;
}

.page_header.no_cover.has_intro {
  margin-bottom: 0;
}

.page_header.no_cover {
  margin: calc(var(--mainsize) * 3) 0;
}

.intro {
  margin-top: var(--lineheight);
  margin-bottom: calc(var(--mainsize) * 3);
  text-transform: uppercase;
}

.page_title {
  text-transform: uppercase;
  line-height: 1;
  color: var(--color2);
  border-color: var(--color2);
  font-size: calc(var(--mainsize) * 3.5);
  margin-bottom: 0;
  border-top: 3px dotted;
  border-bottom: 3px dotted;
  padding-top: calc(var(--lineheight) * .7);
  padding-bottom: 0;
}

.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;
}

.btn {
  outline: none!important;
  box-shadow: none!important;
  border-radius: var(--br);
  font-weight: 900;
  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(--colorbg)!important;
  border: 2px solid var(--color1)!important;
  background-color: var(--color1)!important;
}

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


/* ####################################################### mainnav ####################################################### */

.cm_nav {
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  -webkit-transition: all .666s cubic-bezier(0.25, 0.1, 0.25, 1);
  transition: all .666s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.cm_nav .navbar-brand img.navbar-brand-img {
  height: 15px;
  width: auto;
  display: inline-block;
  vertical-align: middle;
}

.cm_nav .navbar-brand img.cm_logo_round {
  width: auto;
  display: inline-block;
  -webkit-transition: all .666s cubic-bezier(0.25, 0.1, 0.25, 1);
  transition: all .666s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.cm_nav .navbar-brand img.scrolltop {
  height: 55px;
  padding-right: .5rem;
}

.cm_nav .navbar-brand img.scroll {
  height: 25px;
  padding-right: .25rem;
}

.cm_nav .navbar-toggler i.bi-list {
  color: var(--color1);
  font-size: calc(var(--mainsize) * 2.5);
}

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

.cm_nav .navbar-nav {
  padding-top: var(--lineheight);
  text-align: center;
  background-color: var(--color20);
}

.cm_nav .navbar-nav li {
  padding: calc(var(--lineheight) * .35) calc(var(--lineheight) * .125);
}

.cm_nav .navbar-nav li:not(:last-child) {
  border-bottom: 2px dotted var(--color125)

}

.cm_nav .navbar-nav li a.nav-link {
  color: inherit;
  text-transform: uppercase;
  font-family: effra-cc, sans-serif;
  font-weight: 900;
  font-style: normal;
  font-size: calc(var(--mainsize) * 1.5);
  padding-left: 0;
  padding-right: 0;
}

.cm_nav .navbar-nav li a.nav-link.active {
  color: var(--color3);
}

.cm_nav:has(.navbar-collapse.collapse.show) {
  -webkit-box-shadow: 0px 15px 10px -10px var(--colorfont50)!important;
  box-shadow: 0px 15px 10px -10px var(--colorfont50)!important;
}



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



.footer .text_sm a {
  color: var(--colorfont);
}

.footer .footer_bottombar ul {
  list-style: none;
}

.footer .footer_bottombar ul li {
  display: inline-block;
}

footer .footer_bottombar ul li a, footer .footer_bottombar ul li button.no_btn {
  font-weight: 400;
  text-decoration: underline;
}



footer .footer_bottombar ul li:not(:last-child)::after {
  content: ' • ';
  padding: 0 .15rem;
}

footer .container-fluid {
  padding-right: .5rem;
  padding-left: .5rem;
}

footer .links .inner {
  padding: calc(var(--lineheight) * 3) 0;
}

footer .links p {
  line-height: 1;
  font-size: calc(var(--mainsize) * 1.25);
}

footer .links .col-4-special p {
  padding-top: 1rem;
  padding-bottom: .5rem;
  }

footer .links .col-4-special p span {
  padding-top: .5rem;
  border-top: 2px dotted var(--color1);
  border-bottom: 2px dotted var(--color1);
}


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

footer .links a {
  color: inherit;
  text-decoration: none;
}

footer .links .inner img {
  max-width: 50vw;
}
footer .links .col-4-special {
  width: 50%;
}

footer .links .col-4-special:nth-child(3) {
  display: none;
}

footer .footer_middlebar {
  line-height: 1.35;
}

footer .footer_middlebar ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

footer .footer_middlebar ul li a, footer .footer_middlebar a {
  color: inherit;
  text-decoration: none;
}
/* ####################################################### figure picture image ####################################################### */


figure.picture_holder {
  border-radius: var(--br);
  margin-bottom: 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: 66px 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);
}

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);
}

.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);}


/* ####################################################### page cover ####################################################### */

.page_cover.container-xxl {
  width: 100%;
  max-width: unset;
  padding-left: 0;
  padding-right: 0;
  margin-bottom: calc((var(--mainsize) * 3) + 25px);
}

.page_cover.homepage_cover.container-xxl {
  margin-bottom: calc(var(--mainsize) * 2);
}

.page_cover.container-xxl .row {
  margin-left: 0;
  margin-right: 0;
}

.page_cover.container-xxl .row .col {
  padding-left: 0;
  padding-right: 0;
}

.page_cover.container-xxl figure, .page_cover.container-xxl picture, .page_cover.container-xxl img {
  border-radius: 0;
}


.cm_logo_holder {
  position: absolute;
  bottom: -100px;
  left: 0;
  right: 0;
  top: 0;
  height: 100%;
  width: 100%;
  margin: auto;
  background: url("../images/cm_logo.png");
  background-repeat: no-repeat;
  background-size: 100px auto;
  background-position: bottom center;
}

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

.text {
  color: var(--colorfont);
}

.text a, .text_sm a {
  color: var(--color2);
}

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

.text ul:last-child, .text ol:last-child, .text p:last-child, .text p:last-of-type {
  margin-bottom: 0;
}

text.text_sm, .text_sm {
  font-size: calc(var(--mainsize) * .75);
  line-height: 1.2;
}

.text h1, .text h2, .text h3 {
  font-size: calc(var(--mainsize) * 1.5);
  text-transform: uppercase;
  letter-spacing: .05rem;
  line-height: var(--lineheight);
  margin-bottom: calc(var(--lineheight) * .5);
}

.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.maginal {
  border-top: 1px solid var(--colorfont25);
  margin-top: var(--lineheight);
  padding-top: var(--lineheight);
  font-size: calc(var(--mainsize) * .75);
  line-height: 1.2;
  color: var(--colorfont50);
}

.text.maginal a {
  color: var(--colorfont75);
}

.text figure, .text figure img {border-radius: var(--br);}
.text figure img {
  width: 100%;
  height: auto;
  display: block;
  margin: 0;
  -webkit-box-shadow: rgba(0, 0, 0, 0.25) 0px 54px 55px, rgba(0, 0, 0, 0.12) 0px -12px 30px, rgba(0, 0, 0, 0.12) 0px 4px 6px, rgba(0, 0, 0, 0.17) 0px 12px 13px, rgba(0, 0, 0, 0.09) 0px -3px 5px;
  box-shadow: rgba(0, 0, 0, 0.25) 0px 54px 55px, rgba(0, 0, 0, 0.12) 0px -12px 30px, rgba(0, 0, 0, 0.12) 0px 4px 6px, rgba(0, 0, 0, 0.17) 0px 12px 13px, rgba(0, 0, 0, 0.09) 0px -3px 5px;
}

.text p + figure {
  margin-top: calc(var(--lineheight) * 2);
}

.text figure + figure {
  margin-top: calc(var(--lineheight) * 2);
}

.text figure:last-of-type {
  margin-bottom: calc(var(--lineheight) * 2);
}
/* ####################################################### accordion ####################################################### */

.accordion {
--bs-accordion-color: var(--color1);
--bs-accordion-bg: var(--colorbg0);
--bs-accordion-transition:  color 0.5s cubic-bezier(0.25, 0.1, 0.25, 1),
                            background-color 0.5s cubic-bezier(0.25, 0.1, 0.25, 1),
                            border-color 0.15s cubic-bezier(0.25, 0.1, 0.25, 1),
                            box-shadow 0.15s cubic-bezier(0.25, 0.1, 0.25, 1),
                            border-radius 0.15s cubic-bezier(0.25, 0.1, 0.25, 1);
--bs-accordion-border-color: var(--color125);
--bs-accordion-border-radius: 0;
--bs-accordion-inner-border-radius: 0;
--bs-accordion-btn-color: var(--color1);
--bs-accordion-btn-bg: var(--color325);
--bs-accordion-btn-icon-width: 1.25rem;
--bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0);
--bs-accordion-active-color: var(--colorfont);
--bs-accordion-active-bg: var(--color1);
}

.accordion-flush,
.accordion-item,
.accordion-collapse,
.accordion-flush>.accordion-item>.accordion-collapse,
.accordion-flush>.accordion-item>.accordion-header .accordion-button,
.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed {
  border-radius: 0;
}

.accordion-button, .accordion-header {
  border-radius: 0;
}

.accordion-button.collapsed {
  background: transparent;
  border-radius: 0;
  color: var(--color1);
}

.accordion-button:not(.collapsed) {
color: var(--colorbg);
background-color: var(--color1);
box-shadow: none;
border-radius: 0;
}

.accordion-button::after {
  background-image:  url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23eb5e50'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

.accordion-button:not(.collapsed)::after {
  background-image:  url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff1d7'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
}

/* ####################################################### forms ####################################################### */

.form-control {
  color: var(--colorfont);
  background-color: white;
  border: var(--bs-border-width) solid var(--color325);
  border-radius: var(--br);
}


.form-floating > label {
  color: var(--colorfont50);
  background: none;
  background-color: transparent;
}

.form-select {
  color: var(--colorfont);
  background-color: white;
  border: var(--bs-border-width) solid var(--color325);
  border-radius: var(--br);
}

p.is-invalid {
  color: var(--bs-form-invalid-color);
}


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

.page_cover.homepage_cover.container-xxl {
  margin-bottom: calc(var(--mainsize) * 2);
}

.intro.homeintro {
  color: var(--color2);
  border-top: 3px dotted var(--color1);
  border-bottom: 3px dotted var(--color1);
  padding-top: var(--lineheight);
  padding-bottom: calc(var(--lineheight) * .75)
}

.intro.homeintro p {
  margin-bottom: 0;
  line-height: 1.2;
}

.text.hometext {
  color: var(--color2);
}


/* ####################################################### article/articles ####################################################### */


.article_page_cover {
  width: 100%;
  max-width: unset;
  padding-left: 0;
  padding-right: 0;
  margin-bottom: calc((var(--mainsize) * 3) + 25px);
}


.article_page_cover .row {
  margin-left: 0;
  margin-right: 0;
}

.article_page_cover .row .col {
  padding-left: 0;
  padding-right: 0;
}


picture.image.article_image {
  --w: 6;
  --h: 5;
  border-radius: 0;
}

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

picture.image.article_image img {
  border-radius: 0;
}

.page_header.article_page_header.no_intro {
  margin-bottom: calc(var(--mainsize) * 3);
}

.page_header.article_page_header.no_cover {
  margin: calc(var(--mainsize) * 3) 0;
}

.page_header.article_page_header.no_cover.has_intro {
  margin-bottom: 0;
}

.page_header.article_page_header.no_cover {
  margin: calc(var(--mainsize) * 3) 0;
}


.page_title.article_page_title {
  text-transform: uppercase;
  line-height: 1;
  color: var(--color2);
  border-color: unset;
  font-size: calc(var(--mainsize) * 2.5);
  margin-bottom: 0;
  border-top: none;
  border-bottom: none;
  padding-top: 0;
  padding-bottom: 0;
}

.article_intro {
  margin-bottom: var(--lineheight);
}


.card {
  --bs-card-spacer-y: var(--mainsize);
  --bs-card-spacer-x: var(--mainsize);
  --bs-card-title-spacer-y: 0;
  --bs-card-title-color: var(--color2);
  --bs-card-inner-border-radius: var(--br);
  color: var(--colorfont);
  word-wrap: break-word;
  background-color: var(--colorbg);
  border: none;
  border-radius: var(--br);
}

.card figure, .card figure picture, .card figure picture img {
  border-bottom-right-radius: 0!important;
  border-bottom-left-radius: 0!important;
  border-top-right-radius: var(--br);
  border-top-left-radius: var(--br);
}

section.home_news {
  margin-top: calc(var(--mainsize) * 3);
}

section.home_news .row .col:nth-child(3) {display: none;}

/* ####################################################### in the wild ####################################################### */


.inthewild .col:nth-child(8n+1) picture.image {
  --w: 3;
  --h: 2;
}

.inthewild .col:nth-child(8n+2) picture.image {
  --w: 5;
  --h: 4;
}

.inthewild .col:nth-child(8n+3) picture.image {
  --w: 2;
  --h: 3;
}

.inthewild .col:nth-child(8n+4) picture.image {
  --w: 7;
  --h: 5;
}

.inthewild .col:nth-child(8n+5) picture.image {
  --w: 4;
  --h: 5;
}

.inthewild .col:nth-child(8n+6) picture.image {
  --w: 5;
  --h: 3;
}


.inthewild .col:nth-child(8n+7) picture.image {
  --w: 1;
  --h: 1;
}

.inthewild .col:nth-child(8n+8) picture.image {
  --w: 3;
  --h: 4;
}


/* ####################################################### lightbox ####################################################### */



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

.lb-outerContainer {
  background: url(../images/loading.gif) var(--color1);
  background-position: center!important;
  background-repeat: no-repeat!important;
  background-size: 100px auto!important;
  border-radius: var(--br);
  -webkit-box-shadow: 0px 15px 10px -10px var(--colorfont50)!important;
  box-shadow: 0px 15px 10px -10px var(--colorfont50)!important;
}


.lightbox .lb-image {
border: none;
border-radius: var(--br);
}

.lb-dataContainer span.lb-caption {
    font-size: var(--mainsize);
}

.lb-closeContainer, .lb-dataContainer .lb-data .lb-details .lb-number {
  display: none!important;
}

/*
.lb-nav a.lb-prev {
  background: url("../images/chevron-left.svg") left 48% no-repeat;
}

.lb-nav a.lb-next {
  background: url("../images/chevron-right.svg") right 48% no-repeat;
}
*/
/* ####################################################### carousel ####################################################### */

.carousel .overlay {
  position: absolute;
  top:0;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: linear-gradient(0,var(--colorfont90) 5%, var(--colorfont0) 75%);
  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);
}

.carousel_caption_inner h1 {
  margin-bottom: 0;
}

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

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

.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(--color3);
  background-clip: padding-box;
  border: unset;
  border-radius: var(--br);
  border-top: 3px solid var(--color3);
  border-bottom: 3px solid var(--color3);
}

.carousel-control-next-icon {background-image: url("../images/chevron-right.svg");}
.carousel-control-prev-icon {background-image: url("../images/chevron-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%;
}

/* ####################################################### hover ####################################################### */

@media (hover: hover) {

  .btn, footer .links a {-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);}

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

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

  .btn-secondary,
  .btn-secondary:link,
  .btn-secondary:active,
  .btn-secondary:visited {
    color: var(--color3)!important;
    border: 2px solid var(--color3)!important;
    background-color: var(--color30)!important;
  }

  .btn-secondary:active:focus,
  .btn-secondary:active:hover,
  .btn-secondary:hover,
  .btn-secondary:focus {
    color: var(--colorfont)!important;
    background-color: var(--color3)!important;
  }

  footer .links a:hover {
    color: var(--colorbg);
  }

.inthewild figure:hover picture.image img {
  transform: scale(1.075);
  -webkit-transition: transform 0.666s cubic-bezier(0.25, 0.1, 0.25, 1);
  transition: transform 0.666s cubic-bezier(0.25, 0.1, 0.25, 1);
}

}


/* ####################################################### responsive ####################################################### */

@media (min-width: 576px) {
  :root {--mainsize: .9rem;}
  .page_cover picture.image {--w: 5;--h: 4;}
  .page_cover picture.image.article_image {--w: 5;--h: 3;}
  .page_title {font-size: calc(var(--mainsize) * 3.6);}
  .page_cover.container-xxl {margin-bottom: calc((var(--mainsize) * 3) + 35px);}
  .cm_logo_holder {bottom: -110px; background-size: 110px auto;}
  footer .links p {font-size: calc(var(--mainsize) * 1.35);}
  footer .links i {font-size: calc(var(--mainsize) * 2.1);}
  footer .links .inner img {max-width: 45vw;}
}


@media (min-width: 768px) {
  :root {--mainsize: .95rem;}
  .cm_nav .navbar-nav li a.nav-link  {font-size: calc(var(--mainsize) * 1.1);}
  .page_cover picture.image {--w: 5;--h: 3;}
  .page_cover picture.image.article_image {--w: 5;--h: 2.5;}
  .page_title {font-size: calc(var(--mainsize) * 3.8);}
  .page_cover.container-xxl {margin-bottom: calc((var(--mainsize) * 3) + 40px);}
  .cm_logo_holder {bottom: -120px; background-size: 120px auto;}
  footer .links p {font-size: calc(var(--mainsize) * 1.45);}
  footer .links i {font-size: calc(var(--mainsize) * 2.2);}
  footer .links .inner img {max-width: 35vw;}
  footer .links .col-4-special {width: 33.33333333%;}
  footer .links .col-4-special:nth-child(3) {display: block;}
  section.home_news .row .col:nth-child(3) {display: block;}

  /* ################# menu collapse ################# */
  .cm_nav .navbar-nav {padding-top: 0; text-align: left;}
  .cm_nav .navbar-nav li {padding-top: 0; padding-bottom: 0;}
  .cm_nav .navbar-nav li:not(:last-child) {border-bottom: none;}
  .cm_nav .navbar-nav li:not(:first-child) {padding-left: calc(var(--lineheight) * .666);}
  .cm_nav .navbar-nav li a.nav-link {padding-bottom: 0; margin-bottom: 8px; border-top: 2px solid var(--colorfont0); border-bottom: 2px solid var(--colorfont0);}
  .cm_nav .navbar-nav li a.nav-link.active {border-bottom: 2px solid var(--color3); color: var(--color3);}
}


@media (min-width: 992px) {
  :root {--mainsize: 1rem;}
  .cm_nav .navbar-nav li a.nav-link  {font-size: calc(var(--mainsize) * 1);}
  .cm_nav .navbar-brand img {height: 16.5px;}
  .page_cover picture.image {--w: 5;--h: 2;}
  .page_cover picture.image.slider_image {--w: 5;--h: 3;}
  .page_cover picture.image.article_image {--w: 5;--h: 2;}
  .page_title {font-size: calc(var(--mainsize) * 4);}
  .cm_nav .navbar-brand img.scrolltop {height: 60px;}
  .page_cover.container-xxl {margin-bottom: calc((var(--mainsize) * 3) + 45px);}
  .cm_logo_holder {bottom: -130px; background-size: 130px auto;}
  footer .links p {font-size: calc(var(--mainsize) * 1.55);}
  footer .links i {font-size: calc(var(--mainsize) * 2.3);}
  footer .links .inner img {max-width: 30vw;}
}


@media (min-width: 1200px) {
  :root {--mainsize: 1.05rem;}
  .cm_nav .navbar-nav li a.nav-link  {font-size: calc(var(--mainsize) * .95);}
  .cm_nav .navbar-brand img {height: 18px;}
  .page_title {font-size: calc(var(--mainsize) * 4.3);}
  .cm_nav .navbar-brand img.scrolltop {height: 65px;}
  .page_cover.container-xxl {margin-bottom: calc((var(--mainsize) * 3) + 50px);}
  .cm_logo_holder {bottom: -140px; background-size: 140px auto;}
  footer .links p {font-size: calc(var(--mainsize) * 1.65);}
  footer .links i {font-size: calc(var(--mainsize) * 2.4);}
  footer .links .inner img {max-width: 20vw;}
  .page_cover picture.image.article_image {--w: 5;--h: 1.75;}
}


@media (min-width: 1400px) {
  :root {--mainsize: 1.1rem;}
  .cm_nav .navbar-nav li a.nav-link  {font-size: calc(var(--mainsize) * .9);}
  .cm_nav .navbar-brand img {height: 19.5px;}
  .page_cover picture.image {--w: 11;--h: 6;}
  .page_cover picture.image.article_image {--w: 5;--h: 1.25;}
  .page_title {font-size: calc(var(--mainsize) * 4.6);}
  .cm_nav .navbar-brand img.scrolltop {height: 75px;}
  .page_cover.container-xxl {margin-bottom: calc((var(--mainsize) * 3) + 55px);}
  .cm_logo_holder {bottom: -150px; background-size: 150px auto;}
  footer .links .inner img {max-width: 15vw;}
  /* ################# rebuilt page cover container behavior ################# */
  .page_cover.container-xxl {width: unset; max-width: 1320px; padding-right: calc(var(--bs-gutter-x) * .5); padding-left: calc(var(--bs-gutter-x) * .5); margin-top: calc(var(--mainsize) * 3);}
  .page_cover.container-xxl .row {margin-right: calc(-.5 * var(--bs-gutter-x)); margin-left: calc(-.5 * var(--bs-gutter-x));}
  .page_cover.container-xxl .row .col {padding-right: calc(var(--bs-gutter-x) * .5); padding-left: calc(var(--bs-gutter-x) * .5);}
  .page_cover.container-xxl figure, .page_cover.container-xxl picture, .page_cover.container-xxl img, .carousel .overlay  {border-radius: var(--br);}
}
