/**
 * Wombat
 */
:root {
    --wb-tiny-font-size: 65%;
}

.wb-flag-europe,
.wb-flag-en,
.wb-flag-en_GB,
.wb-flag-de,
.wb-flag-de_DE,
.wb-flag-fr,
/* .wb-flag-fr_FR, */
.wb-flag-pt,
.wb-flag-pt_PT,
.wb-flag-es,
.wb-flag-es_ES,
.wb-flag-zh,
.wb-flag-zh_CN {
    background-image:none;
    background-position:0 50%;
    padding:0 0 0 21px;
    background-repeat:no-repeat
}
.wb-flag-en,
.wb-flag-en_GB {
    background-image:url([[DOCROOT]]/s/wxml/lang/en.png);
}

.wb-flag-de,
.wb-flag-de_DE {
    background-image:url([[DOCROOT]]/s/wxml/lang/de.png);
}
.wb-flag-fr,
.wb-flag-fr_FR {
    background-image:url([[DOCROOT]]/s/wxml/lang/fr.png);
}
.wb-flag-es,
.wb-flag-es_ES {
    background-image:url([[DOCROOT]]/s/wxml/lang/es.png);
}
.wb-flag-pt,
.wb-flag-pt_PT {
    background-image:url([[DOCROOT]]/s/wxml/lang/pt.png);
}
.wb-flag-zh,
.wb-flag-zh_CN {
    background-image:url([[DOCROOT]]/s/wxml/lang/zh.png);
}
.wb-flag-europe {
    background-image:url([[DOCROOT]]/s/wxml/flag/europe.png);
}

.wb-toolbox {
    overflow:auto;
    position:fixed;
    z-index:100;
    width:600px;
    height:75%;
    left:25%;
    top:12%;
}

.wb-zoomable {
}

.table-responsive td,
.table-responsive th,
.table-responsive-xxl td,
.table-responsive-xxl th,
.table-responsive-xl td,
.table-responsive-xl th,
.table-responsive-lg td,
.table-responsive-lg th,
.table-responsive-md td,
.table-responsive-md th,
.table-responsive-sm td,
.table-responsive-sm th {
    min-width: 6rem;
}

.wb-tiny,
.wb-tiny-xm {
    font-size: var(--wb-tiny-font-size);
}

/* breakpoint sm */
@media (min-width: 576px) {
    .wb-tiny-sm {
        font-size: var(--wb-tiny-font-size);
    }
}
/* breakpoint md */
@media (min-width: 766px) {
    .wb-tiny-md {
        font-size: var(--wb-tiny-font-size);
    }
}
/* breakpoint lg */
@media (min-width: 992px) {
    .wb-tiny-lg {
        font-size: var(--wb-tiny-font-size);
    }
}
/* breakpoint xl */
@media (min-width: 1200px) {
    .wb-tiny-xl {
        font-size: var(--wb-tiny-font-size);
    }
}
/* breakpoint xxl */
@media (min-width: 1400px) {
    .wb-tiny-xxl {
        font-size: var(--wb-tiny-font-size);
    }
}

.wb-vfsfile {
}
.wb-vfsfile-image {
}
.wb-vfsfile-video {
}

.wb-vfsfile-video video {
    width:100%;
    height:auto;
}

.wb-vfsfile-left,
.wb-vfsfile-start {
    float:left;
    padding-right: 0.5em;
}
.wb-vfsfile-right,
.wb-vfsfile-end {
    float:right;
    padding-left: 0.5em;
}
.wb-vfsfile-block {
    display:block;
    margin:0 auto;
}
.wb-vfsfile-block img {
    width: 100%;
    height: auto;
}
.wb-vfsfile-block-auto {
    display: inline-block;
    margin: 0 auto;
}
.wb-vfsfile-block-auto img {
    width:auto;
    height:auto;
}

.wb-image-background {
    background-size: cover;
    background-position: center;
}

.wb-no-image {
    background-image: url([[DOCROOT]]/s/noimage.svg);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: 50%;
}

/**
 * Blog
 */
.wb-blog {
}
.wb-blog.wb-blog-list {
}
.wb-blog.wb-blog-article {
}
.wb-blog.wb-blog-article p {
    text-align: justify;
    text-justify: inter-word;
}

.form-group {
    margin-bottom: 0.5rem !important;
}

.form-control:focus::placeholder {
    opacity: 0.5;
}

/**
 * Wombat CMS
 */
.form-control.wb-short,
.form-select.wb-short {
    width: auto;
    display: inline-block;
}

.form-group .form-range-gauge {
    float: right;
}

datalist.form-range {
    display: none;
}

datalist.form-range option {
    padding: 0;
}
datalist.form-range option:nth-child(2n) {
    display:none;
}
@media (min-width: 576px) {
    datalist.form-range {
        display: flex;
        justify-content: space-between;
    }
}
@media (min-width: 992px) {
    datalist.form-range option:nth-child(2n) {
        display:block;
    }
}



.form-control.wb-vfsselect {
    height: auto;
}
.form-control.wb-text {
    min-width:30em;
}

.form-control.wb-wxml {
    height: auto;
    padding:0;
}
.form-control.wb-wxml[disabled] {
    padding:0 11px;
}

.form-control.wb-wxml .btn-toolbar {
    background-color: var(--bs-tertiary-bg);
    border-bottom:  var(--bs-border-style) var(--bs-border-width) var(--bs-border-color);
    padding: 0.1em;
    margin-left: 0;
}
.has-warning .form-control.wb-wxml .btn-toolbar {
    background-color: #fcf8e3;
}
.form-control.wb-wxml div.btn-group {
    margin-left:10px;
}
.form-control.wb-wxml .btn {
    padding:0 8px;
}

.wb-wxml-editor {
    resize: vertical;
}

.form-control.wb-wxml div.wb-wxml-editor {
    height: 20em;
    overflow: scroll;
    padding:0 11px;
}
.form-control.wb-wxml-sm div.wb-wxml-editor {
    height: 10em;
}

.wb-wxml-tiny .wb-wxml-editor {
    overflow: auto;
    height: 7em;
}

.form-control.wb-wxml textarea {
    width: 100%;
    height: 20em;
}
.form-control.wb-wxml-sm textarea {
    height: 10em;
}
.wb-wxml-tiny textarea {
    width: 100%;
    height: 7em;
}

.wb-wxml.wb-wxml-tablesheet {
    font-weight: bold;
    margin: 0.5em 0;
    padding: 1em;
    height: 15em;
    background-color: var(--bs-tertiary-bg);
    background-blend-mode: exclusion;
    background-repeat: no-repeat;
    background-position: 50% 40px;
    background-image: url([[DOCROOT]]/s/wxml/tablesheet/default.png);
}

.ratio-2x1 {
    --bs-aspect-ratio: 50%;
}
.ratio-3x1 {
    --bs-aspect-ratio: 33.33%;
}

.form-control.wb-wxml.wb-lg div.wb-wxml-editor {
    height: 50em;
}
.form-control.wb-wxml.wb-md div.wb-wxml-editor {
    height: 20em;
}
.form-control.wb-wxml.wb-sm div.wb-wxml-editor {
    height: 10em;
}

input[type=color] {
    height: calc(1.5em + 0.75rem + calc(var(--bs-border-width) * 2))
}


.input-group-image {
    padding:0;
}
.input-group-image img.wb-captcha {
    height:100%;
}

.wb-form-error label {
    margin:0;
}

.wb-form-submit {
    position: fixed;
    right: 0;
    left: 0;
    z-index: 1030;
    bottom: 0;
    margin-bottom: 0;
    border-width: 1px 0 0;
    border-top-width: 1px;

    color: var(--bs-light);
    background-color: var(--bs-gray-dark);
    padding: 1em;
    border-top: 1px solid var(--bs-light);
    text-align: right;
}

/**
 * Wombat Custom Checkboxes for Radio and Switches
 */
.wb-input-check {
}
.wb-input-check input {
    display:none;
}

.wb-input-check img {
    height: 100px;
    width: 100%;
    cursor: pointer;
    transition: transform 1s;
    object-fit: cover;
}

.wb-input-check label {
    overflow: hidden;
    position: relative;
}

.wb-input-check-tick {
    transition: 0.5s ease;
    opacity: 0;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    cursor: pointer;
    text-align: center;
}

.wb-input-check-tick > div {
    background-color: var(--bs-success);
    color: var(--bs-light);
    font-size: 2rem;
    padding: 0.5rem;
    height: 3rem;
    width: 3rem;
    border-radius: 100%;
}

.wb-input-check input:checked + label img {
    transform: scale(1.25);
    opacity: 0.5;
}

.wb-input-check input:checked + label>.wb-input-check-tick {
    opacity: 1;
}


.wb-form-submit .btn-group {
    margin-top: 0;
    margin-bottom: 0;
}
.wb-form-mandatory {
    float:right;
}
.wb-form-submit .wb-form-mandatory {
    float:left;
}

/**
 * WXML
 */
.wb-wxml-dialog {
    padding:2rem;
}

/**
 * WXML Dialog specialchar
 */
.wb-wxml-dialog div.wb-char {
    display:inline-block;
    padding:0.3em;
}
.wb-wxml-dialog div.wb-char a {
    display:inline-block;
    width:2em;
    height:2em;
    border:solid 1px var(--bs-dark);
    color: var(--bs-dark);
    background-color: var(--bs-white);
    text-align:center;
}

/**
 * WXML content editable
 */
.wb-wxml-contenteditable {
    position: relative;
    z-index: 1001;
    margin-bottom: 2rem;
}

.wb-wxml-contenteditable .wb-wxml-original {
}
.wb-wxml-contenteditable .wb-wxml-translation {
}

.wb-wxml-contenteditable .wb-wxml-btn {
    background-image:url([[DOCROOT]]/s/wxml/wombat-logo.png);
    background-repeat:no-repeat;
    background-position:99% 50%;
    padding: 1rem;
    margin-bottom: 0.25rem;
    background-color: var(--bs-dark);
    color: var(--bs-info);
    border: 1px solid;
    border-color: var(--bs-info);
}
.wb-wxml-contenteditable .wb-wxml-btn .btn {
    margin-bottom:0;
}

@media print {
    .wb-wxml-contenteditable .wb-wxml-btn {
        display: none;
    }
}


.wb-paragraph {
    color: var(--bs-body-color);
    font-size: 75%;
    opacity: 0.1;
    transition: 0.3s;
}
a.wb-paragraph:hover {
    opacity:1;
}

.wb-wxml-content {
}
.wb-wxml-content h1::before,
.wb-wxml-content h2::before,
.wb-wxml-content h3::before,
.wb-wxml-content h4::before,
.wb-wxml-content hr::before {
    content: "";
    display: block;
    clear: both;
}
.clearfix .wb-wxml-content h1::before,
.clearfix .wb-wxml-content h2::before,
.clearfix .wb-wxml-content h3::before,
.clearfix .wb-wxml-content h4::before,
.clearfix .wb-wxml-content hr::before {
    clear: inherit;
}

/**
 * Wombat undelete
 *
 */
div.wb-undelete {
    display:none;
    position:relative;
    z-index:100;
}
.wb-deleted div.wb-undelete {
    display:block;
}
div.wb-undelete > div {
    position:absolute;
    right:0;
    left:0;
    margin:auto;
}

/**
 * Multocol
 */
.wb-multicol {
    -webkit-column-count: 1;
    -moz-column-count: 1;
    column-count: 1;
}
.wb-multicol.wb-multicol-2,
.wb-multicol.wb-multicol-3,
.wb-multicol.wb-multicol-4 {
}

@media (min-width: 576px) {
    .wb-multicol {
        -webkit-column-count: 2;
        -moz-column-count: 2;
        column-count: 2;
    }
}
@media (min-width: 992px) {
    .wb-multicol.wb-multicol-3 {
        -webkit-column-count: 3;
        -moz-column-count: 3;
        column-count: 3;
    }
    .wb-multicol.wb-multicol-4 {
        -webkit-column-count: 3;
        -moz-column-count: 3;
        column-count: 3;
    }
}
@media (min-width: 1200px) {
    .wb-multicol.wb-multicol-4 {
        -webkit-column-count: 4;
        -moz-column-count: 4;
        column-count: 4;
    }
}


/**
 * Table of Contents
 */
.wb-wbtoc {
    float:right;
    width:200px;
    padding:5px;
    margin-left:10px;
    background-color: var(--bs-light);
}
.wb-wbtoc-title {
    font-weight:bold;
}
.wb-wbtoc ul {
    margin:0;
    padding:0;
    list-style-type:none;
}
.wb-wbtoc li {
    font-size:80%;
    padding:0;
}
.wb-wbtoc li.wb-wbtoc-h2 {
    font-size:100%;
}
.wb-wbtoc li.wb-wbtoc-h3 {
    padding-left:20px;
}
.wb-wbtoc li.wb-wbtoc-h4 {
    padding-left:40px;
}
.wb-wbtoc li.wb-wbtoc-h5 {
    padding-left:60px;
}
.wb-wbtoc li.wb-wbtoc-h6 {
    padding-left:80px;
}

/**
 * Drag-n-drop
 *
 */
.wb-dnd-dragging, .wb-dnd-dragging * {
    cursor: move !important;
}
.wb-dnd-dragged {
    position: absolute;
    opacity: 0.5;
    z-index: 2000;
}

.wb-dnd-list {
    list-style-type: none;
    padding:0.5rem;
    border:solid 1px;
    border-color: var(--bs-gray);
    border-radius:0.5rem;
    min-height: 7em;
}
.wb-dnd-list li {
    padding:0.25rem;
    margin:0.25rem;
}

.wb-dnd-placeholder {
  position: relative;
}

li.wb-dnd-placeholder {
    list-style-type: none;
}

.wb-dnd-placeholder:before {
  position: absolute;
}

.wb-dnd-placeholder {
    position: relative;
    margin: 0;
    padding: 0;
    border: none;
}
.wb-dnd-placeholder:after {
    position: absolute;
    content: "";
    left: 5%;
    top: 0px;
    width: 90%;
    height: 2px;
    margin: none;
    background-color: var(--bs-primary);
    border: none;
}
.wb-dnd-placeholder:before {
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    margin-top: -5px;
    left: -5px;
    top: -4px;
    border: 5px solid transparent;
    border-left-color: var(--bs-primary);
    border-right: none;
}

.wb-dnd-handle {
    margin: 0.5em;
    cursor: pointer;
}
.btn.wb-dnd-handle {
    margin: inherit;
}

.wb-dnd-item > div > .input-group-append{
    margin-left: none;
    margin-bottom: 2px;
}

.wb-dnd-target h5 {
    font-size: 90%;
}
.wb-dnd-target .hide-in-target {
    display: none;
}


.wb-fixed-h-container {
    overflow:x-overflow;
}

/**
 * Numeric
 */
.wb-numeric {
    text-align:right;
    font-family:monospace;
}

.wb-text-wrap {
    white-space:pre-wrap;
}
.wb-text-nowrap {
    white-space:nowrap;
}

.wb-hidden {
    visibility:hidden !important;
}

/**
 * File Button Replacement
 */
.btn-file {
    position: relative;
    overflow: hidden;
}
.btn-file input[type=file] {
    position: absolute;
    top: 0;
    right: 0;
    min-width: 100%;
    min-height: 100%;
    text-align: right;
    filter: alpha(opacity=0);
    opacity: 0;
    outline: none;
    background: white;
    cursor: inherit;
    display: block;
}

.modal-header .btn-secondary {
    padding: calc(var(--bs-modal-header-padding-y) * 0.5) calc(var(--bs-modal-header-padding-x) * 0.5);
    margin: calc(-0.5 * var(--bs-modal-header-padding-y)) calc(-0.5 * var(--bs-modal-header-padding-x)) calc(-0.5 * var(--bs-modal-header-padding-y)) auto;
}

/**
 * Modal size
 */
@media (min-width: 992px) {
    .modal-lg {
        max-width: 90%;
    }
}

a.wb-backtotop {
    background: var(--bs-primary);
    color: var(--bs-text-light);
    transition: opacity 0.5s;
    position: fixed;
    opacity: 0;
    display: inline-block;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    text-align: center;
    line-height: 3rem;
    right: 1rem;
    bottom: 1rem;
    z-index: 11;
}
a.wb-backtotop:hover {
    background: var(--bs-tertiary-bg);
    color: var(--bs-primary);
}
@media (max-width: 767px) {
    a.wb-backtotop {
        display:none;
    }
}

body > .wb-preload {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  overflow: hidden;
  background: #ffffff;
}

.wb-preload:before {
  content: "";
  position: fixed;
  top: calc(50% - 30px);
  left: calc(50% - 30px);
  border: 6px solid #f2f2f2;
  border-top: 6px solid #007bff;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  -webkit-animation: wb-animate-preload 1s linear infinite;
  animation: wb-animate-preload 1s linear infinite;
}

@-webkit-keyframes wb-animate-preload {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes wb-animate-preload {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

/**
 * image background
 *
 * Height of element is required
 *
 * <div class="wb-bg-image" style="height:10em;">
 *  <img src="..." />
 * </div>
 */
.wb-bg-image {
    position: relative;
    overflow: hidden;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: 50%;
}
.wb-bg-image img {
    width: 100% !important;
    vertical-align: middle;
}

/**
 * simple zoom effect
 */
.wb-hover-zoom {
    transition: transform 0.4s;
}
.wb-hover-zoom:hover {
    transform: scale(1.2);
}

/**
 * Reveal
 */
.wb-reveal {
}
.wb-reveal.wb-reveal-hidden {
    position: relative;
    transform: translateY(150px);
    transition: all 0.5s ease;
    opacity: 0;
}
.wb-reveal.wb-reveal-show {
    transform: translateY(0px);
    opacity: 1;
}

/**
 * Calendar
 * See classes: wb-calendar*
 */
.wb-calendar-dayitem-schedule,
.wb-calendar-dayitem-brief,
.wb-calendar-dayitem-blurb {
    --bs-text-opacity: 1;
    color: rgba(var(--bs-secondary-color-rgb), var(--bs-text-opacity)) !important;
}

/**
 * ITS ticket comments / WXML
 */
.wb-ticket.wb-ticket-change {
    margin-bottom: 0.25rem;
}

.wb-ticket.wb-ticket-comment {
}

.wb-ticket.wb-ticket-change.wb-ticket-container:hover {
    background-color: var(--bs-light);
}
.wb-ticket.wb-ticket-change.title {
    color: var(--bs-warning);
}

.wb-ticket.wb-ticket-change > span {
    border:none;
    color: var(--bs-gray-dark);
    font-size:100%;
    line-height:100%;
    text-align:left;
    display:inline-block;
    vertical-align:top;
    width:38%;
    height:auto;
    padding:0.5em;
    font-weight:normal;
}
.wb-ticket.wb-ticket-change > span.label {
    width:15%;
    overflow:hidden;
}
.wb-ticket.wb-ticket-change > span.new,
.wb-ticket.wb-ticket-change > span.old {
    background:none;
    border-radius:3px;
    border-style:solid;
    border-width:2px;
    border-color: var(--bs-warning);
    background-color: var(--bs-light);
    color: var(--bs-gray);
    text-transform:none;
}
.wb-ticket.wb-ticket-change > span.new {
    border-color:var(--bs-success);
}

.wb-ticket.wb-ticket-change > span.trans {
    width:5%;
    text-align:center;
}

.wb-ticket.wb-ticket-change > span.added,
.wb-ticket.wb-ticket-change > span.deleted {
    margin-bottom: 0.25rem;
    float:right;
    width:81%;
    color: var(--bs-gray-dark);
    text-align:left;
    display:inline-block;
    vertical-align:top;
    padding:0.5em;
    font-weight:normal;
    background-color: var(--bs-light);
    border-radius:3px;
    border-style:solid;
    border-width:2px;
    border-color: var(--bs-warning);
}
.wb-ticket.wb-ticket-change > span.added {
    border-color:var(--bs-success);
}
.wb-ticket.wb-ticket-change > span.deleted {
    border-color: var(--bs-danger);
}

.wb-ticket.wb-ticket-status {
}
.wb-ticket.wb-ticket-status.new {
    color: var(--bs-danger);
}
.wb-ticket.wb-ticket-status.closed {
    color: var(---bsinfo);
}
.wb-ticket.wb-ticket-status.trash {
    color: var(--bs-gray);
}
.wb-ticket.wb-ticket-status.assigned {
    color: var(--bs-warning);
}
.wb-ticket.wb-ticket-status.solved {
    color: var(--bs-success);
}
.wb-ticket.wb-ticket-status.waitforstaff,
.wb-ticket.wb-ticket-status.waitforcustomer {
    color: var(--bs-warning);
}

.wb-ticket.wb-ticket-autotext {
    border-top:none;
}

.wb-day-date {
    text-align:right;
}

.wb-day.wb-holiday {
    background-color: var(--bs-tertiary-bg);
}
.wb-day.wb-holiday .wb-day-date {
    color: var(--bs-light);
    font-weight:bold;
}
.wb-weekday-7 .wb-day-date {
    font-weight:bold;
}

.carousel-inner {
    background-color:var(--bs-tertiary-bg);
}
.carousel-item {
    min-height:20rem;
}

.wb-banner-left,
.wb-banner-center,
.wb-banner-right,
.wb-banner-start,
.wb-banner-end {
}

.wb-banner-left .carousel-caption,
.wb-banner-center .carousel-caption,
.wb-banner-right .carousel-caption,
.wb-banner-start .carousel-caption,
.wb-banner-end  .carousel-caption {
    max-width: 800px;
}

.wb-banner-left .carousel-caption,
.wb-banner-start .carousel-caption {
    text-align:left;
    margin-right: auto;
}

.wb-banner-center .carousel-caption {
    text-align:center;
}

.wb-banner-right .carousel-caption,
.wb-banner-end .carousel-caption {
    text-align: right;
    margin-left: auto;
}

@media (max-width: 576px) {
    .carousel-item .img-fluid {
        width: auto;
        max-width: inherit;
        min-height: 20em;
        margin-left: -60%;
    }
    .carousel-caption {
        right: 1%;
        bottom: 0.25rem;
        left: 1%;
        padding-top: 0.25rem;
        padding-bottom: 0.25rem;
    }
}

.dropdown-menu .wb-ui-search-input {
    margin-top: calc(-1 * var(--bs-dropdown-padding-y));
}
