:root {
    --bg-light: #F4F7F5;
    --text: #5C2B24;
    --primary: #9FABA2;
    --primary-dark: #707471;
    --popup-bg: #f3f3f1f2;
    --grey: #F1F1F1;
    --brown: #5C4146;
}

::selection { background: var(--primary); }
:placeholder { color: inherit; }

* { margin: 0; padding: 0; box-sizing: border-box; outline: none; }
html { scroll-behavior: smooth; }
body { font: 16px/1.6 'Tenor Sans',sans-serif; overflow-x: hidden; color: #000; }
body.overflow { overflow: hidden; }

::-webkit-scrollbar { width: 6px; } 
::-webkit-scrollbar-thumb { background-color: var(--primary); border-radius: 6px; }

a { color: inherit; text-decoration: inherit; }
a:hover { color: var(--primary); }
a:disabled { pointer-events: none; }

a,
path,
circle,
button { transition: all .3s; }
button { cursor: pointer; }

iframe { max-width: 100%; }

h1,
h2,
h3 { line-height: 1.2em; font-weight: 400; text-transform: uppercase; }

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

.container { padding: 0 20px; }

button:not(.button) { background: none; padding: 0; border: none; }
button.close:hover path { stroke: var(--primary); }

input[type="text"], 
input[type="email"], 
textarea,
select { display: block; width: 100%; border: none; border-bottom: 1px solid #000; background: transparent; padding: 0 0 18px; font-size: 14px; }
input,
textarea,
select { font: inherit; }

textarea,
input { -webkit-appearance: none; border-radius: 0; }

.preloader { position: fixed; left: 0; right: 0; top: 0; bottom: 0; z-index: 101; display: flex; justify-content: center; align-items: center; background: #fff; }
.preloader .bar { position: relative; border-bottom: 2px solid var(--primary); width: 500px; margin: 0 auto; overflow: hidden; padding-top: 90px; }
.preloader .circle { position: absolute; top: 0; transform: translateY(100%); height: 60px; width: 60px; left: 0; background: var(--primary); border-radius: 30%; animation: move ease-in-out 5s infinite; }
.preloader p { position: absolute; top: 50px; right: 35px; text-transform: uppercase; color: #fff; font-weight: bold; }

@keyframes move {
  0% { left: 0; top: 0; }
  60% { left: calc(100% - 150px); transform: rotate(450deg); width: 150px; height: 150px; top: 30px; }
  100% { left: 0; top: 0; }
}  

.button,
input[type="submit"] { transition: all .3s; border: none; cursor: pointer; border-radius: 50px; font-size: 14px; background: var(--primary); line-height: 45px; padding: 0 45px; }
.button:hover,
input[type="submit"]:hover { background: var(--primary-dark); color: #fff; }
a.button { display: inline-block; }
 
.cat-trigger.button { text-transform: uppercase; color: #fff; display: flex; align-items: center; gap: 10px; margin: 52px 20px 39px; padding: 0 30px; opacity: 0; }
.cat-trigger.button.short { position: fixed; bottom: 20px; left: 20px; height: 50px; width: 50px; padding: 0; margin: 0; justify-content: center; z-index: 100; opacity: 1; }
.cat-trigger.button.short span { display: none; }

.search-trigger { height: 40px; width: 40px; padding: 0; margin: 0; justify-content: center; display: flex; align-items: center; }
.search-trigger svg { width: 20px; }
.search-trigger path { fill: #fff; }

#searchform { position: absolute; top: 100%; display: none; background: rgba(255,255,255,.9); padding: 20px; }
#searchform div { display: flex; flex-direction: column; gap: 20px; }
#searchform input[type="text"] { padding: 9px 0; }

.menu { list-style: none; color: var(--brown); }
.main-menu { text-transform: uppercase; letter-spacing: .03em; }
.lang { text-transform: uppercase; list-style: none; color: var(--primary); }

.logo svg { max-width: 40vw; height: auto; margin-top: 27px; transition: all .3s; }

.header { position: relative; display: flex; padding: 20px 20px 0; justify-content: space-between; align-items: flex-start; transition: all .3s; position: absolute; left: 0; right: 0; top: 0; z-index: 100; }
.header.scrolled { position: fixed; padding-top: 5px; padding-bottom: 5px; z-index: 100; background: rgba(255,255,255,.9); align-items: center; gap: 20px; }
.header.scrolled .logo svg { display: none; transform: translateY(-100%); }
.header.scrolled .logo:before { content: ''; display: block; width: 40px; height: 40px; background: url(../images/logo-eclipce.svg) no-repeat; background-size: contain; }
.header>div { display: flex; align-items: center; gap: 20px; margin-right: -50px; }

.footer { background: var(--grey) url(../images/footer-bg.svg) no-repeat bottom center; background-size: cover; text-align: center; }
.footer .patreon-wrap { font-size: 30px; line-height: 35px; text-transform: uppercase; padding: 53px 0 70px; }
.footer .patreon-wrap a { display: block; margin: 30px auto 0; }
.footer .patreon-wrap a svg { transition: all .3s; }
.footer .patreon-wrap a:hover svg { opacity: .7; }
.footer .socials { font-size: 18px; text-transform: uppercase; padding: 50px 0; }
.footer .socials>div { margin-top: 45px; display: flex; justify-content: center; gap: 55px; }
.footer .socials a:hover path { fill: var(--primary); }

.img-mask-wrap { position: relative; }
.img-mask-wrap:after { content: ''; width: 100%; height: 100%; background: url(../images/contour.svg) no-repeat; background-size: 106%; position: absolute; top: 0; left: 0; }

.img-mask { mask: url(../images/mask.svg); -webkit-mask: url(../images/mask.svg); -webkit-mask-repeat: no-repeat; -webkit-mask-position: center; -webkit-mask-size: 110%; margin: 0 10px 10px -10px; }
.img-mask img {  object-fit: cover; max-height: 100vh; width: 100%; height: 100%; }

.home .banner { overflow: hidden; margin-top: 185px; margin-bottom: 130px; }
.blog main { margin-top: 185px; }
.post-wrap  { margin-bottom: 184px; }

.home .last-posts { position: relative; }
.home .last-posts:after { content: url(../images/decor-mandala.svg); position: absolute; z-index: -1; bottom: -194px; right: 99px; left: -50px; width: calc(100% - 99px); max-width: 317px; animation: rotate 30s infinite linear forwards; }
@keyframes rotate {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

.post-wrap .item { position: relative; margin-bottom: 16px; border-radius: 20px; overflow: hidden; display: block; }
.post-wrap .item img { display: block; }
.post-wrap .item .item-inner { display: flex; flex-direction: column; justify-content: space-between; gap: 26px; }
.post-wrap .item .post-cat { font-size: 13px; }

.home .post-wrap,
.related { margin-bottom: 118px; }
.home .post-wrap .item:first-child .item-inner,
.home .post-wrap .item:nth-child(4) .item-inner,
.home .post-wrap .item:nth-child(5) .item-inner,
.related .post-wrap .item-inner { background: rgba(0,0,0,.5); position: relative; z-index: 1; padding: 38px 22px 28px; color: #fff; }
.home .post-wrap .item:first-child img,
.home .post-wrap .item:nth-child(4) img,
.home .post-wrap .item:nth-child(5) img,
.related .post-wrap .item img { position: absolute; top: 0; right: 0; bottom: 0; left: 0; height: 100%; }

.home .post-wrap .item:nth-child(2),
.home .post-wrap .item:nth-child(3) { display: flex; }
.home .post-wrap .item:nth-child(3) { flex-direction: row-reverse; }
.home .post-wrap .item:nth-child(2) h2,
.home .post-wrap .item:nth-child(3) h2 { font-size: 16px; line-height: 20px; }
.home .post-wrap .item:nth-child(2) img,
.home .post-wrap .item:nth-child(3) img { width: 35%; }
.home .post-wrap .item:nth-child(2) .item-inner,
.home .post-wrap .item:nth-child(3) .item-inner { padding: 21px 8px 18px 18px; background: var(--bg-light); }

.categories { margin-bottom: 184px; } 
.categories a { display: flex; align-items: center; gap: 1em; margin-bottom: 16px; border-radius: 20px; overflow: hidden; background: var(--bg-light); }
.categories a img { display: block; }
.categories a h3 { font-size: 18px; }

.related { background: var(--grey); padding: 50px 0; }
.related h2 { margin-bottom: 30px; text-align: center; }

.audio-list { margin-bottom: 127px; }
.audio-list h2 { margin-bottom: 12px; text-align: center; font-size: 36px; margin-bottom: 30px; }
.audio-list audio { width: 100%; }
#playlist { list-style: none; margin: 17px 0 0; padding: 0 25px; font-size: 14px; text-transform: uppercase; counter-reset: audio; }
#playlist li { margin-bottom: 18px; position: relative; padding-left: 30px; counter-increment: audio; }
#playlist li:before { content: counter(audio); position: absolute; left: 0; }
.current-song,
.current-song a { color: var(--primary); }

.challenge { background: url(../images/challenge-bg-mob.svg) no-repeat; background-size: cover; padding: 111px 0 105px; margin-bottom: 184px; }
.challenge a,
.challenge-page .content a { text-decoration: underline; color: #5B7060; }
.challenge h2 { text-transform: none; margin-bottom: 23px; font-size: 27px; }
.challenge h3 { text-transform: none; margin-bottom: 30px; font-size: 24px; }
.challenge .figure-wrap { display: flex; flex-wrap: wrap; gap: 20px 35px; justify-content: space-between; }
.challenge figure { display: flex; align-items: center; gap: 15px; margin-bottom: 0; }
.challenge figure .img-wrap { background: url(../images/bubble-white.svg) no-repeat; background-size: contain; min-width: 54px; height: 55px; justify-content: center; align-items: center; display: inline-flex; padding-right: 4px; }
.challenge figure .img-wrap img { max-width: 24px; max-height: 24px; }
.challenge .text-wrap p { margin: 30px 0 0; }
.challenge .text-wrap p:last-of-type { text-transform: uppercase; }

.single .cover { position: relative; }
.single .cover:after { content: ''; position: absolute; left: 0; right: 0; top: 0; bottom: 0; background: rgba(0,0,0,.6); }
.single .cover img { display: block; height: 100vh; width: 100%; }
.single .cover-inner { position: absolute; left: 15px; right: 15px; bottom: 15px; color: #fff; z-index: 1; }
.single .cover-inner audio { width: 100%; }
.single .post-meta { position: relative; margin: 2em 0; }

button.comment-trigger { background: var(--bg-light); position: relative; width: 50px; height: 50px; text-align: center; border-radius: 50%; }
button.comment-trigger:not(.sticky) { position: absolute; right: 0; top: -10px; }
button.comment-trigger.sticky { position: fixed; bottom: 20px; right: 20px; color: #fff; background: var(--primary); }
button.comment-trigger.sticky path { fill: #fff; }
button.comment-trigger:hover { background: var(--primary); }
button.comment-trigger svg { display: block; margin: auto; width: 24px; }
button.comment-trigger span { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-55%); font-size: smaller; }

.post-comments { position: fixed; top: 0; right: 0; bottom: 0; width: 100%; z-index: 101; background: var(--popup-bg); padding: 20px; transition: all .3s; transform: translateX(100%); overflow: auto; }
.post-comments.show { transform: none; }
.post-comments .close { float: left; margin: -4px 30px 15px 0; }

.single .comment { clear: both; padding: 1em; background: var(--popup-bg); border-left: 2px solid var(--primary); margin-bottom: 1em; }
.single .comment + .comment-respond { margin-top: 3em; }
.comment-author { text-transform: uppercase; letter-spacing: .03em; display: block; margin-bottom: 1em; }
.comment-date { float: right; }

.comment-reply-title { text-transform: uppercase; letter-spacing: .03em; font-size: 24px; line-height: 1em; margin: -5px 0 30px; }
.comment-form { overflow: hidden; clear: both; }
.comment-form p { margin-bottom: 1em; }
.comment-form label { margin-bottom: 5px; display: block; }
.comment-form-subscriptions select { margin-bottom: 10px; }
.comment-form>a { margin: 30px 0; display: inline-block; }
.comment-form .required-field-message { display: none; }

.single-post .logo path[fill="#5C4146"],
.single-post .logo path[fill="black"] { fill: var(--primary); }
.single h1 { margin-bottom: 1em; }
.single .text { margin: 30px 20px 100px; }
.single .text h2,
.single .text h3 { margin: 1.5em 0 .5em; }
.single .text h4,
.single .text h5 { margin: 2em 0 1em; }
.single .text h3,
.single .text>p,
.wp-block-gallery,
.wp-block-image { margin-bottom: 1em; }
.single .text>p:first-child>em { color: var(--text); font: 600 italic 1em/1.35em Raleway, sans-serif; position: relative; }
.single .text>p:first-child>em:before { content: url(../images/lead-before.svg); position: absolute; left: 0; top: 0; transform: translate(-48%,-41%); z-index: -1; }
.wp-block-file { margin-bottom: 1em 0; }

.single .text h3 { color: var(--primary); }

.single .text ol,
.single .text ul { list-style: none; margin-top: 1em; }
.single .text>ol>li,
.single .text>ul>li{ position: relative; padding-left: 40px; margin-bottom: 1em; }
.single .text>ol>li:before,
.single .text>ul>li:before { content: ''; width: 8px; height: 8px; position: absolute; left: 20px; top: 10px; border-radius: 50%; background: var(--primary); }

.single .text h2 + .wp-block-image + p:first-letter,
.single .text h3 + .wp-block-image + p:first-letter { font-size: 4em; line-height: 1em; margin-right: 8px; float: left; }

.wp-block-image figcaption,
.wp-block-gallery.has-nested-images figcaption,
.wp-block-embed figcaption { margin: 10px 0 0; text-align: right; color: var(--primary); }
.wp-block-audio figcaption { font-size: smaller; font-style: italic; text-align: center; margin-top: 0; }

.wp-block-quote { font: 600 italic 1em/1.35em Raleway, sans-serif; position: relative; margin: 30px 0; }
.wp-block-quote:before { content: url(../images/quote.svg); position: absolute; z-index: -1; left: -10px; top: -10px; opacity: .4; width: 30px; }
.wp-block-quote p { color: var(--text); }
.wp-block-pullquote cite,
.wp-block-quote cite { /*font-size: 16px;*/ font-weight: 600; color: var(--primary); display: block; text-align: right; margin-top: 1em; }

.wp-block-pullquote { padding: 0; font-size: inherit; }
.wp-block-pullquote blockquote, 
.wp-block-pullquote p { text-align: left; font: inherit; }
.wp-block-pullquote p { margin-bottom: 1em; }
.wp-block-pullquote cite { border-top: 4px solid #D9D9D9; margin-top: 40px; padding-top: 10px; }
.wp-block-pullquote { border-top: 4px solid #D9D9D9; padding-top: 10px; }
.wp-block-image + .wp-block-pullquote { border-top: none; padding-top: 0; }

.single .text a,
.comment-form a,
.post-tags a { position: relative; z-index: 1; }

.single .text a { white-space: nowrap; }

.single .text a:before,
.comment-form a:before { background: var(--primary); }
.single .text a + a:before,
.comment-form a + a:before { background: var(--primary); }
.single .text a:before,
.post-cat a:after,
.comment-form a:before,
.post-tags a:after { content: ''; position: absolute; left: -1px; right: -1px; bottom: -1px; height: 1px;  z-index: -1; transition: all .3s; }
.single .text a:hover,
.post-cat a:hover,
.comment-form a:hover,
.post-tags a:hover { color: initial; }
.single .text a:hover:before,
.post-cat a:hover:after,
.comment-form a:hover:before,
.post-tags a:hover:after { height: calc(100% + 4px); }

.post-tags a:nth-of-type(1):after,
.post-cat a:nth-of-type(1):after { background:#f3b9b9 }
.post-tags a:nth-of-type(2):after,
.post-cat a:nth-of-type(2):after { background:#a5caea }
.post-tags a:nth-of-type(3):after,
.post-cat a:nth-of-type(3):after { background:#a2ded6 }
.post-tags a:nth-of-type(4):after,
.post-cat a:nth-of-type(4):after { background:#e1e8aa }
.post-tags a:nth-of-type(5):after,
.post-cat a:nth-of-type(5):after { background:#d3aae8 }
.post-tags a:nth-of-type(6):after,
.post-cat a:nth-of-type(6):after { background:#e8d3aa }
.post-tags a:nth-of-type(7):after,
.post-cat a:nth-of-type(7):after { background:#c7c7c7 }
.post-tags a:nth-of-type(8):after,
.post-cat a:nth-of-type(8):after { background:#aef3d7 }
.post-tags a:nth-of-type(9):after,
.post-cat a:nth-of-type(9):after { background:#505050 }
.post-tags a:nth-of-type(10):after,
.post-cat a:nth-of-type(10):after { background:#db99ef }

.single .text iframe { margin: auto; display: block; }

.sharedaddy .sd-content ul li { margin-right: 15px; }
.sharedaddy .sd-social-icon-text .sd-content ul li a.sd-button { background: var(--primary); width: 50px; height: 50px; border: none; border-radius: 50%; display: flex; align-items: center; justify-content: center; padding: 0; }
.sharedaddy .sd-social-icon-text .sd-content ul li a.sd-button span { display: none; }
.sharedaddy .sd-content ul li a.sd-button:before { position: static; background: none; height: auto; font-size: 24px; color: #fff; }

.sharedaddy .sd-social-icon .sd-content ul li a.sd-button:active, 
.sharedaddy .sd-social-icon .sd-content ul li a.sd-button:hover, 
.sharedaddy .sd-social-icon-text .sd-content ul li a.sd-button:active, 
.sharedaddy .sd-social-icon-text .sd-content ul li a.sd-button:hover, 
.sharedaddy .sd-social-official .sd-content>ul>li .digg_button>a:active, 
.sharedaddy .sd-social-official .sd-content>ul>li .digg_button>a:hover, 
.sharedaddy .sd-social-official .sd-content>ul>li>a.sd-button:active, 
.sharedaddy .sd-social-official .sd-content>ul>li>a.sd-button:hover, 
.sharedaddy .sd-social-text .sd-content ul li a.sd-button:active, 
.sharedaddy .sd-social-text .sd-content ul li a.sd-button:hover { border: none; background: #000; }

.nav-links { display: flex; justify-content: center; align-items: center; gap: 20px; margin-top: 50px; }
.page-numbers.current { display: inline-block; width: 50px; line-height: 50px; background: var(--primary); color: #fff; text-align: center; border-radius: 50%; }

.term-wrap,
.subscribe-wrap { position: fixed; z-index: 110; left: 0; top: 0; bottom: 0; padding: 30px; max-width: 100%; overflow: auto; transform: translateX(-100%); transition: all .3s; background:  var(--popup-bg); }
.term-wrap.show,
.subscribe-wrap.show { transform: none; }
.term-wrap .close,
.subscribe-wrap .close { position: absolute; right: 30px; top: 30px; }
.term-wrap a { display: block; margin-bottom: 10px; }
.term-wrap h2,
.subscribe-wrap h2 { margin-bottom: 1em; }

.subscribe-wrap h2 { margin-right: 80px; }

.post { max-width: 812px; margin: 0 20px 80px; } 
.post-tags,
.post .post-meta { font-size: 14px; display: flex; flex-wrap: wrap; gap: 1em; letter-spacing: .03em; margin-bottom: 20px; color: var(--primary); }
.post-tags { line-height: 1em; margin: 2px 20px 20px 22px; font-size: 12px; }
.post .post-meta { justify-content: space-between; margin-top: 5px; }
.post-cat a { position: relative; z-index: 1; margin-right: 1em; letter-spacing: .03em; line-height: 2em; }
.post h2 { margin: 0 20px 20px; }
.post-text { margin: 0 20px 20px; }
.post-text:first-letter { font-size: 4em; line-height: 1em; margin-right: 20px; float: left; color: var(--primary); }
.post-link { display: flex; gap: 16px; justify-content: flex-end; align-items: center; }
.post-link:hover path { fill: #000; }
.post .wp-post-image { border-top-left-radius: 20px; border-top-right-radius: 20px; max-height: 335px; width: 100%; display: block; }

section.subscribe { margin-bottom: 100px; }
section.subscribe h2 { font-size: 27px; margin-bottom: 36px; }
section.subscribe .form-wrap { width: 300px; padding-right: 20px; position: relative; }
section.subscribe .form-wrap:before { content: url(../images/subscribe-before-tablet.svg); position: absolute; right: -140px; top: -130px; z-index: -1; }
section.subscribe .form-wrap form { position: relative; z-index: 1; }
section.subscribe .form-wrap input[type="submit"] { margin: auto; display: block; }
section.subscribe .img-wrap { mask: url(../images/subscribe-mask-desktop.svg); -webkit-mask: url(../images/subscribe-mask-desktop.svg); -webkit-mask-repeat: no-repeat; -webkit-mask-position: left; -webkit-mask-size: 94%; overflow: hidden; clear: both; margin-left: -50px; }
section.subscribe .img-wrap img { margin-left: 31px; }

.es-field-wrap { margin-bottom: 40px; }
.es-field-wrap br { display: none; }
.es_subscription_message.success { color: inherit; }
.es_subscription_message span { display: block; padding-left: 50px; }

html[lang="uk"] .es_subscription_message span:not(.ua) { display: none; }
html[lang="en-GB"] .es_subscription_message span.ua { display: none; }

.small-subscribe { margin: 50px 30px; background: url(../images/decor-mandala.svg) no-repeat center; }
.small-subscribe h2 { margin-bottom: 30px; }

main.secondary-page,
body.search main,
body.archive main,
main.no-image,
main.challenge-page { padding: 200px 0 150px; }
main.secondary-page h1 { margin-bottom: 30px; }
main.secondary-page p,
main.challenge-page p { margin-bottom: 1em; }
main.page-id-4217 .content p,
main.page-id-4674 .content p { margin-bottom: 30px; }
main.secondary-page ul { padding-left: 20px; }
main.secondary-page li { margin-bottom: 1em; }

body.search h1 { text-align: center; margin-bottom: 50px; }

.challenge-page h1,
.challenge-page h1 + p { text-align: center; }
main.challenge-page h1 + p { margin-bottom: 30px; }
.challenge-page input[type="text"], 
.challenge-page input[type="email"], 
.challenge-page textarea, 
.challenge-page select { padding: 5px 0 10px; border-color: #9faba266; transition: all .3s; }
.challenge-page input[type="text"]:hover, 
.challenge-page input[type="email"]:hover, 
.challenge-page textarea:hover, 
.challenge-page select:hover { border-color: #9faba2; }
.challenge-page input[name="how-i-feel-text"] { display: none; }
.challenge-page .file-wrap { margin: 50px 0; }
.challenge-page .file-wrap .wpcf7-form-control-wrap { margin-top: 10px; display: block; }
.challenge-page .file-wrap .wpcf7-form-control-wrap:before { content: url(../images/screenshot.svg); display: inline-block; width: 40px; vertical-align: -webkit-baseline-middle; margin-right: 10px; }
input[name="screen"] { width: calc(100% - 100px); }
input[name="screen"]::-webkit-file-upload-button { visibility: hidden; position: absolute; }

.wpcf7-form-control.wpcf7-radio { display: block; margin-top: 10px; }
input[type="radio"] { border: 1px solid #000; border-radius: 50%; width: 20px; height: 20px; display: inline-block; vertical-align: text-bottom; padding: 0; margin-right: 10px; }
input[type="radio"]:checked { background: var(--primary); border-color: var(--primary); }
.wpcf7-list-item { margin: 0 30px 20px 0; }
.wpcf7-not-valid-tip { font-size: small; }
.wpcf7 form .wpcf7-response-output { border: none; padding: 0; margin: 30px 0 0; text-transform: uppercase; }
.wpcf7 form.sent .wpcf7-response-output { color: var(--primary-dark); }
.wpcf7 form.invalid .wpcf7-response-output { color: #ffb900; }

.dae-shortcode-download-wrapper .dae-shortcode-download-button, 
.dae-shortcode-download-wrapper .dae-shortcode-download-button:hover { font-weight: normal !important; }

@media (min-width: 375px) { 
    .home .post-wrap .item:first-child .item-inner h2 { font-size: 30px; line-height: 35px; }
    .audio-list h2 { font-size: 46px; }
    section.subscribe .form-wrap { margin-bottom: -35px; }
}

@media (min-width: 375px) and (max-width: 720px) { 
    .challenge figure:nth-of-type(1),
    .challenge figure:nth-of-type(2) { width: calc(50% - 18px); }
}

@media (min-width: 375px) and (max-width: 1199px) { .comment-reply-title { margin-top: 0; }}

@media (min-width: 414px) {
    .home .post-wrap .item:nth-child(2) h2,
    .home .post-wrap .item:nth-child(3) h2 { font-size: 20px; line-height: 24px; }
    .audio-list h2 { font-size: 50px; }
    section.subscribe .form-wrap { margin-bottom: -65px; }
}

@media (min-width: 500px) {
    .footer { background-position-y: 70%; }
}

@media (max-width: 767px) {
    .header { flex-direction: row-reverse; }
    .header.scrolled .logo { order: 1; }

    .menu-trigger { transition: all .3s; }
    .menu-trigger:before { content: url(../images/menu.svg); display: block; margin: auto; }
    .menu-trigger.active { z-index: 101; }
    .header.scrolled .menu-trigger.active { margin-top: 15px; }
    .menu-trigger.active:before { content: url(../images/close.svg); }
    .main-menu { position: fixed; z-index: 100; left: 0; top: 0; bottom: 0; right: 0; background: var(--popup-bg); padding: 30px; transform: translateX(-100%); transition: all .3s; }
    .main-menu.show { transform: none; }
    .main-menu li { margin-bottom: 1em; font-size: 20px; }

    .lang { min-width: 40px; }
    .header.scrolled .lang { display: none; }
    .header.scrolled>div { position: absolute; right: 80px; }
    .header.scrolled .menu-trigger.active ~ .lang { display: block; position: fixed; bottom: 30px; left: 30px; z-index: 101; }

    .search-trigger.active { position: relative; z-index: 100; background: none; width: auto; height: auto; }
    .search-trigger.active:before { content: url(../images/close.svg); }
    .search-trigger.active svg { display: none; }
    #searchform { position: fixed; top: 0; left: 0; right: 0; bottom: 0; padding-top: 100px; display: none; background: var(--popup-bg); }

    .footer .patreon-wrap a svg { max-width: 160px; display: block; margin: auto; }
    .footer .socials>p { display: none; }

    section.subscribe { padding-top: 100px; margin-top: -100px; overflow: hidden; }
    section.subscribe .form-wrap { float: right; }
    
    .single h1 { font-size: 20px; }
    .single .text>p:first-child>em { display: block; line-height: inherit; margin-top: 70px; }

    .cat-trigger.button:not(.short) { background: none; padding: 0; color: #000; }
    .cat-trigger.button:not(.short) rect { background: none; padding: 0; fill: #000; }

    .categories a img { min-width: 40%; max-height: 93px; object-fit: cover; }
    .categories a:nth-of-type(odd) { padding-right: 20px; }
    .categories a:nth-of-type(even) { flex-direction: row-reverse; padding-left: 20px; }
}

@media (min-width: 768px) {
    .container { padding: 0 40px; }

    .logo svg { max-width: 200px; }
    .menu-trigger { display: none; }

    .header:not(.scrolled) .logo { position: absolute; left: 50%; transform: translateX(-50%); }

    .main-menu { display: flex; gap: 30px; left: 20px; top: 1em; }
    .main-menu.lower-index { z-index: 0; }
    .lang { top: 1em; }

    .header.scrolled .main-menu { order: 1; width: 100%; margin: 0 30px; justify-content: flex-end; }
    .header.scrolled .lang { order: 2; }
    .header>div { order: 2; flex-direction: row-reverse; margin: 0; }
    .header:not(.scrolled)>div { margin-top: -10px; }

    #searchform { right: 0; }
    .header.scrolled #searchform { border-radius: 0 0 0 20px; }

    .footer .patreon-wrap { padding: 75px 0 100px; }
    .footer .patreon-wrap a svg { max-width: 200px; }

    .home .banner,
    .blog main { margin-top: 250px; }

    .img-mask-wrap:after { background-size: 100%; top: 50px; left: 30px; }

    .home .post-wrap { display: grid; grid-template-columns: repeat(6, 1fr); grid-template-rows: repeat(3, 1fr); grid-column-gap: 20px; grid-row-gap: 5px; margin-bottom: 173px; }
    .home .post-wrap .item:first-child { grid-area: 1 / 1 / 3 / 3; }
    .home .post-wrap .item:nth-child(2) { grid-area: 1 / 3 / 2 / 7; min-height: 335px; }
    .home .post-wrap .item:nth-child(3) { grid-area: 2 / 3 / 3 / 7; min-height: 335px; }
    .home .post-wrap .item:nth-child(4) { grid-area: 3 / 1 / 4 / 4; min-height: 370px; }
    .home .post-wrap .item:nth-child(5) { grid-area: 3 / 4 / 4 / 7; min-height: 370px; }
    .home .post-wrap .item:nth-child(2) img, 
    .home .post-wrap .item:nth-child(3) img { width: 46%; }
    .home .post-wrap .item:first-child .item-inner, 
    .home .post-wrap .item:nth-child(4) .item-inner, 
    .home .post-wrap .item:nth-child(5) .item-inner { height: 100%; padding: 42px 31px; }

    .home .post-wrap .item:nth-child(2) .item-inner, 
    .home .post-wrap .item:nth-child(3) .item-inner { padding: 42px 30px; }
    
    .post-cat a { white-space: nowrap; } 

    .audio-wrap { max-width: 722px; margin: auto; }
    #playlist { font-size: 16px; }
    .audio-list,
    .home .post-wrap,
    .related { margin-bottom: 250px; }

    .related { padding: 70px 0; }
    .related .post-wrap { display: flex; gap: 20px; }
    .related .post-wrap .item { width: 50%; }
    .related .post-wrap .item-inner { height: 100%; }
 
    section.subscribe { margin-bottom: 250px; }
    section.subscribe h2 { font-size: 32px; }
    section.subscribe .form-wrap { width: 450px; margin: 0 auto -155px; padding: 0 0 0 100px; }
    section.subscribe .form-wrap:before { top: -160px; }
    section.subscribe .img-wrap { max-width: 60%; margin-top: 50px; }

    .post { margin-right: 40px; margin-left: 40px; }
    .cat-trigger.button { margin-left: 40px; }

    .single .text { max-width: 700px; margin: 50px auto 150px; }
    .single .text>p,
    .wp-block-gallery,
    .wp-block-image { margin-bottom: 30px; }
    .single .cover-inner>div { max-width: 700px; margin: auto; }
    .single .cover-inner h1 { text-align: center; margin: 0 10% 1em; }
	.wp-block-file { margin: 30px 0; }

    .post-comments { padding: 30px; width: 75vw; }

    main.secondary-page .content,
    main.challenge-page .content { max-width: 700px; margin: auto; }

    .challenge { overflow: hidden; }
    .challenge .img-mask-wrap { max-width: 535px; float: right; margin: -50px -40px -40px 0;}
    .challenge h3 { margin: 45px 0 25px; }
	
	.small-subscribe form { display: flex; gap: 30px; align-items: center }
	.small-subscribe .es-field-wrap { margin-bottom: 0; width: 100%; }

    .categories { margin-bottom: 173px; }
    .categories .container { display: grid; grid-template-columns: repeat(6, 1fr); grid-gap: 20px; }
    .categories a { display: block; position: relative; margin-bottom: 0; }
    .categories a:nth-child(1) { grid-area: 1 / 1 / 3 / 3; }
    .categories a:nth-child(2) { grid-area: 1 / 3 / 2 / 7; }
    .categories a:nth-child(3) { grid-area: 2 / 3 / 3 / 7; }
    .categories a:nth-child(4) { grid-area: 3 / 1 / 4 / 5; }
    .categories a:nth-child(5) { grid-area: 4 / 1 / 4 / 5; }
    .categories a:nth-child(6) { grid-area: 3 / 5 / 5 / 7; }

    .categories a:nth-child(1) img,
    .categories a:nth-child(6) img { height: 100%; }
    .categories a:nth-child(1) h3,
    .categories a:nth-child(6) h3 { position: absolute; top: 21px; left: 21px; }
    .categories a:nth-child(6) h3 { top: unset; left: 21px; bottom: 21px; color: #fff; right: 21px; }

    .categories a:not(:nth-of-type(1)):not(:nth-of-type(6)) { display: flex; align-items: center; gap: 21px; padding-right: 21px; }
    .categories a:not(:nth-of-type(1)):not(:nth-of-type(6)) img { width: 46%; height: 100%; }
    .categories a:not(:nth-of-type(1)):not(:nth-of-type(6)) h3 { padding: 20px 0; }
}

@media (min-width: 768px) and (max-width: 1199px) {
    .img-mask { -webkit-mask-size: 100%; }
}

@media (max-width: 1023px) {
    .top-post { display: none; }
}
@media (min-width: 1024px) {
    .home .header:not(.scrolled) .logo { position: absolute; top: 175px; left: 100px; transform: none; }
    .home .header:not(.scrolled) .logo svg { max-width: 300px; margin: 0; }

    .header #searchform { right: unset; border-radius: 20px; }
    .header:not(.scrolled) #searchform { top: 70px; }
    .header.scrolled #searchform { border-radius: 0 0 20px 20px; }

    .footer { background-position-y: 65%; }
    
    .home .banner .img-mask-wrap { width: 55%; float: right; margin-right: 35px; }
    .img-mask-wrap:after { top: 20px; }
    .home .banner { margin-top: 50px; }
    .blog main { margin-top: 0; }

    .blog .header:not(.scrolled) .lang,
    .blog .header:not(.scrolled) .main-menu { color: var(--bg-light); }
    .blog .header:not(.scrolled) .logo path[fill="#5C4146"],
    .blog .header:not(.scrolled) .logo path[fill="black"] { fill: var(--primary); }
    .cat-trigger.button:not(.short) { position: absolute; top: 100vh; left: 60px; }
    .post { margin: 0 auto 80px; position: relative; }
    .post .post-meta { margin-top: 16px; }
    .post.top-post { max-width: 100%; margin-bottom: 150px; }
    .post.top-post>a:after { content: ''; position: absolute; left: 0; right: 0; top: 0; bottom: 0; background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.5) 100%), linear-gradient(0deg, rgba(0,0,0,.47), rgba(0,0,0,.47)); }
    .post.top-post .wp-post-image { border-radius: 0; max-height: 100vh; height: 100vh; }
    .post.top-post .post-inner { position: absolute; color: #fff; width: 728px; left: 50%; transform: translateX(-50%); bottom: 50px; }
    .post.top-post h2,
    .post.top-post .post-text,
    .post.top-post .post-tags { margin-right: 0; margin-left: 0; }
    .post.top-post .post-link svg:last-of-type path { fill: var(--primary); }
    .post.top-post .post-link:hover svg:first-of-type path { fill: #fff; }
    .post.top-post .post-link:hover svg:last-of-type path { stroke: #fff; }

    .categories a:nth-child(1) { grid-area: 1 / 1 / 3 / 2; }
    .categories a:nth-child(2) { grid-area: 1 / 2 / 1 / 4; }
    .categories a:nth-child(3) { grid-area: 2 / 2 / 3 / 4; }
    .categories a:nth-child(4) { grid-area: 1 / 5 / 2 / 7; }
    .categories a:nth-child(5) { grid-area: 2 / 5 / 3 / 7; }
    .categories a:nth-child(6) { grid-area: 1 / 4 / 3 / 5; }

    section.subscribe .img-wrap { margin-top: 0; }

    .challenge .img-mask-wrap { margin-left: -10px; }    
    .challenge .figure-wrap { flex-wrap: nowrap; padding-right: 30px; }
    .challenge figure { flex-direction: column; align-items: flex-start; max-width: 270px; gap: 10px; }
    .challenge figure:not(:last-of-type) { max-width: 130px; }
}

@media (min-width: 1200px) {
    input[type="text"],  
    input[type="email"], 
    textarea, 
    select { font-size: 16px; padding-bottom: 24px; }
    input[type="submit"] { font-size: 16px; }

    .comment-form p { margin-top: 24px; }
    .comment-form input[type="text"],  
    .comment-form input[type="email"], 
    .comment-form textarea, 
    .comment-form select { padding-bottom: 18px; }

    h2 { font-size: 41px; line-height: 48px; }

    .main-menu { gap: 40px; font-size: 18px; transition: all .3s; }
    .lang { font-size: 18px; }
    .header:not(.scrolled) .main-menu { top: 58px; }
    .single-post .header:not(.scrolled) .main-menu,
    .single-post .header:not(.scrolled) .lang { color: var(--bg-light); }

    .footer { background: var(--grey); position: relative; }
    .footer:before { content: ''; background: url(../images/footer-bg-desktop.svg) no-repeat left bottom; background-size: contain; position: absolute; left: 0; bottom: 0; width: 43%; height: 80vh; }
    .footer .patreon-wrap { padding: 100px 0 50px; display: flex; justify-content: flex-end; align-items: center; gap: 45px; font-size: 36px; line-height: 48px; }
    .footer .patreon-wrap a { margin: 0; }
    .footer .patreon-wrap p { max-width: 355px; text-align: left; }
    .footer .patreon-wrap a svg { max-width: 240px; }
    .footer .socials { font-size: 24px; display: flex; justify-content: flex-end; gap: 100px; padding: 50px 0 100px; }
    .footer .socials>div { margin: 0; }
    .footer .socials path { fill: #000; }

    .home .header:not(.scrolled) .logo { top: 200px; left: 120px; }

    .img-mask { margin: 0 0 15px; -webkit-mask-size: 110%; }
    .img-mask-wrap:after { background-size: 105%; }
    .home .banner .img-mask-wrap { margin-right: 50px; }

    .home .last-posts:after { max-width: 465px; bottom: -315px; left:-100px; }

    .home .post-wrap { grid-column-gap: 38px; grid-row-gap: 20px; margin-bottom: 228px; }
    .home .post-wrap .item:first-child .item-inner h2 { font-size: 30px; line-height: 42px; }
    .home .post-wrap .item:nth-child(2) h2, 
    .home .post-wrap .item:nth-child(3) h2,
    .home .post-wrap .item:nth-child(4) h2,
    .home .post-wrap .item:nth-child(5) h2 { font-size: 30px; line-height: 36px; }
    .home .post-wrap .item .post-cat { font-size: 16px; }

    .related { margin-bottom: 228px; padding: 100px 0; }
    .related .post-wrap { gap: 30px; }
    .related h3 { font-size: 36px; line-height: 42px; }
    .related .item-inner { min-height: 370px; }

    .audio-list,
    .home .post-wrap { margin-bottom: 350px; }
    .audio-list h2 { font-size: 60px; margin-bottom: 50px; }
    #playlist { font-size: 18px; }
    #playlist li { margin-bottom: 24px; }

    section.subscribe { margin-bottom: 250px; margin-top: 350px; margin-left: 100px; }
    section.subscribe .form-wrap { width: 530px; margin-bottom: -250px; }
    section.subscribe .form-wrap:before { content: ''; background: url(../images/subscribe-before-desktop.svg) no-repeat; background-size: contain; width: 780px; height: 760px; right: -30%; top: -60%; }
    section.subscribe h2 { font-size: 42px; }
    section.subscribe .img-wrap { -webkit-mask-size: contain; width: 500px; margin-left: -80px; }
    section.subscribe .img-wrap img { margin: 0; }

    .es_subscription_message span { height: 200px; }

    .single .text { font-size: 18px; margin-top: 70px; }
    .single .text h2 { margin: 80px 0 30px; }
    .single .text>p,
    .wp-block-gallery,
    .wp-block-image { margin-bottom: 40px; }
    .single .cover-inner { transition: all .3s; bottom: 50px; left: 50px; right: 50px; }
    .post-comments { width: 50vw; padding: 50px; }
    .comment-reply-title { font-size: 32px; }
    button.comment-trigger.sticky { bottom: 50px; right: 50px; }
	.wp-block-file { margin: 40px 0; }

    .wp-block-image { margin-bottom: 50px; }
    .wp-block-pullquote { padding-top: 18px; }
    .wp-block-pullquote blockquote, 
    .wp-block-quote { margin: 60px 0 50px; }
    .wp-block-pullquote blockquote:before,
    .wp-block-quote:before { width: 54px; left: -35px; top: -20px; }
    .wp-block-quote cite { margin-top: 23px; }
    .wp-block-pullquote cite { margin-top: 68px; padding-top: 18px; }

    .post { margin-bottom: 120px; }
    .post h2 { margin: 0 50px 32px; }
    .post-tags { margin-right: 50px; margin-left: 50px; font-size: 14px; }
    .post-text { margin: 0 50px 20px; }
    .post-text:first-letter { font-size: 80px; line-height: 93px; margin-right: 40px; }
    .post-link { margin-right: 20px; }

    .blog .header:not(.scrolled) { position: absolute; left: 0; right: 0; top: 0; }
    .cat-trigger.button:not(.short) { left: 155px; }

    .subscribe-wrap { max-width: 570px; padding: 50px; }
    .term-wrap { padding: 50px 100px 50px 50px; }

    .page-numbers.current { width: 54px; line-height: 54px; }

    .related h2 { margin-bottom: 54px; }

    main.secondary-page,
    main.no-image,
    main.challenge-page,
    body.search main,
    body.archive main { padding: 250px 0 200px; }
    main.secondary-page p,
    main.challenge-page p { margin-bottom: 20px; }
    main.page-id-4217 .content p,
    main.page-id-4674 .content p { margin-bottom: 50px; }

    .challenge { background: url(../images/challenge-bg.svg); padding: 180px 0; }
    .challenge h2 { margin-bottom: 53px; font-size: 50px; line-height: 59px; }
    .challenge h3 { clear: left; margin-bottom: 20px; font-size: 30px; }
    .challenge .text { max-width: 575px; float: left; margin-bottom: 45px; }
    .challenge .img-mask-wrap { margin-right: 0; }    
    .challenge .text-wrap p { margin-top: 45px; max-width: 600px; }

    main.challenge-page h1 + p { margin-bottom: 50px; }
	
	.small-subscribe { max-width: 700px; margin: 50px auto 100px; }
	.small-subscribe h2 { font-size: 40px; }
}

@media (min-width: 1280px) {
    .container { padding: 0; width: 1200px; margin: auto; }
}

@media (min-width: 1360px) {
    .header { padding: 30px 50px 0; }
    .home .header:not(.scrolled) .logo { top: 240px; left: 170px; }
    .img-mask { -webkit-mask-size: 100%; }

    .header #searchform { padding: 20px 30px; }
    .header:not(.scrolled) #searchform { top: 70px; }
    .header.scrolled #searchform { border-radius: 0 0 20px 20px; }
    
    section.subscribe .form-wrap { margin-bottom: -320px; margin-left: 38%; }
    section.subscribe .img-wrap { width: 600px; margin: 0; }

    .post:first-of-type { margin-bottom: 100px; }
    .cat-trigger.button:not(.short) { margin: 100px 0 0 0; left: 50px; }
    .cat-trigger.button.short { left: 50px; top: 50vh; }

    .challenge { font-size: 18px; line-height: 24px; }
    .challenge h2 { font-size: 50px; line-height: 59px; }
    .challenge .img-mask { -webkit-mask-size: 116%; }
    .challenge .img-mask-wrap:after { width: 118%; top: 0px; left: -30px; }
}

@media (min-width: 1440px) {
    input[type="text"], 
    input[type="email"], 
    textarea, 
    select { font-size: 18px; padding-bottom: 29px; }
    input[type="submit"] { font-size: 18px; line-height: 57px; padding: 0 54px; }

    .main-menu { left: 50px; }

    .header { padding: 58px 75px 0; }
    .home .header:not(.scrolled) .logo svg { max-width: 400px; margin-top: 0; }
    .header:not(.scrolled) #searchform { top: 110px; }

    .footer .patreon-wrap { font-size: 42px; line-height: 54px; padding: 135px 0 65px; }
    .footer .socials { padding: 65px 0 120px; }

    .home .banner { margin-top: 0; }

    .single h1 { font-size: 54px; }

    .audio-list,
    .home .post-wrap,
    .related { margin-bottom: 400px; }
    .single .text { margin: 100px auto 200px; }

    .related { padding: 150px 0; }

    section.subscribe { margin-bottom: 330px; margin-top: 400px; } 
    section.subscribe h2 { font-size: 48px; line-height: 56px; margin-bottom: 68px; }
    section.subscribe .form-wrap { width: 490px; padding: 0; margin-left: 50%;  margin-bottom: -400px; }
    section.subscribe .form-wrap:before { width: 930px; height: 900px; right: -36%; top: -48%; }
    .es-field-wrap { margin-bottom: 44px; }
    section.subscribe .img-wrap { width: 700px; margin-left: -100px; }

    .cat-trigger.button:not(.short) { left: 85px; }
    .cat-trigger.button.short { left: 75px; }
}

@media (min-width: 1530px) { 
    section.subscribe .img-wrap { margin-left: 0; }
    section.subscribe .form-wrap:before { width: 1000px; height: 1000px; right: -47%; top: -64%; }
}

@media (min-width: 1560px) {    
    section.subscribe .img-wrap { width: 800px; margin-left: 0; }
    section.subscribe .form-wrap { margin-bottom: -450px; }

    main.secondary-page,
    main.no-image,
    main.challenge-page,
    body.search main,
    body.archive main { padding: 300px 0 250px; }
}

@media (min-width: 1920px) {
    .container { padding: 0 85px; }

    .main-menu { left: 85px; }

    .footer .container { padding-right: 65px; }
    .footer .patreon-wrap { font-size: 48px; line-height: 56px; }
    .footer .patreon-wrap p { max-width: 477px; }
    .footer .socials { gap: 170px; }
    .footer:before { width: 40%; margin-bottom: -10px; }

    .home .header:not(.scrolled) .logo { top: 344px; left: 182px; }
    .home .header:not(.scrolled) .logo svg { max-width: 577px; }
    .home .banner .img-mask-wrap { margin-right: 100px; width: auto; }

    .home .last-posts:after { max-width: 665px; bottom: -396px; }

    .home .post-wrap .item:nth-child(2) h2, 
    .home .post-wrap .item:nth-child(3) h2,
    .home .post-wrap .item:nth-child(4) h2,
    .home .post-wrap .item:nth-child(5) h2 { font-size: 36px; line-height: 42px; }

    .audio-list,
    .home .post-wrap,
    .single .text,
    .related { margin-bottom: 450px; }

    .related .post-wrap { gap: 40px; }

    section.subscribe { margin-bottom: 430px; margin-top: 450px; } 
    section.subscribe .form-wrap { margin-bottom: -500px; }
    section.subscribe .form-wrap:before { width: 1231px; height: 1191px; right: -70%; top: -83%; }
    section.subscribe .img-wrap { width: 896px; }

    .single .post-meta { margin: 50px 0; }
    button.comment-trigger { width: 70px; height: 70px; }
    button.comment-trigger svg { width: 30px; }
    .single .text>p,
    .wp-block-gallery,
    .wp-block-image { margin-bottom: 55px; }
    .single .text { margin-top: 138px; margin-bottom: 200px; }
    .single .text h2 { margin: 117px 0 52px; }
    .single .cover-inner h1 { font-size: 72px; }
    .wp-block-pullquote blockquote, 
    .wp-block-quote { margin: 75px 0 65px; }

    .post:first-of-type .post-inner { bottom: 90px; }

    .related { padding: 172px 0 194px; }

    .post-comments { padding: 70px; }

    .challenge .container { padding: 0; }
}