/*
 Theme Name:   Runbot.co Starter Theme
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Phil Burton
 Author URI:   https://runbot.co
 Template:     generatepress
 Version:      2.0
*/

/* -------------------------------------------------------------------------------
   Variables
---------------------------------------------------------------------------------- */
:root{
    --radius: 0.75rem;
	--mini-radius: 8px;
    --button-radius: 0.75rem;
    --input-radius: 0.75rem;
    --shadow: 0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04); /* Just a basic general shadow */
    
    --site-width: var(--gb-container-width);
    /* --gb-container-width: 100%; --site-wrapper: 100vw; */
    
    /* Gutter */
    --gutter: clamp(1rem, 0.466rem + 2.034vi, 2.5rem);
	--gutter: clamp(1.5rem, -0.759rem + 8.608vw, 10rem);
	--gutter: clamp(1rem, -0.329rem + 5.063vi, 6rem);
	
	
    /* Gap (between columns) */
	--gap-xl: 5rem;
    --gap-l: 3rem;
    --gap-m: 2rem;
    --gap-s: 1.5rem;
    --gap-xs: 1rem;
    
    --gap: var(--gap-m);
    
    /* Space */
    --space-xs: 1rem;
    --space-s: clamp(1.5rem, 1.234rem + 1.013vw, 2.5rem);
    --space-m: clamp(3rem, 2.468rem + 2.025vw, 5rem);
    --space-l: clamp(4.5rem, 3.703rem + 3.038vw, 7.5rem);
	--space-xl: clamp(5rem, 3.006rem + 7.595vw, 12.5rem);
    
    /* Font-Sizes
     * Updated Oct 2025: https://chrisburnell.com/clamp-calculator/?font-size-root=16&size-min=40&size-max=24&viewport-min=420&viewport-max=2000&viewport-units=vi
     * https://theadminbar.com/simple-responsive-font-size-calculator/
     *  */
    --fontsize-jumbo: clamp(4rem, 3.203rem + 3.038vi, 7rem);
    --fontsize-4xl: clamp(3.625rem, 3.127rem + 1.899vw, 5.5rem);
    --fontsize-3xl: clamp(2.25rem, 1.851rem + 1.519vw, 3.75rem);
    --fontsize-2xl: clamp(1.875rem, 1.509rem + 1.392vw, 3.25rem);
    --fontsize-xl: clamp(1.5rem, 1.234rem + 1.013vw, 2.5rem);
    --fontsize-l: clamp(1.25rem, 1.051rem + 0.759vw, 2rem);
    --fontsize-m: clamp(1.125rem, 0.959rem + 0.633vw, 1.75rem);
    --fontsize-s: clamp(1rem, 0.9rem + 0.38vw, 1.375rem);
    --fontsize-xs: clamp(0.875rem, 0.775rem + 0.38vw, 1.25rem);
    --fontsize-2xs: clamp(0.875rem, 0.814rem + 0.233vw, 1rem);
	
	--color-mixin-1: color-mix(in srgb, currentColor 1%, transparent);
	--color-mixin-5: color-mix(in srgb, currentColor 5%, transparent);
	--color-mixin-10: color-mix(in srgb, currentColor 10%, transparent);
	--color-mixin-20: color-mix(in srgb, currentColor 20%, transparent);
	--color-mixin-30: color-mix(in srgb, currentColor 30%, transparent);
	--color-mixin-40: color-mix(in srgb, currentColor 40%, transparent);
	--color-mixin-50: color-mix(in srgb, currentColor 50%, transparent);
	--color-mixin-60: color-mix(in srgb, currentColor 60%, transparent);
	--color-mixin-70: color-mix(in srgb, currentColor 70%, transparent);
	--color-mixin-80: color-mix(in srgb, currentColor 80%, transparent);
	--color-mixin-90: color-mix(in srgb, currentColor 90%, transparent);
}


/* CSS Easings */
:root {
    --elastic-ease-out: linear(
		0, 0.5737 7.6%, 0.8382 11.87%, 0.9463 14.19%, 
		1.0292 16.54%, 1.0886 18.97%, 1.1258 21.53%, 
		1.137 22.97%, 1.1424 24.48%, 1.1423 26.1%, 
		1.1366 27.86%, 1.1165 31.01%, 1.0507 38.62%, 
		1.0219 42.57%, 0.9995 46.99%, 0.9872 51.63%, 
		0.9842 58.77%, 1.0011 81.26%, 1 
	);
    --back-out: linear(
    0 0%, 0.1935 4.37%, 0.3671 8.83%,
    0.521 13.38%, 0.6557 18.04%,
    0.7716 22.82%, 0.869 27.73%,
    0.9488 32.81%, 1.0111 38.08%,
    1.0512 42.81%, 1.0792 47.75%,
    1.0953 52.97%, 1.1 58.55%,
    1.0956 63.36%, 1.0838 68.73%,
    1.0119 90.98%, 1.0029 95.69%, 1 100%
    );
	--smooth: cubic-bezier(0.625, 0.05, 0, 1);
	--smooth-ease: cubic-bezier(.32, .72, 0, 1);
	--bounce: cubic-bezier(0.35, 1.75, 0.6, 1);
	--expo: cubic-bezier(0.87, 0, 0.13, 1);
	
	--spring-elegant-easing: linear(0 0%, .005927 1%, .022466 2%, .047872 3%, .080554 4%, .119068 5%, .162116 6%, .208536 7.000000000000001%, .2573 8%, .3075 9%, .358346 10%, .409157 11%, .45935 12%, .508438 13%, .556014 14.000000000000002%, .601751 15%, .645389 16%, .686733 17%, .72564 18%, .762019 19%, .795818 20%, .827026 21%, .855662 22%, .881772 23%, .905423 24%, .926704 25%, .945714 26%, .962568 27%, .977386 28%, .990295 28.999999999999996%, 1.001426 30%, 1.010911 31%, 1.018881 32%, 1.025465 33%, 1.030792 34%, 1.034982 35%, 1.038155 36%, 1.040423 37%, 1.041892 38%, 1.042662 39%, 1.042827 40%, 1.042473 41%, 1.04168 42%, 1.040522 43%, 1.039065 44%, 1.037371 45%, 1.035493 46%, 1.03348 47%, 1.031376 48%, 1.029217 49%, 1.027037 50%, 1.024864 51%, 1.022722 52%, 1.020631 53%, 1.018608 54%, 1.016667 55.00000000000001%, 1.014817 56.00000000000001%, 1.013067 56.99999999999999%, 1.011422 57.99999999999999%, 1.009887 59%, 1.008462 60%, 1.007148 61%, 1.005944 62%, 1.004847 63%, 1.003855 64%, 1.002964 65%, 1.002169 66%, 1.001466 67%, 1.000848 68%, 1.000311 69%, .999849 70%, .999457 71%, .999128 72%, .998858 73%, .99864 74%, .99847 75%, .998342 76%, .998253 77%, .998196 78%, .998169 79%, .998167 80%, .998186 81%, .998224 82%, .998276 83%, .998341 84%, .998415 85%, .998497 86%, .998584 87%, .998675 88%, .998768 89%, .998861 90%, .998954 91%, .999045 92%, .999134 93%, .99922 94%, .999303 95%, .999381 96%, .999455 97%, .999525 98%, .999589 99%, .99965 100%);
	
    --spring-elegant-easing-light: linear(0 0%, .003894 1%, .014828 2%, .031757 3%, .053732 4%, .079896 5%, .109479 6%, .141786 7.000000000000001%, .176202 8%, .212175 9%, .249219 10%, .286907 11%, .324863 12%, .362763 13%, .400326 14.000000000000002%, .437313 15%, .473521 16%, .508781 17%, .542956 18%, .575932 19%, .607625 20%, .637968 21%, .666915 22%, .694437 23%, .720519 24%, .74516 25%, .76837 26%, .790168 27%, .810581 28.000000000000004%, .829644 28.999999999999996%, .847395 30%, .86388 31%, .879146 32%, .893244 33%, .906226 34%, .918147 35%, .92906 36%, .93902 37%, .948082 38%, .956301 39%, .963727 40%, .970415 41%, .976413 42%, .98177 43%, .986534 44%, .990748 45%, .994457 46%, .997701 47%, 1.000519 48%, 1.002948 49%, 1.005022 50%, 1.006775 51%, 1.008237 52%, 1.009436 53%, 1.010399 54%, 1.011152 55.00000000000001%, 1.011717 56.00000000000001%, 1.012115 56.99999999999999%, 1.012368 57.99999999999999%, 1.012491 59%, 1.012503 60%, 1.012418 61%, 1.01225 62%, 1.012012 63%, 1.011716 64%, 1.011371 65%, 1.010986 66%, 1.010571 67%, 1.010132 68%, 1.009676 69%, 1.009209 70%, 1.008735 71%, 1.00826 72%, 1.007787 73%, 1.00732 74%, 1.006861 75%, 1.006412 76%, 1.005976 77%, 1.005554 78%, 1.005148 79%, 1.004758 80%, 1.004385 81%, 1.00403 82%, 1.003693 83%, 1.003373 84%, 1.003072 85%, 1.002789 86%, 1.002523 87%, 1.002274 88%, 1.002042 89%, 1.001826 90%, 1.001626 91%, 1.001441 92%, 1.00127 93%, 1.001113 94%, 1.000969 95%, 1.000837 96%, 1.000717 97%, 1.000608 98%, 1.000509 99%, 1.00042 100%);
	
    --spring-bouyant: linear(0 0%, .004379 1%, .017027 2%, .037197 3%, .064139 4%, .097098 5%, .135326 6%, .178089 7.000000000000001%, .224667 8%, .274366 9%, .326515 10%, .380476 11%, .435642 12%, .491445 13%, .547353 14.000000000000002%, .602874 15%, .65756 16%, .711 17%, .76283 18%, .812725 19%, .860402 20%, .90562 21%, .948177 22%, .98791 23%, 1.024693 24%, 1.058435 25%, 1.089077 26%, 1.116593 27%, 1.140987 28.000000000000004%, 1.162286 28.999999999999996%, 1.180545 30%, 1.19584 31%, 1.208266 32%, 1.217937 33%, 1.22498 34%, 1.229538 35%, 1.231761 36%, 1.231811 37%, 1.229853 38%, 1.226059 39%, 1.220603 40%, 1.213659 41%, 1.205403 42%, 1.196006 43%, 1.185638 44%, 1.174463 45%, 1.162638 46%, 1.150318 47%, 1.137645 48%, 1.124757 49%, 1.111781 50%, 1.098837 51%, 1.086034 52%, 1.073472 53%, 1.061241 54%, 1.04942 55.00000000000001%, 1.038082 56.00000000000001%, 1.027286 56.99999999999999%, 1.017084 57.99999999999999%, 1.007519 59%, .998624 60%, .990425 61%, .982939 62%, .976176 63%, .970139 64%, .964824 65%, .960222 66%, .956318 67%, .953091 68%, .950518 69%, .94857 70%, .947216 71%, .946423 72%, .946154 73%, .946371 74%, .947035 75%, .948105 76%, .949542 77%, .951304 78%, .953352 79%, .955646 80%, .958146 81%, .960816 82%, .963619 83%, .966522 84%, .96949 85%, .972494 86%, .975505 87%, .978496 88%, .981443 89%, .984323 90%, .987118 91%, .989809 92%, .992382 93%, .994822 94%, .99712 95%, .999265 96%, 1.001252 97%, 1.003076 98%, 1.004733 99%, 1.006221 100%);
    
}

.shadow{
	box-shadow: var(--shadow);
}

/* -------------------------------------------------------------------------------
   Setup
---------------------------------------------------------------------------------- */
*, *::before, *::after {
    box-sizing: border-box;
}

/* Button Reset */
button {
    -webkit-appearance: none;
    border-radius: 0;
    text-align: inherit;
    background: none;
    box-shadow: none;
    padding: 0;
    cursor: pointer;
    border: none;
    color: inherit;
    font: inherit;
}

.screen-reader-text:focus {
    background-color: var(--color-bg);
    border-radius: 15em;
    box-shadow: none;
    clip: auto!important;
    clip-path: none;
    color: var(--color-primary);
    display: block;
    border: none;
    font-size: 64%;
    font-weight: 700;
    letter-spacing: -.02em;
    height: auto;
    left: 1em;
    line-height: normal;
    padding: .5em 1em;
    text-decoration: none;
    top: 1em;
    width: auto;
    z-index: 100000
}

body :focus-visible,
body .wsf-button:focus-visible {
    outline-width: 2px;
    outline-style: solid;
    outline-color: var(--color-primary);
    outline-offset: 2px
}

body .wsf-button:focus-visible,
body .button-accent:focus-visible {
    outline-color: var(--color-primary)
}

body :not(.gb-button,.site-logo a,.wsf-button):focus-visible,
body .mobile-nav-items a:focus-visible,
body a.button-text:focus-visible {
    outline: thin dotted currentcolor;
    outline-color: currentcolor;
    outline-style: dotted;
    outline-width: thin
}

/* Browser Text Selection */
::selection {
  background-color: var(--color-primary-alt);
  color: var(--mouse-icon);
}

::-moz-selection {
   background-color: var(--color-primary-alt);
  color: var(--mouse-icon);
}


body, button, input, select, textarea {
    -webkit-font-smoothing: antialiased;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}

img, source, video {
    height: auto;
    max-width: 100%;
    width: 100%;
    vertical-align: top;
}

select::-ms-expand { display: none; }

body{
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    height: 100vh;
    min-height: 100vh;
    -webkit-tap-highlight-color: transparent;
    -webkit-text-size-adjust: 100%;
    font-feature-settings: 'ss02' 0;
}

/* Headline */
h1, h2, h3, h4, h5, h6, .is-h1, .is-h2, .is-h3, .is-h4, .is-h5, .is-h6 { margin: 0; letter-spacing: -0.02em; margin-bottom: 0.25em; }
/*h1 a, h2 a, h3 a, h4 a, h5 a, h6 a, .is-h1 a, .is-h2 a, .is-h3 a, .is-h4 a, .is-h5 a, .is-h6 a { font-weight: inherit; color:inherit; }
h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover, .is-h1 a:hover, .is-h2 a:hover, .is-h3 a:hover, .is-h4 a:hover, .is-h5 a:hover, .is-h6 a:hover { color:inherit; }*/

h1, .is-h1 { font-size: var(--fontsize-4xl); line-height: 1.05; letter-spacing: -0.08em; }
h2, .is-h2 { font-size: var(--fontsize-3xl); line-height: 1.1; letter-spacing: -0.07em;  }
h3, .is-h3 { font-size: var(--fontsize-2xl); line-height: 1.2; letter-spacing: -0.06em;  }
h4, .is-h4 { font-size: var(--fontsize-xl); line-height: 1.2; letter-spacing: -0.05em; }
h5, .is-h5 { font-size: var(--fontsize-l); line-height: 1.3; letter-spacing: -0.03em; }
h6, .is-h6 { font-size: var(--fontsize-m); line-height: 1.55; letter-spacing: -0.03em; }

.is-p{
    font-family: inherit; /* copy from the body */
    font-size: inherit; /* copy from the body */
    line-height: inherit;
    color: var(--color-text-muted);
    font-weight: 400; /* copy from the body */
    letter-spacing: 0; /* copy from the body */
    margin: 0;
    margin-bottom: 1.5em;
}

b,strong {
    font-weight: 640;
}

code, kbd, tt, var {
    font: var(--fontsize-m) Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
    background-color: color-mix(in srgb, var(--color-text) 10%, transparent);
    border-radius: 0.2em;
    padding: 0 0.2em;
}

/* Button Reset
button {
    -webkit-appearance: none;
    border-radius: 0;
    text-align: inherit;
    background: none;
    box-shadow: none;
    padding: 0;
    cursor: pointer;
    border: none;
    color: inherit;
    font: inherit;
} */

/* -------------------------------------------------------------------------------
   Theme Tweaks
---------------------------------------------------------------------------------- */
.site-header {
    padding-inline: var(--gap);
}

/* Constrain the width of the page if wanted */
.site-wrapper {
    width: 100%;
    max-width: var(--site-wrapper);
    margin-inline: auto;
    background: var(--color-bg);
}

/*
body:not(.wp-admin){
	background-color: var(--color-bg-alt);
}*/

/*@media screen and (min-width: 2560px) {
    .site-wrapper::after {
        content: "";
        display: block;
        width: calc((100% - var(--site-wrapper)) / 2);
        height: 100%;
        background: var(--color-outer-background);
        position: fixed;
        right: 0;
        top: 0;
        z-index: 1;
    }
    .site-wrapper::before {
        content: "";
        display: block;
        width: calc((100% - var(--site-wrapper)) / 2);
        height: 100%;
        background: var(--color-outer-background);
        position: fixed;
        left: 0;
        top: 0;
        z-index: 1;
    }
}*/

/* -------------------------------------------------------------------------------
   Utilities
---------------------------------------------------------------------------------- */
/* Balance headings and elements with .balance class */
:is(h1, h2, h3, h4, h5, h6), .balance {
    text-wrap: balance;
}

/* Use pretty wrapping for body text elements */
p, blockquote, li, .pretty {
    text-wrap: pretty;
}

/* Remove bottom margin from final paragraph */
p:last-child:last-of-type {
    margin-bottom: 0;
}

/* Line Limit */
.line-limit-3, .line-limit-2{
    display: -webkit-box;
    box-orient: vertical;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.line-limit-3{
    line-clamp: 3;
    -webkit-line-clamp: 3;
}

.line-limit-2{
    line-clamp: 2;
    -webkit-line-clamp: 2;
}

/* Icon without fill */
html .icon-nofill svg, html .gb-icon svg, .nofill, .nofill svg{
    fill: none!important;
}

/* No Underline */
.no-ul, .no-ul a{
    text-decoration: none;
}

/* Noselect */
.noselect {
    -webkit-touch-callout: none;
      -webkit-user-select: none;
       -khtml-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;
}

/* Horizontal Divider */
hr, hr.wp-block-separator {
    background-color: var(--color-mixin-10);
    border: 0;
    height: 1px;
    margin-bottom: var(--space-m);
    margin-top: var(--space-m);
}

/* Vertical Text */
.vertical{
    white-space: nowrap;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
}

/* Rotation */
.rotate{
    transform-origin: center;
    animation: rotate 28s linear infinite;
}

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

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

/* Visually Hidden (accessible to screen readers) */
.visually-hidden:not(:focus):not(:active) {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
}

/* Smooth Transition Utility */
.transition {
    transition: all 0.25s ease;
}

/* Stretch Link */
.stretch-link {
    position: relative;
}

.stretch-link a::after {
    content: '';
    position: absolute;
    inset: 0;
}

.stretch-link a:is(:focus-visible)::after {
    outline: 2px solid;
}

.stretch-link a:is(:hover, :focus) {
    outline: none;
}

/* -------------------------------------------------------------------------------
   WSF Customizations
---------------------------------------------------------------------------------- */
/* WSF General Improvements */
.wsf-form textarea{ vertical-align: top; }

/* WSF Required Color */
 .wsf-form .wsf-required-wrapper .wsf-text-danger {
    color: var(--color-mixin-50);
}

/* WSF Invalid Feedback */
.wsf-form.wsf-validated .wsf-field:invalid ~ .wsf-invalid-feedback, .wsf-form.wsf-validated .wsf-field.wsf-invalid ~ .wsf-invalid-feedback, .wsf-form.wsf-validated fieldset[data-wsf-invalid] ~ .wsf-invalid-feedback, .wsf-form.wsf-validated [role="radiogroup"][data-wsf-invalid] ~ .wsf-invalid-feedback, .wsf-form.wsf-validated [data-select-min-max]:invalid ~ .wsf-invalid-feedback, .wsf-form.wsf-validated [data-checkbox-min-max]:invalid ~ .wsf-invalid-feedback, .wsf-form.wsf-validated .wsf-input-group:has(.iti .wsf-field:invalid) ~ .wsf-invalid-feedback, .wsf-form .wsf-validated .wsf-field:invalid ~ .wsf-invalid-feedback, .wsf-form .wsf-validated .wsf-field.wsf-invalid ~ .wsf-invalid-feedback, .wsf-form .wsf-validated fieldset[data-wsf-invalid] ~ .wsf-invalid-feedback, .wsf-form .wsf-validated [role="radiogroup"][data-wsf-invalid] ~ .wsf-invalid-feedback, .wsf-form .wsf-validated [data-select-min-max]:invalid ~ .wsf-invalid-feedback, .wsf-form .wsf-validated [data-checkbox-min-max]:invalid ~ .wsf-invalid-feedback, .wsf-form .wsf-validated .wsf-input-group:has(.iti .wsf-field:invalid) ~ .wsf-invalid-feedback{
	display: block;
	padding: 0.15rem 0.5rem;
	width: fit-content!important;
	border-radius: 0 0 var(--mini-radius) var(--mini-radius);
	margin-top: 0;
	letter-spacing: 0.02em;
	font-size: 11px;
}

/* WSF Checkbox (Default) */
.wsf-field-wrapper[data-type="checkbox"] .wsf-label{
	margin-bottom: 0.5rem;
}

.wsf-form input[type=checkbox]{
	--wsf-field-checkbox-size: 24px;
	--wsf-field-checkbox-check-width: 0.25em;
	--wsf-field-checkbox-check-height: 0.5em;
	--wsf-field-checkbox-check-size: 2px;
}
.wsf-form input[type=checkbox].wsf-field{
	margin-top: -2px;
	border-radius: var(--mini-radius);
	color: var(--color-text);
	border: 1px solid var(--color-mixin-20)!important;
}

/* WSF Checkbox Button */
.wsf-field-wrapper[data-type="checkbox"]:has(.wsf-field.wsf-button) label.wsf-label:first-child + div{
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.wsf-form input[type=checkbox].wsf-field.wsf-button + label.wsf-label{
	font-family: var(--gp-font--geist-mono);
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    white-space: nowrap;
    border-radius: var(--mini-radius);
    padding: 0.25rem 0.75rem;
	transition: all 0.2s var(--smooth-ease);
}

@media screen and (min-width: 1025px) {
    .wsf-form input[type=checkbox].wsf-field.wsf-button + label.wsf-label:active{
		transform: scale(0.9)
	}
}

/*.wsf-form input[type=checkbox].wsf-field:checked::after{
	border: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 24 24'%3E%3C!-- Icon from Pixelarticons by Gerrit Halfmann - https://github.com/halfmage/pixelarticons/blob/master/LICENSE --%3E%3Cpath fill='%23ffffff' d='M18 6h2v2h-2zm-2 4V8h2v2zm-2 2v-2h2v2zm-2 2h2v-2h-2zm-2 2h2v-2h-2zm-2 0v2h2v-2zm-2-2h2v2H6zm0 0H4v-2h2z'/%3E%3C/svg%3E");
	background-size: 100%;
	background-position: center center;
	height: 100%;
	width: 100%;
	transform: unset;
}*/

/* WSF Radio Button */
.wsf-field-wrapper[data-type="radio"]:has(.wsf-field.wsf-button) label.wsf-label:first-child + div{
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.wsf-form input[type=radio].wsf-field.wsf-button + label.wsf-label{
	font-family: var(--gp-font--geist-mono);
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.02em;
    text-transform: uppercase;
    white-space: nowrap;
    border-radius: var(--mini-radius);
    padding: 0.25rem 0.75rem;
	transition: all 0.2s var(--smooth-ease);
	border: none;
}

@media screen and (min-width: 1025px) {
    .wsf-form input[type=radio].wsf-field.wsf-button + label.wsf-label:active{
		transform: scale(0.9)
	}
}

/* WSF Button */
button.wsf-button-full{
	width: 100%!important;
}

.wsf-form button.wsf-button{
	font-family: inherit;
  font-weight: 640;
	padding: 0.6em 1em 0.6em 1em;
}

/* WSF Hover Border on invalid fields */
.wsf-form.wsf-validated input.wsf-field:invalid{
	transition: border-color 0.3s ease;	
}

.wsf-form.wsf-validated input.wsf-field:invalid:hover,
.wsf-form.wsf-validated select.wsf-field:invalid:hover,
.wsf-form.wsf-validated textarea.wsf-field:invalid:hover{
	border-color: var(--color-error)!important;
}

.wsf-form.wsf-validated input.wsf-field:invalid:focus,
.wsf-form.wsf-validated select.wsf-field:invalid:focus,
.wsf-form.wsf-validated textarea.wsf-field:invalid:focus{
	box-shadow: 0 0 0 var(--wsf-field-box-shadow-width-focus) var(--color-error)!important;
}

/* WSF Label */
.wsf-form label.wsf-label{
	text-transform: uppercase;
	letter-spacing: 0.02em;
}

/* Remove Margin bottom of button */
.wsf-form .wsf-field-wrapper:last-child{
	margin-bottom: 0;
}

/* Selectbox first option / unselected */
.wsf-form select.wsf-field:invalid {
	color: var(--color-mixin-30);
}

/* -------------------------------------------------------------------------------
   Accordion
---------------------------------------------------------------------------------- */
body:not(.editor-styles-wrapper) .gb-accordion__content {
    transition: color 0.3s ease, max-height .7s cubic-bezier(.2,1,.22,1)!important;
}

body:not(.editor-styles-wrapper) .gb-accordion__content>div {
    will-change: opacity;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity .5s cubic-bezier(.2,1,.22,1) , transform .7s cubic-bezier(.2,1,.22,1)
}

body:not(.editor-styles-wrapper) .gb-accordion__item-open .gb-accordion__content>div {
    opacity: 1;
    transform: translateY(0)
}

body:not(.editor-styles-wrapper) .gb-accordion__content {
    visibility: visible!important
}

/* -------------------------------------------------------------------------------
   Marquee
------------------------------------------------------------------------------- */
.marquee { --gap: 0.5em; display: flex; gap: var(--gap); overflow: hidden; position: relative; }
.marquee-content { animation: scroll 30s linear infinite; display: flex; align-items: center; flex-shrink: 0; gap: var(--gap); justify-content: space-around; min-width: 100%; white-space: nowrap; will-change: transform; }
.marquee-content-item { white-space: nowrap; }
.marquee.logo-marquee { --gap: 2.5em; }
.marquee.logo-marquee img { height: 80px; }

@-webkit-keyframes scroll {
    from { transform: translateX(0); }
    to { transform: translateX(calc(-100% - var(--gap))); }
}
@keyframes scroll {
    from { transform: translateX(0); }
    to { transform: translateX(calc(-100% - var(--gap))); }
}

.marquee-reverse .marquee-content { animation-direction: reverse; }

/* -------------------------------------------------------------------------------
   Underline Styles
------------------------------------------------------------------------------- */
.underlined,
[style*="text-decoration: underline"],
[style*="text-decoration:underline"] {
  text-decoration-color: currentColor;
  text-decoration-thickness: 0.05em;
  text-underline-offset: 0.3em;
  transition: text-decoration-color 0.2s ease;
}

:root{
    --power3-out: linear(
    0 0%, 0.1538 4.09%, 0.2926 8.29%,
    0.4173 12.63%, 0.5282 17.12%,
    0.6255 21.77%, 0.7099 26.61%,
    0.782 31.67%, 0.8425 37%, 0.8887 42.23%,
    0.9257 47.79%, 0.9543 53.78%,
    0.9752 60.32%, 0.9883 67.11%,
    0.9961 75%, 1 100%
  );
}

/* Underline Effect */
a.underline-effect,
.underline-effect a{
    position: relative;
    text-decoration: none;
    transition: color 0.3s ease;
}
a.underline-effect::after,
.underline-effect a::after {
  content: '';
  position: absolute;
  width: 100%;
  transform: scaleX(0);
  height: 1.5px;
  bottom: 0.1em;
  left: 0;
  background: currentcolor;
  transform-origin: bottom center;
  transition: transform 0.3s var(--power3-out);
}
a.underline-effect:hover::after,
.underline-effect a:hover::after {
  transform: scaleX(1);
  transform-origin: bottom center;
}

/* Underline Reverse */
a.underline-effect-reverse,
.underline-effect-reverse a{
    position: relative;
    text-decoration: none;
    transition: color 0.3s ease;
}
a.underline-effect-reverse::after,
.underline-effect-reverse a::after {
  content: '';
  position: absolute;
  width: 100%;
  transform: scaleX(1);
  height: 1.5px;
  bottom: 0.1em;
  left: 0;
  background: currentcolor;
  transform-origin: bottom left;
  transition: transform 0.3s var(--power3-out);
}
a.underline-effect-reverse:hover::after,
.underline-effect-reverse a:hover::after {
  transform: scaleX(0);
  transform-origin: bottom right;
}

p.underline-effect a::after, .is-p.underline-effect a::after,
p.underline-effect-reverse a::after, .is-p.underline-effect-reverse a::after{
    height: 1px;
    bottom: 0em;
}

/* Underline Multi
a.underline-multi,
.underline-multi a{
    text-decoration: none;
}
.underline-multi a:not(.gb-button,.gb-image),.ul a {
    display: inline;
    background-image: linear-gradient(to right,currentcolor 0%,currentcolor 50%,transparent 50%,transparent 100%);
    background-size: 200% 1px;
    background-position: 0% 95%;
    background-repeat: no-repeat;
    padding: 0;
    animation: none
}
.underline-multi a:not(.gb-button,.gb-image):hover,.ul a:hover {
    animation: underline-slide 1.3s cubic-bezier(0.78, 0, 0.22, 1);
}
@keyframes underline-slide {
    0% {
        background-position: 0% 95%
    }
    49.99% {
        background-position: -100% 95%
    }
    50% {
        background-position: 100% 95%
    }
    100% {
        background-position: 0% 95%
    }
} */

/* Underline Multi */
.underline-multi a {
    text-decoration: none !important;
    display: inline;
    background: linear-gradient(transparent, transparent), linear-gradient(color-mix(in srgb, currentColor 20%, transparent), color-mix(in srgb, currentColor 20%, transparent)), linear-gradient(currentColor, currentColor);
    background-size: 100% clamp(2px, .05em, 4px), 100% clamp(2px, .05em, 4px), 0 clamp(2px, .05em, 4px);
    background-position: 100% 100%, 100% 100%, 0 100%;
    background-repeat: no-repeat;
    transition: background-size 0.6s var( --smooth-ease);
}
.underline-multi a:hover, .underline-multi a:focus-within {
    background-size: 0 clamp(2px, .05em, 4px), 0 clamp(2px, .05em, 4px), 100% clamp(2px, .05em, 4px);
}

/* Button Text */
a.btn-text span.gb-text{
	text-decoration: none !important;
    display: inline;
    background: linear-gradient(transparent, transparent), linear-gradient(color-mix(in srgb, currentColor 20%, transparent), color-mix(in srgb, currentColor 20%, transparent)), linear-gradient(currentColor, currentColor);
    background-size: 100% clamp(2px, .05em, 4px), 100% clamp(2px, .05em, 4px), 0 clamp(2px, .05em, 4px);
    background-position: 100% 100%, 100% 100%, 0 100%;
    background-repeat: no-repeat;
    transition: background-size 0.4s var( --smooth-ease);
}

a.btn-text:hover span.gb-text, a.btn-text:focus-within span.gb-text{
	background-size: 0 clamp(2px, .05em, 4px), 0 clamp(2px, .05em, 4px), 100% clamp(2px, .05em, 4px);
}

a.btn-text span.gb-shape{
	transition: transform 0.2s var( --smooth-ease);
}

/* Navigation Text Decoration
.gb-navigation .gb-menu-container .menu-item a{
    text-decoration: underline;
    text-underline-offset: 0.25em;
    text-decoration-thickness: 1px;
    text-decoration-skip-ink: auto;
    text-decoration-color: transparent;
    transition: text-decoration-color .1s ease-in-out;
}

.gb-navigation .gb-menu-container .menu-item a:hover{
    text-decoration-color: currentColor;
} */

/* Text Decoration */
a {
    text-decoration: underline;
    text-underline-offset: 0.25em;
    text-decoration-thickness: 1px;
    text-decoration-skip-ink: auto;
    text-decoration-color: color-mix(in srgb, currentColor 20%, transparent);;
    transition: color 0.25s ease, background-color 0.25s ease, text-decoration-color 0.25s ease;
}

a:hover{
    text-decoration-color: currentcolor;
}

/* Overwrite standard GP site containers to match the .section-m class */
.separate-containers .inside-article, .separate-containers .comments-area, .separate-containers .page-header, .separate-containers .paging-navigation, .one-container .site-content, .inside-page-header {
    padding: var(--space-m) 0px var(--space-m) 0px;
}

/* Stick footer to bottom */
.site-wrapper{
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    align-items: stretch;
}

.container.grid-container {
  flex-grow: 1;
    align-self: stretch;
    width: 100%;
}

/* Button with Slide Effect */
.btn{
	will-change: color, background-color;
}

/* Menu with slide Effect
[data-hover-slide],
#menu-primary>li>a{
	position: relative;
	overflow: hidden;
	user-select: none;
	transition: all 0.3s ease!important;
}

@media screen and (min-width: 1025px) {
	[data-hover-slide],
	#menu-primary>li>a{
		background-color: transparent!important;
		color: transparent!important;
		transition: padding 0.3s var(--spring-elegant-easing-light)!important;
	}
	
	[data-hover-slide]::before,
	#menu-primary>li>a::before{
		content: attr(data-hover-slide);
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		padding: inherit;
		color: var(--color-text);
		transition: transform 0.3s var(--smooth-ease);
		user-select: none;
		will-change: transform;
	}

	[data-hover-slide]:hover::before,
	#menu-primary>li>a:hover::before{
		transform: translateY(-100%);
	}

	[data-hover-slide]::after,
	#menu-primary>li>a::after{
		content: attr(data-hover-slide);
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		padding: inherit;
		transform: translateY(0%);
		transition: transform 0.3s var(--smooth-ease);
		user-select: none;
		will-change: transform;
	}

	[data-hover-slide]:hover::after,
	#menu-primary>li>a:hover::after{
		transform: translateY(-100%);
	}
}

 */

/* --- CSS --- */
.dither-effect {
  /* Helligkeit/Kontrast anpassen */
  filter: contrast(0.8) brightness(1.85) url(#duotone-dither);
  image-rendering: pixelated;
}

.dither-effect-2 {
  filter: contrast(0.8) brightness(1.85) url(#duotone-dither2);
  image-rendering: pixelated;
}