:root {
    --light: #fff;
    --pink: #AD005F;
    --green: #ACD214;
    --green-rgb: 172,210,20;
    --light-green: #EBFF9D;
    --light-green-rgb: 235,255,157;
    --middle-green: #b6cb5f;
    --middle-green-rgb: 182,203,95;
    --green-dark: #3E5A02;
    --dark: #202905;
    --grey: #434343;
    --white: #fff;
    --padding: 20px;
    --main-text-color: var(--grey);
    --main-font: 'Open Sans',sans-serif;
    --shadow-null: 0 0 0px rgba(0,0,0,0);
    --shadow: 0 0 5px rgba(0,0,0,0.5);
    --flex-base: 190px;
    --max-width: 1300px;
    --border-radius: 0rem;
    --padding: 20px;
    --max-width: 1800px;
    --flex-base: 150px;
    --swiper-theme-color: var(--text-color) !important;
    --main-font: 'Open Sans',sans-serif;
    --green: #ACD214;
    --green-dark: #3E5A02;
    --green-light: #EBFF9D;
    --dark: #202905;
    --main-text-color: #434343;
    --light: #fff;
    --pink: #AD005F;
    --transition-time: 0;
}
html {
    font-size: 16px;
    margin: 0;
    padding: 0;
    max-width: 100%;
    scrollbar-width: thin
}
body {
    margin: 0;
    padding: 0;
    font-weight: 400;
    color: var(--main-text-color);
    font-family: var(--main-font);
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    -webkit-appearance: none;
    margin: 0;
    padding: 0;
    min-height: 100%;
    min-width: 230px;
    max-width: 100%;
    position: relative;
    min-height: 100vh;
    padding-top: calc(1 * var(--padding))
}
body, body * {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    box-sizing: border-box;
}
h1, .h1, h2, .h2, h3, .h3 {
    margin: 0;
}
h1 {
    font-size: 1.7rem;
    color: var(--green-dark);
    font-weight: 700;
}
h2 {
    color: var(--green-dark);
    font-size: 30px;
    font-size: 1.7rem;
}
h3, h4 {
  font-size: 1em;
  font-weight: bold;
  margin: 0 0 calc(.5 * var(--padding));
}
h5 {
  margin-bottom: 6px;
  font-weight: bold;
}
p {
    margin: 0;
}
a, a:focus {
    color: var(--pink);
    text-decoration: none;
    transition: color 0.5s ease-in;
}
a:hover {
    color: var(--green-dark);
}

hr {color: #fff;}
strong {
    font-weight: 700;
}
img {
    height: auto
}

/* FLEX */
.flex{
    display: flex;
    flex-flow: row wrap;
    align-content: flex-start;
    width: auto;
}
.pad {
    padding: var(--padding)
}
.flex.doublepadding {
    padding: calc(2 * var(--padding));
}
.flex.nm{
    margin: calc(-1 * var(--padding));
}
.flex.nw {
    flex-flow: row nowrap;
}
.flex.unpad {
    margin: 0 calc(-1 * var(--padding));
    max-width: calc(100% + 2 * var(--padding));
}
.flex.halfpad {
    margin: calc(0.5 * var(--padding)) calc(-0.5 * var(--padding));
    max-width: calc(100% + var(--padding))
}
.flex.halfpad > *[class*="box"] {
    padding: calc(0.5 * var(--padding))
}
.flex.wr {
    flex-flow: row wrap-reverse;
}
.flex.vcenter {
    align-items: center;
    align-content: center;
}
.flex.vstretch {
    align-items: stretch;
    align-content: stretch;
}
.flex.vstart {
    align-items: flex-start !important;
    align-content: flex-start !important;
}
.flex.vend {
    align-items: flex-end !important;
    align-content: flex-end !important;
}
.vcenter[class*="box"] {
    align-self: center;
}
.box0 {flex: 0.25 1 calc(0.5 * var(--flex-base));}
.box1 {flex: 1 1  calc(1 * var(--flex-base));}
.box2 {flex: 2 1  calc(2 * var(--flex-base));}
.box3 {flex: 3 1  calc(3 * var(--flex-base));}
.box4 {flex: 4 1  calc(4 * var(--flex-base));}
.box5 {flex: 5 1  calc(5 * var(--flex-base));}
.box5 {flex: 6 1  calc(6 * var(--flex-base));}
.boxfull {flex: 1 1 100%;}
.box0, .box1, .box2,.box3,.box4,.box5, .box-po, .boxfull {padding: var(--padding);max-width: 100%;}
.flexp > .box0, 
.flexp > .box1, 
.flexp > .box2,
.flexp > .box3,
.flexp > .box4,
.flexp > .box5, 
.flexp > .box-po,
.flexp > .boxfull {padding: 0 var(--padding); margin-bottom: 1rem}
.flexp > [class*="box"] > p:last-child {
    margin-bottom: 0;
}
.flex > .nopadding[class*="box"], .flex.nopadding {
    padding: 0;
}
.flex > .nosidepadding[class*="box"], .flex.nosidepadding {
    padding-left: 0;
    padding-right: 0
}
.flex > .doublepadding[class*="box"] {
    padding: calc(2 * var(--padding));
}
.flex > .flex[class*="box"]:not(.fpad) {
    padding: 0;
}
.flex > .divider {
    flex: 1 1 100%;
    padding: 0;
    margin: 0;
}
.flex > .hdivider {
    flex: 0 0 0%;
    padding: 0;
    margin: 0;
}
.flex > .hw + .hdivider {
    flex: 1 1 100%;
    padding: 0;
    margin: 0;
}
@media (max-width: 1220px){
.flex > .divider {
    display: none;
}    
}
div.flex.mbn[class*="box"] {
    margin-bottom: calc(-1 * var(--padding));
}
img[class^="box"], 
picture[class^="box"], 
picture[class^="box"] > img {
    width: 100%;
    display: block;
    height: auto;
    object-fit: cover;
    object-position: center;
}
img[class^="box"], 
picture[class^="box"] > img {
    height: 100%;
}
img.roundimg {
    border-radius: 100%
}
/* HEADER */
header {
    background-color: var(--green);
    position: relative;
}
header, header * {
    color: var(--dark);
    line-height: 1
}
header > .wrapper > div:last-child {
    display: none;
}
header #logo {
    position: relative;
    flex: 0 0 calc(50px + 1 * var(--padding));
}
header #logo img {
    position: absolute;
    left: 0;
    right: calc(2 * var(--padding));
    top: -50%;
    bottom: -50%;
    margin: auto;
    width: 100%;
    height: auto;
    max-width: 50px;
}
.headerimg {
    position: relative;
    z-index: -1;
}
.headerimg img {
    position: absolute;
    width: 100%;
    height: 40vh;
    object-fit: cover;
    object-position: center top;
    filter: blur(3px);
}
/* CONTENT */
.wrapper {
    width: 100%;
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 0
}
main {
    position: relative;
    background: -moz-linear-gradient(top,  rgba(var(--light-green-rgb),0) 0%, rgba(var(--light-green-rgb)1) 30vh, rgba(var(--light-green-rgb)1) 50%, rgba(var(--light-green-rgb),.3) 100%);
    background: -webkit-linear-gradient(top, rgba(var(--light-green-rgb),0) 0%,rgba(var(--light-green-rgb),1) 30vh,rgba(var(--light-green-rgb),1) 50%,rgba(var(--light-green-rgb),.3) 100%);
    background: linear-gradient(to bottom, rgba(var(--light-green-rgb),0) 0%,rgba(var(--light-green-rgb),1) 30vh,rgba(var(--light-green-rgb),1) 50%,rgba(var(--light-green-rgb),.3) 100%);
    min-height: calc(100vh - 6*var(--padding) - 1rem);
    padding: calc(3 * var(--padding)) 0 calc(1 * var(--padding))
}
main > section.wrapper {
    background-color: var(--white);
    border-radius: 1rem;
    padding: 0;
    overflow: hidden
}
img.teamimg {
    position: relative;
    display: block;
    max-width: 100%;
    margin-bottom: calc(-5 * var(--padding))
}
/* FORMULAR */
label {
  display: inline-block;
}
.stronglabel label {
    font-weight: 700;
    padding-bottom: calc(.5 * var(--padding));
}
input[type=text],
input[type=date],
.files-upload,
input[type=email],
input[type=tel],
textarea,
select {
    border-radius: .5rem;
    border: 2px solid var(--light-green);
    color: var(--main-text-color);
    background-color: var(--white);
    font-size: 15px;
    margin-bottom: 12px;
    width: 100%;
    padding: calc(.33 * var(--padding));
    line-height: 1.6em;
    outline: none;
    font-size: 1em;
    transition: border 0.5s ease-in;
}

button , .button {
    background-color: var(--green);
    display: inline-block;
    margin-bottom: 0;
    font-weight: normal;
    color: var(--dark);
    text-align: center;
    vertical-align: middle;
    touch-action: manipulation;
    cursor: pointer;
    border: none;
    white-space: nowrap;
    padding: 6px 20px;
    font-size: 1rem;
    line-height: 1.42857143;
    border-radius: 8px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    transition: background-color 0.5s ease-in, color 0.5s ease-in;
}
button , .button:hover {
    background-color: #94b411;
    color: #fff;
}
button[type="spacer"], button[type="spacer"]:hover {
    background: none;
    font-weight: 700;
    color:var(--main-text-color);
    cursor: inherit;
    text-align: left;
    padding: 0;
}

form .form-field, 
form .form-spacer, 
form > label {
    display: block;
    width: 100%;
}
form .form-field {
    box-sizing: border-box;
    padding-top: calc(.5 * var(--padding));
    padding-bottom: calc(.5 * var(--padding))
}
form .form-spacer {
    box-sizing: border-box;
    padding-top: var(--padding);
    padding-bottom: 0
}
form .form-field .form-label {
    margin-bottom: 5px;
}
.form-input-wrapper, .form-input-wrapper input  {
    width: 100%;
    max-width: none;
}
.checkboxes {
    display: block;
}
.buttons {
    width: 100%;
    flex: 1 1 100%;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    box-sizing: border-box;
    align-self: flex-end;
    padding: calc(.5 * var(--padding)) 0;
}
.buttons button {
    border: none;
    box-sizing: border-box;
    flex: 1 1 150px;
    margin: calc(.5 * var(--padding)) var(--padding);
}
button:hover {
    background-color: #614632;
    color: #fff;
}
.form-textarea-wrapper, .form-textarea-wrapper textarea {
    width: 100%;
}
.form-textarea-wrapper textarea, .dz-clickable {
    min-width: 100%;
    max-width: 100%;
    min-height: 10rem;
    resize: none;
}
input, textarea, button {
    font-family: var(--main-font);
} 
input:focus, textarea:focus {
    border-color: var(--green);
}
input[readonly="readonly"] {
    cursor: not-allowed;
    background-color: rgba(255,255,255,0.1);
    color: #fff;
}
form input[type='file'] {
    display: none;
}
.radio {
	display: block;
}
form input[type='checkbox'],
form input[type='radio'] {
  width:auto;
  float:left;
  margin-right: .75em;
  background:transparent;
  border:none;
}

form input[type='checkbox']:checked,
form input[type='checkbox']:not(:checked),
form input[type='radio']:checked,
form input[type='radio']:not(:checked) {
  background: transparent;
  position: absolute;
  visibility: hidden;
  margin:0;
  padding:0;
}

form input[type='checkbox'] + label,
form input[type='radio'] + label {
    cursor: pointer;
    text-indent: -1.4rem;
    padding-left: 1.5rem;
    display: block !important;
}

form input[type='checkbox']:checked + label::before,
form input[type='checkbox']:not(:checked) + label::before,
form input[type='radio']:checked + label::before,
form input[type='radio']:not(:checked) + label::before {
    content: '';
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 1rem;
    height: 1rem;
    border-radius: 50%;
    position: relative;
    top: -5px;
    background-color: var(--green);
    background-image: url(../img/layout/check.png);
    margin-right: 0.5rem;
    background-size: 0%;
    background-repeat: no-repeat;
    background-position: center;
    transition: background-color .2s ease-in, background-size .2s ease-in;
    text-align: center;
    font-size: 2rem;
    line-height: .5em;
    text-indent: 0px;
}

form input[type=radio]:checked + label::before,
form input[type=radio]:not(:checked) + label::before {
  border-radius: 50%;
}

form input[type='checkbox']:hover  + label::before,
form input[type='radio']:hover  + label::before {
    background-color: var(--green);
    background-size: 65%;
    background-repeat: no-repeat;
    background-position: center;
}

form input[type='checkbox']:checked  + label::before,
form input[type='radio']:checked  + label::before {
    background-color: var(--green);
    background-size: 85%;
    background-repeat: no-repeat;
    background-position: center;
}

.form-field.special > .form-data {
    display: flex;
    justify-content: flex-start;
    flex-flow: row wrap;
    align-content: stretch;
    align-items: stretch
}
.form-field.special > .form-data {
    margin: calc(-.33 * var(--padding))
}
.form-field.special > .form-data > .checkboxes {
    flex: 1 1 calc(.75 * var(--flex-base));
    padding: calc(.33 * var(--padding));
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
}
.form-field.special > .form-data > .checkboxes > label {
    padding: calc(.33 * var(--padding));
    position: relative;
    padding-left: calc(.66 * var(--padding) + 1rem);
    margin: 0;
    background-color: var(--middle-green);
    color: var(--dark);
    line-height: 1.2;
    display:  block !important;
    justify-content: flex-start;
    align-items: center;
    transition: background-color .5s ease-in-out;
    text-indent: 0;
    border-radius: .5rem;
    width: 100%;
    flex-flow: row wrap;
}
.form-field.special > .form-data > .checkboxes > label:hover,
.form-field.special > .form-data > .checkboxes > input:checked + label {
    background-color: var(--green)
}
.form-field.special > .form-label {
    display: none
}
form .form-field.special input[type='checkbox']:checked + label::before,
form .form-field.special input[type='checkbox']:not(:checked) + label::before,
form .form-field.special input[type='radio']:checked + label::before,
form .form-field.special input[type='radio']:not(:checked) + label::before {
    font-family: 'Font Awesome 5 Free';
    font-weight: 900; 
    content: '\f111';
    color: var(--white);
    background: none;
    font-size: 1em;
    width: 1rem;
    height: 1rem;
    position: absolute;
    text-align: center;
    line-height: 1em;
    top: calc(.33 * var(--padding) + 0.1rem);
    left: calc(.33 * var(--padding));
}

form .form-field.special input[type='checkbox']:checked  + label::before,
form .form-field.special input[type='radio']:checked  + label::before {
    content: '\f058'
}
#form-result {
    display: block;
    position: fixed;
    box-shadow: 0 0 10px rgba(0,0,0,0.5);
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 35%;
    height: 35%;
    max-width: 500px;
    max-height: 500px;
    transform: scale(0);
    opacity: 0;
    pointer-events: none;
    transition: all 0.5s ease-in;
    z-index: 200000;
}
#form-result.shownotice {
    opacity: 1;
    transform: scale(1);
    pointer-events: all;
}
div.notices {
    position: absolute;
    height: 100%;
    padding: 0 20px;
    margin: 0;
    position: relative;
    z-index: 2000;
    width: 100%;
    background-color: transparent;
    box-sizing: border-box;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
}
div.notices p > i {
    display: block;
    font-size: 4em;
    margin: -0.3em 0 0.3em;
}
#form-result.shownotice div.notices p > i.fa-check-circle {
    animation: bubb 5s linear;
}

#form-result.shownotice div.notices p > i.fa-circle-notch {
    animation: turn 1s linear infinite;
}
@keyframes bubb {
    0% {transform: scale(1);}
    7% {transform: scale(1);}
    10% {transform: scale(1.1);}
    13% {transform: scale(1);}
    16% {transform: scale(1.1);}
    19% {transform: scale(1);}
    100% {transform: scale(1);}
}
@keyframes turn {
    0% {transform: rotate(0deg);}
    100% {transform: rotate(360deg);}
}
form .switchlabel {
    position: relative;
}
form .switchlabel .form-label {
    position: absolute;
    top: calc(.5 * var(--padding) + 2px);
    left: calc(1 * var(--padding) + 2px);
    padding: calc(.33 * var(--padding) + 0px);
    transform: scale(1);
    transform-origin: bottom left;
    transition: color 0.5s ease-in-out, transform 0.5s ease-in-out;
    z-index: 1;
    pointer-events: none;
    margin: 0;
    line-height: 1.5;
}
form .switchlabel.labelup .form-label {
    transform: scale(0.6) translateY(calc(-2 * var(--padding)));
    color: var(--middle-green);
    background-color: var(--white)
}
.switchlabel input, .switchlabel textarea, .switchlabel select {
    color: transparent;
}
.switchlabel ::-webkit-input-placeholder {
    color: transparent;
    transition: color 0.5s ease-in;
}
.switchlabel ::-moz-placeholder {
    color: transparent;
    transition: color 0.5s ease-in;
}
.switchlabel ::-ms-placeholder {
    color: transparent;
    transition: color 0.5s ease-in;
}
.switchlabel ::placeholder {
    color: transparent;
    transition: color 0.5s ease-in;
}
.labelup input, .labelup textarea, .labelup select, .switchlabel select:focus {
    color: var(--main-text-color);
}
.labelup ::-webkit-input-placeholder {
    color: var(--main-text-color);
}
.labelup ::-moz-placeholder {
    color: var(--main-text-color);
}
.labelup ::-ms-placeholder {
    color: var(--main-text-color);
}
.labelup ::placeholder {
    color: var(--main-text-color);
}
form button.hidden {
    opacity: 0;
    position: fixed;
    visibility: hidden;
    z-index: -1;
    width: 0px;
    height: 0px;
}

#closeform {
    position: absolute;
    top: 15px;
    right: 15px;
    z-index: 10000;
    cursor: pointer;
}
div.notices.yellow {
    border-left: 0px solid #ba9800 !important;
    background: #fff;
    color: #d89b26 !important;
}
div.notices.red {
    border-left: 0px solid #f14101 !important;
    background: #fff;
    color: #9f1d1d !important;
}
div.notices.blue {
    border-left: 0px solid #005498 !important;
    background: #fff;
    color: #0d5d7f !important;
}
div.notices.green {
    border-left: 0px solid #1d4774 !important;
    background: #fff;
    color: #1d4e1d !important;
}
div.notices p {
    margin: 0 !important;
}
form .dz-clickable .dz-message {
    width: 100%;
    margin: .5em 0;
}
form button.dz-button {
    white-space: normal;
    color: var(--main-text-color);
    background-color: transparent;
    text-align: left;
    font-size: 1rem;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    flex-flow: row wrap;
}
form button.dz-button > span {
    display: block;
    flex: 1 1 calc(100% - 4rem);
    margin-bottom: .8rem;
}
form button.dz-button i {
    font-size: 2.5rem;
    opacity: .3
}
form .dz-clickable {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
form .dz-clickable .dz-message span > span {
    display: block;
}
form .dz-clickable .dz-message span > span > span {
    max-width: 300px;
    display: block;
}
form .dz-clickable .dz-message small {
    font-size: .7em;
    line-height: 1.3
}
footer {
    position: relative;
    background-color: rgba(var(--light-green-rgb),.3);
    text-align: center;
}
@media (min-width: 900px){
:root {
    --padding: 30px;
}
header #logo {
    flex: 2 1 calc(2 * var(--flex-base));
}
header #logo img {
    right: 0;
    max-width: 220px;
}
.wrapper {
    padding: 0 var(--padding)
}
header > .wrapper > div:last-child {
    display: block;
}
body {
    padding-top: calc(4 * var(--padding))
}
html {
    font-size: 18px;
}
main {
    padding: calc(9 * var(--padding)) 0 calc(4 * var(--padding))
}
main > section.wrapper {
    padding: var(--padding)
}   
.form-field.special > .form-data {
    margin: calc(-.33 * var(--padding)) calc(-1 * var(--padding))
}
.form-field.special > .form-data > .checkboxes {
    flex: 3 1 calc(3 * var(--flex-base));
    padding: calc(.33 * var(--padding)) calc(1 * var(--padding))
}
footer {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    text-align: center;
    background-color: transparent
}
}
#loadwrapper {
    position: fixed;
    top: auto;
    left: 0;
    right: 0;
    bottom: -100%;
    opacity: 0;
    width: 100%;
    height: auto;
    border-radius: 1rem 1rem 0 0;
    max-width: var(--max-width);
    max-height: calc(100% - 2* var(--padding));
    background-color: var(--white);
    box-shadow: 0 0 150px 200px var(--light-green);
    margin: auto;
    z-index: 1000;
    padding: calc(2 * var(--padding));
    transition: opacity .5s ease-in-out, bottom .5s ease-in-out; 
}
#loadwrapper.showload {
    bottom: 0;
    opacity: 1;
}
#loadwrapper #closeload {
    position: absolute;
    top: 1rem;
    right: 1rem;
    font-size: 2rem;
    cursor: pointer;
    line-height: 1;
}
#loadwrapper #loadbox {
    position: relative;
    max-height: calc(100vh - 5 * var(--padding));
    overflow-y: scroll;
    scrollbar-width: thin;
    padding-right: 0.5rem;
}
@media (hover) {
::-webkit-scrollbar {
    width: 8px;
    height: 100%;
}
::-webkit-scrollbar:disabled {
    display: none;
}
::-webkit-scrollbar-button{
    display: none
}
::-webkit-scrollbar-track {
    background-color: transparent;
    margin: -4px;
}
::-webkit-scrollbar-thumb {
    background-color: #9cbd12;
    transition: background-color .5s ease-in-out;
    border-radius: 4px;
}
}
body.loaded {opacity: 1}