@import url('https://fonts.googleapis.com/css?family=Open+Sans:300,400');

* {
    margin: 0;
    padding: 0px;
    font-family: 'Open Sans', sans-serif;
}

body {
    background: #f8f8f8;
    margin: 0;
    height: 100%;
    z-index: 1000;
    color: #000;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Open Sans', sans-serif;
}

h1,
.h1 {
    font-size: 2em;
}

h2,
.h2 {
    font-size: 1.5em;
}

h3,
.h3 {
    text-align: center;
}

h4,
.h4 {
    text-align: center !important;
}

p {
    padding: 0;
    margin-bottom: 12px;
    font-family: 'Open Sans', sans-serif !important;
    font-weight: 300;
    font-size: 14px;
    line-height: 24px;
    color: #000;
    margin-top: 10px;
}

html,
body {
    height: 100%;
}

div.body {
    height: 100%;
    width: 100%;
}

img {
    height: auto;
    max-width: 100%;
}

.hidden {
    display: none;
}

.alignleft {
    float: left;
}

.alignright {
    float: right;
}

.aligncenter {
    margin-left: auto;
    margin-right: auto;
    display: block;
    clear: both;
}

.clear {
    clear: both;
    display: block;
    font-size: 0;
    height: 0;
    line-height: 0;
    width: 100%;
}

::-moz-selection {
    color: #fff;
    text-shadow: none;
    background: #2B2E31;
}

::selection {
    color: #fff;
    text-shadow: none;
    background: #2B2E31;
}

*,
*:after,
*:before {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0;
    margin: 0;
}

a {
    padding: 0;
    margin: 0;
    text-decoration: none;
    -webkit-transition: background-color .4s linear, color .4s linear;
    -moz-transition: background-color .4s linear, color .4s linear;
    -o-transition: background-color .4s linear, color .4s linear;
    -ms-transition: background-color .4s linear, color .4s linear;
    transition: background-color .4s linear, color .4s linear;
}

a:hover,
a:focus {
    text-decoration: none;
    color: #000;
}

a img {
    border: none;
    vertical-align: bottom;
}

a.remove {
    display: block;
    height: 18px;
    width: 18px;
    margin: 10px;
    padding-left: 0 !important;
    text-indent: -9999px;
    background: url("img/remove.png") #798184;
    border-radius: 100px;
    border-style: solid;
    border-width: 1px
}

p,
pre,
ul,
ol,
dl,
dd,
blockquote,
address,
table,
fieldset,
form {
    margin-bottom: 20px;
}

ul,
ol,
dl {
    margin-left: 30px;
}

ul,
ol,
dl {
    margin-bottom: 1.25em;
    font-family: inherit;
}

ul,
ol {
    margin-left: 0;
}

ul.no-bullet,
ol.no-bullet {
    margin-left: 0;
}

ul li ul,
ul li ol {
    margin-left: 1.25em;
    margin-bottom: 0;
}

ol li ul,
ol li ol {
    margin-left: 1.25em;
    margin-bottom: 0;
}

dl dt {
    margin-bottom: 0.3em;
    font-weight: bold;
}

dl dd {
    margin-bottom: 0.75em;
}

.lead {
    font-size: 21px;
    padding: 15px 0;
    font-weight: 400;
}

section::before,
section::after {
    position: absolute;
    content: '';
    pointer-post-wraps: none;
}

.first {
    clear: both
}

.last {
    margin-right: 0
}

/*Bootstrap Modifications*/
.nav-tabs>li>a {
    margin-right: 2px;
    line-height: 1.42857143;
    border: 1px solid transparent;
    border-radius: 0 0 0 0;
    background: #eee;
}

input,
button,
select,
textarea {
    margin-bottom: 10px;
}

.accordion-heading .accordion-toggle {
    display: block;
    cursor: pointer;
    border-top: 1px solid #F5F5F5;
    padding: 5px 0px;
    line-height: 28.75px;
    text-transform: uppercase;
    color: #1a1a1a;
    background-color: #ffffff;
    outline: none !important;
    text-decoration: none;
}

.icon-fixed-width {
    display: inline-block;
    width: 1.1428571428571428em;
    text-align: right;
    padding-right: 10px;
    ;
}

/*	################################################################
2. SITE STRUCTURES
################################################################# */
.quote-post {
    position: relative;
    background: #f5f5f5;
    border: 1px solid #EEEEEE;
    padding: 20px 10px;
}

.quote-post:after {
    font-family: 'FontAwesome';
    content: "\f10e";
    padding-right: 35px;
    right: 0;
    position: absolute;
    top: 0;
    font-size: 600%;
    opacity: 0.2;
    -moz-opacity: 0.2;
    filter: alpha(opacity=20);
}

.quote-post blockquote {
    border-left: 0px solid #fff;
}

.author_box {
    background: #f5f5f5;
    border: 1px solid #eeeeee;
    padding: 20px;
}

.author_box .social_buttons a {
    color: #2B2E31;
    font-size: 18px
}

.author_box img {
    margin-right: 20px;
    width: 100px;
    height: 100px;
}

.blog-wrap {
    background: #ffffff;
    padding: 25px 0;
    position: relative;
    display: block;
    z-index: 1;
}

.blog-wrap .blog-media {
    margin: 20px 0;
}

.post-desc {
    padding: 0
}

.author-wrap {
    position: relative;
    z-index: 1;
    margin: -70px auto 0;
    width: 100px;
}

.page-header {
    border-bottom: 1px solid #EEEEEE;
    margin: 0 0;
    padding-bottom: 0;
}

.author-wrap>.inside img {
    background: #fff;
    border: 2px solid #eeeeee;
    display: block;
    margin: 0 auto;
    width: 100px;
    height: 100px;
    padding: 3px;
    position: relative;
    text-align: center;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    -o-border-radius: 50%;
    border-radius: 50%;
}

.blog-title h2 {}

.blog-title .post-meta {}

.post-meta a,
.post-meta span {}

.post-meta .sep {
    color: #777777;
    padding: 0 10px 0 10px;
}

.post-meta a:hover {
    border-bottom: 1px dotted #14ddb3;
}

#comments_wrapper {
    margin: 60px 0
}

.comment-list {
    margin: 60px 0;
    list-style: none;
}

.comment-list ul li,
.comment-list ol li {
    list-style: none;
}

.comment-avatar {
    margin: 0 20px 0 0;
    float: left;
    height: 70px;
    width: 70px;
}

.comment-content {
    background: #f5f5f5;
    border: 1px solid #eeeeee;
    margin-bottom: 20px;
    overflow: hidden;
    padding: 20px;
}

.comment-author {
    margin-bottom: 10px;
}

.comment-meta {
    font-size: 12px;
    color: #aaa;
    padding-left: 10px;
}

.comment-reply {
    float: right;
    font-size: 12px;
    color: #aaa;
}

.leave-comment textarea {
    height: 150px;
}

#wrapper {
    padding: 20px;
    background: #ffffff;
    margin: 40px auto;
    border: 1px solid #DCDBD7;
}

#wrapper .section1 {
    box-shadow: none;
    padding-left: 5px;
    padding-right: 5px;
}

#wrapper .footer {
    box-shadow: none;
    padding: 25px 20px 0
}

#wrapper .section3 {
    border: 0px solid #DCDBD7;
    padding: 0 20px;
}

body.nobg {
    padding: 0px !important;
    margin: 0;
    overflow: hidden;
    width: 100%;
    background: #2B2E31;
    height: 100%;
}

.notfound h2 {
    color: #2B2E31 !important;
}

.notfound {
    padding: 0px !important;
    margin: 0;
    overflow: hidden;
    width: 100%;
    background: url("../img/404.png") no-repeat top right #ffffff;
    min-height: 400px;
}

.notfound .small-title {
    margin: 30px 0;
    width: 60%;
    font-weight: 300;
    line-height: 1.5;
}

body.nobg #layerslider * {
    font-weight: 300;
}

body.nobg #layerslider h1 {
    font-size: 30px;
    color: #eee;
}

body.nobg #layerslider {
    position: absolute;
    z-index: 1;
}

body.nobg .section1 {
    background: rgba(0, 0, 0, 0.4);
    z-index: 2;
    position: relative;
    top: 20%;
}

#market-wrapper,
.market-call {
    background: #dadad2;
}

#market-wrapper h1 {
    color: #ffffff;
    padding: 40px 0 0;
}

#market-wrapper .mbuttons {
    margin: 20px 0 0;
}

#intro {
    background: url(../img/intro-bg.jpg) center center no-repeat fixed;
    background-size: cover;
    padding: 80px 0;
    text-align: center;
}

#intro h1 {
    color: #ffffff;
    padding: 0;
    margin: 0 0 20px 0;
    font-size: 42px;
}

#intro p {
    color: #ffffff;
    font-size: 18px;
    line-height: 28px;
    padding: 0;
    margin: 0;
}

@media (max-width: 768px) {
    #intro {
        background-attachment: scroll;
    }

    #intro h1 {
        font-size: 28px;
    }

    #intro p {
        font-size: 15px;
    }
}

.post-wrapper-top {
    background-color: #F5F5F5;
    bottom: 0;
    left: 0;
    right: 0;
    top: 0;
    z-index: 0;
    border-bottom: 3px solid #DCDBD7;
    margin-bottom: 0;
    padding: 0;
    position: relative;
    text-align: left;
}

.breadcrumb>li+li:before {
    color: #798184;
    font-size: 11px;
}

.post-wrapper-top h2 {
    border-bottom: 3px solid #fff;
    display: inline-block;
    font-weight: 400;
    font-size: 1.8em;
    padding: 0 0 20px;
    color: #2B2E31;
    position: relative;
    margin-bottom: -3px;
}

.breadcrumb {
    background-color: rgba(0, 0, 0, 0);
    border-left: 0 solid #63B76C;
    border-radius: 0;
    font-size: 11px;
    font-style: italic;
    color: #798184;
    font-family: 'Open Sans', sans-serif;
    font-weight: 300;
    list-style: none outside none;
    margin: 20px 0 0;
    padding: 0;
}

/* search */
.search-bar {
    padding: 0;
    width: 190px;
    height: 40px;
    float: right;
    position: relative;
    display: inline-block;
    background: url("../img/search.png") left top no-repeat;
    margin-top: 60px;
}

.search-bar form input {
    width: 190px !important;
    padding: 0 0 0 35px !important;
    margin: -12px 0 0 0 !important;
    border: 0 !important;
    outline: 0 !important;
    height: 40px !important;
    float: left !important;
    display: inline !important;
    font-family: 'Open Sans', sans-serif !important;
    font-weight: normal !important;
    font-style: italic !important;
    font-size: 11px !important;
    color: #798184 !important;
    background: transparent !important;
}

.search-bar form input.searchsubmit {
    width: 25px !important;
    height: 15px !important;
    padding: 0 !important;
    float: left !important;
    display: inline !important;
}

.search-bar form input:focus,
.search-bar form input {
    border: 0;
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    box-shadow: none;
}

#contact .form-control {
    margin-bottom: 10px;
}

#contact label,
#contact .form-verif {
    width: 45px;
    line-height: 45px;
    float: left;
    margin-right: 10px;
}

#contact fieldset {
    padding: 20px;
    border: 1px solid #eee;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
}

#contact legend {
    padding: 7px 10px;
    font-weight: bold;
    color: #000;
    border: 1px solid #eee;
    -webkit-border-radius: 5px;
    -moz-border-radius: 5px;
    margin-bottom: 0 !important;
    margin-bottom: 20px;
}

#contact span.required {
    font-size: 13px;
    color: #ff0000;
}

#message {
    margin: 10px 0;
    padding: 0;
}

.error_message {
    display: block;
    height: 22px;
    line-height: 22px;
    background: #FBE3E4 url("../img/error.gif") no-repeat 10px center;
    padding: 3px 10px 3px 35px;
    color: #8a1f11;
    border: 1px solid #FBC2C4;
    -webkit-border-radius: 5px;
}

.loader {
    padding: 0 10px;
}

#success_page h1 {
    background: url("../img/success.gif") left no-repeat;
    padding-left: 22px;
    font-size: 21px;
}

#contact acronym {
    border-bottom: 1px dotted #ccc;
}

.topbar {
    background: #F8F8F8;
    color: #ffffff;
}

.top-bar {
    background: #ffffff;
    height: 45px;
    line-height: 45px;
    margin-top: 30px;
    position: relative;
}

.top-bar-section a {
    background: #ffffff !important;
    text-transform: uppercase;
}

.top-bar-section .dropdown {
    border-top: 2px solid #000
}

.top-bar-section .dropdown li a {
    color: #696E74;
    font-size: 13px;
    text-transform: none;
    border-top: none
}

.top-bar-section ul li.active>a,
.top-bar-section ul li>a {
    color: #2B2E31;
    font-weight: 400;
}

.header {
    background: #ffffff;
    display: block;
    border-bottom: 1px solid #DCDBD7;
    position: relative;
    z-index: 99;
}

.site-header {
    padding: 40px 0 0;
}

.header-image .title-area {
    padding: 0;
}

.header-image .site-header .site-title a {
    height: 65px;
    min-height: 65px;
    padding: 0;
}

.header-image .site-title a {}

.site-title h4 {
    font-weight: 900;
    color: #2f2f2f;
}

.callus span {
    margin-left: 10px;
    color: #ffffff;
    letter-spacing: 0.65px;
    font-weight: 300;
}

.callus p {
    margin: 8px;
    font-size: 12px;
}

.social_buttons a {
    width: 23px;
    height: 23px;
    margin-top: 8px;
    font-size: 15px;
    display: inline-block;
    text-align: center;
    margin-left: 0;
    line-height: 23px;
    color: #ffffff;
}

.title-area {
    padding: 0;
    display: block;
    position: relative;
    overflow: hidden;
}

.footer {
    background: #f0f0f0;
    padding: 25px 0 0;
    position: relative;
    overflow: hidden;
    display: block;
    z-index: 1;
    box-shadow: 0px -10px 0px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
}

.footer h4 {
    color: #000 !important;
}

.footer ul {
    margin-left: 0;
}

.footer .title {
    border-bottom: 1px solid #696E74;
}

.copyrights p {
    font-size: 12px;
    margin-top: 10px;
}

.footer-menu {
    margin: 10px 0;
}

.footer-left p {
    display: inline-block;
    color: #fff;
}

.credits {
    display: inline-block;
}

.footer-menu a {}

.footer-menu ul {
    list-style: none;
    list-style-position: outside;
    float: right;
    display: inline;
    margin: 5px;
}

.footer-menu li {
    line-height: 12px;
    float: left;
    padding: 0 7px;
}

.footer .widget h4 {
    color: #ffffff;
}

.footer-service-badge {
    margin-bottom: 12px;
}

.footer-service-badge picture,
.footer-service-badge img {
    display: block;
    width: 100%;
    max-width: 340px;
    margin: 0 auto;
    height: auto;
}

.copyrights {
    background: #3E4246;
    padding: 0;
    font-size: 12px;
    border-top: 1px solid #3E4246;
    margin-top: 15px;
    color: #fff;
}

.copyrights a {
    color: #fff;
}

#nav {
    margin-top: 0;
}

#nav .container {
    width: inherit;
}

#nav.affix {
    position: fixed;
    top: -1px;
    left: 0;
    width: 100%;
    margin-top: 0;
    z-index: 99;
    background: rgba(255, 255, 255, 0.9);
    border-bottom: 1px solid #DCDBD7;
}

.slideshow-wrapper {
    background: #F5F5F5;
    border-top: 1px solid #E5E4E4;
}

.section4,
.section1 {
    background: #ffffff;
    padding: 30px 0;
}

.section2 {
    background: #464646;
    padding: 30px 0;
}

.section3 {
    background: #e4e4e4;
    border-top: 1px solid #E5E4E4;
    border-bottom: 1px solid #E5E4E4;
}

.section5 {
    background: #c6c6c6;
    padding: 30px 0;
}

.section5 h4 {
    color: #f2f2f2;
}

.withpadding {
    padding: 30px 0;
}

.transparent {
    background: url("../img/slides_01.jpg") no-repeat fixed center top / cover;
    padding: 0;
    color: #ffffff !important;
}

.transparent-wrap .general-title hr {
    background-color: #ffffff;
}

.videobg {
    padding: 0;
    color: #ffffff !important;
}

.videobg-wrap .general-title hr {
    background-color: #ffffff;
}

.videobg-wrap {
    background-color: rgba(43, 46, 49, 0.8);
    padding: 30px 0 0
}

.videobg-wrap .general-title p,
.transparent-wrap .highlight,
.transparent-wrap .milestone-details,
.transparent-wrap .f-element i,
.transparent-wrap .general-title p,
.transparent-wrap h3 {
    color: #ffffff;
}

.videobg-wrap .general-title h3,
.transparent-wrap .general-title h3 {
    color: #FFFFFF;
    font-size: 38px;
    font-weight: 700;
    letter-spacing: -0.8px;
    text-transform: uppercase;
}

.transparent-wrap {
    padding: 30px 0;
    display: block;
    margin-bottom: 0;
    position: relative;
    overflow: hidden;
}

.general-title hr {
    border: 0 none;
    height: 1px;
    margin: 10px auto;
    width: 120px;
    background: #2B2E31;
}

.general-title h3 {
    font-weight: 600;
    letter-spacing: -0.65px;
    font-size: 31px;
    padding: 20px 0 0;
    text-transform: uppercase;
}

.title {
    position: relative;
    padding-bottom: 20px;
    margin: 20px 0;
    border-bottom: 1px solid;
    border-color: #d1d1d1;
}

.message {
    padding: 20px 0 !important;
    display: block;
    position: relative;
    overflow: hidden;
}

.message .small-title {
    color: #ffffff;
    margin: 30px 0 0;
    font-size: 18px;
    text-transform: uppercase;
}

.message .big-title {
    letter-spacing: -0.80px;
    color: #ffffff;
    text-transform: uppercase;
    font-size: 38px;
    font-weight: 700;
}

.message h3 {
    text-transform: uppercase;
    font-weight: 700;
}

.message .button {
    margin-top: 30px;
}

.servicetab .tab-content {
    padding: 10px 30px;
}

.services_lists_boxes {
    margin: 0;
}

.servicebox {
    margin: 30px 0;
}

.servicebox h4 {
    display: block;
    width: 100%;
    font-size: 21px;
    letter-spacing: -0.65px;
    font-weight: 400;
}

.services_lists_boxes_icon:after {
    color: #fff;
    z-index: 90;
    font-size: 14px;
    font-family: 'FontAwesome';
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    -webkit-font-smoothing: antialiased;
}

.services_lists_boxes_icon:after {
    content: "\f175";
    text-align: center;
    display: inline-block;
    cursor: pointer;
    margin: 10px 0 0;
    width: 110px;
    text-align: center;
    position: relative;
    z-index: 1;
}

.services_lists hr {
    margin: 10px 0 !important;
}

.services_lists hr,
.servicetitle hr {
    border: 0 none;
    height: 3px;
    margin: 10px auto;
    width: 80px;
}

.checkout .quantity {
    width: 50px;
}

.theme_overviews .icon-container {
    display: block;
    float: left;
    left: 0;
    top: 20px;
    overflow: hidden;
    position: absolute;
}

.theme_overviews .services {
    padding-left: 40px;
    margin-top: 0;
    text-align: left;
}

.theme_overviews .services h3 {
    font-size: 18px;
    text-transform: none;
}

.theme_overviews .icon-container i {
    font-size: 35px;
    margin-left: 3px;
}

.theme_details .button.large {
    font-size: 14px !important;
}

.recent-portfolio-item,
.recent-blog-item {
    padding: 15px;
}

.recent-blog-item .title {
    font-size: 18px;
    margin: 15px 0;
    padding-bottom: 15px;
}

.recent-blog-items .owl-pagination,
.recent-portfolio-items .owl-pagination {
    right: 0;
    top: -55px;
    left: inherit;
}

.portfolio_category a {
    color: #ffffff;
}

.portfolio-item .title:before {
    border-radius: 0;
    display: none
}

.portfolio-item p {
    margin: 0px 0 30px;
}

.portfolio-item h3 {
    margin: -10px 0 10px;
    font-size: 16px;
    text-transform: uppercase;
}

.portfolio_details {
    margin: 0;
    border: 0;
    border: 1px solid #EDEDED;
    background-color: #fff;
    padding: 0;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    text-align: left;
    -webkit-transition: background 0.3s ease-out;
    transition: background 0.3s ease-out;
}

.theme_overviews,
.theme_details {
    margin: 0;
    border: 0;
    border: 1px solid #EDEDED;
    background-color: #fff;
    padding: 9px 18px;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    text-align: left;
    -webkit-transition: background 0.3s ease-out;
    transition: background 0.3s ease-out;
}

.portfolio_details .details_section,
.theme_details .details_section {
    border-bottom: 1px solid #e9e9e9;
    padding: 30px 30px 10px;
}

.theme_details .details_section:last-child {
    border: 0 none;
    padding-bottom: 20px;
}

.item_price h3 span {
    border: 3px solid #dc6900;
    background-color: #dc6900;
    color: #fff;
    display: block;
    font-family: 'Open Sans', sans-serif;
    font-size: 41px;
    font-weight: 400;
    margin: 25px 0 0;
    text-align: center;
}

.item_price h3 span small {
    color: #2B2E31;
    font-size: 21px;
    left: 0px;
    padding: 5px;
    position: relative;
    top: 5px;
    vertical-align: top;
}

.button i {
    padding: 0 3px;
}

.portfolio_details h3,
.theme_details h3 {
    font-size: 16px;
    font-weight: bold;
    margin: 0 0 20px;
}

.portfolio_details li {
    list-style: none;
    color: #2B2E31;
    margin-bottom: 10px;
}

.theme_details li {
    list-style: none;
    color: #2B2E31;
}

.portfolio_details li span {
    display: inline;
    padding: 5px 0 15px;
    color: #696E74;
    text-transform: none;
}

.theme_details li span {
    display: block;
    padding: 5px 0 15px;
    color: #696E74;
    text-transform: none;
}

.theme_details li span a {
    padding: 0;
}

.theme_details li a {
    color: #696E74;
    display: block;
    font-size: 13px;
    padding: 5px 0 0;
    text-transform: none;
}

.theme_details li a:hover {
    text-decoration: underline;
}

.item-description h1 {
    font-size: 31px;
    letter-spacing: -1px;
    margin-bottom: 0;
    margin-bottom: 0;
    padding: 15px 0 5px;
}

.general-title p {
    color: #696E74;
    font-family: 'Open Sans', sans-serif !important;
    font-size: 18px;
    font-style: italic;
    font-weight: 300;
    line-height: 1;
    padding: 10px 0;
}

.checkout td a {
    padding-left: 20px;
}

.isotope-item {
    z-index: 2;
}

.isotope-hidden.isotope-item {
    pointer-events: none;
    z-index: 1;
}

.isotope,
.isotope .isotope-item {
    -webkit-transition-duration: 0.8s;
    -moz-transition-duration: 0.8s;
    -ms-transition-duration: 0.8s;
    -o-transition-duration: 0.8s;
    transition-duration: 0.8s;
}

.isotope {
    -webkit-transition-property: height, width;
    -moz-transition-property: height, width;
    -ms-transition-property: height, width;
    -o-transition-property: height, width;
    transition-property: height, width;
}

.isotope .isotope-item {
    -webkit-transition-property: -webkit-transform, opacity;
    -moz-transition-property: -moz-transform, opacity;
    -ms-transition-property: -ms-transform, opacity;
    -o-transition-property: -o-transform, opacity;
    transition-property: transform, opacity;
}

.isotope.no-transition,
.isotope.no-transition .isotope-item,
.isotope .isotope-item.no-transition {
    -webkit-transition-duration: 0s;
    -moz-transition-duration: 0s;
    -ms-transition-duration: 0s;
    -o-transition-duration: 0s;
    transition-duration: 0s;
}

.portfolio-filter ul {
    list-style: none;
    padding-left: 10px
}

.portfolio-filter {
    text-align: center;
    margin: 30px 0;
}

.portfolio-filter li {
    display: inline;
    margin-right: 15px;
    padding: 0;
}

.portfolio-filter li a {
    text-transform: uppercase;
}

.portfolio-wrapper {
    margin: 40px 0;
}

.owl-carousel .item a,
.owl-carousel .item a img {
    display: block;
    position: relative;
}

.owl-carousel .item a {
    overflow: hidden;
    color: #ffffff;
    cursor: crosshair;
    cursor: url("../img/cursor.png") 40 40, crosshair;
}

.owl-carousel .item a div {
    position: absolute;
    width: 100%;
    height: 100%;
}

.owl-carousel .item a div span {
    display: block;
    padding: 0 8px;
    margin: 20px 20px 0;
    font-size: 21px;
    text-align: left;
    border-left: 3px solid #EC353D;
    font-weight: 400;
    color: rgba(255, 255, 255, 0.9);
}

.owl-carousel .item small {
    display: block;
    font-size: 14px;
    margin-bottom: 0;
    padding: 10px;
    text-transform: none;
    bottom: 0;
    left: 10px;
    position: absolute;
}

.owl-carousel .item i {
    font-size: 16px;
    height: 40px;
    text-align: center;
    width: 40px;
    bottom: 0;
    line-height: 2.4;
    border-left: 1px solid #111111;
    border-top: 1px solid #111111;
    right: 0;
    position: absolute;
}

/*	################################################################
3. MODULES
################################################################# */
.client {
    padding: 10px 5px;
    background: #ffffff;
    margin-top: 40px;
    background-color: rgba(255, 255, 255, 0.6);
    text-align: center;
}

.client .tooltip-inner {
    padding: 10px;
}

#volume {
    bottom: 0;
    position: absolute;
    z-index: 10;
    right: 0;
    width: 30px;
    height: 30px;
    line-height: 26px;
    font-size: 20px;
    text-align: center;
    border: 1px solid #2B2E31;
    color: #ffffff;
    cursor: pointer;
}

.custom-box {
    background: #FFFFFF;
    border: 1px solid #DCDBD7;
    margin: 30px 0;
    padding: 30px 20px 35px;
    text-align: center;
}

.custom-box .widget-title {
    margin-top: 10px
}

.custom-box a.readmore {
    padding: 0;
}

.icn-main-container {
    position: relative;
}

.icn-container {
    display: inline-block;
    width: 100px;
    height: 100px;
    border-radius: 500px;
    text-align: center;
    margin: 10px 0;
    font-weight: 600;
    font-size: 2.4em;
    line-height: 100px;
    color: #fff;
    -webkit-transition: all 0.6s ease-in-out;
    transition: all 0.6s ease-in-out;
}

.icn-container.active,
.icn-container:hover {
    background: #2B2E31 !important;
}

.pricing {
    list-style: none;
    padding: 10px 0 20px;
}

.pricing li {
    border-bottom: 1px solid #DCDBD7;
    font-size: 13px;
    font-weight: 100;
    line-height: 34px;
    margin: 0 auto;
    padding: 0;
    text-align: center;
    width: 70%;
    -webkit-transition: background-color .4s linear, color .4s linear;
    -moz-transition: background-color .4s linear, color .4s linear;
    -o-transition: background-color .4s linear, color .4s linear;
    -ms-transition: background-color .4s linear, color .4s linear;
    transition: background-color .4s linear, color .4s linear;
}

.pricing li:last-child {
    border-bottom: 0px solid #fff;
}

.the-icons li {
    list-style: none
}

#bbsearch.form-inline input[type="text"],
#bbsearch.form-inline input[type="password"] {
    width: 50%;
    margin-top: 20px;
}

#bbsearch .form-control {
    height: 55px;
}

#bbsearch .btn {
    padding: 14px 35px;
    font-size: 18px;
    line-height: 1.426;
    border-radius: 0;
    margin-top: 10px;
}

.highlight {
    font-size: 61px;
    font-weight: 700;
    line-height: 1;
    margin: 30px 0 0;
}

.milestone-details {
    font-size: 18px;
    color: #2B2E31;
    font-weight: 400;
    letter-spacing: -0.5px;
    padding: 10px 0 20px;
}

.f-element {
    margin-top: 40px;
    height: auto;
    text-align: center;
}

.f-element i {
    margin-bottom: 10px;
    font-size: 36px;
    color: #2B2E31;
}

.percent {
    display: block;
    font-size: 40px;
    letter-spacing: -3px;
    line-height: 210px;
    font-weight: bold;
    position: absolute;
    text-align: center;
    top: -3px;
    color: #2B2E31;
    width: 90%;
    z-index: 10;
}

.chart {
    margin-bottom: 20px;
}

.skills {
    margin: 60px 0;
}

.teammembers {
    border: 1px dashed #dddddd;
    padding: 25px;
    text-align: center;
    margin: 30px 0;
}

.teamskills {
    margin-top: 20px;
}

.teammembers img {
    margin-bottom: 10px;
}

.testimonial {
    margin: 20px 0 0;
    border: 0;
    background-color: #fff;
    padding: 15px;
    min-height: 150px;
    border-bottom: 1px dashed #dddddd;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    -webkit-transition: background 0.3s ease-out;
    transition: background 0.3s ease-out;
}

.testimonial:after {
    font-family: 'FontAwesome';
    content: "\f10e";
    padding-right: 5px;
    right: 0;
    position: absolute;
    top: 20px;
    font-size: 400%;
    opacity: 0.1;
    -moz-opacity: 0.1;
    filter: alpha(opacity=10);
}

.teammembers h4,
.testimonial h4 {
    font-size: 16px;
    padding-right: 5px;
}

.teammembers small,
.testimonial small {
    font-size: 11px;
    font-style: italic;
    color: #798184;
    padding: 0 10px;
    font-family: 'Open Sans', sans-serif !important;
    font-weight: 300;
}

.testimonial img {
    margin-right: 15px;
    width: 75px;
    border: 0 solid #ffffff !important;
    height: 75px;
    margin-top: 5px;
    border: medium none;
    display: inline-block;
    image-rendering: optimizequality;
    max-width: 100%;
}

.testimonial-meta {
    overflow: hidden;
}

.dmbox {
    margin: 0;
    border: 0;
    border: 1px solid #EDEDED;
    background-color: #fff;
    padding: 9px 18px;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    text-align: center;
    -webkit-transition: background 0.3s ease-out;
    transition: background 0.3s ease-out;
}

.divider {
    margin: 25px 0;
    height: 2px;
    display: block;
    position: relative;
    overflow: hidden;
}

button,
.button {
    cursor: pointer;
    font-weight: normal;
    line-height: normal;
    margin: 0 0 1.25rem;
    position: relative;
    text-decoration: none;
    text-align: center;
    display: inline-block;
    -webkit-border-radius: 2px;
    border-radius: 2px;
    padding: 0.5em 1em;
    font-size: 1.3rem;
    border-color: #696E74;
    color: white;
    -webkit-transition: background-color 300ms ease-out;
    -moz-transition: background-color 300ms ease-out;
    transition: background-color 300ms ease-out;
    -webkit-appearance: none;
    border: none;
    font-weight: normal !important;
}

button:hover,
button:focus,
.button:hover,
.button:focus {
    background-color: #3E4246;
}

button:hover,
button:focus,
.button:hover,
.button:focus {
    color: white;
}

button.large,
.button.large {
    padding-top: 1.125rem;
    padding-right: 2.25rem;
    padding-bottom: 1.1875rem;
    padding-left: 2.25rem;
    font-size: 1.55rem;
}

button.small,
.button.small {
    padding-top: 0.575rem;
    padding-right: 1.75rem;
    padding-bottom: 0.6375rem;
    padding-left: 1.75rem;
    font-size: 1.3125rem;
}

.dmbutton:hover,
.dmbutton:active,
.dmbutton:focus {
    color: #ffffff;
    background-color: #222222;
    border-color: #ffffff;
}

.dmbutton {
    background: rgba(0, 0, 0, 0);
    border: 1px solid #ffffff;
    color: #ffffff;
    -webkit-border-radius: 2px;
    border-radius: 2px;
    padding-top: 1.025rem;
    padding-right: 2.25rem;
    letter-spacing: 0.85px;
    padding-bottom: 1.0875rem;
    padding-left: 2.25rem;
    font-size: 1.55rem;
    cursor: pointer;
    font-weight: normal;
    line-height: normal;
    margin: 0 0 1.25rem;
    text-decoration: none;
    text-align: center;
    display: inline-block;
    -webkit-transition: background-color 300ms ease-out;
    -moz-transition: background-color 300ms ease-out;
    transition: background-color 300ms ease-out;
    -webkit-appearance: none;
    font-weight: normal !important;
}

.dmbutton2:hover,
.dmbutton2:active,
.dmbutton2:focus {
    color: #2B2E31;
    background-color: #ffffff;
    border-color: #2B2E31;
}

.dmbutton2 {
    background: rgba(0, 0, 0, 0);
    border: 1px solid #2B2E31;
    color: #2B2E31;
    -webkit-border-radius: 2px;
    border-radius: 2px;
    padding-top: 0.75rem;
    padding-right: 1.25rem;
    letter-spacing: 0.25px;
    padding-bottom: 0.95rem;
    padding-left: 1.25rem;
    font-size: 1.22rem;
    cursor: pointer;
    font-weight: 300 !important;
    line-height: normal;
    margin: 0 0 1.25rem;
    text-decoration: none;
    text-align: center;
    display: inline-block;
    -webkit-transition: background-color 300ms ease-out;
    -moz-transition: background-color 300ms ease-out;
    transition: background-color 300ms ease-out;
    -webkit-appearance: none;
    font-weight: normal !important;
}

.no-touch .dm-icon-effect-1 .dm-icon:hover {
    color: #ffffff;
}

.no-touch .dm-icon-effect-1 .dm-icon.active {}

.dm-icon-medium {
    width: 80px !important;
    height: 80px !important;
    margin: 25px 15px !important;
    background: #3E4246 !important;
}

.services_lists_boxes_icon_none i:hover,
.services_lists_boxes_icon i:hover {
    background: #ffffff;
    -webkit-transition: background 0.2s, color 0.2s;
    -moz-transition: background 0.2s, color 0.2;
    transition: background 0.2s, color 0.2s;
}

.dm-icon-medium,
.dm-icon {
    display: inline-block;
    cursor: pointer;
    margin: 15px;
    width: 105px;
    height: 105px;
    border-radius: 50%;
    text-align: center;
    position: relative;
    z-index: 1;
    background: #2B2E31;
    color: #ffffff;
}

.dm-icon-medium:after,
.dm-icon:after {
    pointer-events: none;
    position: absolute;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    content: '';
    -webkit-box-sizing: content-box;
    -moz-box-sizing: content-box;
    box-sizing: content-box;
}

.dm-icon-medium:before {
    line-height: 80px !important;
}

.dm-icon-medium:before,
.dm-icon:before {
    speak: none;
    line-height: 105px;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    display: block;
    -webkit-font-smoothing: antialiased;
}

.dm-icon-effect-1 .dm-icon {
    -webkit-transition: background 0.2s, color 0.2s;
    -moz-transition: background 0.2s, color 0.2;
    transition: background 0.2s, color 0.2s;
}

.dm-icon-effect-1 .dm-icon:after {
    top: -7px;
    left: -7px;
    padding: 7px;
    -webkit-transition: -webkit-transform 0.2s, opacity 0.2s;
    -webkit-transform: scale(.8);
    -moz-transition: -moz-transform 0.2s, opacity 0.2s;
    -moz-transform: scale(.8);
    -ms-transform: scale(.8);
    transition: transform 0.2s, opacity 0.2s;
    transform: scale(.8);
    opacity: 0;
}

.no-touch .dm-icon-effect-1 .dm-icon:hover:after {
    -webkit-transform: scale(1);
    -moz-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    opacity: 1;
}

[class*=".effect-"] {
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-perspective: 1000;
    -moz-perspective: 1000;
    perspective: 1000;
}

.effect-fade {
    opacity: 0;
}

.effect-fade.in {
    opacity: 1;
}

.effect-slide-left {
    -webkit-transform: translate3d(-30%, 0, 0);
    transform: translate3d(-30%, 0, 0);
    opacity: 0;
}

.effect-slide-left.in {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
}

.effect-slide-right {
    -webkit-transform: translate3d(30%, 0, 0);
    transform: translate3d(30%, 0, 0);
    opacity: 0;
}

.effect-slide-right.in {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
}

.effect-slide-top {
    -webkit-transform: translate3d(0, -30%, 0);
    transform: translate3d(0, -30%, 0);
    opacity: 0;
}

.effect-slide-top.in {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
}

.effect-slide-bottom {
    -webkit-transform: translate3d(0, 30%, 0);
    transform: translate3d(0, 30%, 0);
    opacity: 0;
}

.effect-slide-bottom.in {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    opacity: 1;
}

.effect-pop {
    opacity: 0;
}

.effect-pop.in {
    -webkit-animation: pop 0.6s ease-out 0.5s both;
    -moz-animation: pop 0.6s ease-out 0.5s both;
    -o-animation: pop 0.6s ease-out 0.5s both;
    animation: pop 0.6s ease-out 0.5s both;
    opacity: 1 \9;
}

@-webkit-keyframes pop {
    0% {
        -webkit-transform: scale(1);
        -ms-transform: scale(1);
        transform: scale(1);
    }

    50% {
        -webkit-transform: scale(1.2);
        -ms-transform: scale(1.2);
        transform: scale(1.2);
        opacity: 1;
    }

    100% {
        opacity: 1;
        -webkit-transform: scale(1);
        -ms-transform: scale(1);
        transform: scale(1);
    }
}

@-moz-keyframes pop {
    0% {
        -webkit-transform: scale(1);
        -ms-transform: scale(1);
        transform: scale(1);
    }

    50% {
        -webkit-transform: scale(1.2);
        -ms-transform: scale(1.2);
        transform: scale(1.2);
        opacity: 1;
    }

    100% {
        opacity: 1;
        -webkit-transform: scale(1);
        -ms-transform: scale(1);
        transform: scale(1);
    }
}

@-o-keyframes pop {
    0% {
        -webkit-transform: scale(1);
        -ms-transform: scale(1);
        transform: scale(1);
    }

    50% {
        -webkit-transform: scale(1.2);
        -ms-transform: scale(1.2);
        transform: scale(1.2);
        opacity: 1;
    }

    100% {
        opacity: 1;
        -webkit-transform: scale(1);
        -ms-transform: scale(1);
        transform: scale(1);
    }
}

@keyframes pop {
    0% {
        -webkit-transform: scale(1);
        -ms-transform: scale(1);
        transform: scale(1);
    }

    50% {
        -webkit-transform: scale(1.2);
        -ms-transform: scale(1.2);
        transform: scale(1.2);
        opacity: 1;
    }

    100% {
        opacity: 1;
        -webkit-transform: scale(1);
        -ms-transform: scale(1);
        transform: scale(1);
    }
}

.effect-fall {
    opacity: 0;
    -webkit-transform: scale(1.5);
    -ms-transform: scale(1.5);
    transform: scale(1.5);
}

.effect-fall.in {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    opacity: 1;
}

.effect-perspective {
    -webkit-perspective: 1300px;
    -moz-perspective: 1300px;
    perspective: 1300px;
}

.effect-helix {
    -webkit-transform-style: preserve-3d;
    -moz-transform-style: preserve-3d;
    transform-style: preserve-3d;
    opacity: 0;
    -webkit-transform: rotateY(-180deg);
    -ms-transform: rotateY(-180deg);
    transform: rotateY(-180deg);
}

.effect-helix.in {
    opacity: 1;
    -webkit-transform: rotateY(0);
    -ms-transform: rotateY(0);
    transform: rotateY(0);
}

.tpl1 .sider-right {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    width: 45px;
    background-color: #fefefe;
    background-color: rgba(255, 255, 255, .8);
    box-shadow: 0 0 3px rgba(0, 0, 0, .4);
}

.tpl1 .sider-right a {
    display: block;
    height: 50px;
    margin-top: 13px;
    background-position: center center;
    background-repeat: no-repeat;
}

.tpl1 .zoom {
    background-image: url("../img/zoom.png");
}

.tpl1 .undo {
    background-image: url("../img/undo.png");
}

.tpl1 .check {
    background-image: url("../img/check.png");
}

.tpl1 .close {
    background-image: url("../img/close.png");
}

.tpl1 a.zoom:hover {
    background-image: url("../img/zoom-hover.png");
}

.tpl1 a.close:hover {
    background-image: url("../img/close-hover.png");
}

.tpl1 a.undo:hover {
    background-image: url("../img/undo-hover.png");
}

.tpl1 a.check:hover {
    background-image: url("../img/check-hover.png");
}

/*template 2*/
.tpl2 .bg {
    background-color: #fff;
    background-color: rgba(255, 255, 255, .5);
    width: 100%;
    height: 100%;
}

.tpl2 .center-bar {
    height: 32px;
    position: absolute;
    top: 50%;
    margin-top: -16px;
    text-align: center;
    width: 100%;
}

.tpl2 .center-bar a {
    display: inline-block;
    width: 32px;
    height: 32px;
    margin: 0 3px;
}

.tpl2 .twitter {
    background: url("../img/twitter.png") no-repeat center center;
}

.tpl2 a.twitter:hover {
    background: url("../img/twitter-hover.png") no-repeat center center;
}

.tpl2 .in {
    background: url("../img/in.png") no-repeat center center;
}

.tpl2 a.in:hover {
    background: url("../img/in-hover.png") no-repeat center center;
}

.tpl2 .facebook {
    background: url("../img/facebook.png") no-repeat center center;
}

.tpl2 a.facebook:hover {
    background: url("../img/facebook-hover.png") no-repeat center center;
}

.tpl2 .google {
    background: url("../img/google.png") no-repeat center center;
}

.tpl2 a.google:hover {
    background: url("../img/google-hover.png") no-repeat center center;
}

/*template 3*/
.tpl3 .info-bottom {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #fefefe;
    background-color: rgba(255, 255, 255, .7);
    box-shadow: 0 0 3px rgba(0, 0, 0, .5);
    padding: 10px;
    text-align: center;
    font-size: 14px;
    color: #333;
    text-shadow: 1px 1px 0 #fff;
}

.tpl3 .info-top {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    background-color: #fefefe;
    background-color: rgba(255, 255, 255, .7);
    box-shadow: 0px 0 3px rgba(0, 0, 0, .5);
    padding: 10px;
    text-align: center;
    font-size: 14px;
    color: #333;
    text-shadow: 1px 1px 0 #fff;
}

.tpl3 .info-fly {
    position: absolute;
    left: 20px;
    right: 20px;
    bottom: 20px;
    background-color: #fefefe;
    background-color: rgba(255, 255, 255, .7);
    box-shadow: 0 0 3px rgba(0, 0, 0, .5);
    border-radius: 3px;
    padding: 10px;
    text-align: center;
    font-size: 14px;
    color: #333;
    text-shadow: 1px 1px 0 #fff;
}

.tpl4 .bg,
.tpl4 .content {
    position: absolute;
    width: 100%;
    height: 100%;
}

.tpl4 .bg div {
    width: 20%;
    height: 100%;
    display: inline-block;
    *zoom: 1;
    *display: inline;
    background-color: #aaa;
    background-color: rgba(0, 0, 0, .4);
}

.tpl4 .content .info-title {
    color: #fefefe;
    font-size: 18px;
    margin: 0;
    padding: 10px;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, .5);
    background-color: #999;
    background-color: rgba(0, 0, 0, .3);
}

.tpl4 .content .detail {
    padding: 8px 10px;
    font-size: 14px;
    line-height: 1.5em;
    color: #fdfdfd;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, .3);
}

.tpl4 .content .more {
    text-decoration: none;
    position: absolute;
    bottom: 0;
    right: 0;
    font-size: 13px;
    padding: 5px 8px;
    color: #fff;
    background-color: #FFF;
    background: rgba(0, 0, 0, .5);
    border-radius: 5px 0 0 0;
}

.tpl5 .price {
    border-radius: 100%;
    font-size: 30px;
    font-weight: bold;
    color: #fff;
    background: #c00;
    line-height: 60px;
    text-align: center;
    padding: 15px;
    display: block;
    position: absolute;
    text-decoration: none;
    bottom: 10px;
    right: 10px;
    width: 60px;
    height: 60px;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, .5);
    box-shadow: 0 0 5px rgba(0, 0, 0, .3);
}

.tpl5 .buy {
    font-size: 16px;
    font-weight: bold;
    color: #fff;
    text-decoration: none;
    position: absolute;
    top: 40px;
    left: 110px;
    background: #c00;
    border-radius: 4px;
    padding: 8px 12px;
    box-shadow: 0 0 5px rgba(0, 0, 0, .3);
    text-shadow: 1px 1px 2px rgba(0, 0, 0, .5);
}

.owl-carousel .item a div,
.tpl6 .bg {
    height: 100%;
    width: 100%;
    background-color: #2B2E31;
    background-color: rgba(43, 46, 49, .7);
    text-align: center;
}

.he-view .rating i {
    color: #ffffff;
}

.portfolio {
    padding: 0 !important;
    margin: 0 !important;
    display: block;
}

.market-item {
    padding: 0 !important;
    margin: 0 0 30px 0 !important;
    border: 1px solid #f5f5f5;
}

.tpl6 .big {
    color: #FFFFFF;
    font-size: 25px;
    margin: 0;
    padding: 90px 5px 0;
    text-transform: uppercase;
}

.tpl6 .small {
    color: #FFFFFF;
    font-size: 16px;
    margin: 0;
    padding: 40px 5px 0;
    text-transform: uppercase;
}

.tpl6 h3 {
    color: #fff;
    margin: 0;
    padding: 40px 5px 0;
    font-size: 16px;
    text-transform: uppercase;
}

.tpl6 .dmbutton {
    display: inline-block;
    margin: 30px 5px 20px 5px;
    font-size: 13px;
}

.dmtop {
    background-image: url('../img/arrow.png');
    background-position: 50% 50%;
    background-repeat: no-repeat;
    z-index: 9999;
    width: 40px;
    height: 40px;
    text-indent: -100% !important;
    position: fixed;
    bottom: -100px;
    right: 25px;
    cursor: pointer;
    -webkit-transition: all .7s ease-in-out;
    -moz-transition: all .7s ease-in-out;
    -o-transition: all .7s ease-in-out;
    -ms-transition: all .7s ease-in-out;
    transition: all .7s ease-in-out;
    overflow: hidden !important;
    white-space: nowrap !important;
}

.dmtop:hover {
    background-color: #3E4246;
}

.js-video {
    height: 0;
    padding-top: 25px;
    padding-bottom: 50.5%;
    border: 1px solid #ffffff;
    position: relative;
    overflow: hidden;
}

.js-video.widescreen {
    padding-bottom: 57.25%;
    border: 1px solid #ffffff;
}

.js-video.vimeo {
    padding-top: 0;
    border: 1px solid #ffffff;
}

.google-map {
    width: 100%;
    border: 1px solid rgba(255, 255, 255, 0.5);
    min-height: 200px;
}

div.google-map {
    background: rgba(255, 255, 255, 0.5);
    background: #ffffff;
    height: 400px;
    margin: 0 0 0px 0;
    width: 100%;
}

.js-video embed,
.js-video iframe,
.js-video object,
.js-video video {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    position: absolute;
}

/*	################################################################
4. SIDEBARS AND WIDGETS
################################################################# */
#sidebar {
    padding: 20px 35px;
}

#sidebar li {
    list-style: none;
    margin-left: 10px;
    margin-bottom: 5px;
}

#sidebar .nav-tabs li {
    margin-left: 0;
    margin-bottom: 0;
}

#sidebar a {
    color: #696E74;
}

#sidebar .tabbable .recent_posts li {
    margin-top: 15px;
}

#sidebar .widget {
    padding-top: 0;
    padding-bottom: 35px;
}

#sidebar .recent_posts img,
.flickr img {
    border: 1px solid #F0F0F0;
}

.content {
    padding: 20px 20px 60px 20px;
}

.widget {
    padding-top: 30px;
    padding-bottom: 30px;
    margin-bottom: 20px;
}

.widget h3,
.widget h4 {
    font-weight: 400;
    font-size: 18px;
    letter-spacing: 0;
}

#post-tags a,
#sidebar .tagcloud a {
    float: left;
    display: block;
    margin-bottom: 4px;
    margin-right: 4px;
    padding: 5px 10px;
    font-size: 12px !important;
    line-height: 1.4em !important;
    color: #fff !important;
    text-decoration: none;
    font-weight: 300;
    letter-spacing: 1px;
    -webkit-transition: all .4s ease-out;
    -moz-transition: all .4s linear;
    transition: all .4s linear;
}

#post-tags a:hover,
#sidebar .tagcloud a:hover {
    background: #3E4246 !important;
    color: #fff !important;
    text-decoration: none;
    -webkit-transition: all .01s ease-out;
    -moz-transition: all .01s linear;
    transition: all .01s linear;
}

#sidebar #subscribe .form-control {
    margin-bottom: 10px;
}

.recent_posts>li {
    display: table;
    height: 60px;
    margin-bottom: 10px;
    width: 100%;
}

.recent_posts>li:last-child {
    border-bottom: 0 solid #fff;
}

.section2 .widget h4 {
    color: #ffffff;
}

.footer ul li,
.recent_posts li {
    list-style: none
}

.recent_posts a {
    color: #696E74;
}

.recent_posts>li img {
    max-width: 60px;
}

a.readmore {
    text-transform: none;
    display: block;
    font-family: 'Open Sans', sans-serif !important;
    font-size: 12px;
    font-style: italic;
}

.recent_posts img {
    float: left;
    margin: 0 15px 0 0;
}

.comment img,
.author_box img,
.checkout img,
.testimonial img,
.recent_posts img,
.flickr img {
    border: 1px solid #3E4246;
    -webkit-transition: opacity 0.2s ease-in-out;
    -moz-transition: opacity 0.2s ease-in-out;
    -ms-transition: opacity 0.2s ease-in-out;
    -o-transition: opacity 0.2s ease-in-out;
    transition: opacity 0.2s ease-in-out;
}

.comment img:hover,
.author_box img:hover,
.checkout img:hover,
.testimonial img:hover,
.recent_posts img:hover,
.flickr img:hover {
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
    filter: alpha(opacity=70);
    -moz-opacity: 0.7;
    -khtml-opacity: 0.7;
    opacity: 0.7;
}

.flickr li {
    list-style: none;
    float: left;
    margin: 5px
}

.flickr li img {
    width: 50px;
    height: 50px;
}

.contact_details li {
    padding: 0 0 5px 0;
    list-style: none;
}

.pricing li:before,
.check li:before {
    content: "\f00c";
    font-family: "FontAwesome";
    font-size: 16px;
    left: 0;
    padding-right: 5px;
    position: relative;
    top: 2px;
}

.check li {
    list-style: none;
    margin: 5px 0;
}

.check {
    margin-left: 0;
    padding-left: 0
}

.check li a {
    color: #696E74;
}

@media (max-width: 768px) {
    .notfound {
        background: none;
    }

    .notfound .small-title {
        width: 100%;
    }

    .callus,
    .search-bar,
    .post-wrapper-top,
    .title-area,
    .social_buttons {
        float: none !important;
        clear: both !important;
        display: block !important;
        text-align: center !important;
    }
}

@media only screen and (min-width: 40.063em) {

    button,
    .button {
        display: inline-block;
    }
}

/* Contact Form */
#contact {
    padding: 40px 0;
}

.contact-form {}

.contact-form label {
    color: #999;
}

.contact-form input,
.contact-form textarea {
    padding: 10px 12px;
    border-radius: 0;
    box-shadow: none;
    font-size: 14px;
    height: auto;
}

.contact-form .form-send {
    text-align: center;
}

.contact-form .validate {
    display: none;
    color: red;
    margin: 0 0 15px 0;
    font-weight: 400;
    font-size: 13px;
}

.contact-form .loading {
    display: none;
    color: #555;
    background: #fff;
    text-align: center;
    padding: 15px;
    margin: 15px 0;
}

.contact-form .error-message {
    display: none;
    color: #fff;
    background: #ed3c0d;
    text-align: center;
    padding: 15px;
    font-weight: 600;
    margin: 15px 0;
}

.contact-form .sent-message {
    display: none;
    color: #fff;
    background: #18d26e;
    text-align: center;
    padding: 15px;
    font-weight: 600;
    margin: 15px 0;
}

section {
    overflow: hidden;
}


/* ===================================================
   BLOQUE CATÁLOGO, HOME E ÍNDICE
   Compatible con Isotope y Bootstrap Grid
   =================================================== */

/* --- 1. CAJA DE LA IMAGEN (Catálogo) --- */
/* Proporción uniforme para mantener orden sin que el marco se vea enorme. */
.portfolio-item .he-wrap,
.portfolio-item .tpl6 {
    aspect-ratio: 4 / 3;
    height: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: #fff;
    overflow: hidden;
}

/* Portada: un poco más panorámico para que se vea más limpio */
.home-catalog-grid .portfolio-item .he-wrap,
.home-catalog-grid .portfolio-item .tpl6 { aspect-ratio: 16 / 10; }

/* --- 2. IMAGEN COMPLETA Y CENTRADA --- */
/* Garantiza que la foto se vea entera, manteniendo su proporción. */
.portfolio-item img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    display: block;
}

.home-catalog-grid .portfolio-item img {
    object-fit: contain !important;
}

/* Portada: asegurar 3 columnas reales en escritorio para el grid de secciones */
@media (min-width: 992px) {
    .home-catalog-grid .portfolio-item {
        width: 33.3333% !important;
        float: left !important;
        clear: none !important;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    .home-catalog-grid .portfolio-item {
        width: 50% !important;
        float: left !important;
        clear: none !important;
    }
}

@media (max-width: 767px) {
    .home-catalog-grid .portfolio-item {
        width: 100% !important;
        float: none !important;
    }
}

/* --- NUEVO: CORRECCIÓN DEL ENLACE DEL POPUP --- */
/* El enlace ocupa todo el contenedor para centrar la imagen correctamente */
.portfolio-item .he-wrap a {
    display: flex !important;
    width: 100% !important;
    height: 100% !important;
    align-items: center !important;
    justify-content: center !important;
}

/* --- 3. LUPA Y TEXTOS PERFECTAMENTE CENTRADOS --- */
.he-view,
.he-view .bg {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    /* Apila el texto y el botón verticalmente */
    width: 100% !important;
    height: 100% !important;
}

/* Limpiamos los márgenes gigantes de la plantilla original */
.portfolio-item .he-view .big {
    padding: 0 !important;
    margin: 0 0 15px 0 !important;
}

.portfolio-item .he-view .dmbutton {
    margin: 0 !important;
}

/* --- 4. TÍTULOS ALINEADOS --- */
.portfolio-item .title {
    min-height: 40px;
    margin-top: 15px;
    text-align: center;
}

/* --- 5. MENÚ EQUITATIVO Y CENTRADO VERTICAL (PC) --- */
@media (min-width: 992px) {
    #jetmenu {
        display: flex !important;
        width: 100% !important;
        justify-content: space-between !important;
        align-items: stretch !important;
        /* Todas las pestañas miden igual de alto */
        padding: 0 !important;
    }

    #jetmenu>li {
        flex: 1 !important;
        float: none !important;
        /* Quitamos el display: flex de aquí para no romper el desplegable */
        display: block !important;
    }

    /* Aplicamos el centrado vertical EXCLUSIVAMENTE al texto (el enlace) */
    #jetmenu>li>a {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        height: 100% !important;
        text-align: center !important;
        width: 100% !important;
    }
}

/* --- 6. ÍNDICE Y NAVEGACIÓN (Anclas) --- */
.indice-navegacion {
    background: #f4f4f4;
    padding: 20px;
    border-radius: 8px;
    margin-bottom: 30px;
    border: 1px solid #ddd;
}

.btn-brown {
    background-color: #dc6900;
    color: white !important;
    font-weight: bold;
    margin: 5px;
    display: inline-block;
}

.ancla {
    display: block;
    position: relative;
    top: -180px;
    height: 0;
    margin: 0;
    padding: 0;
    opacity: 0;
    pointer-events: none;
}

/* --- 7. REDUCCIÓN DE CAJA (Fuerza 4 columnas en Sillas) --- */
@media (min-width: 992px) {
    .portfolio-item.col-lg-3 {
        width: 24.5% !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        clear: none !important;
    }
}

/* --- 8. AJUSTES PARA MÓVIL (Pantallas pequeñas) --- */
@media (max-width: 767px) {

    .portfolio-item .he-wrap,
    .portfolio-item .tpl6 {
        height: auto !important;
    }
}

/* --- 9. ARREGLO DEL SALTO DEL MENÚ (AFFIX COMPENSATOR) --- */
#nav.affix+.section1 {
    padding-top: 105px !important;
}

/* --- 10. EFECTO DE ZOOM EN FOTOS CLICKABLES --- */
.portfolio-item .he-wrap img {
    transition: transform 0.4s ease !important;
}

.portfolio-item .he-wrap:hover img {
    transform: scale(1.08) !important;
}

/* --- 11. OCULTAR BOTÓN MÓVIL EN PC (CORRECCIÓN FLEXBOX) --- */
@media (min-width: 992px) {
    #jetmenu>li.showhide {
        display: none !important;
    }
}

/* --- 12. ÍNDICE Y NAVEGACIÓN --- */
/* Estilos visuales del cuadro del índice y ajuste del ancla invisible 
   para que el scroll suave no deje el título tapado por el menú. */
.indice-navegacion { 
    background: #f4f4f4; 
    padding: 20px; 
    border-radius: 8px; 
    border: 1px solid #ddd; 
}

/* 1. Hacemos que el viaje hacia abajo sea suave y animado */
html { 
    scroll-behavior: smooth !important; 
}

/* 2. Frenar el scroll ANTES de llegar al título para que el menú no lo tape */
:root {
    /* Valor por defecto por si falla el JS (un margen seguro) */
    --altura-menu: 120px;
}

.titulo-indice {
    /* Sumamos la altura del menú + 30px de cortesía para que no quede pegado */
    scroll-margin-top: calc(var(--altura-menu) + 30px);
}

/* --- 13. ESTILOS CATÁLOGO CON PRECIOS --- */

/* Controlamos el texto del precio "Desde..." */
.precio-desde {
    text-align: center;
    margin-top: -10px;
    color: #dc6900;
    font-weight: bold;
    font-size: 1.1em;
}

/* Centramos el botón de detalles */
.contenedor-boton {
    text-align: center;
    margin-bottom: 20px;
}

/* --- 14. FICHA DE DETALLE (Tablas y Colores) --- */

/* Estilo para las tablas de precios */
.tabla-precios {
    width: 100%;
    margin-top: 20px;
}

.tabla-precios th {
    background-color: #f8f8f8;
    color: #333;
}

/* Alerta de información de colores */
.info-colores {
    background-color: #fcf8e3;
    border: 1px solid #faebcc;
    color: #8a6d3b;
    padding: 15px;
    border-radius: 4px;
    margin-top: 15px;
}

/* --- 15. ESTILO TABLAS DE PRECIOS --- */
.table thead tr th {
    background-color: #f8f8f8;
    color: #dc6900; /* Usamos tu naranja corporativo para los títulos */
    text-align: center;
    border-bottom: 2px solid #dc6900 !important;
    vertical-align: middle;
}

.table tbody tr td {
    text-align: center;
    vertical-align: middle;
}

/* --- 16. TABLAS DE PRECIOS SIN SALTOS DE LÍNEA --- */
.table-precios-fija th, 
.table-precios-fija td {
    white-space: nowrap !important; /* Evita que el texto salte de línea */
    vertical-align: middle !important;
    text-align: center !important;
}

/* Ancho profesional para listados en escritorio: más aire y mejor aprovechamiento */
@media (min-width: 1200px) {
    .section1 .container {
        width: 97%;
        max-width: 1600px;
    }
}

@media (min-width: 1600px) {
    .section1 .container {
        width: 96%;
        max-width: 1880px;
    }
}

/* --- 17. CONTENEDOR ESPECIAL PARA FICHAS DE PRODUCTO --- */
.container-ficha {
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto;
    width: 95%; 
    max-width: 1500px; /* Permite que la tabla respire mucho más */
}

/* Ajuste de proporción: Fotos 40% - Tabla 60% */
@media (min-width: 992px) {
    .col-ficha-fotos { width: 40% !important; }
    .col-ficha-tabla { width: 60% !important; }
}

/* Aviso de deslizamiento horizontal en móviles para tablas de precios */
.table-swipe-hint {
    display: none;
    font-size: 12px;
    font-weight: 600;
    color: #666;
    margin: 6px 0 8px;
    text-align: left;
}

.table-swipe-hint .fa {
    margin-left: 5px;
}

@media (max-width: 767px) {
    .table-swipe-hint {
        display: inline-block !important;
    }

    .table-responsive {
        border: 0;
    }
}

/* --- 18. MUESTRARIO DE COLORES (VERSION PRO) --- */
.ficha-subtitulo-tejido {
    margin: 14px 0 10px;
    font-size: 15px;
    font-weight: 700;
    color: #5a5045;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.sofa-telas-section {
    margin-top: 18px;
    padding: 16px;
    border: 1px solid #e5d8ca;
    border-radius: 12px;
    background: linear-gradient(180deg, #fcfaf7 0%, #f6efe7 100%);
}

.sofa-telas-section__head {
    margin-bottom: 12px;
}

.sofa-telas-section__head h4 {
    margin: 0;
    font-size: 19px;
    color: #4f4439;
}

.sofa-telas-section__head p {
    margin: 6px 0 0;
    font-size: 13px;
    color: #75695c;
}

.sofa-telas-card {
    padding: 10px;
    border: 1px solid #e9ddd0;
    border-radius: 10px;
    background: #fff;
    margin-bottom: 12px;
}

.muestrario-colores .color-item a {
    display: block;
    text-decoration: none;
    margin-bottom: 15px;
}

/* Forzamos el tamaño cuadrado y recorte inteligente */
.muestrario-colores .color-item img {
    width: 100%;
    aspect-ratio: 1 / 1; /* Esto crea un cuadrado perfecto */
    object-fit: cover;   /* Recorta la imagen para que llene el cuadrado sin estirarse */
    border: 1px solid #ddd;
    border-radius: 4px;
    transition: all 0.3s ease;
}

.muestrario-colores .color-item img:hover {
    border-color: #dc6900;
    box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}

.muestrario-colores .color-item-principal img {
    aspect-ratio: auto;
    object-fit: contain;
    max-height: 320px;
    background: #fff;
}

.color-nombre {
    display: block;
    text-align: center;
    font-size: 12px;
    color: #444;
    margin-top: 8px;
    font-weight: 400;
}

/* --- 19. LISTADO DE COLORES SIN IMAGEN --- */
.lista-colores-texto {
    background: #fdfdfd;
    padding: 20px;
    border: 1px solid #eee;
    border-radius: 8px;
    margin-top: 20px;
}

.contenedor-etiquetas {
    display: flex;
    flex-wrap: wrap;
    gap: 10px; /* Espacio entre etiquetas */
    margin-top: 15px;
}

.color-tag {
    background: #fff;
    border: 1px solid #ddd;
    color: #444;
    padding: 8px 15px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 400;
    transition: all 0.3s ease;
    cursor: default;
    display: inline-block;
}

/* --- 20. FICHA SOFA CAMA KIARA: DETALLES VISUALES --- */
.detalles-kiara {
    margin-bottom: 30px;
}

.detalles-producto {
    margin-bottom: 18px;
    padding: 14px;
    border: 1px solid #e6d8c8;
    border-radius: 12px;
    background: linear-gradient(180deg, #fcfaf7 0%, #f7f1e8 100%);
}

.detalles-producto > .ficha-copy-impacto {
    margin-top: 2px;
}

.ficha-subtitle {
    margin-bottom: 16px;
    font-size: 20px;
    font-weight: 700;
    color: #2f2f2f;
    text-align: left;
}

.detalle-card {
    display: block;
    margin-bottom: 15px;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 3px 12px rgba(0, 0, 0, 0.06);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.detalle-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.14);
    border-color: #dc6900;
}

.detalle-card img {
    width: 100%;
    display: block;
    height: auto;
    aspect-ratio: 4 / 3;
    object-fit: contain;
    padding: 6px;
    background: #fff;
}

.detalles-producto .detalle-card[href*="/abierto."] img,
.detalles-producto .detalle-card[href*="/medidas."] img {
    aspect-ratio: 16 / 10;
    object-fit: contain;
    max-height: 250px;
}

@media (min-width: 992px) {
    .detalles-producto .detalle-card img {
        padding: 4px;
    }

    .detalles-producto .col-sm-4,
    .detalles-producto .col-xs-4 {
        width: 33.333333%;
    }

    .detalles-producto .detalle-card:not([href*="/abierto."]):not([href*="/medidas."]) img {
        aspect-ratio: 5 / 4;
        max-height: 165px;
    }
}

.detalle-label {
    display: block;
    padding: 9px 10px;
    font-size: 12px;
    line-height: 1.3;
    font-weight: 600;
    color: #444;
    text-align: center;
    background: #fafafa;
    border-top: 1px solid #ececec;
}

@media (max-width: 767px) {
    .detalles-producto {
        padding: 10px;
        border-radius: 10px;
    }

    .detalle-card img {
        aspect-ratio: 4 / 3;
        padding: 4px;
    }

    .detalles-producto .detalle-card[href*="/abierto."] img,
    .detalles-producto .detalle-card[href*="/medidas."] img {
        aspect-ratio: 4 / 3;
    }
}

/* --- 20b. FICHA: BLOQUES DESTACADOS DE COPY Y MODELO --- */
.ficha-copy-impacto {
    position: relative;
    margin: 8px 0 20px;
    padding: 16px 18px 16px 22px;
    border-left: 4px solid #dc6900;
    border-radius: 8px;
    background: linear-gradient(90deg, #fff7ed 0%, #ffffff 65%);
    color: #2f2f2f;
    font-size: 16px;
    line-height: 1.55;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
}

.ficha-copy-impacto::before {
    content: "";
    position: absolute;
    left: -9px;
    top: 18px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #dc6900;
    box-shadow: 0 0 0 4px rgba(220, 105, 0, 0.12);
}

.ficha-servicio-express-wrap {
    margin: 12px 0 16px;
}

.ficha-servicio-express-media {
    margin: 0;
    margin-bottom: 8px;
}

.ficha-servicio-express-media img {
    max-width: 420px;
    width: 100%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 5px 16px rgba(0, 0, 0, 0.12);
}

.ficha-servicio-express-note {
    margin: 0;
    padding: 10px 12px;
    border-left: 4px solid #dc6900;
    border-radius: 8px;
    background: #fff8ef;
    color: inherit;
    font-size: 13px;
    line-height: 1.45;
    font-weight: 400;
}

@media (max-width: 991px) {
    .ficha-servicio-express-wrap {
        flex-direction: column;
        align-items: flex-start;
    }

    .ficha-servicio-express-media img {
        max-width: 100%;
    }
}

.ficha-modelo-destacado {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin: 6px 0 16px;
    padding: 8px 12px;
    border: 1px solid #f0d7bf;
    border-radius: 999px;
    background: #fffaf4;
}

.ficha-modelo-etiqueta {
    display: inline-block;
    padding: 4px 8px;
    border-radius: 999px;
    background: #dc6900;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.3px;
    text-transform: uppercase;
}

.ficha-modelo-texto {
    font-size: 13px;
    font-weight: 600;
    color: #4a4a4a;
}

.ficha-precio-modelo {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: -4px 0 14px;
    padding: 5px 10px;
    border-radius: 999px;
    border: 1px solid #eadac8;
    background: #fffdf9;
    line-height: 1.2;
}

.ficha-precio-texto {
    color: #6a5848;
    font-size: 15px;
    font-weight: 700;
}

@media (max-width: 767px) {
    .ficha-copy-impacto {
        font-size: 15px;
        line-height: 1.5;
    }

    .ficha-modelo-destacado {
        display: block;
        border-radius: 10px;
        padding: 10px 12px;
    }

    .ficha-modelo-etiqueta {
        margin-bottom: 6px;
    }

    .ficha-precio-modelo {
        display: block;
    }

    .ficha-precio-texto {
        font-size: 14px;
    }
}

.color-tag:hover {
    border-color: #dc6900;
    color: #dc6900;
    background: #fffaf5;
}

.nota-muestras {
    font-style: italic;
    font-size: 12px;
    color: #888;
    margin-top: 15px;
    display: block;
}


/* --- 20. Enlace volver (secundario y discreto) --- */
.btn-volver {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin-bottom: 14px;
  color: #6b6b6b !important;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none;
}

.btn-volver:hover,
.btn-volver:focus {
  color: #dc6900 !important;
  text-decoration: underline;
}

/* Miga de pan discreta para fichas */
.ficha-breadcrumb {
  margin: 0 0 14px;
  font-size: 13px;
  color: #7a7a7a;
  line-height: 1.4;
  text-transform: uppercase;
}

.ficha-breadcrumb a {
  color: #7a7a7a;
  text-decoration: none;
}

.ficha-breadcrumb a:hover,
.ficha-breadcrumb a:focus {
  color: #dc6900;
  text-decoration: underline;
}

.ficha-breadcrumb .sep {
  margin: 0 5px;
  color: #b3b3b3;
}

.ficha-breadcrumb .current {
  color: #4b4b4b;
  font-weight: 600;
}

/* --- 21. ICONOS SOBRE IMÁGENES (Etiquetas flotantes) --- */
.col-ficha-fotos .foto-principal,
.col-ficha-fotos .foto-principal a,
.col-ficha-fotos .row > div > a {
    position: relative;
    display: block;
    overflow: visible;
}

.icono-capacidad {
    position: absolute;
    /* Controlamos la posición. Con esto lo ponemos en la esquina superior derecha */
    top: -10px; 
    right: -10px; 
    
    /* Controlamos el tamaño. Ajusta este número según lo grande que quieras el círculo */
    width: 80px; 
    height: auto;
    
    /* Un pequeño efecto para que destaque sobre la foto */
    z-index: 30;
    filter: drop-shadow(2px 2px 4px rgba(0,0,0,0.4));
    
    /* Opcional: que no haga nada raro al pasar el ratón */
    pointer-events: none; 
}

/* --- 21. ICONOS SOBRE IMÁGENES PEQUEÑAS (Etiquetas flotantes) --- */
.icono-capacidad-pequeno {
    position: absolute;
    /* Controlamos la posición. Con esto lo ponemos en la esquina superior derecha */
    top: -10px; 
    right: -10px; 
    
    /* Controlamos el tamaño. Ajusta este número según lo grande que quieras el círculo */
    width: 60px; 
    height: auto;
    
    /* Un pequeño efecto para que destaque sobre la foto */
    z-index: 30;
    filter: drop-shadow(2px 2px 4px rgba(0,0,0,0.4));
    
    /* Opcional: que no haga nada raro al pasar el ratón */
    pointer-events: none; 
}

/* --- 22. Intro copy visual boost (home/categorias) --- */
.intro-copy > p {
    margin: 0 0 14px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    color: #4a4a4a;
    font-size: 17px;
    line-height: 1.7;
    font-weight: 400;
}

.intro-copy > p + p {
    border: 0;
    background: none;
}

/* Páginas legacy con descripción fuera de .intro-copy (ej: abatibles) */
.section1 .container.clearfix > .md-12 + p,
.section1 .container.clearfix > .col-md-12 + p {
    margin: 0 0 14px;
    color: #4a4a4a;
    font-size: 17px;
    line-height: 1.7;
    font-weight: 400;
}

@media (max-width: 767px) {
    .intro-copy > p {
        font-size: 15px;
        line-height: 1.6;
    }

    .section1 .container.clearfix > .md-12 + p,
    .section1 .container.clearfix > .col-md-12 + p {
        font-size: 15px;
        line-height: 1.6;
    }
}

/* Portada: versión limpia para los dos párrafos principales */
.home-intro-copy > p {
    margin: 0 0 14px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
    color: #444;
    font-size: 17px;
    line-height: 1.75;
}

.home-intro-copy > p + p {
    border: 0;
    background: none;
}

.home-intro-copy .home-intro-lead {
    margin: 0 0 12px;
    color: #2e2e2e;
    font-size: 20px;
    line-height: 1.5;
    font-weight: 700;
    letter-spacing: -0.2px;
}

.home-intro-copy .home-intro-sub {
    margin: 0 0 14px;
    color: #4a4a4a;
    font-size: 17px;
    line-height: 1.7;
    font-weight: 400;
}

@media (max-width: 767px) {
    .home-intro-copy > p {
        font-size: 15px;
        line-height: 1.65;
    }

    .home-intro-copy .home-intro-lead {
        font-size: 18px;
        line-height: 1.45;
    }

    .home-intro-copy .home-intro-sub {
        font-size: 15px;
        line-height: 1.6;
    }
}

/* Portada del índice de sofás: reducir presencia vertical */
.sofas-hero-image {
    width: 100%;
    max-height: 260px;
    object-fit: cover;
    object-position: center;
}

@media (max-width: 991px) {
    .sofas-hero-image {
        max-height: 200px;
    }
}

/* --- 21. OFERTAS Y OUTLET (REDISENO VISUAL) --- */
.deals-intro {
    margin: 8px 0 24px;
    padding: 18px 20px;
    border: 1px solid #f0d8bf;
    border-radius: 12px;
    background: linear-gradient(90deg, #fff8ef 0%, #ffffff 70%);
}

.deals-intro h2 {
    margin: 0 0 6px;
    font-size: 26px;
    line-height: 1.2;
    color: #2f2f2f;
}

.deals-intro p {
    margin: 0;
    color: #565656;
    font-size: 15px;
}

.deals-grid,
.outlet-gallery {
    margin-top: 8px;
}

.deal-col {
    margin-bottom: 26px;
}

/* Evita saltos raros de tarjetas cuando tienen alturas diferentes */
@media (min-width: 1200px) {
    .deals-grid .deal-col:nth-child(3n + 1) {
        clear: left;
    }
}

@media (min-width: 992px) and (max-width: 1199px) {
    .deals-grid .deal-col:nth-child(2n + 1) {
        clear: left;
    }
}

@media (min-width: 768px) and (max-width: 991px) {
    .deals-grid .deal-col:nth-child(2n + 1) {
        clear: left;
    }
}

.deal-card {
    height: 100%;
    background: #fff;
    border: 1px solid #ececec;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.07);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.deal-card:hover {
    transform: translateY(-4px);
    border-color: #dc6900;
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.12);
}

.deal-media {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    aspect-ratio: 4 / 3;
    background: #fff;
    overflow: hidden;
}

.deal-media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.deal-body {
    padding: 14px 14px 16px;
}

.deal-title {
    margin: 0 0 8px;
    color: #242424;
    font-size: 19px;
    line-height: 1.3;
    font-weight: 700;
}

.deal-desc {
    margin: 0 0 12px;
    color: #5d5d5d;
    font-size: 14px;
    line-height: 1.45;
    min-height: 40px;
}

.deal-price {
    margin: 0;
    font-size: 14px;
    color: #7a7a7a;
    font-weight: 700;
}

.deal-price span {
    color: #c55300;
    font-size: 20px;
    line-height: 1;
}

.outlet-feature {
    margin: 6px 0 28px;
}

.outlet-feature-media {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    aspect-ratio: 16 / 10;
    background: #fff;
    border: 1px solid #ececec;
    border-radius: 14px;
    overflow: hidden;
    box-shadow: 0 10px 26px rgba(0, 0, 0, 0.08);
}

.outlet-feature-media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform 0.35s ease;
}

.outlet-feature-media:hover img {
    transform: scale(1.05);
}

.outlet-feature-card {
    height: 100%;
    padding: 18px;
    border: 1px solid #f0d8bf;
    border-radius: 14px;
    background: #fffaf4;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.06);
}

.outlet-badge {
    display: inline-block;
    margin-bottom: 10px;
    padding: 4px 10px;
    border-radius: 999px;
    background: #dc6900;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
}

.outlet-feature-card h3 {
    margin: 0 0 8px;
    color: #202020;
    font-size: 28px;
    line-height: 1.2;
    font-weight: 700;
}

.outlet-feature-card p {
    margin: 0 0 10px;
    color: #525252;
}

.outlet-price-before {
    font-size: 14px;
    color: #7a7a7a;
}

.outlet-price-before span {
    text-decoration: line-through;
}

.outlet-price-now {
    margin-bottom: 16px;
    font-size: 16px;
    font-weight: 700;
    color: #a90000;
}

.outlet-price-now span {
    font-size: 28px;
}

.outlet-mini-card .deal-title {
    font-size: 16px;
    margin-bottom: 6px;
}

.outlet-mini-card .deal-desc {
    font-size: 13px;
    min-height: 0;
    margin-bottom: 0;
}

@media (max-width: 991px) {
    .outlet-feature-card {
        margin-top: 16px;
    }

    .deals-intro h2 {
        font-size: 22px;
    }
}

@media (max-width: 767px) {
    .deal-title {
        font-size: 18px;
    }

    .deal-price span {
        font-size: 18px;
    }

    .outlet-feature-card h3 {
        font-size: 24px;
    }

    .outlet-price-now span {
        font-size: 24px;
    }
}

/* Inline gallery viewer for sofa-bed product pages */
.kb-inline-gallery-frame {
    background: linear-gradient(180deg, #fbf8f4 0%, #f5eee5 100%);
    border: 1px solid #e2d5c5;
    border-radius: 14px;
    padding: 10px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.06);
    margin-bottom: 10px;
}

.kb-inline-gallery__hint {
    margin-top: 8px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 10px;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    font-weight: 700;
    color: #7a6550;
}

.kb-inline-gallery__hint::before {
    content: "↔";
    font-size: 13px;
    line-height: 1;
    color: #8e6a45;
}

.kb-sofa-swiper {
    width: 100%;
}

.kb-sofa-swiper-main {
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    background: #f6f3ef;
    border: 1px solid #e6ddd2;
}

.kb-sofa-swiper-main .swiper-slide a {
    display: block;
    position: relative;
    overflow: visible;
}

.kb-sofa-swiper-main .icono-capacidad,
.kb-sofa-swiper-main .icono-capacidad-pequeno {
    top: 8px;
    right: 8px;
    z-index: 30;
}

.kb-sofa-swiper-main .thumbnail {
    margin-bottom: 0;
    border: 0;
}

.kb-sofa-swiper-main .swiper-slide img.thumbnail {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: contain;
    display: block;
    background: #f6f3ef;
}

.kb-sofa-swiper-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.45);
    z-index: 5;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: background-color 140ms ease, transform 140ms ease;
}

.kb-sofa-swiper-btn::before {
    content: "";
    width: 10px;
    height: 10px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
}

.kb-sofa-swiper-btn:hover {
    background: rgba(0, 0, 0, 0.62);
    transform: translateY(-50%) scale(1.04);
}

.kb-sofa-swiper-btn:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 2px;
}

.kb-sofa-swiper-btn.swiper-button-disabled {
    opacity: 0.35;
    pointer-events: none;
}

.kb-sofa-swiper-btn-prev {
    left: 10px;
}

.kb-sofa-swiper-btn-prev::before {
    transform: rotate(225deg);
    margin-left: 3px;
}

.kb-sofa-swiper-btn-next {
    right: 10px;
}

.kb-sofa-swiper-btn-next::before {
    transform: rotate(45deg);
    margin-right: 3px;
}

.kb-sofa-swiper-pagination {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 10px !important;
    z-index: 4;
    text-align: center;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.45);
}

.kb-sofa-swiper-pagination .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    background: rgba(255, 255, 255, 0.72);
    opacity: 1;
}

.kb-sofa-swiper-pagination .swiper-pagination-bullet-active {
    background: #8e6a45;
}

.kb-sofa-swiper-thumbs {
    margin-top: 6px;
    padding: 4px;
    border: 1px solid #e0d4c5;
    border-radius: 10px;
    background: rgba(255, 255, 255, 0.7);
}

.kb-sofa-swiper-thumbs .swiper-slide {
    border: 1px solid #e8e2da;
    border-radius: 6px;
    overflow: hidden;
    opacity: 0.72;
    cursor: pointer;
    transition: all 160ms ease;
    background: #fff;
}

.kb-sofa-swiper-thumbs .swiper-slide img {
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    display: block;
}

.kb-sofa-swiper-thumbs .swiper-slide-thumb-active {
    border-color: #8e6a45;
    box-shadow: 0 0 0 1px #8e6a45 inset, 0 3px 10px rgba(0, 0, 0, 0.1);
    opacity: 1;
}

.kb-sofa-swiper-thumbs .swiper-slide:hover {
    border-color: #b89f81;
    opacity: 0.95;
}

@media (max-width: 767px) {
    .kb-inline-gallery-frame {
        border-radius: 12px;
        padding: 8px;
    }

    .kb-sofa-swiper-btn {
        width: 36px;
        height: 36px;
    }

    .kb-sofa-swiper-btn-prev {
        left: 8px;
    }

    .kb-sofa-swiper-btn-next {
        right: 8px;
    }

    .kb-inline-gallery__hint {
        font-size: 10px;
    }

    .kb-sofa-swiper-main .swiper-slide img.thumbnail {
        aspect-ratio: 4 / 3;
    }

    .kb-sofa-swiper-thumbs .swiper-slide img {
        aspect-ratio: 4 / 3;
    }
}
