@import url("https://fonts.googleapis.com/css2?family=Roboto+Slab:wght@500;700&family=Roboto:ital,wght@0,400;0,700;1,400&display=swap");

/* Obrazky na pozadi
====================================================================== */

body {
    background: url(/assets/dfc/stavebnifirma/images/concrete_wall.png);
}

footer {
    background: url(/assets/dfc/stavebnifirma/images/black_paper.png);
}


/* Prevent overflow-x
====================================================================== */
body {
    overflow-x: hidden;
}

/* Keep footer always at the bottom
====================================================================== */
@supports not (-ms-high-contrast: none) {
    /* Non-IE styles here */
    body {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        min-height: 100vh;
    }
    body > .container {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
    }
}

html {
    font-size: 62.5%;
    /* 1rem = 10px */
}

body {
    font: 1.6rem "Roboto", sans-serif;
    color: #262626;
    line-height: 1.6;
}

::-moz-selection {
    background: #ed8f34;
    color: #fff;
}

::selection {
    background: #ed8f34;
    color: #fff;
}

.panel-title {
    font-size: 1.8rem;
    font-weight: normal;
}

aside .panel-title {
    font-size: inherit;
}

.btn {
    line-height: 1.5;
}

a.social-fb,
a.social-tw,
a.social-instagram,
a.social-tripadvisor {
    text-decoration: none;
    padding: 0 .5rem;
}

a.social-fb:hover .fa,
a.social-tw:hover .fa,
a.social-instagram:hover .fa,
a.social-tripadvisor:hover .fa {
    color: #db7513;
}

h1, h2, h3, h4, h5, h6 {
    font-family: "Roboto Slab", serif;
}

h1, h2, h3 {
    font-weight: 600;
}

.section-contact .fa {
    color: #ed8f34;
}

/* Links
====================================================================== */
a,
.btn-link {
    color: #ed8f34;
}

a:hover,
a:focus,
.btn-link:hover,
.btn-link:focus {
    color: #db7513;
}

h2.subtitle a {
    color: #262626;
}

/* Navbar
====================================================================== */
.navbar {
    background-color: #ed8f34;
}

.navbar,
.navbar-nav > li {
    border: none;
}

@media (min-width: 768px) {
    .navbar-nav > li {
        border-left-color: #ed8f34;
        border-right-color: #ed8f34;
    }
}

.navbar .dropdown-menu > .active > a,
.navbar .dropdown-menu > .active > a:hover,
.navbar .dropdown-menu > .active > a:focus,
.navbar .dropdown-menu > li > a:hover,
.navbar .dropdown-menu > li > a:focus {
    background-color: #ed8f34;
}

/* Buttons
====================================================================== */
.btn-primary,
#topbar .btn-default {
    background-color: #ed8f34;
    border-color: #ed8f34;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary,
#topbar .btn-default:hover,
#topbar .btn-default:focus,
#topbar .btn-default:active,
#topbar .btn-default.active,
#topbar .open > .dropdown-toggle.btn-default {
    outline: none;
    background-color: #db7513;
    border-color: #db7513;
}

.navbar-default .navbar-toggle {
    color: #fff;
    border-color: #fff;
    background-color: #ed8f34;
}

.navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus {
    color: #fff;
    border-color: #fff;
    background-color: #db7513;
}

/* Pagination
====================================================================== */
.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
    background-color: #ed8f34;
    border-color: #ed8f34;
}

.pagination > li > a,
.pagination > li > span {
    color: #ed8f34;
}

.pagination > li > a:hover,
.pagination > li > span:hover,
.pagination > li > a:focus,
.pagination > li > span:focus {
    color: #db7513;
}

/* Panels
====================================================================== */
aside .panel-primary > .panel-heading {
    background-color: #ed8f34;
}

/* Images
====================================================================== */
a.thumbnail:hover,
a.thumbnail:focus,
a.thumbnail.active {
    border-color: #ed8f34;
}

/* Forms
====================================================================== */
.form-control:focus {
    border-color: #ed8f34;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(237, 143, 52, 0.6);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(237, 143, 52, 0.6);
}

/* Section - services
====================================================================== */
section.section-services li {
    border-color: #ed8f34;
}

/* Header - global
====================================================================== */
header {
    padding-top: 1rem;
}

/* Header - topbar layout
====================================================================== */
#topbar > .row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

@media (max-width: 768px) {
    #topbar > .row > .col-sm-6:last-child {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
    }
}

/* Header - logo
====================================================================== */
#logo img {
    max-height: 50px;
}

@media (max-width: 768px) {
    #logo img {
        max-height: 35px;
    }
}

/* Header - motive
====================================================================== */
#motive {
    position: relative;
    width: 100%;
    height: 420px;
    border-bottom: none;
    -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

@media (max-width: 1199px) {
    #motive {
        height: 380px;
    }
}

@media (max-width: 991px) {
    #motive {
        height: 300px;
    }
}

@media (max-width: 767px) {
    #motive {
        height: 240px;
    }
}

/* Header - motto
====================================================================== */
#motto #motto-title,
#motto #motto-text {
    float: left;
    clear: both;
    text-shadow: none;
    color: #262626;
    background: rgba(255, 255, 255, 0.65);
    padding: 0 1.5rem;
    text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.35);
    -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

#motto #motto-title {
    margin-top: 5rem;
    font-size: 4rem;
    font-family: "Roboto Slab", serif;
}

#motto #motto-text {
    margin-top: 1rem;
}

@media (max-width: 991px) {
    #motto #motto-title {
        font-size: 3rem;
        padding: 0 1rem;
        margin-top: 3rem;
    }
    #motto #motto-text {
        font-size: 1.5rem;
        padding: 0 1rem;
    }
}

@media (max-width: 767px) {
    #motive {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
    #motto {
        text-align: center;
    }
    #motto #motto-title,
    #motto #motto-text {
        float: none;
    }
    #motto #motto-title {
        margin-top: 0;
    }
}

/* Footer
====================================================================== */
footer {
    -webkit-box-shadow: 0 -4px 6px rgba(0, 0, 0, 0.08);
    box-shadow: 0 -4px 6px rgba(0, 0, 0, 0.08);
}

#footer-content {
    margin: 2rem auto;
}

#bar-footer {
    background: transparent;
    border: none;
    color: #888;
}

#bar-footer a {
    color: #888;
}

#bar-poweredby {
    display: none;
}

@media (max-width: 767px) {
    #footer-content {
        text-align: center;
    }
    #footer-content li {
        padding: .5rem 0;
    }
    ul.list-footer-address {
        padding-left: 0;
    }
    ul.list-footer-address li {
        text-indent: 0;
    }
}

/* Navbar
====================================================================== */
.navbar {
    font-size: 1.4rem;
    background-color: transparent;
}

.navbar-default .navbar-collapse {
    background-color: #ed8f34;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
    -webkit-box-shadow: 0 -4px 6px rgba(0, 0, 0, 0.08);
    box-shadow: 0 -4px 6px rgba(0, 0, 0, 0.08);
}

.navbar .navbar-nav > .active > a,
.navbar .navbar-nav > .active > a:hover,
.navbar .navbar-nav > .active > a:focus,
.navbar .navbar-nav > li > a:hover {
    color: #fff;
    background-color: #eb821d;
    outline: none;
}

.navbar .navbar-nav > .active > a:after,
.navbar .navbar-nav > .active > a:hover:after,
.navbar .navbar-nav > .active > a:focus:after,
.navbar .navbar-nav > li > a:hover:after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    width: 0;
    height: 0;
    margin: auto;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-bottom: 5px solid #f3f3f3;
}

.navbar .navbar-nav > .active > a:first-of-type,
.navbar .navbar-nav > .active > a:hover:first-of-type,
.navbar .navbar-nav > .active > a:focus:first-of-type,
.navbar .navbar-nav > li > a:hover:first-of-type {
    border-top-left-radius: 3px;
}

/* Navbar / mobile
====================================================================== */
@media (max-width: 767px) {
    .navbar-default {
        position: -webkit-sticky;
        position: sticky;
        background-color: #fff;
        top: -1px;
    }
    .navbar-toggle {
        padding: 5px 10px;
        -webkit-transition: .2s;
        transition: .2s;
    }
    .navbar-default .navbar-collapse {
        border-radius: 0;
    }
    .navbar .navbar-nav > .active > a:after,
    .navbar .navbar-nav > .active > a:hover:after,
    .navbar .navbar-nav > .active > a:focus:after,
    .navbar .navbar-nav > li > a:hover:after {
        top: 0;
        left: -8px;
        right: auto;
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg);
    }
}

/* Panels
====================================================================== */
.panel-primary {
    -webkit-box-shadow: 0 -1px 1px rgba(0, 0, 0, 0.05), 0 2px 8px rgba(0, 0, 0, 0.05);
    box-shadow: 0 -1px 1px rgba(0, 0, 0, 0.05), 0 2px 8px rgba(0, 0, 0, 0.05);
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
}

.panel-heading {
    border-bottom: none;
    padding: 12px 15px;
}

aside .panel-primary > .panel-heading {
    border-bottom: none;
}

/* Sluzby
====================================================================== */
.section-services li {
    -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

/* Buttons
====================================================================== */
.btn {
    border-radius: 0;
    padding: .6em 1em;
    -webkit-transition: .2s;
    transition: .2s;
}

.btn-default:hover {
    background-color: #f5f5f5;
}

.btn-default:focus, .btn-default:active, .btn-default:focus:active {
    -webkit-box-shadow: none;
    box-shadow: none;
    background-color: #e6e6e6;
}

.btn-lg {
    padding: 1em 1.8em;
}

.btn-sm {
    padding: .4em .8em;
}

#topcart .btn-default {
    color: #ed8f34;
    background: white;
    border-radius: 3px;
    border-color: transparent;
    -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

#topcart .btn-default:hover {
    color: white;
    background-color: #ed8f34;
}

#topcart .btn-default:focus {
    color: white;
    background-color: #db7513;
}

#topbar .btn-default[title="Hledat"] {
    border-top-right-radius: 3px;
    border-bottom-right-radius: 3px;
    color: #ed8f34;
    background: white;
    border-color: transparent;
    -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    height: 40px;
}

#topbar .btn-default[title="Hledat"]:hover {
    color: white;
    background-color: #ed8f34;
}

#topbar .btn-default[title="Hledat"]:focus {
    color: white;
    background-color: #db7513;
}

#topbar .form-control {
    border-top-left-radius: 3px;
    border-bottom-left-radius: 3px;
    border-color: transparent;
    -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

/* template fixes */
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group {
    margin-left: 0;
}

/* Vypis rubriky
====================================================================== */
#list-pages {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 -2rem;
}

#list-pages .media, #list-pages .media-body {
    overflow: visible;
}

#list-pages .media {
    width: 50%;
    padding: 0 2rem;
    margin-top: 0;
}

#list-pages .media-body {
    padding: 2rem 0 0;
    margin: 1rem 0;
    -webkit-transition: .3s;
    transition: .3s;
}

#list-pages .media-body:hover {
    background: #fff;
    -webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    -webkit-transition: .2s;
    transition: .2s;
}

#list-pages .media-body:hover h2 {
    padding: 0 2rem 1rem;
    -webkit-transition: .2s;
    transition: .2s;
}

#list-pages .media-body:hover .perex-image-link {
    padding: 0 2rem;
    -webkit-transition: .2s;
    transition: .2s;
}

#list-pages .media-body:hover .perex-text {
    padding: 1rem 2rem;
    -webkit-transition: .2s;
    transition: .2s;
}

#list-pages .media-body:hover .details {
    padding: 0 2rem 1rem;
    -webkit-transition: .2s;
    transition: .2s;
}

#list-pages h2 {
    padding: 0 4rem 1rem 0;
    -webkit-transition: .3s;
    transition: .3s;
}

#list-pages .perex-image-link {
    display: block;
    height: 240px;
    -webkit-transition: .3s;
    transition: .3s;
}

#list-pages .perex-image {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

#list-pages .perex-text {
    padding: 1rem 4rem 1rem 0;
    -webkit-transition: .3s;
    transition: .3s;
}

#list-pages .details {
    padding: 0 2rem 1rem 0;
    -webkit-transition: .3s;
    transition: .3s;
    text-align: right;
}

@media (min-width: 992px) and (max-width: 1199px) {
    #list-pages .media {
        width: 100%;
    }
    #list-pages .perex-image-link {
        height: 300px;
    }
}

@media (max-width: 768px) {
    #list-pages .media {
        width: 100%;
    }
    #list-pages .perex-image-link {
        height: 300px;
    }
}

@media (max-width: 480px) {
    #list-pages .perex-image-link {
        height: 220px;
    }
}

/* Forms - global settings, contact form
====================================================================== */
.form-control {
    height: 40px;
    font-size: 1.6rem;
    padding: 6px 8px;
    -webkit-box-shadow: none;
    box-shadow: none;
}

.form-control:focus {
    -webkit-box-shadow: none;
    box-shadow: none;
}

textarea.form-control {
    resize: vertical;
    min-height: 40px;
}

img#captcha {
    margin-top: 10px;
}

.form-horizontal .form-group label {
    margin-bottom: 0;
    padding-right: 1rem;
}

/* Search
====================================================================== */
@media (max-width: 767px) {
    #search #content button[type=submit] {
        margin: 1rem auto;
    }
}

/* Images - fotogalerie
====================================================================== */
.item-photogallery .caption {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.item-photogallery .caption .more {
    margin-top: auto;
}

/* Slider (Carousel)
====================================================================== */
.carousel-caption h3, .carousel-caption p {
    background-color: rgba(0, 0, 0, 0.65);
    padding: .5rem;
}

@media (max-width: 575px) {
    body:not(#tinymce) .carousel-caption {
        padding-bottom: 0;
    }
    body:not(#tinymce) .carousel-caption p {
        display: none;
    }
}

.carousel .section-cell-item:not(.active) .carousel-caption {
    opacity: 0;
    -webkit-transition: .2s;
    transition: .2s;
}

.carousel .section-cell-item.active .carousel-caption {
    opacity: 1;
    -webkit-transition: .2s;
    transition: .2s;
}

.carousel-control {
    -webkit-transition: .2s;
    transition: .2s;
}

.carousel-control.left {
    background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.35)), to(rgba(0, 0, 0, 0)));
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0.35) 0%, rgba(0, 0, 0, 0) 100%);
}

.carousel-control.right {
    background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0)), to(rgba(0, 0, 0, 0.35)));
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.35) 100%);
}

.carousel-control .glyphicon-chevron-left,
.carousel-control .glyphicon-chevron-right {
    font-size: 5rem;
    width: auto;
    height: auto;
    margin-top: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.glyphicon-chevron-left:before {
    content: '\f104';
    font-family: 'FontAwesome';
}

.glyphicon-chevron-right:before {
    content: '\f105';
    font-family: 'FontAwesome';
}

/* E-SHOP / Filters
====================================================================== */
.panel-filter .navbar-form {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-left: 0;
    margin-right: 0;
}

.panel-filter .navbar-form .form-group {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-right: 1.5rem;
}

.panel-filter .navbar-form .form-group label {
    padding-right: .5rem;
    margin-bottom: 0;
}

.panel-filter .navbar-form .form-group input {
    margin-right: .5rem;
    margin-top: 0;
}

.panel-filter .navbar-form .form-group, .panel-filter .navbar-form button {
    margin: .5rem 0;
}

/* E-SHOP / Products --- vypis produktu
==================================================================== */
.item-eshop-product .thumbnail {
    -webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}

.item-eshop-product .caption {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.item-eshop-product .caption h2 {
    font-size: 2rem;
}

.item-eshop-product .caption .description {
    display: none;
}

.item-eshop-product .caption .more {
    margin-top: auto;
}

.icon-favourite {
    font-size: .875em;
}

/* E-SHOP / Products / Labels --- sleva, informace o dostupnosti zbozi
==================================================================== */
.product-label-special {
    font-size: 1.6rem;
}

/* E-SHOP / Product detail
==================================================================== */
#detail-product {
    padding: 15px;
}

/* obrazek */
#detail-product .img-thumbnail {
    display: block;
    margin: 2.5rem auto auto;
    border: none;
}

/* cena u produktu */
#detail-product .dl-horizontal {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 30px;
}

#detail-product .dl-horizontal dt {
    width: auto;
    font-weight: normal;
    line-height: 1.5;
}

#detail-product .dl-horizontal dd {
    margin-left: auto;
}

#detail-product .dl-horizontal dd .price-current-vat {
    margin-bottom: 0;
}

/* pocet kusu a button "do kosiku" */
#form-product .form-group {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

#form-product .form-group .input-group,
#form-product .form-group .btn-primary {
    margin: .25rem;
}

#form-product .form-group .input-group {
    max-width: 120px;
}

#form-product .form-group label {
    padding: 6px 8px;
    margin-bottom: 0;
}

.filter-default {
    filter: invert(66%) sepia(31%) saturate(2385%) hue-rotate(340deg) brightness(102%) contrast(86%);
}

/* Prevent overflowing images in Tiny
====================================================================== */

#tinymce img:not(.mce-pagebreak) {
    max-width: 100%;
    height: auto;
}