html,
body {
    height: 100%;
    font-family: Roboto,Helvetica,Arial,sans-serif;
    color: #333;
    font-size: 14px;
    line-height: 24px;
}

h1, h2, h3, h4, h5 {font-family: Montserrat,sans-serif;}

h1 {font-size: 34px; font-weight: bold;}

h2 {line-height: 2.1;}


h1.main_header span {
    font-size: 18px;
    font-weight: 600;
    color: #7e7e7e;
}

ul {
    margin: 0!important;
    padding: 0!important;
}

ul li {list-style: none;}

a {
    /*font-size: 1.6rem;
    line-height: 2.4rem;
    font-weight: 400;*/
    color: #333;
    text-decoration: none;
    word-break: break-word;
    overflow: hidden;
}

a:hover {
    cursor: pointer;
    color: #e31235;
}

.wrap {
    min-height: 100%;
    height: auto;
    margin: 0 auto -60px;
    padding: 0 0 60px;
}

.wrap > .container {
    padding: 0px 15px 20px;
}

.footer {
    height: 60px;
    border-top: 1px solid #eee;
    padding-top: 20px;
}

.footer .logo {
    font-size: 16px;
}

.jumbotron {
    text-align: center;
    background-color: transparent;
}

.jumbotron .btn {
    font-size: 21px;
    padding: 14px 24px;
}

.not-set {
    color: #c55;
    font-style: italic;
}

/* add sorting icons to gridview sort links */
a.asc:after, a.desc:after {
    position: relative;
    top: 1px;
    display: inline-block;
    font-family: 'Glyphicons Halflings';
    font-style: normal;
    font-weight: normal;
    line-height: 1;
    padding-left: 5px;
}

a.asc:after {
    content: "\e151";
}

a.desc:after {
    content: "\e152";
}

.sort-numerical a.asc:after {
    content: "\e153";
}

.sort-numerical a.desc:after {
    content: "\e154";
}

.sort-ordinal a.asc:after {
    content: "\e155";
}

.sort-ordinal a.desc:after {
    content: "\e156";
}

.grid-view td {
    white-space: nowrap;
}

.grid-view .filters input,
.grid-view .filters select {
    min-width: 50px;
}

.hint-block {
    display: block;
    margin-top: 5px;
    color: #999;
}

.error-summary {
    color: #a94442;
    background: #fdf7f7;
    border-left: 3px solid #eed3d7;
    padding: 10px 20px;
    margin: 0 0 15px 0;
}

/* align the logout "link" (button in form) of the navbar */
.nav li > form > button.logout {
    padding: 15px;
    border: none;
}

@media(max-width:767px) {
    .nav li > form > button.logout {
        display:block;
        text-align: left;
        width: 100%;
        padding: 10px 15px;
    }
}

.nav > li > form > button.logout:focus,
.nav > li > form > button.logout:hover {
    text-decoration: none;
}

.nav > li > form > button.logout:focus {
    outline: none;
}


nav.navbar {box-shadow: 0px 0px 25px #eee;

    padding: 15px 0;
    border-bottom: 1px solid #eee;
    margin: 0 0 15px 0;
}

nav .navbar-brand {
    font-family: Montserrat,sans-serif;
    font-size: 22px;
    color: #000;
    font-weight: 700;
    text-decoration: none;
}


header .header-catalog {
    width: 100%;
    background-color: #fff;
    border-bottom: 1px solid #eee;
    height: 500px;
    display: none;
}

header .header-catalog.show{
    display: block!important;
    position: absolute;
    margin: -15px 0 0 0;
}

header .header-catalog > div {height: 100%; flex-wrap: wrap;}


header .btn-buy {padding: 7px 15px;}

#top_menu {
    border-bottom: 1px solid #dbdbdb;
}
#top_menu .menu {height: 50px; overflow: hidden;}


@media only screen
and (min-device-width : 1024px) {
    #top_menu .menu {height: 100%;}
    .items-head-menu li {text-align: left!important; justify-content:left!important;}
    header .header-catalog > div {align-items: flex-start;}
    .menu_content_item > div > div {width: 30%!important;}
}


.items-head-menu {font-size: 15px;}
.items-head-menu li {
    padding: 4px 10px;
    border-radius: 2px 0 0 2px;
    width: auto;
    height: auto;
    text-align: center;
    font-size: 17px;
    font-weight: 500;
    background: #fff;
    display: flex;
    justify-content: center;
    align-items: center;

}
.items-head-menu li:hover {background-color: #f5f5f6;}
.items-head-menu li a {
}

.menu_content {padding: 10px 10px 10px 20px; height: 100%; overflow: scroll; overflow-x: hidden;}
.menu_content_item {display: none;}
.menu_content_item h3 {line-height: 2;}
.menu_content_item ul {margin: 0 0 15px 0!important;}
.menu_content_item ul li{}
.menu_content_item ul li:first-child a {font-size: 15px; font-weight: 500;}
.menu_content_item > div > div {width: 100%}
.menu_content_item.active {display: block;}

.swiper {
    width: 100%;
    height: 100%;
}


.form-search {margin: 0;}
.form-search input {border: 1px solid #ddd!important; border-right: 0!important; padding: 11px 10px 11px!important; margin:0!important;}
.form-search .btn {border: 1px solid #ddd!important; padding: 8px 10px 8px!important; border-bottom-left-radius: 0px!important; border-top-left-radius: 0px!important;}


.breadcrumb-item+.breadcrumb-item {padding-left: 0;}
.breadcrumb-item+.breadcrumb-item::before {color: #ddd;}


.breadcrumb {background: none; padding: 10px 0 25px!important; display: block!important;}
.breadcrumb li {display: ruby!important;}
.breadcrumb > li + li::before {
    color: rgb(204, 204, 204);
    content: "—";
    padding: 0px 10px;
}
.breadcrumb li a {color:#7e7e83;}






.datatable-pager {margin: 25px 0!important; display: flex; align-items: center;}
.datatable-pager-nav {display: flex;}
.datatable-pager-nav li:hover {
    background: #f5f5f6;
    border: 0;
    border-radius: .4rem;
}
.datatable-pager-nav li.prev {}
.datatable-pager-nav li.next {}
.datatable-pager-nav li.prev a {}
.datatable-pager-nav li.next a {}
.datatable-pager-nav li {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: .4rem;
    transition: background .2s;
    cursor: pointer;
    width: 3rem;
    height: 3rem;
}
.datatable-pager-nav li a {
    color: #333;
    align-items: center;
    display: flex;
    justify-content: center;
    align-content: center;
    width: 100%;
    height: 100%;
    text-decoration: none;
}
.datatable-pager-nav li.active {
    border: .1rem solid #333;
    border-radius: .4rem;
    font-size: 1rem;
    line-height: 2.2rem;
    font-weight: 700;
}
.datatable-pager-nav li.active a {}
.datatable-pager-info {justify-content: flex-end;}



ul.listing {}
ul.listing li {
    padding: 15px 10px;
}
ul.listing li.hidden {opacity: 0.7;}

ul.listing li .cover {
    display: block;
    height: 270px;
    text-align: left;
    /*
        padding: 0 0 15px 0;
        display: flex;
    */
    align-items: center;
    margin: 0 0 15px 0;
}

ul.listing li .cover img {
    max-width: 100%;
    max-height: 100%;
    border: 1px solid #eee;
}

ul.listing li .genre {font-size: 14px;}
ul.listing li .name {font-size: 18px; font-weight: 500;}
.rating_block {color: #505050;}
.product_detail .rating_block {font-size: 16px;}
.rating_block .label {padding-right: 10px;}
.star_info {margin: 0 10px 0 0;}
.star_info i {color: #feca01;}
.star_info .rating-value {margin-left: 1px;}

ul.listing li .text-fragment {color:#7e7e7e;}
ul.listing li .authors {color:#7e7e7e;}
ul.listing li .authors a {color:#7e7e7e;}


ul.listing li .properties {
    font-size: 12px;
    color: #7e7e83;
}

ul.listing li .price {
    font-size: 18px;
    line-height: 2.6rem;
    font-weight: 700;
    color: #333;
}

.btn-buy {background-color: #e31235; color:#fff; font-weight: 500; font-size: 16px; padding: 3px 15px;}
.btn-buy i {margin: 0 3px 0 0}
.btn-buy:hover {background-color: #bd0f2c; color:#fff;}


.block-view {margin: 15px 0;}

.reviews_listing li {display: flex;}
.reviews_listing li .cover {height: auto; height: auto!important;}
.reviews_listing li .left-column {flex-direction: column; width: 30%; padding: 0 30px 0 0;}
.reviews_listing li .right-column {flex-direction: column; width: 70%;}

@media(max-width:767px) {
    .reviews_listing li {
    }
}



#features {}
#features .block-content {column-count: 2;}

.feature_block {margin: 40px 0 10px; display: inline-block; width: 100%;}
.feature_block h4.group_name {font-size: 18px;}
.feature_block dl.feature {
    display: flex;
    margin: 0;
    background: #fff;
}

.feature_block .feature .property {
    width: 20%;
    margin-bottom: 7px;
    position: relative;
    background: inherit;
    font-weight: normal;
}

.feature_block .feature .property .property_name {
    position: relative;
    padding-right: 10px;
    background: inherit;
    z-index: 1;
    display: inline-block;
}

.property:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    margin-top: 1em;
    height: 1px;
    background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAMAAAABCAAAAAA+i0toAAAAAnRSTlMA/1uRIrUAAAAMSURBVHheY7j1/z8ABY8C2UtBe8oAAAAASUVORK5CYII=) 0 0 repeat-x;
}

.feature_block .feature .property .property_name span {color: #7e7e7e;}
.feature_block .feature .property_value {
    width: 52%;
    margin-bottom: 7px;
    padding-left: 10px;
}


.product-view .cover {/*height: 370px;*/ display: block;}
.product-view .cover img {max-height: 100%; max-width: 100%; border: 1px solid #eee;}

.cover {/*max-height: 300px; min-height: 300px; max-width: 300px;*/  display: flex;}
.cover a {
    margin: auto;
}
.cover a img {}

.cover-button {padding: 20px;}
.cover-button .read-online {
    background-color: #e21235;
    color: #fff;
    width: 100%;
    display: block;
    /* margin: 10px 20px; */
    padding: 5px 0;
    border-radius: 2px;
    font-size: 16px;
}


.point-before::before {
    content: '•';
    padding-right: 15px;
    color: #e7e7e7;
}

.h1-wrapper .point-before {font-size: 17px;}


.video {max-height: 420px;}
.video .video_list {}
.video .video_list ul {}
.video .video_list ul li {}
.video .video_list ul li img {}

#sub-menu {padding: 10px 0!important;}
#sub-menu li {}
#sub-menu li a {color:#7e7e83;}



.price-stat {line-height: 1.2; padding: 25px 0;}
.price-stat .label {color:#7e7e83; font-size: 11px;}
.price-stat .price {
    color: #333;
    font-size: 25px;
    font-weight: 600;
    font-family: 'Montserrat';
}



.rating-container .empty-stars {color: rgba(11,31,53,.08)!important;}
.rating-container .filled-stars {color: #fc0!important; -webkit-text-stroke:0!important; text-shadow: none!important;}
.rating-sm .caption {font-size: 18px!important; margin-left:0; font-weight: 600; color: #333 !important;}
.rating-container .caption .label {padding:0 10px 0 0!important;}



.comment-item {padding: 10px 0;}

.comment-item .username {font-weight: bold;}
.comment-item .date {color: #7e7e83; font-size: 12px;}
.comment-item .author-avatar {
    width: 50px;
    height: 50px;
    overflow: hidden;
    border-radius: 100%;
    background-color: #eee;
    border: 1px solid #ddd;
    text-align: center;
    font-size: 17px;
    line-height: 50px;
}

.rating-xs {
    font-size: 12px !important;
}

.comment-item .llabel {font-weight: bold; font-size: 12px;}
.comment-item .text {}
.comment-item .votes {color: #7e7e83;}
.comment-item .votes .value {font-size: 12px;}



input[type="text"], textarea {
    padding: 12px;
    width: 100%;
    display: block;
    margin: 7px 0;
    /*border-bottom: 1px solid rgba(11,31,53,.3)!important;*/
    background: rgba(11,31,53,.05);
    border-radius: 3px;
    color: rgba(11,31,53,.9);
    font-size: 15px;
    line-height: 100%;
    outline: 0;
    border-color: #fff;
}

input[type="text"]:focus, textarea:focus {
    border-bottom-width: 2px;
    border-bottom-color: #ef3124;
}


.vendor-img {
    padding: 10px 20px;
    border: 1px solid #ddd;
    display: inline;
    border-radius: 3px;
    font-size: 15px;
}



.rating-container .rating-stars {
    margin: 0 4px 0 0!important;
}


.download {}
.download li {
    width: 125px;
    border: 1px solid #e7e7e7;
    border-radius: 3px;
    padding: 7px 10px;
    float: left;
    margin: 0 10px 10px 0;
}
.download li .size {color: #7e7e7e; font-size: 11px;}


#raw-price tr {padding: 5px 0;}
#raw-price td {padding: 0 7px 0 0;}

.genre-card {padding: 10px 0;}
.children-genres {}
.children-genres li {float: left; padding: 0 10px 0 0;}
