* {
    box-sizing: border-box;
}
html {
    height: 100%;
    width: 100%;
}
body {
    font: 200 16px/1.6 'Titillium Web', 'Open Sans', Helvetica, Arial, sans-serif;
	color: #000;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    min-height: 100%;
}
body > main {
    margin-top: 80px;
    flex-grow: 9999;
}
h1, h2, h3, h4, h5, h6 {
    font-family: 'Ubuntu', Arial, sans-serif;
    font-weight: bold;
    margin-bottom: 1em;
    line-height: 1.2em;
    display: inline-block;
    text-align: center;
    width: 100%;
}
h1 {
    font-size: 2em;
}
h2 {
    font-size: 1.8em;
}
h3 {
    font-size: 1.6em;
}
h4 {
    font-size: 1.4em;
}
h5 {
    font-size: 1.2em;
}
h6 {
    font-size: 1.0em;
}
b, strong {
    font-weight: bold;
}
@media only screen and (max-width: 768px) {
    h1 {
        font-size: 2.1em;
    }
    h2 {
        font-size: 1.8em;
    }
    h3 {
        font-size: 1.6em;
    }
    h4 {
        font-size: 1.4em;
    }
    h5 {
        font-size: 1.2em;
    }
    h6 {
        font-size: 1.0em;
    }
}

.flex {
    display: flex;
    justify-content: stretch;
}
.flex > * {
    flex-grow: 1;
}
.flexwrap {
    flex-wrap: wrap;
}
.text-right {
    text-align: right;
}
.text-left {
    text-align: left;
}
.text-center {
    text-align: center;
}
.clear {
    clear: both;
}
.nopadding {
    padding: 0;
}
a,
a:visited {
    color: #000;
    font-weight: bold;
    transition: color 0.3s;
}
a:hover,
a:active {
    color: #016afa;
    text-decoration: none;
}
.button,
.button:hover,
input[type=submit],
input[type=button] {
    text-decoration: none;
    font-family: 'Ubuntu', Arial, sans-serif;
    font-weight: bold;
    text-transform: uppercase;
    text-align: center;
}
header {
    background-color: #ecf4ff;
    position: fixed;
    padding: 15px;
    width: 100%;
    max-height: 80px;
    min-height: 80px;
    top: 0;
    z-index: 1;
    box-shadow: 0px 2px 4px rgba(0,0,0,0.3);
    flex-grow: 1;
}
div.logo {
    margin-bottom: 20px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
img.logo {
    max-width: 300px;
    width: 100%;
}
section.hero,
div.filter {
    width: 100%;
    /* min-height: 48vh; */
}
section.hero {
    background-image: url('../img/hero-image.jpg');
    background-size: cover;
    background-position: center center;
    transition: background-image 0.8s;
}
div.filter {
    position: relative;
    /* background: rgba(0,0,0,0.5) url('../img/hero-filter.png'); */
    background: url('../img/hero-filter.png');
}
.hero .upperleft {
    position: absolute;
    left: 15px;
    top: 15px;
    width: 30px;
    height: 30px;
    border-left: 1px solid #FFF;
    border-top: 1px solid #FFF;
}
.hero .upperright {
    position: absolute;
    right: 15px;
    top: 15px;
    width: 30px;
    height: 30px;
    border-right: 1px solid #FFF;
    border-top: 1px solid #FFF;
}
.hero .lowerleft {
    position: absolute;
    left: 15px;
    bottom: 15px;
    width: 30px;
    height: 30px;
    border-left: 1px solid #FFF;
    border-bottom: 1px solid #FFF;
}
.hero .lowerright {
    position: absolute;
    right: 15px;
    bottom: 15px;
    width: 30px;
    height: 30px;
    border-right: 1px solid #FFF;
    border-bottom: 1px solid #FFF;
}
.hero .controls {
    width: 100%;
    position: absolute;
    bottom: 15px;
    text-align: center;
    color: #FFF;
}
.hero .controls .red {
    color: red;
}
.hero .controls > span {
    margin: 4px;
}
.hero .controls .record {
    animation: blinker 2s linear infinite;
}
@keyframes blinker {
    50% {
        opacity: 0;
    }
}
.hero .bxslider li .slidecontainer {
    display: block;
    background-color: rgba(255,255,255,0.8);
    margin: 100px;
    width: 30vw;;
    box-sizing: border-box;
    border-radius: 8px;
}
.hero.header h1 {
    margin-top: 10vh;
    color: #FFF;
    font-size: 6em;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
    margin-bottom: 30px;
}
.hero.header h2 {
    font-weight: normal;
    color: #FFF;
    max-width: 740px;
    margin-left: auto;
    margin-right: auto;
    display: block;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.3);
}
.hero.header {
    min-height: initial;
}
.hero.header .filter {
    min-height: initial;
    padding-bottom: 10vh;
}
.slidecontainer h2 {
    display: block;
    width: 100%;
    padding: 15px;
    background-color: #016afa;
    color: #FFF;
    font-weight: bold;
    font-size: 1.6em;
    line-height: 1.1em;
    border-radius: 8px 8px 0 0;
}
.slidecontainer div.content {
    margin: 15px;
    padding-bottom: 10px;
}
@media only screen and (max-width: 1250px) {
    .hero .bxslider li .slidecontainer {
        margin: 80px;
        width: 40vw;;
    }
}
@media only screen and (max-width: 900px) {
    .hero .bxslider li .slidecontainer {
        margin: 10vw;
        width: 80vw;
    }
}
@media only screen and (max-width: 768px) {
    .hero.header h1 {
        margin-top: 10vh;
        font-size: 3.4em;
    }
    .hero.header h2 {
    }
}
a.button,
input[type=submit],
input[type=button] {
    display: inline-block;
    background-color: #016afa;
    color: #FFF;
    margin: 15px 0;
    padding: 10px 20px;
    color: #000;
    font-weight: bold;
    text-transform: uppercase;
    border: 0;
}
.slidecontainer a.button {
    margin: 15px;
}
.bx-wrapper {
    margin-bottom: 0;
}
.bx-wrapper, .bx-viewport {
    background: initial;
    border: 0;
}
.navbar-toggler {
    position: fixed;
    right: 12px;
    top: 24px;
    border: 0 !important;
}
nav.navbar {
    float: right;
    padding: 5px 0;
}
nav.navbar > ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: flex-end;
}
nav.navbar > ul li {
    list-style-type: none;
}
nav.navbar > ul li a:hover,
nav.navbar > ul li a {
    color: #000;
    padding: 35px 30px;
}
nav.navbar > ul li.button a {
    background-color: #24ee9a;
    color: #000;
    font-weight: bold;
    text-decoration: none;
    padding: 8px 20px;
    margin-top: -6px;
    margin-left: 15px;
    display: inline-block;
    margin-right: 15px;
    transition: background-color 0.5s, color 0.5s;
}
nav.navbar > ul li.button a:hover {
    background-color: #016afa;
    color: #FFF;
}
nav.navbar > ul li.social a {
    padding: 8px 8px;
    font-size: 1.4em;
}
div.submenucontainer {
    position: fixed;
    width: 100%;
    left: 0;
    right: 0;
    top: 80px;
    background-color: rgba(0,0,0,0.8);
    color: #FFF;
    display: none;
    padding: 2em 0;
}
div.submenucontainer > ul > li a {
    color: #26ee98;
    text-decoration: none;
    padding: 0.6em 0;
    display: inline-block;
    width: 100%;
    font-size: 1.1em;
}
div.submenucontainer > ul > li a:hover {
    color: #016afa;
    text-decoration: none;
    padding: 0.6em 0;
    display: inline-block;
    width: 100%;
}
div.submenucontainer > ul > li > ul li a {
    color: #FFF;
    text-decoration: none;
    padding: 0.6em 0;
    display: inline-block;
    width: 100%;
}
div.submenucontainer > ul > li > ul li a:hover {
    color: #FFF;
    text-decoration: none;
    padding: 0.6em 0;
    display: inline-block;
    width: 100%;
}
div.submenucontainer > ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
    text-align: right;
    display: flex;
    width: 100%;
    justify-content: flex-end;
}
div.submenucontainer > ul > li {
    display: inline-block;
    list-style-type: none;
    width: 20%;
    max-width: 400px;
    text-align: left;
    padding: 0 30px 0 0;
}
div.submenucontainer > ul > li > ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
}
div.submenucontainer > ul > li > ul li {
    border-top: 1px solid rgba(255,255,255,0.3);
    width: 100%;
    text-align: left;
}
.submenuhint {
    display: none;
}
@media only screen and (max-width: 1190px) {
    div.submenucontainer > ul > li {
        width: 25%;
    }
    nav.navbar > ul li a:hover, nav.navbar > ul li a {
        padding: 15px 20px;
    }
    nav.navbar > ul li.button {
        max-width: min-content;
        word-break: initial;
        margin-top: -12px;
    }
}
@media only screen and (max-width: 990px) {
    div.submenucontainer > ul > li {
        width: 33%;
    }
}
@media only screen and (max-width: 768px) {
    .submenuhint {
        display: block;
        float: right;
        width: 40px;
        text-align: right;
    }
    .navbar-collapse nav.navbar {
        position: fixed;
        top: 80px;
        left: 0;
        right: 0;
        float: initial;
        padding: 0;
        background-color: rgba(0,0,0,0.8);
        height: calc(100% - 80px);
        overflow-y: scroll;
        overflow-x: hidden;
        justify-content: flex-start;
        flex-direction: column;
    }
    nav.navbar > ul {
        margin: 10px 0;
        display: block;
        width: 100%;
    }
    nav.navbar > ul > li {
        width: 100%;
        padding: 0px;
        text-align: left;
    }
    nav.navbar > ul > li a {
        display: inline-block;
        width: 100%;
        padding: 10px 20px;
        color: #FFF;
    }
    nav.navbar > ul > li a:hover {
        display: inline-block;
        width: 100%;
        padding: 10px 20px;
        color: #ffd305;
    }
    nav.navbar > ul li.button {
        max-width: 100%;
        word-break: initial;
        margin-top: 0px;
        text-align: center;
    }
    nav.navbar > ul > li.button a:hover,
    nav.navbar > ul > li.button a {
        margin-top: 10px;
        color: #000;
        width: auto;
    }
    nav.navbar .submenucontainer {
        display: none;
        position: relative;
        background-color: initial;
        top: 0;
        padding: 0;
    }
    nav.navbar .submenucontainer.active {
        display: block;
    }
    nav.navbar .submenucontainer > ul {
        display: inline-block;
        margin: 0 20px;
        border-left: 2px solid #ffd305;
    }
    nav.navbar .submenucontainer > ul > li {
        width: 100%;
        max-width: 100%;
    }
    nav.navbar .submenucontainer > ul > li a:hover,
    nav.navbar .submenucontainer > ul > li a {
        width: 100%;
        padding: 10px 10px 10px 15px;
        font-size: 1em;
    }
    nav.navbar .submenucontainer > ul > li > ul {
        position: relative;
        display: none;
    }
    nav.navbar .submenucontainer ul.subsubcontainer {
        display: none;
        position: relative;
        width: 100%;
        margin: 0 20px;
    }
    nav.navbar .submenucontainer ul.subsubcontainer.active {
        display: block;
    }
    nav.navbar .submenucontainer ul.subsubcontainer li {
        border: 0;
    }
    nav.navbar .submenucontainer ul.subsubcontainer li a:hover {
        color: #ffd305;
    }
}



section.textblock {
}
div.narrow {
    width: 96%;
    max-width: 840px;
    margin-left: auto;
    margin-right: auto;
}
div.row {
    width: 100%;
}
div.wide {
    width: 96%;
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-wrap: wrap;
}
section:nth-of-type(odd) {
    background-color: rgba(0,0,0,0.03);
    background-color: #f9fcff;
}
section.padded {
    padding: 4em 0 4em 0;
}
section.products,
section.imageandtext,
section.usps {
    padding: 3em 0;
}
section.products .filter {
	margin: 0 0 20px 0;
	padding: 0;
	list-style-type: none;
	display: flex;
	flex-direction: row;
	justify-content: center;
	column-gap: 6px;
	width: 100%;
}
section.products .filter li {
	display: block;
	padding: 8px 16px;
	background-color: #016afa;
	border-radius: 5px;
	cursor: pointer;
}
div.product {
    width: 33.33%;
    padding: 0 10px;
    margin: 0;
    margin-bottom: 20px;
}
div.product .inner {
    width: 100%;
    border-radius: 8px;
    box-shadow: 2px 2px 4px rgba(0,0,0,0.3);
    background-color: #FFF;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: stretch;
}
div.product h2 {
    border-radius: 8px 8px 0 0;
    background-color: #000;
    color: #FFF;
    margin: 0;
    padding: 20px 0;
    font-size: 1.4em;
    flex-grow: 1;
}
div.product h2 a,
div.product h2 a:hover {
    color: #FFF;
}
div.product div.content {
    padding: 1em;
    flex-basis: 9999;
    flex-grow: 999;
}
div.product div.content.link {
    flex-grow: 1;
}
section.productpage div.price,
div.product div.price {
	font-weight: bold;
	font-size: 3em;
}
div.product div.price {
	text-align: right;
	padding: 0 20px;
}
section.productpage div.regprice,
div.product div.regprice {
	font-size: 1rem;
	color: grey;
	text-decoration: line-through;
    display: block;
    margin-bottom: -1em;
}
.brand, .sku {
	color: grey;
	font-style: italic;
}
div.product .prodimage img {
    width: 100%;
}
div.product.shop .prodimage img {
    max-width: 100%;
    width: auto;
    max-height: 272px;
}
div.product.shop .prodimage {
	text-align: center;
}
div.productimg img {
	max-width: 100%;
}
section.productpage {
	padding-top: 40px;
	padding-bottom: 40px;
}
div.categories span.cattitle,
div.categories span.catlink a {
	display: inline-block;
	padding: 3px 5px;
}
div.categories span.catlink {
	border-radius: 3px;
	background-color: rgba(0,0,0,0.05);
}
@media only screen and (max-width: 990px) {
    div.flex {
        flex-wrap: wrap;
    }
    div.product {
        width: 50%;
        margin-bottom: 20px;
    }
}
@media only screen and (max-width: 768px) {
    div.product {
        width: 100%;
    }
}

section.cta.old {
    background: rgb(235,171,0); /* Old browsers */
    background: -moz-linear-gradient(-45deg, rgba(235,171,0,1) 0%, rgba(254,210,0,1) 100%); /* FF3.6-15 */
    background: -webkit-linear-gradient(-45deg, rgba(235,171,0,1) 0%,rgba(254,210,0,1) 100%); /* Chrome10-25,Safari5.1-6 */
    background: linear-gradient(135deg, rgba(235,171,0,1) 0%,rgba(254,210,0,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ebab00', endColorstr='#fed200',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
}
section.cta {
    background: linear-gradient(90deg, #016afa, #26ee98);
    background-size: 400% 400%;

    -webkit-animation: CTAnim 15s ease infinite;
    -moz-animation: CTAnim 15s ease infinite;
    -o-animation: CTAnim 15s ease infinite;
    animation: CTAnim 15s ease infinite;
    padding: 3em 0;
}
@-webkit-keyframes CTAnim {
    0%{background-position:0% 52%}
    50%{background-position:100% 49%}
    100%{background-position:0% 52%}
}
@-moz-keyframes CTAnim {
    0%{background-position:0% 52%}
    50%{background-position:100% 49%}
    100%{background-position:0% 52%}
}
@-o-keyframes CTAnim {
    0%{background-position:0% 52%}
    50%{background-position:100% 49%}
    100%{background-position:0% 52%}
}
@keyframes CTAnim {
    0%{background-position:0% 52%}
    50%{background-position:100% 49%}
    100%{background-position:0% 52%}
}
section.cta div.cta {
    width: 70%;
    float: left;
}
div.cta {
    font-weight: bold;
    font-family: 'Ubuntu', Arial, sans-serif;
    font-size: 1.6em;
}
section.cta div.ctabutton {
    width: 30%;
    text-align: right;
    float: left;
}
div.ctabutton a.button {
    color: #FFF;
    font-size: 1.4em;
    font-weight: bold;
    background-color: #000;
    border-radius: 4px;
    margin: 0;
    padding: 20px 40px;
    text-transform: initial;
    transition: color 0.5s, background-color 0.5s;
}
div.ctabutton a.button:hover {
    color: #000;
    background-color: #FFF;
}
section.usps {
    padding: 3em 0;
}
section.usps h2 {
    width: 100%;
    display: block;
}
div.icon {
    width: 100%;
    padding-bottom: 15px;
}
div.colicon,
div.uspicon {
    width: 120px;
    height: 120px;
    background-color: #26ee98;
    color: #000;
    border-radius: 5px;
    text-align: center;
    line-height: 120px;
    font-size: 2em;
    float: left;
}
div.colicon {
    float: none;
    display: inline-block;
}
div.usptext {
    float: left;
    width: calc(100% - 200px);
    text-align: left;
    padding: 0 20px;
}
div.usptext h1,
div.usptext h2,
div.usptext h3 {
    text-align: left;
}
div.usp {
    width: 50%;
    float: left;
    margin-top: 2em;
}
@media only screen and (max-width: 768px) {
    div.usp {
        width: 100%;
    }
    section.cta {
        padding: 1.5em 0;
    }
    section.cta div.cta,
    section.cta div.ctabutton {
        width: 100%;
        text-align: center;
    }
    section.cta div.ctabutton {
        padding: 1em 0;
    }
}
div.block {
    box-shadow: 2px 2px 4px rgba(0,0,0,0.2);
    padding: 0;
    margin-bottom: 30px;
    background-color: #FFF;
}
div.squareimage {
    width: 40%;
    display: inline-block;
    float: left;
}
div.squareimage a {
    display: block;
    position: relative;
    width: 100%;
}
div.squareimage img {
    width: 100%;
}
div.block div.contentcol {
    padding: 15px;
    width: 60%;
    display: inline-block;
}
div.block div.contentcol h2 {
    text-align: left;
}
footer {
    background-color: #202020;
    width: 100%;
    padding: 3em 0;
    flex-grow: 1;
}

/* Compare */
.compare {
    width: 100%;
}
.comparerow {
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
}
.comparecol {
    flex-grow: 3;
    text-align: left;
    font-weight: normal;
    padding: 5px 10px;
    flex-basis: 30%;
}
.compareval {
    flex-grow: 2;
    padding: 5px 10px;
    flex-basis: 20%;
}
.comparerow.header .comparecol {
    padding: 15px 10px;
    border-bottom: 1px solid rgba(0,0,0,0.2);
    font-weight: bold;
}
.comparerow.header .compareval {
    background-color: #000;
    font-family: 'Ubuntu', Arial, sans-serif;
    color: #FFF;
    font-weight: bold;
    padding: 15px 10px;
    border-left: 1px solid rgba(255,255,255,0.2);
}
.comparerow.header .compareval a {
    color: #FFF;
}
.comparerow.header .compareval:nth-of-type(2) {
    border-radius: 5px 0 0 0;
    border-left: 0;
}
.comparerow.header .compareval:last-of-type {
    border-radius: 0 5px 0 0;
}
.comparerow > div:first-of-type {
    border-left: 1px solid rgba(0,0,0,0.2);
}
.comparerow > div {
    border-bottom: 1px solid rgba(0,0,0,0.2);
    border-right: 1px solid rgba(0,0,0,0.2);
}
.comparerow.header div {
    border: 0;
}
.compareval .fa-check {
    color: #3a9a00;
}
.compareval .fa-times {
    color: #bcbcbc;
}

/* forms */
section.form {
}
.fieldcontainer {
    text-align: left;
    padding: 6px 0 15px 0;
}
input[type=radio],
input[type=checkbox] {
    margin-right: 6px;
}
input[type=radio] + label,
input[type=checkbox] + label {
    margin-right: 30px;
}
input[type=text],
textarea,
input[type=date],
input[type=email] {
    width: 100%;
    padding: 6px 12px;
    border: 1px solid rgba(32,32,32,0.4);
}
#form1_letitgoelsa {
    display: none;
}
small.disclaimer {
    color: #a9a9a9;
    font-style: italic;
    font-size: 0.8em;
}
small.disclaimer a,
small.disclaimer a:hover {
    color: #7e7e7e;
}
.grecaptcha-badge {
    display: none !important;
}

/* faq */
.faq {
    width: 100%;
}
.faq:nth-of-type(1) .question {
    border-top: 1px solid rgba(127,127,127,0.4);
}
.faq .question:before {
    content: "\f067";
    float: left;
    display: flex;
    height: 100%;
    justify-content: center;
    flex-direction: column;
    font-weight: 900;
    font-family: "Font Awesome 5 Pro";
    margin-right: 10px;
}
.faq.active .question:before {
    content: "\f068";
}
.faq .question {
    padding: 10px;
    font-weight: bold;
    border-bottom: 1px solid rgba(127,127,127,0.4);
    cursor: pointer;
    width: 100%;
}
.faq .answer {
    height: 0;
    overflow: hidden;
    padding: 0;
    border: 0;
    background-color: rgba(0,0,0,0.05);
}
.faq.active .answer {
    height: auto;
    padding: 10px 10px 10px 15px;
    border-left: 5px solid #016afa;
}

.shoporderform form {
    display: flex;
    flex-wrap: wrap;
}
.shoporderform .shoplabel {
    display: block;
    flex-basis: 40%;
    font-weight: bold;
    padding-bottom: 8px;
}
.shoporderform .shopvalue {
    display: block;
    flex-basis: 60%;
    padding-bottom: 8px;
}
table.cart form {
    width: 100%;
}
table.cart {
	width: 100%;
	border-collapse: collapse;
    margin-bottom: 30px;
}

table.cart th {
	font-weight: 600;
}

table.cart td,
table.cart th {
	border: 0px solid #efefef;
	vertical-align: top;
	padding: 3px;
}
table.cart tr th,
table.cart tr td {
    padding: 4px 8px;
    border-bottom: 1px solid #CCC;
}

table.cart .total,
table.cart .money {
	text-align: right;
}

.discount {
	max-width: 300px;
}

.desc {
	font-size: small;
}

.remove_cart {
	background: none;
	border: 0;
	padding: 0;
	margin: 0;
	text-decoration: underline;
}

input[type=number] {
	min-width: 35px;
    max-width: 50px;
}
.shopcart {
    padding-top: 40px;
    padding-bottom: 40px;
}
.carttocheckout {
    justify-content: space-between;
}
.discount {
    padding: 15px 0;
}
.selectbillingaddr {
    border-left: 1px solid #CCC;
}
.selectableaddress {
    background-color: #FFF;
    box-shadow: 2px 2px 4px rgba(0,0,0,0.1);
    padding: 30px 30px 15px 30px;
    margin: 0 15px;
}
.selectableaddress * {
    width: 100%;
}
.selectableaddress input {
    display: block;
    margin: 0 auto;
}


header nav.navbar ul li.language > img {
    opacity: 0.3;
}
header nav.navbar ul li.language img {
    width: 24px;
}
nav.navbar > ul li.language {
	padding-right: 20px;
}
nav.navbar > ul li.language a:hover,
nav.navbar > ul li.language a {
	padding: 0px;
}
