
* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}

/*
 * -- BASE STYLES --
 */
html {
    font-family: system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif;
}

body {
    line-height: 1.7em;
    color: #000;
    font-size: 18px;
}

h1 {
    display: block;
    font-size: calc(1.375rem + 1.5vw);
    margin-block-start: 0.67em;
    margin-block-end: 0.67em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
}

h2 {
    display: block;
    font-size: calc(1.325rem + .9vw);
    margin-block-start: 0.83em;
    margin-block-end: 0.83em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    unicode-bidi: isolate;
}

h3 {
    display: block;
    font-size: calc(1.3rem + .6vw);
    margin-block-start: 1em;
    margin-block-end: 1em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    unicode-bidi: isolate;
}

h4 {
    display: block;
    font-size: calc(1.275rem + .3vw);
    margin-block-start: 1.33em;
    margin-block-end: 1.33em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
    unicode-bidi: isolate;
}

h1, h2, h3, h4, h5, h6 {
    margin-top: 0;
    margin-bottom: .5rem;
    font-weight: 400;
    line-height: 1.2;
}

/*
 * -- LAYOUT STYLES --
 */
.text-left {
    text-align: left;
}
.text-center {
    text-align: center;
}
.text-right {
    text-align: right;
}
.text-start {
    text-align: start;
}


.l-content {
    margin: 0 auto;
}

.l-box {
    padding: 1em;
}

.d-flex {
    display: flex !important;
}

.flex-row {
    flex-direction: row !important;
}

.align-items-center {
    align-items: center !important;
}

.table {
    display: table;
}

.vertical-align-middle {
    display: table-cell;
    vertical-align: middle;
}

.d-grid {
    display: grid !important;
}

.my-2 {
    margin-top: 2em;
    margin-bottom: 2em;
}

.py-3 {
    padding-top: 3em;
    padding-bottom: 3em;
}

.list-unstyled {
    padding-left: 0;
    list-style: none;
}

/*
 * -- MENU STYLES --
 */
.pure-menu-heading {
    font-size: 1.2rem;
    color:rgb(0, 55, 31);
    border-bottom: 1px rgb(0, 55, 31) solid;
}
.pure-menu-link {
    color: rgb(0, 55, 31);
    border-radius: 4px;
}
.pure-menu-link:hover, .pure-menu-link:focus {
    color: #fff;
    background-color: rgb(0, 55, 31);
}
.custom-menu-wrapper {
    background-color: #89c379;
    display: none;
    position: fixed;
    top: 0px;
    left: 0px;
    z-index: 998;
}
.custom-menu-wrapper.open {
    display: block !important;
    width: 100%;
}
.custom-menu-toggle {
    width: 70px;
    height: 70px;
    position: fixed;
    top: 0px;
    right: 0px;
    display: block;
    z-index: 999;
    background: rgba(0, 55, 31, 0.5);
    padding: 15px;
    margin: 1em;
    border-radius: 10px;
}
.custom-menu-toggle:hover {
    background: rgba(0, 55, 31, 0.8);
}
.menu-container {
    margin: 0 auto;
    max-width: 1440px;
}
.social-link {
    display: inline-block;
    padding: 10px;
    line-height: normal;
}

/*
 * -- PURE BUTTON STYLES --
 */
.pure-button {
    background-color: #21452a;
    color: white;
    padding: 0.5em 0.8em;
    border-radius: 5px;
    margin: 0.6em 0;
}

/* We want to give the content area some more padding */
.section {
    padding: 4em 2em 4em 2em;
    margin-left: auto;
    margin-right: auto;
}

/* This is the class used for the footer */
.footer {
    display: block;
    color: #c2e1c6;
    padding: 3em;
    font-size: 12px;
    background: #444;
    width: 100%;
    height: auto;
    margin-top: auto!important;
}

.scroll-to-top {
  position: fixed;
  right: 0px;
  bottom: 0px;
  width: 70px;
  height: 70px;
  color: #fff;
  background: rgba(0, 55, 31, 0.5);
  padding: 15px;
  margin: 1em;
  border-radius: 10px;
  z-index: 997;
}
.scroll-to-top:hover {
  background: rgba(0, 55, 31, 0.8);
}

.lead {
    font-size: 1.25rem;
    font-weight: 300;
    line-height: 1.5;
    margin: 0 0 3rem 0;
}

.stretched-link::after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1;
    content: ""
}

.badge {
    display: block;
    position: absolute;
    right: 10px;
    top: 10px;
    background-color: #006439;
    border-radius: 6px;
    padding: 0.3em 0.6em;
    line-height: 1;
    font-size: 0.7em;
    color: white;
}

.shadow {
    box-shadow: 0 0 30px rgba(0,0,0, 0.30);
}

#kontakt {
    background-color: #e9e5b9;
}

.hidden-menu-on-mobile {
    display: none;
}

.text-light {
    color: white;
}

/*
 * -- PHONE MEDIA QUERIES (should be default values) --
 * 568 px, sm breakpoint
 */
@media (min-width: 35.5em) {
    .hidden-menu-on-mobile {
        display: block;
    }
}

/*
 * -- TABLET (AND UP) MEDIA QUERIES --
 * 768 px, md breakpoint
 */
@media (min-width: 48em) {
    body {
        font-size: 16px;
    }
    .splash h2 {
        font-size: 26px;
    }
    .splash {
        width: 60%;
    }

    .splash-contact {
        text-align: left;
    }

    .splash-phone {
        text-align: right;
    }

    .content-head-ribbon {
        font-size: 3rem;
    }

    .splash-container {
        padding: 100px 0 50px 0;
        background: url("/assets/img/bg/roots-lg.webp");
        background-color: #006439;
        background-position: center center;
        background-repeat: no-repeat;
        background-size: cover;
    }
}

/*
 * -- DESKTOP (AND UP) MEDIA QUERIES --
 *  1024px, lg breakpoint
 */
@media (min-width: 80em) {

}

