/* 
 Theme Name:   Allegiant Child
 Theme URI:    
 Description:  Customizations for Allegiant Theme
 Author:       Oliver Roth
 Author URI:   
 Template:     allegiant
 Version:      1.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html

 /* == Add your own styles below this line ==
--------------------------------------------*/

:root {
  --font-stack: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, "Liberation Sans", Arial, sans-serif;
  --font-base: 'Noto sans', var(--font-stack);
  --font-header: Yantramanav, var(--font-stack);
  --font-display: Overlock, var(--font-stack);
  --secondary-color: hsl(240 4% 40%);
  --page-padding-inline: 3vw;
  /*--text-shadow: 0 1px 2px hsl(0 0% 0% / 25%);*/
  --text-shadow: 0 .056em .111em hsl(0 0% 0% / 25%); 
  --img-shadow: 0 0.25em 1em 0 hsl(0 0% 0% / 10%);
  /*--clr-deco: hsl(0 30% 35% / 20%);*/
  --clr-deco: hsl(0 15.15% 87%);
  --drop-shadow-header: 0 0 0.5em hsl(0 0% 0% / 80%);
}

::selection {
  color: #fff;
  background-color: hsl(0 30% 35%);
}

::-moz-selection {
  color: #fff;
  background-color: hsl(0 30% 35%);
}

body {
  color: #666;
  font: clamp(1rem, calc(1rem + ((1vw - 0.235rem) * 0.1953)), 1.125rem)/1.6 var(--font-base);
  background-image: none !important;
  background-color: hsl(0 30% 35% / 40%);
}

body .secondary-color-bg {
  background-color: var(--secondary-color);
}

.topbar {
  border: none;
}

.container {
  padding-inline: var(--page-padding-inline);
}

.header {
  padding-block: 0 2em;
  border: none;
}

.header .container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1em;
}

.header .logo {
  padding-block: 1em 0.75em;
  max-width: none;
}

.header .logo img {
  border-radius: 0;
  min-width: 210px;
  aspect-ratio: 600 / 107;
  box-shadow: none;
}

.header .title {
  display: block;
  font-size: 2em;
  margin: 0;
  font-family: var(--font-header);
  /*font-size-adjust: 0.5;*/
  font-weight: 300;
  line-height: 1.1;
  letter-spacing: .025em;
  width: max-content;
}

.header .title a {
  color: currentColor;
  text-decoration: none;
}

.header .title small {
  display: block;
  font-size: .4em;
  text-transform: uppercase;
  font-weight: 300;
  letter-spacing: .075em;
}

.header .clear {
  display: none;
}

.menu-main {
  padding: 0;
  margin-inline: auto 0;
  text-align: right;
  flex: 1 0 auto;
  align-self: stretch;
  display: flex;
  align-items: stretch;
  justify-content: end;
}

@media screen and (max-width: 800px) {
  .menu-main {
    display: none;
  }
}

.menu-main li {
  float: none;
  display: inline-flex;
  align-items: center;
  padding-block: 0.75em 0.75em;
}

.menu-main li a {
  display: inline;
}

:is(.menu-main, .menu-mobile) li a {
  text-decoration: none !important;
}

:is(.menu-main, .menu-mobile) li a:is(:hover, :focus) {
  color: #7b4444;
}

:is(.menu-main, .menu-mobile)  li.current-menu-item {
    background-color: rgb(123,68,68,.4);
}

:is(.menu-main, .menu-mobile)  li.current-menu-item a {
  /*color: rgba(123, 68, 68, 0.6);*/
  color: #fff;
  cursor: default;
  text-shadow: var(--text-shadow);
  -webkit-text-stroke: 0.005em currentColor;
  -text-stroke: 0.005em currentColor;
}

.menu-mobile-open {
  width: fit-content;
  margin: 0;
  letter-spacing: -.4em;
}

.menu-mobile-open::before {
  content: "\f228";
  position: static; 
  width: min-content;
  border: none;
  font-family: 'dashicons';
  font-size: 3em;
  line-height: .25;
}

.menu-mobile-open::after {
  content: none;
}

.menu-mobile-close {
  /*visibility: hidden;
  opacity: 0;
  position: fixed;*/
  color: currentColor;
  margin: 0;
  top: 1em;
  right: 1em;
  width: fit-content;
  height: fit-content;
  /*z-index: 999999;
  background: transparent;*/
  border: none;
  /*cursor: pointer;*/
  outline: revert;
  /*-moz-transition: 0.3s all;
  -webkit-transition: 0.3s all;
  transition: 0.3s all;*/
  padding: 0;
}

.menu-mobile-close::before {
  transform: none;
  content: "\f335";
  font-family: dashicons;
  font-size: 4em;
  line-height: normal;
  border: none;
  position: static;
  background-color: transparent !important;
  margin: 0;
  padding: 0;
}

.menu-mobile-close::after {
  content: normal;
}
  
.slider {
  max-width: 1600px;
  margin-inline: auto;
  border-radius: 2em;
  overflow: hidden;
  margin-block: -2em;
  margin-inline: var(--page-padding-inline);
  translate: calc(-50% - var(--page-padding-inline));
  left: 50%;
  box-shadow: var(--img-shadow);
}

.slider-slides {
  min-height: 27.75vw;
}

.slider-slides .slide-body {
  left: 0;
  width: 100%;
  top: auto;
  bottom: 0;
  padding-block: 8em;
  background: linear-gradient(0deg,hsl(0,0%,0%,.4) 0%,hsl(0,0%,0%,.25) 50%,transparent 100%);
}

.slider-slides .slide-body .slide-caption {
  overflow: visible;
  color: #fff;
  width: fit-content;
  float: none;
  padding-block: 0;
  margin-inline: auto;

  transition-duration: 2s;
  /*transform: translateY(5.625em);*/
}

.slide-caption strong {
}

.slider-slides .slide-content {
  font-family: var(--font-display);
  font-size: clamp(2.4em, calc(2.4rem + ((1vw - 0.225em) * 6.6667)), 4.1em);
  letter-spacing: .125ch;
  line-height: normal;
  text-align: center;
  font-size-adjust: none;
  padding: 0;
  margin: 0;
  text-shadow: var(--text-shadow);
  filter: drop-shadow(var(--drop-shadow-header));
}

.slider-slides .cycle-slide-active .slide-content {
  /*letter-spacing: 1em;*/
}

.slider-slides .slide-content:after {
  background: transparent;
  bottom: auto;
  top: .6em;
  left: 0;
  width: auto;
  height: auto;
  content: "\301C";
  transform: scale(4, .9) skewX(-20deg);
  transform-origin: left;
  display: block;
  translate: -.5em;
  
  content: normal;
}

.slider-prev, .slider-next {
  position: absolute;
  width: fit-content;
  height: fit-content;
  /*font-size: clamp(10em, calc(10rem + ((1vw - 0.225em) * 19.0476)), 20em);*/
  line-height: normal;
  margin-top: 0;
  top: 0;
  text-align: center;
  color: #fff;
  z-index: 999;
  cursor: pointer;
  padding: 0;
  height: 100%;
  display: flex;
  align-items: center;
  /*font-weight: 300;
  font-family: "Open Sans",sans-serif;*/
  
  font-family: dashicons;
  font-size: clamp(6em, calc(6rem + ((1vw - 0.225em) * 15.6863)), 10em);
}

:is(.slider-prev, .slider-next)::before,
:is(.slider-prev, .slider-next)::after {
  all: unset;
  display: block;
  scale: .7 1;
  text-shadow: var(--text-shadow);
}

.slider-prev {
  /*left: -.05em;*/
  left: -0.3em;
}

.slider-prev::before {
  /*content: "\2039";*/
  content: "\f341"; /* dashicon "dashicons-arrow-left-alt2" */
}

.slider-next {
 /* right:-.05em;*/
  right: -0.3em;
}

.slider-next::before {
  /*content: "\203A";*/
  content: "\f345"; /* dashicon "dashicons-arrow-right-alt2" */
}

.slider .slider-prev:focus::before, 
.slider .slider-prev:focus::after, 
.slider .slider-next:focus::before, 
.slider .slider-next:focus::after {
    background-color: transparent;
}

.slider:hover .slider-prev,
.slider:focus-within .slider-prev,
.slider:hover .slider-next,
.slider:focus-within .slider-next {
    opacity: .85;
}

.tagline {
  padding-block: calc(3vw + 1em) 3vw;
}

.tagline h1 {
  font-size: 1.2em;
  margin: 0;
  font-family: var(--font-header);
  /*font-size-adjust: 0.5;*/
  font-weight: 400;
}

.tagline h1 span {
  white-space: nowrap;
}

.pagetitle {
  max-width: 1600px;
  /* background-repeat: no-repeat; */
  background-color: rgb(123,68,68,.1);
  margin-inline: var(--page-padding-inline);
  padding: 0;
  height: clamp(8em, calc(8rem + ((1vw - 0.225em) * 44.6078)), 19.375em);
  display: grid;
  place-items: center;
  border-radius: 2em;
  margin-block: -2em;
  translate: calc(-50% - var(--page-padding-inline));
  left: 50%;
  box-shadow: var(--img-shadow);
}

.pagetitle .pagetitle-title {
  font-family: var(--font-display);
  font-size-adjust: none;
  font-size: clamp(2.2em, calc(2.2rem + ((1vw - 0.225em) * 3.1373)), 3em);
  font-weight: 600;
  letter-spacing: .1ch;
  text-shadow: var(--text-shadow);
  filter: drop-shadow(var(--drop-shadow-header));
}

.breadcrumb {
  visibility: collapse;
  height: 0;
  margin: 0;
}

.main {
  overflow: visible;
  padding: 4em 10px 4em;
}

.main :not(h1, h2, h3, h4, h5, h6, blockquote, pre, code, .focus) {
  hyphens: auto;
  /*hyphenate-limit-chars: 6 5 5; 
  text-align: justify;*/
}

.home .main {
  display: none;
}

h1, h2, h3, h4, h5, h6 {
  color: hsl(0 0% 50%);
  line-height: 1.2;
  font-weight: 600;
  margin: .75em 0;
}

h1, .h1,
h2, .h2, 
h3, .h3, 
blockquote {
  font-family: var(--font-header);
  /*font-size-adjust: 0.5;*/
  font-weight: 400;
}

h1, .h1 {
  font-size: 2.5em;
  text-wrap: balance;
}

h2, .h2 {
  font-size: 1.75em;
  text-wrap: balance;
}

h3, .h3 {
  font-size: 1.5em;
  text-wrap: balance;
}

h4, .h4 {
  font-size: 1.25em;
}

h5, .h5 {
  font-size: 1.1em;
}

h6 {
  font-size: 1.0em;
}

.header-check :is(h1, h2, h3, h4, h5, h6)::before {
  /*content: "\2713  ";*/
  color: var(--clr-deco);
  font-weight: normal;
  content: "\f147";
  font-family: dashicons;
  vertical-align: -.275em;
  line-height: 0;
  font-size: 1.5em;
  margin-left: -0.5em;
}

ul li, ol li {
  list-style: revert;
  list-style-position: revert;
  margin: revert;
}

ul:not(.menu-main) {
  list-style-type: "\273D";
  padding-left: .8em;
}

ul:not(.menu-main) ul {
  list-style: "\00BB";
  padding-left: .65em;
  margin-bottom	0;
}

ul:not(.menu-main) > li {
  padding-left: .3em;
}

ul ::marker {
  color: #7b4444;
  color: rgba(123, 68, 68, 0.5);
}

ul ul ::marker {
  font-size: 1.2em;
  line-height: 1;
}

p, address {
  margin: revert;
}

a:is(:link, :visited), 
.menu-footer li a {
  color: currentColor;
  text-decoration: underline;
  text-underline-offset: .2em;
  transition: all .2s;
}

a:is(:link, :visited):hover,
.menu-footer li a:hover {
  text-decoration-color: hsl(0, 0%, 0%, 0);
}

a:is(:link, :visited) {
  color: rgb(123,68,68,.75)
}

a:is(:link, :visited):is(:hover, :focus) {
  color: rgb(123,68,68)
}

h4, h5, h6, strong, b {
  font-weight: 600;
}

img {
  border-radius: .5em;
  box-shadow: var(--img-shadow);
}

html body .hidden,
.header .title.hidden {
  display: none;
}

.vertical-spacer {
  padding-block: 1.6em;
  margin: 0;
}

.vertical-spacer.line {
  color: var(--clr-deco);
  position: relative;
}
  
.vertical-spacer.line::before {
  content: " ";
  display: block;
  width: 60%;
  margin-inline: auto;
  height: 3px;
  background-color: currentColor;
  border-radius: 50%;
  max-width: 710px;
}

.vertical-spacer.line::after {
  content: "\2619"; /* Unicode \2619 */
  font-size: 3em;
  color: currentColor;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -55%);
  line-height: 1;
  text-shadow:
       3px 3px 0 #fff,
     -3px -3px 0 #fff,  
      3px -3px 0 #fff,
      -3px 3px 0 #fff,
       3px 3px 0 #fff;
}

.vertical-spacer.line:nth-of-type(evenn)::after {
  content: "\2619"; /* Unicode \2767 */
  transform: translate(-50%, -55%) scaleX(-1);
}

.indent-inline {
  padding-inline: 2vw;
}

@media screen and (min-width: 800px) {
  .indent-inline {
    max-width: 75ch;
    margin-inline: auto;
  }
}

.leading {
  font-family: var(--font-header);
  /*font-size-adjust: 0.5;*/
  font-size: 1.3em;
  line-height: 1.3;
  color: hsl(0 0% 50%);
  margin: 0 0 1.6em;
  opacity: 1;
  /* override gca-column */
  clear: none !important;
  overflow: visible !important;
}

.focus, blockquote {
  font-family: var(--font-header);
  /*font-size-adjust: 0.5;*/
  font-size: 1.4em;
  line-height: 1.3;
  text-align: center;
  text-wrap: balance;
  color: hsl(0 0% 50%);
  display: block;
  position: relative;
  background: transparent;
  margin: 1.6em 0;
  padding-block: 1.25em;
  padding-inline: 1em;
  border-radius: 2em;
  border-block: 2px solid rgba(123, 68, 68, 0.2);
  border-inline: 1px solid rgba(123,68,68,.1);
  /*background: linear-gradient(0deg,hsl(0,0%,0%,.05) 0%,hsl(0,0%,0%,.025) 50%,hsl(0,0%,0%,.0125) 100%);*/
  background: linear-gradient(0deg,hsl(0 28.8% 37.45% / .05) 0%,hsl(0 28.8% 37.45% / .025) 50%,hsl(0 28.8% 37.45% / .0125) 100%);
}

.focus blockquote {
  padding: 0;
  margin: 0;
}

.main :is(.focus, blockquote) * {
  text-align: center;
}

:is(.focus, blockquote) strong {
  font-weight: 500;
}

:is(.focus, blockquote) > :first-child {
  margin-top: 0;
}

:is(.focus, blockquote) > :last-child {
  margin-bottom: 0;
}

.page-content > :is(.focus:first-child, blockquote:first-child) {
	margin-top: 0;
}

.main :is(.focus.unset, .focus.unset *) {
  font-family: inherit;
  text-align: unset;
  font-size: inherit;
}

.focus.unset img {
  /*margin-bottom: 0*/
}

blockquote {
  font-family: var(--font-display);
  font-size-adjust: none;
  font-style: normal;
  font-size: 1.75em;
}

blockquote em {
  font-family: var(--font-base);
  font-size-adjust: none;
  font-weight: 400;
  font-style: italic;
  font-size: .65em;
}

blockquote em::before {
  content: "—  ";
}

.alignleft, img.alignleft {
  margin-right: 30px;
}

.alignright, img.alignright {
  margin-left: 30px;
}

@media screen and (max-width: 800px) {
  img:is(.aligncenter, .alignleft, .alignright),
  .alignleft, .alignright,
  :is(.aligncenter, .alignleft, .alignright) img {
    min-width: 100%;
    max-width: 100%;
    display: block;
    margin-inline: auto;
    float: none;
    
    min-width: 70%;
    max-width: 70%;
  }
}

.subfooter .column {
  width: auto;
  float: none;
  margin-inline: 0;
}

.subfooter h2 {
  font-size: 1.8em;
}

.subfooter #text-2 {
  text-align: center;
  margin-inline: auto;
  margin-block: 0 3em;
}

.subfooter .leading {
  margin-bottom: 1em;
  color: currentColor;
}

.footer {
  overflow: visible;
  padding-block: 4em;
}

.footer::before {
  content: " ";
  position: absolute;
  display: block;
  top: 0;
  left: 50%;
  translate: -50%;
  width: 60%;
  margin-inline: auto;
  height: 3px;
  background-color: currentColor;
  border-radius: 50%;
  max-width: 710px;
}

.footer::after {
  content: "\2766"; /* Unicode \2766 */
  font-size: 3em;
  color: currentColor;
  position: absolute;
  left: 50%;
  top: 0;
  /*transform: translate(-50%, -55%);*/
  transform: translate(-50%,-50%) rotate(90deg) scale(-1);
  line-height: 1;
  text-shadow: 
    3px 3px 0 var(--secondary-color), 
    -3px -3px 0 var(--secondary-color), 
    3px -3px 0 var(--secondary-color), 
    -3px 3px 0 var(--secondary-color), 
    3px 3px 0 var(--secondary-color);
}

.menu-footer li a {
  font-weight: 500;
}

.menu-footer .menu-link {
  text-align: center;
}

/* ACHTUNG! Trick, um zentrierte Inhakltsblöcke zu erzeugen. Spaltentyp (Anzahl) ist egal, wichtig ist die Angabe "style="center". */
.columns-container.center {
  width: auto;
  float: none;
}

@media screen and (min-width: 800px) {
  .columns-container.center {
    display: flex;
    width: fit-content;
    margin-inline: auto;
    align-items: center;
  }
}


.pb-special {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  /*grid-gap: 1em;*/
  justify-items: stretch;
  padding: 0;
  font-size: inherit;
  /* override gca-column */
  overflow:	visible !important;
}

@media screen and (max-width: 800px) {
  .pb-special {
    display: flex;
    flex-direction: column;
    gap: 0;
  }
}

.pb-special > div:first-child {
  grid-column: 1 /4;
  grid-row: 1 / 4;
}


.pb-special > div:nth-child(2) {
  grid-column: 3 / 6;
  grid-row: 3 / 5;
  z-index: 1;
}

.pb-special > div:last-child {
  grid-column: 5 / 8;
  grid-row: 1 / 4;
}

.pb-special > div {
  box-shadow: 0 0.25em 10em 0 hsl(0 0% 0% / .2);
  position: relative;
  border-radius: .5em;
  overflow: hidden;
  width: fit-content;
  height: fit-content;
}

@media screen and (max-width: 800px) {
  .pb-special > div {
    max-width: 70%;
    z-index: unset !important;
  }
  .pb-special > div + div {
    margin-top: -1.5em;
  }
  
  .pb-special > div:nth-child(even) {
  	align-self: end;
  }
}

.pb-special > div > p:last-child {
  text-align: center;
  position: absolute;
  top: 0;
  color: #fff;
  font-weight: 400;
  font-size: clamp(1.1em, calc(1.1rem + ((1vw - 0.225em) * 2.3529)), 1.7em);
  text-shadow: var(--text-shadow);
  width: 100%;
  background: linear-gradient(180deg,hsl(0,0%,0%,.4) 0%,hsl(0,0%,0%,.25) 20%,transparent 50%);
  height: 100%;
  display: grid;
  align-items: start;
  padding-block: .5em;
  box-sizing: border-box;
}

@media screen and (min-width: 800px) {
  .pb-special > div:nth-child(2) > p:last-child {
    top: auto;
    bottom: 0;
    background: linear-gradient(0deg,hsl(0,0%,0%,.4) 0%,hsl(0,0%,0%,.25) 20%,transparent 50%);
    align-items: end;
  }
}

.pb-special :is(p, img) {
  margin: 0;
}

@media screen and (max-width: 800px) {
  .pb-special :is(p, img) {
    max-width: 100%;
  }
}

.pb-special img {
  width: 100%;
  box-shadow: none;
  aspect-ratio: 165 / 104;
  /*max-width: 483px;*/
}

.pointing-index-right {
  /* override gca-column */
  clear: none !important;
  overflow: visible !important;
}

.pointing-index-right h2::before {
  content: "\261B  ";
  color: var(--clr-deco);
  font-size: 1.6em;
  line-height: 0;
  vertical-align: -0.1em;
}