/*
 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: 1em;
	--button-radius: 999em;
	--input-radius: 4px;
	--shadow: 0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04); /* Just a basic general shadow */
	
	--gb-container-width: 100%;
	--site-width: var(--gb-container-width, 1080px);
	--site-wrapper: 100vw; /* Set to 100vw / 100% if not used */
	
	/* Gutter */
	--gutter: 193.33334px;
	
	/* Gap (between columns) */
	--gap: 3.6584vw;
	
	/* @link https://utopia.fyi/space/calculator?c=360,24,1.2,1240,80,1.25,5,2,&s=0.5,1.5|2|3,s-l&g=s,l,xl,12 */
	--space-xs: clamp(0.75rem, 0.0341rem + 3.1818vw, 2.5rem);
	--space-s: clamp(1.5rem, 0.0682rem + 6.3636vw, 5rem);
	--space-m: clamp(2.25rem, 0.1023rem + 9.5455vw, 7.5rem);
	--space-l: clamp(3rem, 0.1364rem + 12.7273vw, 10rem);
	--space-xl: clamp(4.5rem, 0.2045rem + 19.0909vw, 15rem);
	
    --fs-xs: clamp(0.875rem, 0.042rem + 0.926vw, 1.5rem);
    --fs-s: clamp(0.875rem, 0.818rem + 0.242vw, 1rem);
    --fs-m: clamp(1.125rem, 0.216rem + 1.212vw, 2.125rem);
    --fs-l: clamp(1.25rem, 1.193rem + 0.242vw, 1.375rem);
    --fs-xl: clamp(1.25rem, 1.193rem + 0.242vw, 1.375rem);
    --fs-2xl: clamp(1.375rem, 1.29rem + 0.364vw, 1.563rem);
    --fs-3xl: clamp(1.5rem, 1.33rem + 0.727vw, 1.875rem);
    --fs-4xl: clamp(1.75rem, 1.352rem + 1.697vw, 2.625rem);
    --fs-5xl: clamp(2rem, 1.091rem + 3.879vw, 4rem);
    --fs-6xl: clamp(3.5rem, 2.477rem + 4.364vw, 5.75rem);
    --fs-jumbo: clamp(4rem, 1.727rem + 9.697vw, 9rem);
    --fs-gigantic: clamp(4.5rem, 1.886rem + 11.152vw, 10.25rem);
}

@media screen and (min-width: 1200px) {
    :root{
        --fs-s: clamp(1rem, 0.333rem + 0.741vw, 1.5rem);
        --fs-l: clamp(1.375rem, 0.239rem + 1.515vw, 2.625rem);
        --fs-xl: clamp(1.375rem, 0.239rem + 1.515vw, 2.625rem);
        --fs-2xl: clamp(1.563rem, 0.256rem + 1.742vw, 3rem);
        --fs-3xl: clamp(1.875rem, 0.398rem + 1.97vw, 3.5rem);
        --fs-4xl: clamp(2.625rem, 0.239rem + 3.182vw, 5.25rem);
        --fs-5xl: clamp(4rem, 0.477rem + 4.697vw, 7.875rem);
        --fs-6xl: clamp(5.75rem, 1.034rem + 6.288vw, 10.938rem);
        --fs-gigantic: clamp(10.25rem, -0.318rem + 14.091vw, 21.875rem);
    }
}

@media screen and (max-width: 2560px) {
  :root {
	--gutter: 7.55209vw;
  }
}

@media screen and (max-width: 1200px) {
  :root {
    --gutter: 3.90625vw;
  }
}

@media screen and (max-width: 1024px) {
  :root {
	--gutter: 5.33334vw;  
  }
}

/* Imprint */
span.zuviel{ display: none; }
span.drehen{ unicode-bidi: bidi-override; direction: rtl; }

/* 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-ease: cubic-bezier(.32, .72, 0, 1);
}

.btn{ 
    transition: background-color 0.2s ease 0s, color 0.2s ease 0s, transform 0.3s var(--back-out) 0s !important;
}

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

.screen-reader-text:focus {
    background-color: var(--color-background);
    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
}

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(--fs-6xl); line-height: 1.1; letter-spacing: -0.03em; }
h2, .is-h2 { font-size: var(--fs-5xl); line-height: 1.22; letter-spacing: -0.02em;  }
h3, .is-h3 { font-size: var(--fs-4xl); line-height: 1.27; letter-spacing: -0.02em;  }
h4, .is-h4 { font-size: var(--fs-3xl); line-height: 1.3; letter-spacing: -0.02em; }
h5, .is-h5 { font-size: var(--fs-2xl); line-height: 1.47; letter-spacing: -0.01em; }
h6, .is-h6 { font-size: var(--fs-xl); line-height: 1.55; letter-spacing: -0.01em; }

.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: 500; /* copy from the body */
	letter-spacing: 0; /* copy from the body */
	margin: 0;
	margin-bottom: 1.5em;
}
/* -------------------------------------------------------------------------------
   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-background);
	overflow: hidden;
}

@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-text);
    border: 0;
    height: 1px;
    margin-bottom: clamp(1.5rem,1.197rem + 1.515vw,2.5rem);
    margin-top: clamp(1.5rem,1.197rem + 1.515vw,2.5rem);
}

/* 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;
}

/* -------------------------------------------------------------------------------
   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
}

/* -------------------------------------------------------------------------------
   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;
}
