/*! HTML5 Boilerplate v6.0.1 | MIT License | https://html5boilerplate.com/ */

/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html {
    color: var(text-color);
    font-size: 18px;
    font-size: calc(18px + (28 - 18) * ((100vw - 480px) / (1600 - 480)));        
    line-height: 1.4;
}

body {
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    /*    font-family: 'Lato', sans-serif; */
    font-family: 'Caveat', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
    -webkit-user-select: none;
}

.mouse-cursor {
  position: fixed;
  left: 0;
  top: 0;
  pointer-events: none;
  border-radius: 50%;
  -webkit-transform: translateZ(0);
  transform: translateZ(0);
  visibility: hidden;
}

.cursor-inner {
  margin-left: 2px;
  margin-top: 2px;
  width: 6px;
  height: 6px;
  z-index: 10000001;
  background-color: rgba(254, 147, 27, 0.2);
  -webkit-transition: width .3s ease-in-out,
 height .3s ease-in-out,
 margin .3s ease-in-out,
 opacity .3s ease-in-out;
  -o-transition: width .3s ease-in-out,
 height .3s ease-in-out,
 margin .3s ease-in-out,
 opacity .3s ease-in-out;
  transition: width .3s ease-in-out,
 height .3s ease-in-out,
 margin .3s ease-in-out,
 opacity .3s ease-in-out;
}

.cursor-inner.cursor-hover {
  margin-left: -40px;
  margin-top: -40px;
  width: 80px;
  height: 80px;
  background-color: rgb(254, 147, 27);
  opacity: .3;
}

.cursor-outer {
  margin-left: -15px;
  margin-top: -15px;
  width: 40px;
  height: 40px;
  border: 1px solid rgba(254, 147, 27, 0.2);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  z-index: 10000000;
  opacity: .5;
  -webkit-transition: all .08s ease-out;
  -o-transition: all .08s ease-out;
  transition: all .08s ease-out;
}

.cursor-outer.cursor-hover {
  opacity: 0;
}

.color-font {
    background: -webkit-gradient(linear, left top, right top, from(#30cfd0), color-stop(#c471ed), to(#330867));
    background: -webkit-linear-gradient(left, #30cfd0, #c471ed, #330867);
    background: -o-linear-gradient(left, #30cfd0, #c471ed, #330867);
    background: linear-gradient(to right, #30cfd0, #c471ed, #330867);
    background-clip: border-box;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    animation: diagonal alternate 10s infinite;
}
@keyframes diagonal {
    0% { background-size: 100% 100% }
    100% { background-size: 225% 125% }
}
.wow { overflow: hidden; }

.mb-5 { margin-bottom: 2.5rem; }
.w-100 { width: 100%; }
.w-50 { width: 50%; }
.align-center {
    align-items: center;
}
/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * Vendor-prefixed and regular ::selection selectors cannot be combined:
 * https://stackoverflow.com/a/16982510/7133471
 *
 * Customize the background color to match your design.
 */

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

:root {
    --text-color: #222;
}

/*
 * A better looking default horizontal rule
 */

hr {
    display: block;
    height: 1.5rem;
    border: 0;
    margin: 1em 0;
    padding: 0;
    -ms-grid-column: 1 / -1;
    grid-column: 1 / -1;
    background: #93c852;
    background: -moz-linear-gradient(left, #93c852 0%, #93c852 25%, #3884c4 25%, #3884c4 50%, #e74a34 50%, #e74a34 75%, #737373 75%, #737373 100%);
    background: -webkit-linear-gradient(left, #93c852 0%, #93c852 25%, #3884c4 25%, #3884c4 50%, #e74a34 50%, #e74a34 75%, #737373 75%, #737373 100%);
    background: linear-gradient(to right, #93c852 0%, #93c852 25%, #3884c4 25%, #3884c4 50%, #e74a34 50%, #e74a34 75%, #737373 75%, #737373 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#93c852', endColorstr='#737373', GradientType=1);
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
    resize: vertical;
}

/* ==========================================================================
   Browser Upgrade Prompt
   ========================================================================== */

.browserupgrade {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}

/* ==========================================================================
   Author's custom styles
   ========================================================================== */
* {
    box-sizing: border-box;
    padding: 0;
    margin: 0;
}

ul {
    list-style-type: none;
    padding: 0 0 0 1.5rem;
    margin: 0;
}

figure {
    margin: 0;
    padding: 0;
}

img {
    max-width: 100%;
    height: auto;
}

h1,
h2,
h3 {
    padding-top: 2rem;
    padding-bottom: 1rem;
}

h1 {
    font-size: 2.4rem;
}

h2 {
    font-family: 'Caveat';
    font-size: 1.8rem;
}

h3, .fIcona:before {
    font-size: 1.4rem;
}

p {
    padding-bottom: 1rem;
}


.header_slogan_wrapper {
    background: no-repeat top center;
    background-size: cover;
    background-attachment: fixed;
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(1.5rem, 1fr) minmax(auto, 1440px) minmax(1.5rem, 1fr);
    grid-auto-rows: auto-fit;
    min-height: 100vh;
}

.xfade>figure {
    animation: imageAnimation 19.5s linear infinite 0s;
    backface-visibility: hidden;
    background: no-repeat top center;
    background-size: cover;
    background-attachment: fixed;
    color: transparent;
    height: 100%;
    left: 0px;
    opacity: 0;
    position: absolute;
    top: 0px;
    width: 100%;
    z-index: 0;
}

.xfade>figure:nth-child(1) {
    animation-delay: 12.5s;
}

.xfade>figure:nth-child(2) {
    animation-delay: 6.25s;
}

.xfade>figure:nth-child(3) {
    animation-delay: 0s;
}


@keyframes imageAnimation { 
    0% {
        animation-timing-function: ease-in;
        opacity: 1;
    }
    30.8% {
        animation-timing-function: ease-out;
        opacity: 1;
    }
    33.3% {
        opacity: 0;
    }
    97.4% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

header {
    width: 100vw;
    display: flex;
    align-items: center;
    justify-content: center;
}

header .logo {
    margin-top: 2vh;
    justify-self: center;
}

header .logo a {
    display: block;
}

header .logo img {
    min-height: 20vh;
    width: 100%;
    max-height: 250px;
}

header nav ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

header nav li {
    float: left;
    margin-left: 0.25em;
}

header nav li:first-child {
    margin-left: 0;
}

header nav a {
    text-decoration: none;
    color: #fcfcfc;
    -webkit-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    transition: all 300ms ease;
    font-weight: 300;
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: 0.07rem;
}

header nav a:before,
header nav a:after {
    display: inline-block;
    opacity: 0;
    -webkit-transition: transform 0.3s, opacity 0.2s;
    -o-transition: transform 0.3s, opacity 0.2s;
    transition: transform 0.3s, opacity 0.2s;
}

header nav a:before {
    margin-right: 10px;
    content: "\005B\005B~";
    -webkit-transform: translateX(20px);
    -ms-transform: translateX(20px);
    -o-transform: translateX(20px);
    transform: translateX(20px);
}

header nav a:after {
    margin-left: 10px;
    content: "\005d\005d";
    -webkit-transform: translateX(-20px);
    -ms-transform: translateX(-20px);
    -o-transform: translateX(-20px);
    transform: translateX(-20px);
}

header nav a:hover:before,
header nav a:hover:after {
    opacity: 1;
    -webkit-transform: translateX(0px);
    -ms-transform: translateX(0px);
    -o-transform: translateX(0px);
    transform: translateX(0px);
}



div.slogan {
    -ms-grid-area: 2 / 2 / 3 / 3;
    grid-area: 2 / 2 / 3 / 3;
    -ms-justify-self: left;
    justify-self: left;
    -ms-align-self: center;
    align-self: center;
}

div.slogan h1 {
    font-family: 'Caveat';
    color: #fefefe;
    word-break: keep-all;
    text-align: center;
    font-weight: 800;
    text-shadow: 0px 0px 6px rgba(255,255,255,0.7);
    padding-top: 0;
}

section {
    background: no-repeat top center;
    background-size: cover;
    background-attachment: fixed;
}

.bg_wrapper {
    position: relative;
    margin: 0 auto;
    display: grid;
    -ms-grid-template-columns: minmax(1.5rem, 1fr) minmax(auto, 720px) minmax(auto, 720px) minmax(1.5rem, 1fr);
    grid-template-columns: minmax(1.5rem, 1fr) minmax(auto, 720px) minmax(auto, 720px) minmax(1.5rem, 1fr);
    -ms-grid-auto-rows: auto-fit;
    grid-auto-rows: auto-fit;
    -ms-align-items: center;
    align-items: center;
    padding: 1rem 0;
    text-shadow:  0px 3px 2px rgba(0, 0, 0, 0.1),
        0px 4px 3px rgba(191, 92, 2, 0.4),
        0px 8px 13px rgba(191, 92, 2, 0.1),
        0px 18px 23px rgba(191, 92, 2, 0.1);    
}
.bg_light_gradient {
    background-color: #f8f8f8;
    background-image: radial-gradient( circle farthest-corner at 10% 20%,  rgba(234,249,249,0.67) 0.1%, rgba(239,249,251,0.63) 90.1% );    
    background-image: linear-gradient(120deg, #fdfbfb 0%, #ebedee 100%);    
    background-image: radial-gradient( circle farthest-corner at -4% -12.9%,  rgba(234, 235, 237,1) 0.3%, rgba(227, 222, 222,1) 90.2% );    
    color: #3f3c3d;    
}
.bg_dark_gradient {
    background-image: radial-gradient( circle farthest-corner at -4% -12.9%,  rgba(74,98,110,1) 0.3%, rgba(30,33,48,1) 90.2% );
    color: #f8f8f8;
}
.bg_warm_gradient {
    background: hsla(33, 100%, 53%, 1);
    background: linear-gradient(135deg, hsla(33, 100%, 53%, 1) 0%, hsla(48, 100%, 68%, 1) 100%);
    color: #f8f8f8;
}
.bg_warm_reverse_gradient {
    background: hsla(33, 100%, 53%, 1);
    background: linear-gradient(135deg, hsla(48, 100%, 68%, 1) 0%, hsla(33, 100%, 53%, 1) 100%);
    color: #f8f8f8;
}
.bg_floral {
    background: url(../media/floral.svg) center right no-repeat;
    background-size: contain;
}
.bg_tree {
    background: url(../media/tree.svg) center right no-repeat;
    background-size: contain;
}

.bg_wrapper .content_left {
    -ms-grid-column: 2 / 3;
    grid-column: 2 / 3;
}

.bg_wrapper .content_right {
    -ms-grid-column: 3 / 4;
    grid-column: 3 / 4;
    -ms-align-self: start;
    align-self: start;
}

.bg_wrapper .teaser_right {
    -ms-grid-column: 3 / 5;
    grid-column: 3 / 5;
    -ms-justify-self: end;
    justify-self: end;
}

.bg_wrapper .teaser_left {
    -ms-grid-column: 1 / 3;
    grid-column: 1 / 3;
    -ms-justify-self: start;
    justify-self: start;
}

.grid2x2 {
    display: grid;
    -ms-grid-template: 1fr 1fr / 1fr 1fr;
    grid-template: 1fr 1fr / 1fr 1fr;
    -ms-justify-items: center;
    justify-items: center;
    -ms-align-items: center;
    align-items: center;
}

.content_full {
     grid-column: 2 / 4;
     margin: 1.5rem 0;
     display: flex;
     flex-direction: column;
}
.grid4x {
     display: grid;
     grid-template-columns: 1fr 1fr 1fr 1fr;
     grid-gap: 2.25rem;    
}

.counter {
    padding: 0;
    text-align: center;
}

.counter h3 {
    padding-bottom: 0;
}

.btn {
    -webkit-transition: all 250ms ease-in-out 50ms;
    -moz-transition: all 250ms ease-in-out 50ms;
    -ms-transition: all 250ms ease-in-out 50ms;
    -o-transition: all 250ms ease-in-out 50ms;
    transition: all 250ms ease-in-out 50ms;

    padding: 0.5rem 1.5rem 0.5rem 1rem;
    background-color: rgba(231, 74, 52, 0.85);
    color: #fefefe;
    text-decoration: none;
    border-radius: .25rem;
    display: inline-block;
    margin: 1rem 1rem 1rem 0;
    min-width: 8rem;
    position: relative;
    overflow: hidden;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.btn-large {
    padding: 0.75rem 1.75rem 0.75rem 1.25rem;
    font-size: calc(0.8rem + 1vw);
    text-shadow: 0.5px 0.5px 0.5px rgba(50, 50, 50, 0.4);
}

.btn span>span {
    display: block;
    font-size: 0.8rem;
    font-weight: 300;
}

.btn:hover {
    background-color: rgba(231, 74, 52, 0.99);
}

.btn-green {
    background-color: rgba(147, 200, 82, 0.7);
}

.btn-green:hover {
    background-color: rgba(147, 200, 82, 0.99);
}

.btn-orange {
    background-color: rgba(254, 147, 27, 0.7);
}

.btn-orange:hover {
    background-color: rgba(254, 147, 27, 0.99);
}

.btn span {
    position: relative;
    pointer-events: none;
}

.btn::before {
    --size: 0;
    content: '';
    position: absolute;
    left: var(--x);
    top: var(--y);
    width: var(--size);
    height: var(--size);
    border-radius: 50%;
    background: radial-gradient(circle closest-side, rgba(255, 255, 255, 0.4), transparent);
    background: linear-gradient(45deg, #343702 0%, #184500 20%, #187546 30%, #006782 40%, #0b1284 50%, #760ea1 60%, #83096e 70%, #840b2a 80%, #b13e12 90%, #e27412 100%);
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    -webkit-transition: width .5s ease, height .5s ease;
    transition: width .5s ease, height .5s ease;
}

.btn:hover::before {
    --size: 24rem;
}

/*=======================================================================
// Features
=========================================================================*/
.singleFeatures {
    width: 100%;
    position: relative;
    text-align: left;
    aspect-ratio: 2 / 1;    
    background: #fff linear-gradient(to right bottom, #ffffff 10%, #F0F3F5 50%, #EAEEF0 50%, #E1E7EA 90%);
    box-shadow: 0.5rem 0.5rem 1.25rem 0 rgba(30,33,48, 0.5), -0.5rem -0.5rem 2rem 0 rgba(74,98,110, 0.5);    
    border-radius: 0.175rem; 
}

@keyframes rotate-gradient {
  from {
    transform: rotate(0deg) scale(5);
  }
  to {
    transform: rotate(360deg) scale(5);
  }
}

.sFContent{
    width: 100%;
    position: relative;
    padding: 15px;
    display: flex;
    flex-flow: column;
    justify-content: space-between;
    height: 100%;    
}

[class^="flaticon-"]::before, [class*=" flaticon-"]::before, [class^="flaticon-"]::after, [class*=" flaticon-"]::after{
    margin-left: 0px !important;
}
.fIcona{
    color: rgba(30,33,48,1);
    display: block;
    z-index: 9;
    margin-left: 15px;
}
.fIcona:before {
    font-size: 1.8rem;    
}
.sFContent h3{
    font-weight: 600;    
    text-transform: uppercase;
    padding: 0;
    text-shadow: none;
    color: rgba(30,33,48,1);
    position: relative;
    z-index: 9;
    text-align: right; 
    text-shadow: 1px 1px 1px rgba(255,255,255,0.5), -1px -1px 1px rgba(0, 0, 0, 0.5); 
    text-shadow: rgba(255,255,255,0.5) 0px 2px 0px;    
}
.sFContent p{
    font-size: 14px;
    line-height: 28px;
    margin: 0px;
    position: relative;
    z-index: 9;
}
.sFCount{
    width: 100%;
    position: relative;
    text-align: left;
    padding-left: 81px;
    font-size: 25px;
    color: #434343;
    line-height: 17px;
    padding-top: 30px;
}
.sFCount:before{
    width: 30px;
    height: 1px;
    background: #FF931B;
    content: "";
    position: absolute;
    left: 32px;
    top: 30px;
}

@keyframes gradient {
    0% {
        background-image: linear-gradient(120deg, #fdfbfb 0%, #ebedee 100%);    
    }
    100% {
        background-image: linear-gradient(120deg, #ebedee 0%, #fdfbfb 100%);    
    }
}

.text-center {
    text-align: center;
}
/* ==========================================================================
       Helper classes
       ========================================================================== */

/*
 * Hide visually and from screen readers
 */

.hidden {
    display: none !important;
}

/*
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 */

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
    /* 1 */
}

/*
 * Extends the .visuallyhidden class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    -webkit-clip-path: none;
    clip-path: none;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
    white-space: inherit;
}

/*
 * Hide visually and from screen readers, but maintain layout
 */

.invisible {
    visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

.clearfix:before,
.clearfix:after {
    content: " ";
    /* 1 */
    display: table;
    /* 2 */
}

.clearfix:after {
    clear: both;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

@media only screen and (min-width: 35em) {
    /* Style adjustments for viewports that meet the condition */
}

@media print,
(-webkit-min-device-pixel-ratio: 1.25),
(min-resolution: 1.25dppx),
(min-resolution: 120dpi) {
    /* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   http://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */

@media print {

    *,
    *:before,
    *:after {
        background: transparent !important;
        color: #000 !important;
        /* Black prints faster:
                                          http://www.sanbeiji.com/archives/953 */
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " ("attr(href) ")";
    }

    abbr[title]:after {
        content: " ("attr(title) ")";
    }

    /*
     * Don't show links that are fragment identifiers,
     * or use the `javascript:` pseudo protocol
     */
    a[href^="#"]:after,
    a[href^="javascript:"]:after {
        content: "";
    }

    pre {
        white-space: pre-wrap !important;
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    /*
     * Printing Tables:
     * http://css-discuss.incutio.com/wiki/Printing_Tables
     */
    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}