/* ==========================================================================
   GartenIdeenAnlagen - Formatted CSS
   Foundation 6 Framework with Custom Styles
   ========================================================================== */

/*! normalize.css v8.0.0 | MIT License | github.com/necolas/normalize.css */

/* Foundation Media Query Settings */
.foundation-mq {
    font-family: "small=0em&medium=50em&large=64em&xlarge=75em&xxlarge=90em";
}

/* Base HTML Elements */
html {
    box-sizing: border-box;
    font-size: 100%;
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
}

*,
*::before,
*::after {
    box-sizing: inherit;
}

body {
    margin: 0;
    padding: 0;
    background: #fefefe;
    font-family: "Lato", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-weight: normal;
    line-height: 1.5;
    color: #222629;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Images and Media */
img {
    display: inline-block;
    vertical-align: middle;
    max-width: 100%;
    height: auto;
    -ms-interpolation-mode: bicubic;
    border-style: none;
}

textarea {
    height: auto;
    min-height: 50px;
    border-radius: 4px;
    overflow: auto;
}

select {
    box-sizing: border-box;
    width: 100%;
    border-radius: 4px;
}

.map_canvas img,
.map_canvas embed,
.map_canvas object,
.mqa-display img,
.mqa-display embed,
.mqa-display object {
    max-width: none !important;
}

/* Buttons */
button {
    padding: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border: 0;
    border-radius: 4px;
    background: transparent;
    line-height: 1;
    cursor: auto;
    font-family: inherit;
    font-size: 100%;
    margin: 0;
    overflow: visible;
    text-transform: none;
}

[data-whatinput='mouse'] button {
    outline: 0;
}

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
    border-style: none;
    padding: 0;
}

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
    outline: 1px dotted ButtonText;
}

/* Form Elements */
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0;
}

input {
    overflow: visible;
}

select {
    text-transform: none;
}

[type="button"],
[type="reset"],
[type="submit"] {
    -webkit-appearance: button;
}

[type="checkbox"],
[type="radio"] {
    box-sizing: border-box;
    padding: 0;
}

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
    height: auto;
}

[type="search"] {
    -webkit-appearance: textfield;
    outline-offset: -2px;
}

[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none;
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit;
}

/* Text Elements */
pre {
    overflow: auto;
    font-family: monospace, monospace;
    font-size: 1em;
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible;
}

h1 {
    font-size: 2em;
    margin: 0.67em 0;
}

a {
    background-color: transparent;
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    text-decoration: underline dotted;
}

b,
strong {
    font-weight: bolder;
}

code,
kbd,
samp {
    font-family: monospace, monospace;
    font-size: 1em;
}

small {
    font-size: 80%;
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
}

sub {
    bottom: -0.25em;
}

sup {
    top: -0.5em;
}

/* Utility Classes */
.is-visible {
    display: block !important;
}

.is-hidden {
    display: none !important;
}

/* Other Elements */
details {
    display: block;
}

summary {
    display: list-item;
}

template {
    display: none;
}

[hidden] {
    display: none;
}

fieldset {
    padding: 0.35em 0.75em 0.625em;
}

legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal;
}

progress {
    vertical-align: baseline;
}

/* ==========================================================================
   Foundation Grid System
   ========================================================================== */

/* Grid Container */
.grid-container {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    max-width: 75rem;
    margin-left: auto;
    margin-right: auto;
}

@media print, screen and (min-width: 50em) {
    .grid-container {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem;
    }
}

.grid-container.fluid {
    padding-right: 0.625rem;
    padding-left: 0.625rem;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}

@media print, screen and (min-width: 50em) {
    .grid-container.fluid {
        padding-right: 0.9375rem;
        padding-left: 0.9375rem;
    }
}

.grid-container.full {
    padding-right: 0;
    padding-left: 0;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}

/* Grid X */
.grid-x {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
    flex-flow: row wrap;
}

/* Cells */
.cell {
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    min-height: 0px;
    min-width: 0px;
    width: 100%;
}

.cell.auto {
    -ms-flex: 1 1 0px;
    flex: 1 1 0px;
}

.cell.shrink {
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
}

.grid-x > .auto {
    width: auto;
}

.grid-x > .shrink {
    width: auto;
}

/* Small Grid */
.grid-x > .small-shrink,
.grid-x > .small-full,
.grid-x > .small-1,
.grid-x > .small-2,
.grid-x > .small-3,
.grid-x > .small-4,
.grid-x > .small-5,
.grid-x > .small-6,
.grid-x > .small-7,
.grid-x > .small-8,
.grid-x > .small-9,
.grid-x > .small-10,
.grid-x > .small-11,
.grid-x > .small-12 {
    -ms-flex-preferred-size: auto;
    flex-basis: auto;
}

.grid-x > .small-1,
.grid-x > .small-2,
.grid-x > .small-3,
.grid-x > .small-4,
.grid-x > .small-5,
.grid-x > .small-6,
.grid-x > .small-7,
.grid-x > .small-8,
.grid-x > .small-9,
.grid-x > .small-10,
.grid-x > .small-11,
.grid-x > .small-12 {
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
}

.grid-x > .small-1 { width: 8.33333%; }
.grid-x > .small-2 { width: 16.66667%; }
.grid-x > .small-3 { width: 25%; }
.grid-x > .small-4 { width: 33.33333%; }
.grid-x > .small-5 { width: 41.66667%; }
.grid-x > .small-6 { width: 50%; }
.grid-x > .small-7 { width: 58.33333%; }
.grid-x > .small-8 { width: 66.66667%; }
.grid-x > .small-9 { width: 75%; }
.grid-x > .small-10 { width: 83.33333%; }
.grid-x > .small-11 { width: 91.66667%; }
.grid-x > .small-12 { width: 100%; }

/* Medium Grid */
@media print, screen and (min-width: 50em) {
    .grid-x > .medium-shrink,
    .grid-x > .medium-full,
    .grid-x > .medium-1,
    .grid-x > .medium-2,
    .grid-x > .medium-3,
    .grid-x > .medium-4,
    .grid-x > .medium-5,
    .grid-x > .medium-6,
    .grid-x > .medium-7,
    .grid-x > .medium-8,
    .grid-x > .medium-9,
    .grid-x > .medium-10,
    .grid-x > .medium-11,
    .grid-x > .medium-12 {
        -ms-flex-preferred-size: auto;
        flex-basis: auto;
    }

    .grid-x > .medium-auto {
        -ms-flex: 1 1 0px;
        flex: 1 1 0px;
        width: auto;
    }

    .grid-x > .medium-shrink,
    .grid-x > .medium-1,
    .grid-x > .medium-2,
    .grid-x > .medium-3,
    .grid-x > .medium-4,
    .grid-x > .medium-5,
    .grid-x > .medium-6,
    .grid-x > .medium-7,
    .grid-x > .medium-8,
    .grid-x > .medium-9,
    .grid-x > .medium-10,
    .grid-x > .medium-11,
    .grid-x > .medium-12 {
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    }

    .grid-x > .medium-shrink { width: auto; }
    .grid-x > .medium-1 { width: 8.33333%; }
    .grid-x > .medium-2 { width: 16.66667%; }
    .grid-x > .medium-3 { width: 25%; }
    .grid-x > .medium-4 { width: 33.33333%; }
    .grid-x > .medium-5 { width: 41.66667%; }
    .grid-x > .medium-6 { width: 50%; }
    .grid-x > .medium-7 { width: 58.33333%; }
    .grid-x > .medium-8 { width: 66.66667%; }
    .grid-x > .medium-9 { width: 75%; }
    .grid-x > .medium-10 { width: 83.33333%; }
    .grid-x > .medium-11 { width: 91.66667%; }
    .grid-x > .medium-12 { width: 100%; }
}

/* Large Grid */
@media print, screen and (min-width: 64em) {
    .grid-x > .large-shrink,
    .grid-x > .large-full,
    .grid-x > .large-1,
    .grid-x > .large-2,
    .grid-x > .large-3,
    .grid-x > .large-4,
    .grid-x > .large-5,
    .grid-x > .large-6,
    .grid-x > .large-7,
    .grid-x > .large-8,
    .grid-x > .large-9,
    .grid-x > .large-10,
    .grid-x > .large-11,
    .grid-x > .large-12 {
        -ms-flex-preferred-size: auto;
        flex-basis: auto;
    }

    .grid-x > .large-auto {
        -ms-flex: 1 1 0px;
        flex: 1 1 0px;
        width: auto;
    }

    .grid-x > .large-shrink,
    .grid-x > .large-1,
    .grid-x > .large-2,
    .grid-x > .large-3,
    .grid-x > .large-4,
    .grid-x > .large-5,
    .grid-x > .large-6,
    .grid-x > .large-7,
    .grid-x > .large-8,
    .grid-x > .large-9,
    .grid-x > .large-10,
    .grid-x > .large-11,
    .grid-x > .large-12 {
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    }

    .grid-x > .large-shrink { width: auto; }
    .grid-x > .large-1 { width: 8.33333%; }
    .grid-x > .large-2 { width: 16.66667%; }
    .grid-x > .large-3 { width: 25%; }
    .grid-x > .large-4 { width: 33.33333%; }
    .grid-x > .large-5 { width: 41.66667%; }
    .grid-x > .large-6 { width: 50%; }
    .grid-x > .large-7 { width: 58.33333%; }
    .grid-x > .large-8 { width: 66.66667%; }
    .grid-x > .large-9 { width: 75%; }
    .grid-x > .large-10 { width: 83.33333%; }
    .grid-x > .large-11 { width: 91.66667%; }
    .grid-x > .large-12 { width: 100%; }
}

/* ==========================================================================
   Typography
   ========================================================================== */

/* Font Faces - Using System Fonts Only */
/* Lato font faces removed - using system font fallbacks defined in body */

/* Base Typography */
div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, p, blockquote, th, td {
    margin: 0;
    padding: 0;
}

p {
    margin-bottom: 1rem;
    font-size: inherit;
    line-height: 1.4;
    text-rendering: optimizeLegibility;
}

em, i {
    font-style: italic;
    line-height: inherit;
}

strong, b {
    font-weight: bold;
    line-height: inherit;
}

small {
    font-size: 80%;
    line-height: inherit;
}

/* Headings */
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
    font-family: "Lato", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-style: normal;
    font-weight: bold;
    color: inherit;
    text-rendering: optimizeLegibility;
}

h1 small, .h1 small, h2 small, .h2 small, h3 small, .h3 small, 
h4 small, .h4 small, h5 small, .h5 small, h6 small, .h6 small {
    line-height: 0;
    color: #cacaca;
}

h1, .h1 {
    font-size: 1.875rem;
    line-height: 1.4;
    margin-top: 0;
    margin-bottom: 0.5rem;
}

h2, .h2 {
    font-size: 1.625rem;
    line-height: 1.4;
    margin-top: 0;
    margin-bottom: 0.5rem;
}

h3, .h3 {
    font-size: 1.1875rem;
    line-height: 1.4;
    margin-top: 0;
    margin-bottom: 0.5rem;
}

h4, .h4 {
    font-size: 1.125rem;
    line-height: 1.4;
    margin-top: 0;
    margin-bottom: 0.5rem;
}

h5, .h5 {
    font-size: 1.0625rem;
    line-height: 1.4;
    margin-top: 0;
    margin-bottom: 0.5rem;
}

h6, .h6 {
    font-size: 1rem;
    line-height: 1.4;
    margin-top: 0;
    margin-bottom: 0.5rem;
}

@media print, screen and (min-width: 50em) {
    h1, .h1 { font-size: 2.875rem; }
    h2, .h2 { font-size: 2rem; }
    h3, .h3 { font-size: 1.625rem; }
    h4, .h4 { font-size: 1.375rem; }
    h5, .h5 { font-size: 1.125rem; }
    h6, .h6 { font-size: 1rem; }
}

/* Links */
a {
    line-height: inherit;
    color: #0A7809;
    text-decoration: none;
    cursor: pointer;
}

a:hover,
a:focus {
    color: #096708;
}

a img {
    border: 0;
}

/* Horizontal Rules */
hr {
    clear: both;
    max-width: 75rem;
    height: 0;
    margin: 1.25rem auto;
    border-top: 0;
    border-right: 0;
    border-bottom: 1px solid #cacaca;
    border-left: 0;
}

/* Lists */
ul, ol, dl {
    margin-bottom: 1rem;
    list-style-position: outside;
    line-height: 1.4;
}

li {
    font-size: inherit;
}

ul {
    margin-left: 1.25rem;
    list-style-type: disc;
}

ol {
    margin-left: 1.25rem;
}

ul ul,
ol ul,
ul ol,
ol ol {
    margin-left: 1.25rem;
    margin-bottom: 0;
}

dl {
    margin-bottom: 1rem;
}

dl dt {
    margin-bottom: 0.3rem;
    font-weight: bold;
}

/* Blockquotes */
blockquote {
    margin: 0 0 1rem;
    padding: 0.5625rem 1.25rem 0 1.1875rem;
    border-left: 1px solid #cacaca;
}

blockquote,
blockquote p {
    line-height: 1.4;
    color: #24242a;
}

cite {
    display: block;
    font-size: 0.8125rem;
    color: #24242a;
}

cite:before {
    content: "— ";
}

/* Abbreviations */
abbr,
abbr[title] {
    border-bottom: 1px dotted #222629;
    cursor: help;
    text-decoration: none;
}

/* Code */
code {
    padding: 0.125rem 0.3125rem 0.0625rem;
    border: 1px solid #cacaca;
    background-color: #f6f6f6;
    font-family: Consolas, "Liberation Mono", Courier, monospace;
    font-weight: normal;
    color: #222629;
}

kbd {
    margin: 0;
    padding: 0.125rem 0.25rem 0;
    background-color: #f6f6f6;
    font-family: Consolas, "Liberation Mono", Courier, monospace;
    color: #222629;
    border-radius: 4px;
}

/* Additional Typography */
.subheader {
    margin-top: 0.2rem;
    margin-bottom: 0.5rem;
    font-weight: normal;
    line-height: 1.4;
    color: #24242a;
}

.lead {
    font-size: 110%;
    line-height: 1.5;
}

.stat {
    font-size: 2.5rem;
    line-height: 1;
}

p + .stat {
    margin-top: -1rem;
}

ul.no-bullet,
ol.no-bullet {
    margin-left: 0;
    list-style: none;
}

/* Text Alignment */
.text-left { text-align: left; }
.text-right { text-align: right; }
.text-center { text-align: center; }
.text-justify { text-align: justify; }

@media print, screen and (min-width: 50em) {
    .medium-text-left { text-align: left; }
    .medium-text-right { text-align: right; }
    .medium-text-center { text-align: center; }
    .medium-text-justify { text-align: justify; }
}

@media print, screen and (min-width: 64em) {
    .large-text-left { text-align: left; }
    .large-text-right { text-align: right; }
    .large-text-center { text-align: center; }
    .large-text-justify { text-align: justify; }
}

/* ==========================================================================
   Components
   ========================================================================== */

/* Buttons */
.button {
    display: inline-block;
    vertical-align: middle;
    margin: 0 0 1rem 0;
    padding: 0.85em 1em;
    border: 1px solid transparent;
    border-radius: 4px;
    transition: background-color 0.25s ease-out, color 0.25s ease-out;
    font-family: inherit;
    font-size: 0.9rem;
    -webkit-appearance: none;
    line-height: 1;
    text-align: center;
    cursor: pointer;
    background-color: #0A7809;
    color: #fefefe;
}

[data-whatinput='mouse'] .button {
    outline: 0;
}

.button:hover,
.button:focus {
    background-color: #096608;
    color: #fefefe;
}

/* Button Sizes */
.button.tiny { font-size: 0.6rem; }
.button.small { font-size: 0.75rem; }
.button.large { font-size: 1.25rem; }

.button.expanded {
    display: block;
    width: 100%;
    margin-right: 0;
    margin-left: 0;
}

/* Button Colors */
.button.primary {
    background-color: #0A7809;
    color: #fefefe;
}

.button.primary:hover,
.button.primary:focus {
    background-color: #086007;
    color: #fefefe;
}

.button.secondary {
    background-color: #fd0;
    color: #222629;
}

.button.secondary:hover,
.button.secondary:focus {
    background-color: #ccb100;
    color: #222629;
}

.button.success {
    background-color: #2EAF5E;
    color: #222629;
}

.button.success:hover,
.button.success:focus {
    background-color: #258c4b;
    color: #222629;
}

.button.warning {
    background-color: #FF6700;
    color: #222629;
}

.button.warning:hover,
.button.warning:focus {
    background-color: #cc5200;
    color: #222629;
}

.button.alert {
    background-color: #cc4b37;
    color: #fefefe;
}

.button.alert:hover,
.button.alert:focus {
    background-color: #a53b2a;
    color: #fefefe;
}

/* Forms */
[type='text'],
[type='password'],
[type='date'],
[type='datetime'],
[type='datetime-local'],
[type='month'],
[type='week'],
[type='email'],
[type='number'],
[type='search'],
[type='tel'],
[type='time'],
[type='url'],
[type='color'],
textarea {
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: 2.4375rem;
    margin: 0 0 1rem;
    padding: 0.5rem;
    border: 1px solid #cacaca;
    border-radius: 4px;
    background-color: #fefefe;
    box-shadow: inset 0 1px 2px rgba(34, 38, 41, 0.1);
    font-family: inherit;
    font-size: 1rem;
    font-weight: normal;
    line-height: 1.5;
    color: #222629;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

[type='text']:focus,
[type='password']:focus,
[type='date']:focus,
[type='datetime']:focus,
[type='datetime-local']:focus,
[type='month']:focus,
[type='week']:focus,
[type='email']:focus,
[type='number']:focus,
[type='search']:focus,
[type='tel']:focus,
[type='time']:focus,
[type='url']:focus,
[type='color']:focus,
textarea:focus {
    outline: none;
    border: 1px solid #24242a;
    background-color: #fefefe;
    box-shadow: 0 0 5px #cacaca;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
}

textarea {
    max-width: 100%;
}

textarea[rows] {
    height: auto;
}

input:disabled,
input[readonly],
textarea:disabled,
textarea[readonly] {
    background-color: #f6f6f6;
    cursor: not-allowed;
}

/* Labels */
label {
    display: block;
    margin: 0;
    font-size: 0.875rem;
    font-weight: normal;
    line-height: 1.8;
    color: #222629;
}

/* ==========================================================================
   Off-Canvas
   ========================================================================== */

.is-off-canvas-open {
    overflow: hidden;
}

.js-off-canvas-overlay {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 11;
    width: 100%;
    height: 100%;
    transition: opacity 0.5s ease, visibility 0.5s ease;
    background: rgba(254, 254, 254, 0.25);
    opacity: 0;
    visibility: hidden;
    overflow: hidden;
}

.js-off-canvas-overlay.is-visible {
    opacity: 1;
    visibility: visible;
}

.js-off-canvas-overlay.is-closable {
    cursor: pointer;
}

.off-canvas-wrapper {
    position: relative;
    overflow: hidden;
}

.off-canvas {
    position: fixed;
    z-index: 12;
    transition: transform 0.5s ease;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    background: #f6f6f6;
}

[data-whatinput='mouse'] .off-canvas {
    outline: 0;
}

.off-canvas.is-transition-push {
    z-index: 12;
}

.off-canvas.is-closed {
    visibility: hidden;
}

.off-canvas.is-transition-overlap {
    z-index: 13;
}

.off-canvas.is-transition-overlap.is-open {
    box-shadow: 0 0 10px rgba(34, 38, 41, 0.7);
}

.off-canvas.is-open {
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
}

/* Position Left */
.position-left {
    top: 0;
    left: 0;
    height: 100%;
    overflow-y: auto;
    width: 280px;
    -ms-transform: translateX(-280px);
    transform: translateX(-280px);
}

.off-canvas-content .off-canvas.position-left {
    -ms-transform: translateX(-280px);
    transform: translateX(-280px);
}

.off-canvas-content .off-canvas.position-left.is-transition-overlap.is-open {
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
}

.off-canvas-content.is-open-left.has-transition-push {
    -ms-transform: translateX(280px);
    transform: translateX(280px);
}

.position-left.is-transition-push {
    box-shadow: inset -13px 0 20px -13px rgba(34, 38, 41, 0.25);
}

/* Off-Canvas Content */
.off-canvas-content {
    -ms-transform: none;
    transform: none;
    transition: transform 0.5s ease;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.off-canvas-content.has-transition-push {
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
}

.off-canvas-content .off-canvas.is-open {
    -ms-transform: translate(0, 0);
    transform: translate(0, 0);
}

/* ==========================================================================
   Menus
   ========================================================================== */

.menu {
    padding: 0;
    margin: 0;
    list-style: none;
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

[data-whatinput='mouse'] .menu li {
    outline: 0;
}

.menu a,
.menu .button {
    line-height: 1;
    text-decoration: none;
    display: block;
    padding: 0.7rem 1rem;
}

.menu input,
.menu select,
.menu a,
.menu button {
    margin-bottom: 0;
}

.menu input {
    display: inline-block;
}

.menu,
.menu.horizontal {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -ms-flex-direction: row;
    flex-direction: row;
}

.menu.vertical {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -ms-flex-direction: column;
    flex-direction: column;
}

.menu.expanded li {
    -ms-flex: 1 1 0px;
    flex: 1 1 0px;
}

.menu .is-active > a {
    background: #0A7809;
    color: #fefefe;
}

.menu .active > a {
    background: #0A7809;
    color: #fefefe;
}

/* ==========================================================================
   Utility Classes
   ========================================================================== */

/* Spacing Classes */
.spaceTiny { margin-top: 0.2rem !important; }
.spaceSmall { margin-top: 0.5rem !important; }
.spaceMedium { margin-top: 1.5rem !important; }
.spaceBig { margin-top: 3.5rem !important; }
.spaceLarge { margin-top: 6rem !important; }

.spaceLeftTiny { margin-left: 0.2rem !important; }
.spaceLeftSmall { margin-left: 0.5rem !important; }
.spaceLeftMedium { margin-left: 1rem !important; }

.spaceRightTiny { margin-right: 0.2rem !important; }
.spaceRightSmall { margin-right: 0.5rem !important; }
.spaceRightMedium { margin-left: 1rem !important; }

.spaceBottomTiny { margin-bottom: 0.2rem !important; }
.spaceBottomSmall { margin-bottom: 0.5rem !important; }
.spaceBottomMedium { margin-bottom: 1rem !important; }
.spaceBottomBig { margin-bottom: 2rem !important; }
.spaceBottomLarge { margin-bottom: 4rem !important; }

.noSpaceBottom { margin-bottom: 0 !important; }
.noSpaceTop { margin-top: 0 !important; }
.noPaddingBottom { padding-bottom: 0 !important; }
.noPaddingTop { padding-top: 0 !important; }

/* Font Size Classes */
.fontSizeSmall {
    font-size: 0.8rem !important;
    line-height: 1.5 !important;
}

.fontSizeMedium {
    font-size: 0.9rem !important;
}

.fontSizeBig {
    font-size: 1.3rem !important;
}

/* Color Classes */
.alertColor { color: #cc4b37 !important; }
.successColor { color: #2EAF5E !important; }
.grayColor { color: #9ca0a5 !important; }

.grayColor a {
    color: #9ca0a5 !important;
    border-bottom: 1px dotted #d1d3d6;
    display: inline-block;
    line-height: 1.2;
}

.grayColor a:hover {
    color: #0A7809 !important;
}

/* Alignment Classes */
.align-left { -ms-flex-pack: start; justify-content: flex-start; }
.align-right { -ms-flex-pack: end; justify-content: flex-end; }
.align-center { -ms-flex-pack: center; justify-content: center; }
.align-justify { -ms-flex-pack: justify; justify-content: space-between; }
.align-spaced { -ms-flex-pack: distribute; justify-content: space-around; }

.align-top { -ms-flex-align: start; align-items: flex-start; }
.align-bottom { -ms-flex-align: end; align-items: flex-end; }
.align-middle { -ms-flex-align: center; align-items: center; }
.align-stretch { -ms-flex-align: stretch; align-items: stretch; }

/* ==========================================================================
   Website Specific Styles
   ========================================================================== */

/* Grid Container Override */
.grid-container {
    padding: 0.5rem 1rem;
}

@media screen and (max-width: 49.99875em) {
    .grid-container {
        padding: 0.5rem;
    }
}

/* Typography Customizations */
h1 {
    font-weight: bold;
    margin-top: 1rem;
    line-height: 1.2;
}

h1 small {
    display: block;
    font-size: 1.3rem;
    line-height: 1.4;
    margin: 0.5rem 0 0.25rem 0;
    color: #24242a;
}

h2 {
    margin: 2rem 0 0.5rem 0;
}

a {
    transition: color 0.15s ease-in-out;
}

a:hover {
    color: #043104;
}

p {
    line-height: 1.5;
}

/* Logo */
.logo {
    max-height: 75px;
    margin: 1rem;
}

/* Header */
#header .offCanvasNav {
    display: -ms-flexbox;
    display: flex;
    height: 107px;
    text-align: right;
}

#header .offCanvasNav .fa-bars {
    margin: 1rem;
    -ms-flex-item-align: center;
    -ms-grid-row-align: center;
    align-self: center;
}

.off-canvas .menu li a {
    color: #222629;
}

.off-canvas .menu li.is-active a {
    color: #fff;
    font-weight: bold;
}

/* Main Navigation */
#mainNav {
    margin-bottom: 0.5rem;
}

#mainNav li a {
    transition: color 0.1s ease-in-out;
    color: #000;
    border-radius: 4px;
}

#mainNav li a:hover {
    color: #0A7809;
}

#mainNav li.is-active {
    position: relative;
}

#mainNav li.is-active a {
    background: none;
    color: #0A7809;
    font-weight: bold;
    background-color: rgba(10, 120, 9, 0.1);
}

/* Sub Navigation */
#subNav {
    background-color: #0A7809;
}

#subNav .grid-container {
    padding: 0 1rem;
}

#subNav .menu {
    font-size: 0.9rem;
}

#subNav .menu li a {
    transition: color 0.1s ease-in-out;
    color: #fff;
    padding: 0.4rem 0.7rem;
    margin: 0.3rem;
    border-radius: 4px;
}

#subNav .menu li a:hover {
    background-color: rgba(255, 255, 255, 0.1);
}

#subNav .menu li.is-active a {
    background: none;
    color: #fff;
    background-color: rgba(255, 255, 255, 0.2);
    font-weight: bold;
}

/* Splash Section */
.splash {
    width: 100%;
    height: 75vh;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    display: -ms-flexbox;
    display: flex;
}

.splash .content {
    text-align: center;
    -ms-flex-item-align: end;
    align-self: flex-end;
    -ms-flex-positive: 1;
    flex-grow: 1;
    padding: 2rem 0.5rem 4rem 0.5rem;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
}

.splash .content h1 {
    color: #fff;
    margin: 0;
}

.splash .content h1 small {
    color: #fff;
    margin-top: 0.25rem;
}

@media screen and (max-width: 49.99875em) {
    .splash {
        height: calc(100vh - 107px);
    }

    .splash .content {
        padding: 1rem 0.5rem 2rem 0.5rem;
    }
}

/* Footer */
footer {
    color: #aaa;
    font-size: 0.9rem;
}

footer.main {
    background-color: #313637;
    color: #fff;
    padding: 1rem 0 0 0;
}

footer.main p {
    line-height: 1.6;
}

footer.main .svg-inline--fa {
    color: #aaa;
    margin-right: 0.5rem;
}

footer.sub {
    background-color: #202425;
    padding: 0.5rem 0;
    font-size: 0.8rem;
}

footer .logo {
    margin: 1rem 0.5rem;
    opacity: 0.5;
}

footer a {
    margin: 0 0.75rem;
    color: #fff;
    text-decoration: none;
}

footer a:hover {
    color: #0A7809;
}

/* Sections */
.section {
    padding: 4rem 0;
}

.section.categories {
    background-color: #EAEAEB;
}

.section .verticalAlign {
    -ms-flex-item-align: center;
    -ms-grid-row-align: center;
    align-self: center;
}

.section h2 {
    margin: 0 0 1.5rem 0;
}

.section h2 small {
    display: block;
    font-size: 1.2rem;
    line-height: 1.4;
    margin: 0;
    color: #24242a;
}

@media screen and (max-width: 49.99875em) {
    .section img {
        margin-top: 1rem;
    }
}

/* Call to Action */
.cta .box {
    background-color: #f7f7f7;
    border-radius: 4px;
    padding: 0.5rem;
}

.cta .box small {
    font-size: 0.7rem;
}

.cta .divider {
    font-size: 0.7rem;
    text-align: center;
    margin: 0.25rem 0;
}

/* Teaser Items */
.teaserItem {
    position: relative;
    display: block;
    margin-bottom: 1rem;
    transition: box-shadow 0.2s ease-in-out;
}

.teaserItem .title {
    position: absolute;
    bottom: 0;
    width: 100%;
    background-color: rgba(10, 120, 9, 0.7);
    transition: background-color 0.2s ease;
    color: #fff;
    padding: 0.5rem;
    text-align: center;
    font-size: 1.2rem;
    font-weight: bold;
}

.teaserItem:hover {
    box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.5);
}

/* Gallery */
.fullSizeGallery {
    background-color: #f7f7f7;
    padding: 0.75rem;
    margin-top: 0.5rem;
}

@media screen and (max-width: 49.99875em) {
    .fullSizeGallery {
        padding: 0.5rem;
    }
}

.justified-gallery {
    width: 100%;
    position: relative;
    overflow: hidden;
    background-color: none;
}

.justified-gallery .gridItem {
    position: absolute;
    display: inline-block;
    overflow: hidden;
}

.justified-gallery .gridItem > a {
    display: inline-block;
}

.justified-gallery .gridItem > a img {
    position: absolute;
    top: 50%;
    left: 50%;
    margin: 0;
    padding: 0;
    border: none;
}

.justified-gallery .gridItem .imageName {
    position: absolute;
    top: 50%;
    left: 40%;
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    font-weight: 300;
    font-size: 2rem;
    opacity: 0;
    transition: opacity 0.3s ease, left 0.3s ease;
    color: #fff;
    text-align: center;
    line-height: 1.3;
    display: inline-block;
    z-index: 11;
}

.justified-gallery .gridItem .imageName small {
    font-size: 1rem;
    display: block;
    font-style: italic;
}

.justified-gallery .gridItem .imageName small .fa {
    font-size: 0.8rem;
    vertical-align: 1px;
}

.justified-gallery .gridItem .darkArea {
    width: 100%;
    height: 100%;
    background-color: #333;
    position: absolute;
    top: 0;
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 10;
}

.justified-gallery .gridItem:hover .imageName {
    opacity: 1;
    left: 50%;
}

.justified-gallery .gridItem:hover .darkArea {
    opacity: 0.6;
}
