html, body {
    font-size:15px;
    color:#333333;
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
    line-height: 1.6;
    background-color: #FFF;
    overflow-x: hidden;
    scroll-behavior: smooth; 
}

html.noscroll {
    overflow: hidden;
}

section {
    margin: 100px 0 !important;
}

p {
    font-family: 'Merriweather', sans-serif;
    margin-bottom: 20px !important;
}

.mmenu {
    display: none;
    text-decoration: none;
    color: #333333;
    text-transform: uppercase;
    font-weight: 700;
    margin-right: 30px;
    letter-spacing: 1px;
    cursor: pointer;
}

.mmenu i {
    margin-left: 10px;
}

h1 {
    font-size: 48px;
    line-height: 1;
    font-weight: 400;
    letter-spacing: 5px;
    margin-bottom: 10px !important;
}

h2, .h {
    font-size: 32px !important;
    line-height: 1.2 !important;
    font-weight: 400 !important;
    letter-spacing: 5px !important;
    margin-bottom: 40px !important;
    text-align: center !important;
}

h3 {
    font-size: 18px;
    line-height: 1.2;
    font-family: 'Merriweather', sans-serif;
}

h3 a {
    color:#333333;
    text-decoration: none;
    transition: 0.3s;
}

h3 a:hover {
    color:#585989;
    text-decoration: none;
}

.wrapper {
    margin: auto;
    max-width: 1400px;
    padding: 0 60px;
    box-sizing: border-box;
}

.button {
    padding: 20px 40px;
    color: #585989;
    line-height: 1;
    border: 1px solid #CCC;
    background-color: #FFF;
    font-weight: 700;
    font-size: 12px;
    transition: 0.3s;
    cursor: pointer;
    text-align: center;
    display: block;
}

a {
    text-decoration: none !important;
}

.button:hover {
    background-color: #585989;
    color: #FFF;
    border-color: #585989;
}

.button.blue {
    background-color: #585989;
    color: #FFF;
    border-color: #585989;
    max-width: calc(100%/3 - 110px);
    margin: auto;
}

.button.blue:hover {
    background-color: #3b3c62;
}

.button i {
    margin-right: 10px;
}

header {
    position: fixed;
    z-index: 991;
    width: 100%;
    border-bottom: 1px solid #cccccc !important;
    background: linear-gradient(0deg, rgba(255,255,255,0.9) 0%, rgba(255,255,255,0.9) 100%);
    white-space: nowrap;
}

.footerblock {
    position: fixed;
    bottom: -90px;
    z-index: 99;
    width: 100%;
    background: #585989;
    padding: 15px 0;
    transition: 0.3s;
    line-height: 1.2;
    color: #FFF;
}

.footerblock.show {
    bottom: 0;
}

.footerblock .wrapper {
    display: flex !important;
    align-items: center;
    justify-content: space-between;
}

.footerblock .totop {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #585989;
    background-color: #FFF;
    min-width: 40px;
    min-height: 40px;
    border-radius: 100%;
    transition: 0.2s;
    cursor: pointer;
    text-decoration: none;
    margin-left: 40px;
}

.footerblock .totop:hover {
    background-color: #3b3c62;
}

header .wrapper {
    display: flex !important;
    justify-content: space-between;   
}

nav, .mmenu {
    padding: 25px 0 !important;
}

.lang {
    padding: 25px 15px !important;
    margin-right: -15px !important;
    display: flex;
    align-items: center;
  
}

.lang img {
    width: 22px;
    margin-left: 10px;
      line-height: 0;
}

.lang .flags {
    line-height: 0;
}
nav {
    margin-left: -15px !important;
    position: relative;
    white-space: nowrap;
}

nav a, .lang {
    text-decoration: none;
    color: #333333;
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 1px;
    padding: 15px;
}

nav a:hover, .lang:hover {
    color: #585989;
}

nav ul {
    display: flex;
}

nav ul li ul {
    display: block;
    font-size: 12px;
    display: none;
}

nav ul li:hover a {
    color: #585989;
}

nav ul li:hover ul li a {
    color: #333333;
}

nav ul li:hover ul li a:hover {
    color: #585989;
}

nav ul li ul {
    position: absolute;
    padding: 15px 0 0 0;
    cursor: pointer;
    margin-left: 12px;
    white-space: nowrap;
}

nav ul li ul li {
    position: relative;
} 

nav ul li ul li ul {
    display: none !important;
    position: absolute;
    padding: 0 0 0 0;
    cursor: pointer;
    margin-left: 0;
    left: 100%;
    top: 0;
}

nav ul li ul li:hover ul {
    display: block !important;
}

nav ul li ul li a {
    padding: 15px 30px 15px 20px;
    display: block;
    background-color: #FFF;
    margin-right: 0;
    border-left: 5px solid #585989;
    transition: 0.3s;
    font-size: 14px !important;
}

nav ul li ul li a:hover {
    background-color: #585989;
    color: #FFF !important;
}

nav ul li ul li:hover a, nav ul li ul li:hover ul a:hover {
    background-color:  #585989;
    color: #FFF;
}

nav ul li ul li:hover ul a {
    background-color:  #FFF;
    color: #000;
}

nav ul li:hover ul {
    display: block;
}

.lang {
    cursor: pointer;
    margin-right: 0;
}

.lang i {
    margin-right: 10px;
    color: #CCC;
}

.lang nav {
    padding: 0 !important;
    margin-left: 10px !important;
    margin-right: -15px;
    display: block !important;
}

.lang nav ul li ul {
    position: absolute;
    padding: 15px 0 0 0;
    cursor: pointer;
    margin-right: 15px;
    right: 0;
    text-align-last: right;
}

.lang nav ul li ul li a {
    padding: 15px 20px 15px 30px !important;
    border-right: 5px solid #585989;
    border-left: 0;
}

.author {
    margin-top: 120px !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.author h1 {
    text-transform: uppercase;
    margin-bottom: 20px !important;
}

.author .photo {
    width: 260px;
    height: 260px;
    margin-bottom: 30px;
    background-image: url(img/rabkin_photo.jpg);
    background-size: cover;
    border-radius: 100%;
}

.author .btext {
    background-color: #585989;
    color: #FFF;
    text-transform: uppercase;
    padding: 10px 20px;
    font-weight: 700;
    font-size: 12px;
    letter-spacing: 1px;
    margin-bottom: 30px;
}

.author p:last-of-type {
    margin-bottom: 0 !important;
}

h2 {
    position: relative;
}

h2 span {
    background-color: #FFF;
    padding: 0 40px;
    z-index: 99;
    position: relative;
}

h2:after, .h:after {
    content: "" !important;
    height: 4px !important;
    width: 100% !important;
    top: 50% !important;
    margin-top: -2px !important;
    display: block !important;
    position: absolute !important;
    background-color: #585989 !important;
}

.blocks {
    margin-bottom: 30px;
}

.blocks .date, .author .date {
    background-color: #585989;  
    color: #FFF;
    display: inline-block;
    font-size: 12px;
    padding: 5px 15px;
}

.blocks .date {
    margin-bottom: 15px;
}

.blocks .block {
    text-align: center;
    position: relative;
}

.blocks .block p {
    text-align: left;
    font-size: 12px;
    position: relative;
}

.blocks .block .text:after {
    content: "";
    background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
    position: absolute;
    height: 90px;
    width: 100%;
    bottom: 0;
    left: 0;
    right: 0;
}

.blocks .block h3 {
    padding: 0 20px 30px 20px;
    border-bottom: 1px solid #CCC;
    margin-bottom: 30px;
    transition: 0.3s;
    cursor: pointer;
}

.blocks .block h3:hover {
    color: #585989;
}

.blocks .block .text {
    position: relative;
    overflow: hidden;
    margin-bottom: 20px;
}

.owl-dots {
    display: block;
    margin-top: 0;
    text-align: center;
    margin-top: 30px;
}

.owl-dots .owl-dot {
    width: 12px;
    height: 12px;
    border-radius: 10px;
    display: inline-block;
    margin: 0 5px 0 5px;
    transition: 0.3s;
    background-color: #CCC;
}

.owl-dots .owl-dot:hover {
    background-color: #999999;
}

.owl-dots .owl-dot.active {
    background-color: #585989;
}

.blocks .block img {
    height: 230px;
    width: auto !important;
    display: block !important;
    margin: auto !important;
    margin-bottom: 30px !important;
}

.blocks.books .block .text {
    height: 525px;
}

footer {
    background-color: #585989;
    color: #FFF;
    padding: 80px 0;
    text-align: center;
    font-size: 12px;
}

.article h1, .cats h1 {
    margin-top: 120px !important;
}

.cats h1 {
    border-bottom: 1px solid #CCC;
    padding-bottom: 50px !important;
    margin-bottom: -50px !important;
}

.article .content {
    max-width: 900px;
    margin-top: 50px;
}

.article .author {
    flex-wrap: wrap;
    flex-direction: row;
    margin: 0 !important;
    align-items: center;
    text-align: left;
}

.articlehead {
    align-items: center;
    display: flex;
    justify-content: space-between;
    border-top: 1px solid #CCC;
    border-bottom: 1px solid #CCC;
    margin-top: 50px !important;
    padding: 20px 0 0 0;
    white-space: nowrap;
}

.articlehead .author .info {
    display: flex;
    align-items: center;
    margin-top: 7px;
    flex-wrap: wrap;
    padding-bottom: 10px;
}

.articlehead .author a {
    font-weight: 700;
    text-decoration: none;
    color: #585989;
    transition: 0.3s;
    margin-bottom: 10px;
}

.article .author a:hover {
    color: #3b3c62;
}

.article .author .photo {
    width: 80px;
    height: 80px;
    margin-bottom: 0;
    margin-right: 20px;
    margin-bottom: 20px;
}

.article .author .date {
    display: block;
        margin-right: 20px;
        margin-bottom: 10px;
}

.article .author span {
    display: block;
    font-weight: 700;
}

.article .content img {
    width: 100%;
    height: auto;
    margin-bottom: 20px;
} 
 
.content .share {
    margin-top: 40px;
    text-align: center;
}

.bgmenu.show {
    background: #585989;
    position: fixed;
    width: 100%;
    height: 100%;
    left: 0;
    display: none;
    z-index: 999999999;
}

.bgmenu.show {
    display: block;
}

.bgmenu.show a {
    color: #FFF !important;
    padding: 0;
}

.bgmenu.show nav {
    margin-left: 0 !important;
}

.bgmenu.show nav ul {
    display: block;
}

.bgmenu.show nav ul li {
    display: block;
    margin-bottom: 20px;
}

.bgmenu.show nav ul li ul li {
    margin-bottom: 0;
}

.bgmenu.show nav {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
}

.bgmenu.show nav ul li ul {
    display: block;
}

.bgmenu.show nav ul li ul {
    position: static;
    padding: 15px 0 0 0;
    cursor: pointer;
    margin-left: 0;
}

.bgmenu.show nav ul li ul li a {
    padding: 0 0 0 20px;
    display: block;
    background-color: transparent;
    margin-right: 0;
    border-left: 2px solid #FFF;
}

.bgmenu .close {
    display: none;
    position: absolute;
    top: -10px;
    left: 0;
    color: #FFF;
    font-size: 32px;
    line-height: 1;
    padding: 30px;
}

.bgmenu.show .close {
    display: block;
}

.share {
    width: auto;
}

.share span {
    font-weight: 700;
    font-size: 12px;
    display: block;
    margin-bottom: 7px;
}

.st-btn {
    display: inline-block !important;
}

.footerblock span {
   font-weight: 700;
}

.blocks.list {
    display: flex;
    flex-wrap: wrap;
    margin: 0 -20px 0 -20px;
}

.blocks.list .block {
    margin: 0 20px 80px 20px;
    width: calc(100%/3 - 40px);
}

.article .content a {
    color: #585989;
    text-decoration: underline !important;
}

.content h2:after {
    display: none;
    text-align: left !important;
}

.article .content h1, .article .content h2, .article .content h3 {
    text-align: left;
    font-size: 18px;
    font-weight: 700;
    margin: 30px 0 30px 0 !important;
}

.languages {
    border-bottom: 1px solid #CCC;
    padding-bottom: 30px;
}

.languages div {
    display: flex;
    flex-wrap: wrap;
}

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

.languages div {
    margin-right: 30px;
    margin-bottom: 20px;
}

.languages p {
    margin-bottom: 30px !important;
}

.custom-checkbox {
  position: absolute;
  z-index: -1;
  opacity: 0;
}

.custom-checkbox+label {
  display: inline-flex;
  align-items: center;
  user-select: none;
  cursor: pointer;
  line-height: 1;
}

.custom-checkbox+label::before {
  content: '';
  display: inline-block;
  width: 20px;
  height: 20px;
  flex-shrink: 0;
  flex-grow: 0;
  border: 1px solid #585989;
  border-radius: 0.25em;
  margin-right: 15px;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 50% 50%;
  transition: 0.3s;
}

.custom-checkbox:checked+label::before {
    
  border-color: #585989;
  background-color: #585989;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='white' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e");
}

/* стили при наведении курсора на checkbox */
.custom-checkbox:not(:disabled):not(:checked)+label:hover::before {
  border-color: #585989;
}

.article .content .file a {
    display: flex;
    align-items: center;
    text-decoration: none !important;
}

.file i {
    font-size: 32px;
    margin-right: 20px;
}

.file {
    margin-top: 30px;
}

blockquote {
    padding-left: 40px !important;
    border-left: 1px solid #CCC !important;
}

iframe {
    margin-top: 30px !important;
}

ul {
    list-style: none;
}

ol {
    font-family: 'Merriweather', sans-serif;
    list-style: normal;
    list-style-position: inside
}

h4 {
    margin-bottom: 30px !important;
    font-family: 'Merriweather', sans-serif;
}

.attachment-medium {
    width: auto !important;
}

.reviews {
    margin-top: 90px;
}

.review {
    border-bottom: 1px solid #CCC;
    padding-bottom: 30px;
    margin-bottom: 30px;
    display: block !important;
}

.review p:last-of-type {
    margin-bottom: 0 !important;
}

.review b {
    display: block;
    margin-bottom: 10px !important;
}

.review .date {
    font-size: 12px;
    margin-bottom: 20px;
    display: block;
}

.review .excerpt {
    height: 100px;
    position: relative;
    display: block;
    overflow: hidden;
    margin-bottom: 20px;
}

.review .excerpt:after {
    content: "";
    background: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
    position: absolute;
    height: 90px;
    width: 100%;
    bottom: 0;
    left: 0;
    right: 0;
}

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

.fancybox__content.review .excerpt {
    height: auto;
}

.fancybox__content.review .excerpt:after {
    display: none;
}

.fancybox__content.review .button {
    display: none;
}

.fancybox__content {
    max-width: 800px;
}

.article h2:after {
	display: none !important;
	text-align: left !important;
}