/**
 * FoodCoopShop - The open source software for your foodcoop
 *
 * Licensed under the GNU Affero General Public License version 3
 * For full copyright and license information, please see LICENSE
 * Redistributions of files must retain the above copyright notice.
 *
 * @since         FoodCoopShop 1.0.0
 * @license       https://opensource.org/licenses/AGPL-3.0
 * @author        Mario Rothauer <office@foodcoopshop.com>
 * @copyright     Copyright (c) Mario Rothauer, https://www.rothauer-it.com
 * @link          https://www.foodcoopshop.com
 */

 :root {
    --dark-mode-main-bg-color: #0f0f0f;
    --dark-mode-2nd-bg-color: #1b1b1b;
    --dark-mode-main-font-color: #CDCDCD;
    --dark-mode-2nd-font-color: #f4f0ec;;
    --dark-mode-main-border-color: #696969;
    --not-ok-red: #dc143c;
    --warning-yellow: #FDB813;
}

@media print {
    a:link:after, a:visited:after {
        content: '';
    }
}
body {
    font-family: 'Open Sans';
    color: #333333;
    background-attachment: fixed;
    background-color: #a9a9a9;
}
img, iframe {
    border-radius: 5px;
}
input[type="radio"],
input[type="checkbox"] {
    accent-color: grey;
}
a {
    color: #333;
}
a:not(.btn),
a:not(.btn):visited,
a:not(.btn):active,
a:not([href]):not([tabindex]),
a:not([href]):not([tabindex]):focus {
    text-decoration: none ! important;
}
#full-page-loader {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    background-color: rgba(0,0,0,0.6);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 99995;
    overflow: hidden;
}
#full-page-loader i {
    font-size: 150px;
}
table.list a:not(.btn),
body.admin form .input a:not(.btn),
body.admin.modal-open .modal a:not(.btn):not(.upload-button),
body.admin h2 span a,
.tooltipster-box .tooltipster-content a {
    color: #333 ! important;
    text-decoration: underline ! important;
}
body.admin table.list a:not(.btn):hover,
body.admin form .input a:not(.btn):hover,
body.admin.modal-open a:not(.btn):hover,
body.admin h2 span a:hover,
.tooltipster-box .tooltipster-content a:hover {
    text-decoration: none ! important;
}
.btn {
    border-radius: 4px;
}
.btn-success.confirm-submit {
    box-shadow: inset 0 0 0 3px var(--warning-yellow);
    border-color: var(--warning-yellow);
}
.btn-success:active {
    border-color: transparent;
}
a:not(.btn):not(.btn-arrow):not(.swiper-button-prev):not(.swiper-button-next):not(.dropdown-item):hover:not(.pagination-link):hover {
    text-decoration: underline ! important;
}
.swiper-button-next,
.swiper-button-prev {
    border-radius: 50%;
}
ul.menu:not(#user-menu):not(#footer-menu) a:hover {
    text-decoration: none ! important;
}
h4 {
    font-size: 20px;
    font-weight: 600;
}
select {
    background-color: #fff;
}
label {
    margin-bottom: 0.5rem;
}
button,
:focus {
    outline: none ! important;
}
.btn:focus,
.btn:active,
.btn:focus:active {
    box-shadow: initial ! important;
}
.btn-success:focus:active,
.btn-danger:focus:active,
.btn-warning:focus:active {
    opacity: 1;
}
.btn-outline-light {
    color: #333;
    background-color: #fff;
    border-color: #ccc;
}
.btn-outline-light.disabled {
    color: #333;
    border-color: #ccc;
}
.btn-outline-light:hover,
.btn-outline-light.active,
.btn-outline-light:active:focus {
    background-color: #e6e6e6 ! important;
}
.btn-outline-light:hover,
.btn-outline-light.active,
.btn-outline-light:active,
.btn-outline-light:focus,
.btn-outline-light:active:focus {
    border-color: #adadad ! important;
}
.btn-outline-light:active:focus {
    background-color: #cec8c8 ! important;
}
.btn-outline-light.disabled,
.btn-outline-light:disabled {
    background-color: #fff;
}

.btn-danger:hover,
.btn-danger:focus,
.btn-danger:active,
.btn-danger:active:focus,
.btn-danger.disabled {
    background-color: #f3515c;
    border-color: #f3515c;
    color: #fff;
}
.btn-danger {
    background-color: #f3515c;
    border-color: #d9534f;
}
.btn-warning {
    background-color: #f0ad4e;
    border-color: #eea236;
    color: #fff;
}
.btn-warning:hover,
.btn-warning:active,
.btn-warning:focus,
.btn-warning:active:focus {
    color: #fff ! important;
    background-color: #ec971f ! important;
    border-color: #d58512 ! important;
}
.btn-success:hover,
.btn-danger:hover,
.btn-warning:hover {
    opacity: 0.8;
}
.sc { clear: both; height: 0px; font-size: 0px; background-color: transparent; }
.hide {
    display: none;
}
h1 {
    font-size: 26px;
    margin-bottom: 10px;
    margin-top: 0;
    font-weight: 600;
}
h1.middle-line {
    display: flex;
    justify-content: space-between;
    margin-bottom: 15px;
}
h1:not(.middle-line) span {
    font-size: 15px;
    letter-spacing: 0;
    float: right;
    line-height: 34px;
    font-weight: normal;
}
h1.middle-line span.left {
    margin-bottom: -5px;
}
h1.middle-line span.middle {
    border-bottom: 1px solid #ccc;
    flex-grow: 1;
    margin-left: 5px;
    margin-right: 5px;
    min-width: 50px;
}
h1.middle-line span.right {
    font-size: 15px;
    letter-spacing: 0;
    align-self: flex-end;
    margin-bottom: -2px;
    text-align: right;
    font-weight: normal;
}
h2 {
    font-size: 26px;
    margin-bottom: 10px;
    margin-top: 0;
    font-weight: 600;
}
h2.warning,
h2.info,
h2.info2 {
    letter-spacing: normal;
    font-size: 15px;
    padding: 7px 5px ! important;
    border-bottom: none;
    margin-bottom: 2px;
    color: #fff;
    line-height: 19px;
    clear: both;
    font-weight: normal ! important;
}
h2.warning {
    background-color: #f3515c;
}
div.warning {
    color: #f3515c;
}
h2.info a:not(.btn) {
    color: #fff ! important;
    text-decoration: underline ! important;
}
#installation-logo {
    border-radius: 10px;
}
#flashMessage {
    position: fixed;
    top: 48px;
    left: 392px;
    padding: 8px;
    width: 450px;
    opacity: 0.9;
    border-radius: 5px;
    z-index: 1000;
    text-align: left;
    -webkit-box-shadow: 0px 0px 70px 0px rgba(0,0,0,0.7);
    -moz-box-shadow: 0px 0px 70px 0px rgba(0,0,0,0.7);
    box-shadow: 0px 0px 70px 0px rgba(0,0,0,0.7);
    word-break: break-word;
    max-height: 90vh;
    overflow-y: auto;
}
#flashMessage .closer {
    float: right;
}
#flashMessage .closer .fa-times-circle {
    color: #fff;
    font-size: 17px;
}
#flashMessage .closer .fa-times-circle:hover {
    color: #ccc;
}
#flashMessage.error {
    color: #fff;
    background: #f3515c;
    border-color: #f3515c;
}
#flashMessage.warning {
    color: #fff;
    background: var(--warning-yellow);
    border-color: var(--warning-yellow);
}
#flashMessage.success {
    color: #fff;
}
#flashMessage.success .error {
    background: #f3515c;
    padding: 5px;
    margin-top: 10px;
    border-radius: 6px;
}
#flashMessage.error a {
    text-decoration: underline ! important;
    color: #fff ! important;
}
#flashMessage.error .progress-bar.bg-success {
    background-color: #f3515c ! important;
}
#flashMessage .progress {
    clear: both;
    margin-top: 3px;
    background-color: transparent;
}
#flashMessage .progress,
#flashMessage .progress .progress-bar {
    height: 2px;
}
#flashMessage img {
    height: 200px;
    float: left;
    margin-top: 5px;
    margin-bottom: 5px;
}
#flashMessage .btn-flash-message {
    float: left;
    margin-top: 6px;
    width: 48%;
}
#flashMessage ul {
  padding-left: 10px ! important;
  margin-left: 10px;
  margin-top: 10px;
}
#flashMessage li {
    list-style-type: disc;
}
.vertical.menu {
    width: 145px;
    background: #efefef;
    margin-right: 5px;
}
.vertical.menu a,
.vertical.menu > li img.logo {
    float: left;
    padding: 5px;
    color: #333333;
    background: #fff;
    border-bottom: 1px solid #dfdfdf;
    border-right: 1px solid #dfdfdf;
    font-size: 14px;
    width: 100%;
    position: relative;
}
.vertical.menu a:hover,
.vertical.menu a:hover i,
.vertical.menu a:hover span.additional-info,
.vertical.menu a.active,
.vertical.menu a.active i,
.vertical.menu a.active span.additional-info {
    color: #fff ! important;
}
.vertical.menu a i.fas,
.vertical.menu a i.far {
    font-size: 15px;
    position: absolute;
    left: 5px;
    top: 8px;
}
.vertical.menu li.has-icon a,
.vertical.menu li a.has-icon,
.vertical.menu li.has-children ul a {
    padding-left: 28px;
}
.vertical.menu > li ul {
    display: none;
}
.vertical.menu li.has-children > a:not(.active) i:before,
a.toggle-link:not(.collapsed) i:before  {
    content: "\f0fe"; /* fa-plus-square */
}
.vertical.menu li.has-children > a.active i:before,
a.toggle-link.collapsed i:before {
    content: "\f146" /* fa-minus-square */
}
.vertical.menu li.has-children a.active + ul {
    display: block;
}
.vertical.menu li.has-children ul a {
    font-size: 13px;
    padding-top: 3px;
    padding-bottom: 3px;
}
.vertical.menu a.deactivated {
    opacity: 0.5;
}
.ui-widget input, .ui-widget select, .ui-widget textarea, .ui-widget button {
    font-family: 'Open Sans';
}
#scroll-to-top {
    position: fixed;
    bottom: 10px;
    left: 10px;
    z-index: 99;
    display: none;
}
#scroll-to-top a {
    width: 45px;
    height: 46px;
    display: block;
    -webkit-transition: 0.6s;
    -moz-transition: 0.6s;
    -o-transition: 0.6s;
    transition: 0.6s;
    background: #fff;
    border-radius: 50%;
    font-size: 34px;
    text-align: center;
    background: #fff;
    line-height: 1.5;
}
#scroll-to-top a i {
    font-size: 41px;
    width: 41px;
}
div.input.error input {
    border-bottom-right-radius: 0 ! important;
    border-bottom-left-radius: 0 ! important;
}
.truncate {
    width: 250px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

input[type="text"],
input[type="email"],
input[type="password"],
input[type="tel"],
input[type="number"],
select {
    padding: 3px;
    width: 110px;
    border: 1px solid #dfdfdf;
}
form div.error-message {
    color: #fff;
    background-color: #f3515c;
    padding: 3px 5px;
    margin-bottom: 5px;
    width: 270px;
    border-bottom-right-radius: 3px;
    border-bottom-left-radius: 3px;
}
form div.error-message.long {
    width: 562px;
}
form div.error-message ul {
    margin-bottom: 3px;
}
form div.textarea.error {
    border: 2px solid #f3515c;
    padding: 5px;
}
input[type="checkbox"] {
    width: 20px;
    height: 20px;
}
.toggle-link {
    margin-bottom: 5px;
    float: left;
    width: 100%;
}
.toggle-content {
    display: none;
    float: left;
    width: 100%;
}
span.new {
    font-size:10px;
    font-weight:bold;
    background-color:#f3515c;
    color:#fff;
    padding:2px 5px;
    border-radius:2px;
    float:right;
    margin-right: -3px;
}
form input[type="checkbox"].one-line {
    margin-top: -2px ! important;
}
form .required label:after {
    color: #f3515c;
    content: '*';
    display: inline;
    margin-left: 2px;
}
pre {
    margin-top: 50px;
    margin-left: 150px;
}
.ui-tooltip pre {
    margin-top: 0;
    margin-left: 0;
}

.accept-updated-terms-of-use-form {
    float: left;
    padding: 10px;
    background: #f3515c;
    color: #fff;
    width: 100%;
    margin-bottom: 20px;
    margin-top: -4px;
    font-size: 10pt ! important;
}
.accept-updated-terms-of-use-form h2 {
    color: #fff ! important;
    font-size: 20px ! important;
    letter-spacing: 2px;
    border-bottom: 1px solid #dfdfdf;
    padding-bottom: 5px;
}
.accept-updated-terms-of-use-form form {
    width: 100%;
    float: left;
}
.accept-updated-terms-of-use-form button {
    float: right;
}
.accept-updated-terms-of-use-form .input.checkbox {
    float: left;
}
.accept-updated-terms-of-use-form input[type="checkbox"] {
    margin-left: -25px;
    float: left;
}
.accept-updated-terms-of-use-form .input.checkbox label {
    padding-left: 30px;
    margin-top: 3px;
    width: auto ! important;
}

.accept-updated-terms-of-use-form-bottom-wrapper {
    margin-top: 20px;
    float: left;
    width: 100%;
}
.vertical.menu a.active i.gold,
.vertical.menu a:hover i.gold,
a.btn.btn-success:hover i.gold,
i.gold {
  color: #FFD700 ! important;
}
i.fa.not-ok,
i.fas.not-ok,
i.far.not-ok {
    color: var(--not-ok-red);
}
i.fa.neutral,
i.fas.neutral,
i.far.neutral {
    color: #b7b0b0;
}

tr.selected > td > i.fas, table:not(.no-hover) tr:hover > td > i.fas,
tr.selected > td > i.far, table:not(.no-hover) tr:hover > td > i.far,
tr.selected > td > span > i.fas, table:not(.no-hover) tr:hover > td > span > i.fas,
tr.selected > td > span > i.far, table:not(.no-hover) tr:hover > td > span > i.far,
tr.selected > td > a.toggle-link > i.fas, table:not(.no-hover) tr:hover > td > a.toggle-link > i.fas,
tr.selected > td > a.toggle-link > i.far, table:not(.no-hover) tr:hover > td > a.toggle-link > i.far,
tr.selected > td > div > i.fas, table:not(.no-hover) tr:hover > td > div > i.fas,
tr.selected > td > div > i.far, table:not(.no-hover) tr:hover > td > div > i.far {
    color: #fff;
}
.tooltipster-box .tooltipster-content {
    color: #333 ! important;
}
.tooltipster-sidetip.tooltipster-light .tooltipster-box {
    background: #fff ! important;
}
.tooltipster-sidetip.tooltipster-light .tooltipster-box img:not(.no-max-width) {
    max-width: 400px;
    height: auto ! important;
}
.bootstrap-select {
    width: 177px ! important;
}
.bootstrap-select .dropdown-toggle .filter-option-inner {
    padding-right: 12px;
}
.dropdown .dropdown-menu li a span.text,
.bootstrap-select .no-results {
    color: #262626;
    font-size: 14px;
}
.bootstrap-select .bs-searchbox .form-control {
    font-size: 14px;
}
.bootstrap-select .form-control:focus {
    box-shadow: inherit;
    border-color: #dfdfdf ! important;
}
.bootstrap-select .dropdown-toggle:focus {
	outline: 1px dotted #333 ! important;
}

.dropdown .dropdown-item.active span,
.dropdown .dropdown-item:active span {
    color: #fff ! important;
}
.bootstrap-select .dropdown-header {
    font-size: 11px;
}
.bootstrap-select .dropdown-menu li {
    max-width: 95vw;
}
.bootstrap-select .dropdown-menu {
    overflow-x: hidden;
}
.bootstrap-select.big {
    width: 250px ! important;
}
.dropdown .dropdown-item {
    padding-top: .15rem;
    padding-bottom: .15rem;
}
.bootstrap-select > .dropdown-toggle.bs-placeholder,
.bootstrap-select > .dropdown-toggle.bs-placeholder:hover,
.bootstrap-select > .dropdown-toggle.bs-placeholder:focus,
.bootstrap-select > .dropdown-toggle.bs-placeholder:active {
    color: #333;
}
.dropdown .btn.dropdown-toggle {
    background-color: #fff;
    border-color: #dfdfdf;
}
.dropdown .dropdown-menu li a.opt {
    padding-left: 1.5em;
}
.bootstrap-select div.filter-option-inner-inner i.fas {
    position: absolute;
    right: 25px;
    top: 8px;
    font-size: 15px;
}
#cookies-eu-banner a {
    text-decoration: underline ! important;
}
#cookies-eu-banner button {
    margin-top: 15px;
    padding: 10px 30px;
    margin-left: 0;
    margin-bottom: 0;
    font-size: 14px;
    color: #fff ! important;
    color: var(--theme-color);
    border: none;
    font-weight: normal;
}
#cookies-eu-banner {
    display: none;
    font-size: 14px ! important;
    text-align: left ! important;
    padding: 20px ! important;
    position: fixed;
    z-index: 99990;
    box-shadow: none;
    border-radius: 3px;
    width: 330px;
    bottom: 5px ! important;
    left: 5px ! important;
    background-color: #fff ! important;
    color: #333 ! important;
    border-width: 1px;
    border-style: solid;
}
.fa-spin {
  animation:10s infinite, fa-spin 2s infinite linear;
  -moz-animation:10s infinite, fa-spin 2s infinite linear; /* Firefox */
  -webkit-animation:10s infinite, fa-spin 2s infinite linear; /* Safari and Chrome */
}
.calculator-input {
    display: none;
}
.dropdown .dropdown-item {
    color: #333333 ! important;
}
.dropdown .dropdown-item.active,
.dropdown .dropdown-item:active {
    color: #fff ! important;
}
.dropdown .dropdown-menu {
    font-size: 14px;
}
.dropdown .dropdown-menu i {
    margin-right: 3px;
    margin-left: -5px;
}
.dropdown .dropdown-item.disabled,
.dropdown .dropdown-item:disabled {
    opacity: .7;
}
button:focus:not(:focus-visible) {
    box-shadow: none;
}