a:hover {text-decoration: underline;}
/* MENU **********************************************************/

.w-10 {width: 10% !important;}
.w-15 {width: 15% !important;}
.w-20 {width: 20% !important;}
.w-25 {width: 25% !important;}
.w-30 {width: 30% !important;}
.w-33 {width: 33.33% !important;}
.w-35 {width: 35% !important;}
.w-40 {width: 40% !important;}
.w-45 {width: 45% !important;}
.w-50 {width: 50% !important;}
.w-55 {width: 55% !important;}
.w-60 {width: 60% !important;}
.w-66 {width: 66.66% !important;}
.w-70 {width: 70% !important;}
.w-75 {width: 75% !important;}
.w-80 {width: 80% !important;}
.w-85 {width: 85% !important;}
.w-90 {width: 90% !important;}
.w-100 {width: 100% !important;}

/* TOOLTIP STYLE */
.tooltip-header {
  font-size: 20pt !important;
}

.element-default .btn {
  font-size: 16pt; padding: 10px 25px;
}

.main-hero .btn {
  font-size: 16pt; padding: 10px 25px;
}

.btn.btn-controls {
  font-size: 10pt !important; padding: 5px 8px !important; opacity: 0.5;
  background-color: #888888 !important; border: 1px solid #999999 !important; margin-bottom: 0 !important;
}

section.element-block .container .row i {
    display: block;
}

.btn.btn-controls i {
  margin-bottom: 0 !important;
}

.btn-controls-absolute {
  opacity: 0.5; position: absolute; top: 8px; right: 11px; z-index: 50;
}

section section .container {
    padding: 0 !important;
}

.element-default {
  float: left; width: 100%; display: block; position: relative; padding: 55px 0;
}
.element-faq .faq-card {
    position: relative;
}

.element-slick-wrapper {
    margin-left: -5px;
    margin-right: -5px;
    width: calc(100% + 10px) !important;
}

.btn-controls i {
    font-size: 9pt !important;
    color: white !important;
}

/* button layout */
.element-faq .faq-button {
    width: 100%;
    text-decoration: none !important;
    padding-right: 40px;
}

/* text vlevo */
.element-faq .faq-text {
    display: flex;
    align-items: center;
    gap: 10px;
}

.float-left {
  float: left;
}

.float-right {
  float: right;
}

.btn-check:focus+.btn, .btn:focus {
    outline: 0;
    box-shadow: 0 0 0 0;
}

/* ikonka vpravo */
.element-faq .faq-toggle-icon {
    position: relative;
    width: 20px;
    height: 20px;
}

/* + */
.element-faq .faq-toggle-icon::before {
    content: '+';
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(0deg);
    font-size: 36px;
    transition: transform 0.4s ease;
}

/* otevřeno → - + rotace */
.element-faq .faq-button[aria-expanded="true"] .faq-toggle-icon::before {
    content: '-';
    transform: translate(-50%, -50%) rotate(180deg);
}

.element-icon i {
    font-size: 48pt;
    margin-right: 10px;
    color: white;
}

.element-block {
  float: left; width: 100%; display: block; position: relative;
}
.element-admin-controls {
  position: absolute; top: 10px; left: 10px; z-index: 50;
}

.btn-filebox {background: #fff; color: #555 !important; border: 1px solid #eee;}
.btn-filebox:hover {border: 1px solid #4f8c0c; color: #000 !important;}

.btn-filebox.focus, .btn-filebox:focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgb(189 22 34 / 25%);
}

li.image {position: relative; width: calc(12.5% + 10px); margin: 5px; float: left; list-style-type: none; border: 3px solid #f9f9f9;}
li.image:hover {position: relative; width: calc(12.5% + 10px); margin: 5px; float: left; list-style-type: none; border: 3px solid #eee;}
li.image img {width: 100%; float: left;}
div.deletebox {position: absolute; bottom: 0; right: 0; float: left; width: 35px;}
div.rotatebox {position: absolute; bottom: 0; right: 35px;  float: left; width: 35px;}
input.multipleDelete {position: absolute; bottom: 5px; left: 5px;}

.logo {
    max-width: 150px;
    height: auto;
    float: left;
    object-fit: contain;
    display: block;
}

.navbar .nav-item:hover .nav-link {
  text-decoration: none; color: white;
}

.element-image {
  border-radius: 25px; overflow: hidden;
}

.btn:hover {
    text-decoration: none !important;
}


.element-image {
    position: relative;
    width: 100%;
    overflow: hidden;
}

.element-footer .element-image {
    aspect-ratio: 3/1;
    display: flex;
    justify-content: flex-start;
    align-items: center;;
}

.element-footer .element-image img  {
    width: 80%; 
    object-fit: contain;
}

.element-gallery {
    min-height: 100%;
}

.element-gallery > div {
    display: flex;
    align-items: center;
    justify-content: center;
}

.element-gallery > div > a.d-block {
    width: 100%;
}

.element-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.top-bar {
  border-radius: 0 !important;
}

.element-block .card-body {
  z-index: 6;
}

.element-shader {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%;
    z-index: 1;
}

.element-card-cover {
    position: relative;
    overflow: hidden;
    min-height: 320px;
    border: 0;
    border-radius: 20px;
    background: #000;
}

.element-card-cover .element-image {
    position: absolute;
    inset: 0;
    z-index: 1;
    margin-bottom: 0 !important;
}

.element-card-cover .element-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.element-card-cover .element-shader {
    position: absolute;
    inset: 0;
    z-index: 2;
    background: linear-gradient(
        to top,
        rgba(0, 0, 0, 0.75) 0%,
        rgba(0, 0, 0, 0.35) 45%,
        rgba(0, 0, 0, 0.15) 100%
    );
}

.element-card-cover .card-body {
    position: relative;
    z-index: 3;
    color: #fff;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding: 2rem;
}

.element-card-cover .card-title,
.element-card-cover .card-subtitle,
.element-card-cover .card-text,
.element-card-cover .card-text p {
    color: #fff;
}

.element-card-cover .btn-controls-absolute {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 5;
}

.element-icon-set-item {
    display: flex;
    align-items: center;
    justify-content: center;
}

.element-icon-set-item a {
    float: left;
    display: flex;
    align-items: center;
    justify-content: center;
}

.element-icon-set-item .card {
    display: flex;
    align-items: center;
    justify-content: center;
}

.element-icon-set .row {
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

.element-icon i {
    line-height: 1;
}

.element-gallery-item .element-gallery-item-shader, .slickSlider .element-gallery-item-shader {
    position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(255,255,255,0.3); opacity: 0; transition: 150ms; z-index: 1; opacity: 0; color: #fff; display: flex; align-items: center; justify-content: center; font-size: 24pt;
    font-size: 64pt;
}

.element-gallery-item:hover .element-gallery-item-shader, .slickSlider:hover .element-gallery-item-shader {
    opacity: 1;
}


@media (max-width: 767.98px) {
    .element-card-cover {
        aspect-ratio: 1 / 1.1;
        min-height: 260px;
    }

    .element-card-cover .card-body {
        padding: 1.25rem;
    }
}