* {
    -webkit-print-color-adjust: exact !important;   /* Chrome, Safari 6 – 15.3, Edge */
    color-adjust: exact !important;                 /* Firefox 48 – 96 */
    print-color-adjust: exact !important;           /* Firefox 97+, Safari 15.4+ */
}

body {
    margin: 0;
    font-family: var(--Font-Inter);
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    font-display: optional;
    font-style: normal;
}
body.admin-bar {
    min-height: calc(100vh - 32px);
}
main {
    flex: 1;
}
h1, h2, h3, h4, h5, h6 {
    font-family: var(--Font-Inter);
}
p, li, button, div, select, input {
    font-family: var(--Font-Inter);
}
p a {
    transition: all 0.5s ease;
    border-bottom: 1px solid transparent;
    color: #7D7D7D;
    text-decoration: none;
}
p a:hover {
    border-bottom: 1px solid #000000;
    color: #000000;
}
.header-container {
    padding: 17px 0px;
    display: flex;
    flex-direction: row;
    align-items: center;
    box-sizing: border-box;
    justify-content: space-between;
}
.header-home-logo-img {
    display: block;
    height: 46px;
}
.header-menu ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
    display: flex;
    flex-direction: row;
}
.header-menu ul li a {
    padding: 4px 6px;
    margin: 0 18px;
    text-decoration: none;
    color: #000000;
    box-sizing: border-box;
    font-size: 16px;
    font-weight: 500;
    line-height: 18.15px;
    text-transform: uppercase;
    font-family: var(--Font-Inter);
    border-bottom: 2px solid transparent;
    transition: all 0.5s ease;
    background-color: transparent;
}
.header-menu ul li a:hover {
    padding-bottom: 4px;
    border-bottom: 2px solid #FDD100;
}
.header-menu ul li.current-menu-item a {
    padding-bottom: 4px;
    border-bottom: 2px solid #FDD100;
}
.header-menu ul li:not(:first-of-type) a {
    /*border-left: 1px solid #aaaaaa;*/
}
.header-log-in-link {
    font-size: 16px;
    padding: 10px 20px;
    text-decoration: none;
    color: #000000;
    box-sizing: border-box;
    border: 1px solid #000000;
    border-radius: 8px;
    background-color: #ffffff;
    transition: all 0.5s ease;
}
.header-log-in-link:hover {
    background-color: #FFFBDF;
}
.header-navigation-container {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex: 1;
    justify-content: center;
}
.header-home-logo {
    flex: 1;
}
.header-home-logo__link {
    width: fit-content;
    display: block;
    background-color: transparent;
}
.header-socials-container {
    margin-left: auto;
    margin-right: 32px;
}
.header-socials-container img {
    height: 21px;
    display: block;
}
.header-socials-container a {
    color: #000000;
    background-color: #fff;
    transition: all 0.5s ease;
}
.header-socials-container a:hover {
    opacity: 0.5;
}
.footer-container {
    padding: 60px 0 100px;
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
}
.footer-home-logo-img {
    display: block;
    height: 66px;
}
.footer-contact-container {
    display: flex;
    flex-direction: column;
}
.footer-phone {
    text-decoration: none;
    color: #000000;
}
.footer-contact-container span {
    color: #000000;
    opacity: 0.7;
    font-size: 14px;
    line-height: 16px;
    font-family: var(--Font-Inter);
    padding: 3px 0;
    transition: all 0.5s ease;
    width: fit-content;
}
.footer-contact-container span:hover {
    opacity: 1;
}
.footer-contact-container span.textspan {
    padding: 4px 0;
}
.footer-contact-container span.textspan:hover {
    opacity: 0.7;
}
.footer-contact-container a {
    text-decoration: none;
}
.footer-copyright-links {
    display: flex;
    flex-direction: row;
    gap: 10px;
}
.footer-copyright-links a {
    text-decoration: none;
}
.footer-copyright-container span {
    color: #888888;
    font-size: 14px;
    line-height: 20px;
    font-family: var(--Font-Inter);
}
.scroll-to-top-btn-container {
    width: 100vw;
    height: 100px;
    position: fixed;
    bottom: 20px;
    pointer-events: none;
    z-index: 100;
}
.scroll-to-top-btn-inner-container {
    max-width: 1340px;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    position: relative;
    height: 100px;
}
.scroll-to-top-btn {
    width: 40px;
    height: 40px;
    position: absolute;
    background-color: #555555;
    right: -46px;
    bottom: 0;
    border-radius: 100%;
    overflow: hidden;
    cursor: pointer;
    pointer-events: none;
    opacity: 0;
    transition: all 0.5s ease;
    padding: 13px;
    box-sizing: border-box;
}
.scroll-to-top-btn.show {
    opacity: 1;
    pointer-events: initial;
}
.scroll-icon-corner {
    height: calc(100% - 26px);
    width: calc(100% - 26px);
    position: absolute;
    border-top: 2px solid #ffffff;
    border-left: 2px solid #ffffff;
    transform: rotate(45deg);
    box-sizing: border-box;
}
.scroll-icon-dash {
    height: calc(100% - 24px);
    width: 2px;
    position: absolute;
    background-color: #ffffff;
    left: 50%;
    transform: translateX(-50%);
    box-sizing: border-box;
}
.footer-title {
    margin-top: 0;
    margin-bottom: 20px;
    font-family: var(--Font-Inter);
}
.footer-menu ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
}
.footer-menu ul li {
    margin: 0;
    font-size: 14px;
    padding: 3px 0;
}
.footer-menu ul li a {
    padding: 1px 0;
    text-decoration: none;
    display: block;
    color: #000000;
    opacity: 0.7;
    font-family: var(--Font-Inter);
    background-color: transparent;
    transition: all 0.5s ease;
    border-bottom: 1px solid transparent;
    width: fit-content;
}
.footer-menu ul li a:hover {
    color: #000000;
    opacity: 1;
    border-bottom: 1px solid #000000;
}
.homepage-banner {
    width: 100%;
    height: auto;
    position: relative;
}
.homepage-banner-image-container {
    height: 100%;
    width: 100%;
    position: absolute;
}
.homepage-banner-image-container img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.homepage-banner-gradient {
    position: absolute;
    height: 100%;
    width: 100%;
    background-color: #000000;
    opacity: 0.7;
}
.homepage-banner-content-container {
    min-height: 400px;
    z-index: 2;
    position: relative;
    max-width: 1000px;
    margin: 0 auto;
    padding: 100px 0;
    display: flex;
    flex-direction: column;
    gap: 40px;
    color: #ffffff;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}
.homepage-banner-cta {
    color: #000000;
    background-color: #ffffff;
    padding: 10px 30px;
    border-radius: 24px;
    overflow: hidden;
    text-decoration: none;
    margin-top: 20px;
}
.homepage-banner-title {
    font-size: 40px;
    text-align: center;
    margin: 0;
}
.homepage-free-crosswords {
    width: 100%;
    padding: 60px 0 80px;
    border-bottom: 1px solid #D9D9D9;
    position: relative;
}
.homepage-free-crosswords-left {
    width: 60%;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
    justify-content: space-between;
}
.homepage-free-crosswords-right {
    width: 40%;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.homepage-free-crosswords-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    width: 100%;
    column-gap: 40px;
    row-gap: 60px;
}
.homepage-free-crosswords-grid.col-3 {
    grid-template-columns: repeat(3, 1fr);
}
.homepage-free-crosswords-grid.col-4 {
    grid-template-columns: repeat(4, 1fr);
}
.homepage-free-crosswords-grid.col-6 {
    grid-template-columns: repeat(6, 1fr);
}
.crossword-card-img-container img {
    display: block;
    width: 100%;
    object-fit: cover;
    object-position: top;
    position: absolute;
    top: 0;
    height: 100%;
}
.crossword-card-bottom {
    display: flex;
    flex-direction: column;
}
.crossword-card-img-container {
    position: relative;
    /*border: 1px solid #000000; */
}
.crossword-card-img-container::before {
    content: "";
    display: block;
    width: 100%;
    /*padding-top: calc((200 / 300) * 100%);*/
    padding-top: 100%;
    background-color: #000000;
}
.crossword-card {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    text-decoration: none;
    color: #000000;
    height: 100%;
    animation-name: cardAnimation;
    animation-duration: 0.5s;
}
@keyframes cardAnimation {
    from {opacity: 0;}
    to {opacity: 1;}
  }
.crossword-card-title {
    flex: 1;
}
.crossword-card-big {
    width: 100%;
}
.crossword-card-big a {
    color: #000000;
    text-decoration: none;
}
.crossword-card-big .crossword-card-img-container::before {
    padding-top: calc(1 * 100%);
}
.crossword-card-solve {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
}
.crossword-card-solve-gradient {
    position: absolute;
    top: 0;
    background-color: #000000;
    opacity: 0.5;
    width: 100%;
    height: 100%;
}
.crossword-card-solve-bubble {
    width: 60%;
    height: 60%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: yellow;
    opacity: 1;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 40px;
}
.homepage-featured-crosswords {
    width: 100%;
    padding: 60px 0 80px;
    border-bottom: 1px solid #D9D9D9;
}
.homepage-featured-crosswords-container {
    display: flex;
    flex-direction: column;
    gap: 40px;
    box-sizing: border-box;
}
.crossword-card-title a {
    text-decoration: none;
    color: #000000;
    font-family: var(--Font-Inter);
    font-size: 18px;
    line-height: 20.57px;
    font-weight: 700;
    word-break: break-word;
    border-bottom: 1px solid transparent;
    transition: all 0.5s ease;
}
.crossword-card-title a:hover {
    border-bottom: 1px solid #000000;
}
.homepage-free-crosswords-grid.centered .crossword-card-bottom {
    flex-direction: row;
    gap: 20px;
}
.homepage-free-crosswords-grid.centered .crossword-card {
    align-items: center;
    gap: 20px;
}
.homepage-free-crosswords-grid.centered .crossword-card-img-container {
    width: 100%;
}
.homepage-free-crosswords-grid.centered .crossword-card-title {
    text-align: center;
}
.homepage-newest-crosswords {
    width: 100%;
    padding: 60px 0 80px;
    border-bottom: 1px solid #D9D9D9;
    position: relative;
}
.crossword-card-link {
    position: relative;
    width: 100%;
}
.homepage-newest-crosswords-container {
    display: flex;
    flex-direction: column;
    gap: 40px;
    box-sizing: border-box;
}
.title-with-categories {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
}
.title-with-categories h2 {
    font-weight: 500;
    font-size: 28px;
    font-family: var(--Font-Inter);
}
.title-with-categories h2 b,.title-with-categories h2 strong {
    font-weight: 700;
}
.homepage-crosswords-categories {
    display: flex;
    flex-direction: row;
    gap: 40px;
}
/*
.homepage-crosswords-categories a:not(:first-of-type) {
    border-left: 1px solid #aaaaaa;
}
*/
.homepage-crosswords-categories a {
    padding: 4px 0px;
    text-decoration: none;
    color: #000000;
    box-sizing: border-box;
    font-size: 16px;
    border-bottom: 2px solid #FFE229;
    transition: border 0.5s linear;
    font-family: var(--Font-Inter);
    font-weight: 400;
}
.homepage-crosswords-categories a:hover {
    border-bottom: 2px solid #000000;
}
.homepage-modal-loggedin-text a {
    padding: 4px 0px;
    text-decoration: none;
    color: #000000B3;
    box-sizing: border-box;
    font-size: 16px;
    border-bottom: 2px solid #FFE229;
    transition: all 0.5s linear;
    font-family: var(--Font-Inter);
    font-weight: 400;
}
.homepage-modal-loggedin-text a:hover {
    color: #000000;
    border-bottom: 2px solid #000000;
}

.homepage-free-crosswords-grid.left .crossword-card-bottom {
    flex-direction: row;
    gap: 20px;
}
.homepage-free-crosswords-grid.left .crossword-card {
    gap: 20px;
}
.homepage-free-crosswords-grid.left .crossword-card-img-container {
    width: 100%;
}
.home-crosswords-loadmore {
    color: #000000;
    background-color: #dddddd;
    border-radius: 24px;
    padding: 10px 50px;
    width: fit-content;
    border: unset;
    margin: 10px auto 0;
    cursor: pointer;
}
.homepage-mobile-crosswords {
    width: 100%;
    margin: 60px 0;
}
.homepage-mobile-crosswords-container {
    max-width: 1340px;
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 40px;
    box-sizing: border-box;
}
.crossword-card-img-container.square {
    margin-bottom: 20px;
}
.crossword-card-img-container.square::before {
    padding-top: calc(1 * 100%);
}
.homepage-info-block {
    width: 100%;
    margin: 0;
}
.homepage-info-block-container {
    max-width: 1340px;
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 40px;
    box-sizing: border-box;
    padding: 60px;
    background-color: #ffffff;
    background-image: url(/wp-content/themes/crosswords/assets/images/front/decoration.png);
    background-repeat: repeat-x;
    background-position: center bottom;
    margin-bottom: 40px;
}
.crossword-card-overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}
.crossword-card-overlay-gradient {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000000;
    opacity: 0.6;
}
.crossword-card-overlay-gradient.solved {
    opacity: 0.3;
}
.crossword-card-overlay-gradient.inprogress {
    opacity: 0.5;
}
.crossword-card-overlay-text {
    position: absolute;
    top: 50%;
    left: 50%;
    color: #dddddd;
    transform: translate(-50%, -50%);
}
.crossword-card-overlay-icon {
    position: absolute;
    width: 10%;
}
.crossword-card-overlay-icon::before {
    content: "";
    padding-top: 100%;
    width: 100%;
    display: block;
}
.crossword-card-overlay-icon.bottom-right {
    bottom: 10px;
    right: 10px;
}
.crossword-card-overlay-icon.top-right {
    top: 10px;
    right: 10px;
}
.crossword-card-overlay-icon.center {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 20%;
}
.crossword-time-colon.flash {
    opacity: 0;
}
.crossword-time-colon {
    opacity: 1;
}
.crossword-container {
    max-width: 1340px;
    margin: 0 auto;
    padding: 40px 0;
    display: flex;
    gap: 30px;
    flex-direction: column;
}
.crossword-bottom-bar, .crossword-top-bar {
    display: flex;
    flex-direction: row;
    align-items: flex-end;
    justify-content: space-between;
}
.crossword-title-container {
    display: flex;
    flex-direction: column;
    gap: 10px;
    flex-basis: 33%;
    align-items: flex-start;
}
.crossword-title {
    margin: 0;
    /*font-size: 40px;*/
    font-size: 32px;
}
.crossword-date-author {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    column-gap: 20px;
    margin-top: 10px;
    font-size: 14px;
    line-height: 150%;
    opacity: 0.7;
}
.crossword-bar-buttons {
    display: flex;
    flex-direction: row;
    column-gap: 30px;
    row-gap: 20px;
    align-items: center;
}
.author-info-section {
    width: 100%;
    margin: 60px 0;
}
.author-info-container {
    max-width: 1340px;
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
}
.author-crosswords {
    width: 100%;
    margin: 60px 0;
}
.author-crosswords-container {
    max-width: 1340px;
    width: 100%;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    box-sizing: border-box;
    gap: 30px;
}
.author-crosswords-container .crossword-card {
    gap: 20px;
}
.author-crosswords-container .crossword-card .crossword-card-bottom {
    display: flex;
    flex-direction: row;
    gap: 10px;
}
#crossword-pause-block {
    position: absolute;
    top: -15px;
    z-index: 1000;
}
.crossword-area {
    position: relative;
}
#crossword-pause-block #crossword-resume {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 2;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.crossword-play-time #crossword-resume img {
    width: 22px;
    height: 22px;
    left: -1px;
    position: relative;
    top: -1px;
}
#crossword-pause-block #crossword-overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    background: rgba(255,255,255,0.5);
    backdrop-filter: blur(5px);
    z-index: 1;
}
.crossword-time-container {
    display: flex;
    flex-direction: row;
    align-items: center;
}
.crossword-time-container.hide {
    display: none;
}
.crossword-play-time {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 11px 12px 11px 18px;
    border: 1px solid #000;
    border-radius: 7px;
    background-color: #ffffff;
    line-height: 18px;
    font-size: 16px;
    height: 44px;
    box-sizing: border-box;
}
.crossword-time-label {
    margin-right: 0;
    white-space: nowrap;
    transition: all 0.5s ease;
    overflow: hidden;
    display: grid;
    grid-template-columns: 0fr;
}
.grid-row-inner {
    overflow: hidden;
    white-space: nowrap;
}
.crossword-play-time:hover .crossword-time-label {
    grid-template-columns: 1fr;
    margin-right: 10px;
}
.crossword-play-time:focus .crossword-time-label {
    grid-template-columns: 1fr;
    margin-right: 10px;
}
.crossword-play-time:focus-within {
    outline: unset;
}
button#crossword-start-timer .grid-row-outer {
    display: grid;
    grid-template-columns: 0fr;
    transition: all 0.5s ease;
    margin-right: 0px;
}
button#crossword-start-timer:hover .grid-row-outer {
    grid-template-columns: 1fr;
    margin-right: 8px;
}
#crossword-disable-block {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: transparent;
    z-index: 200;
}

.account-container {
    max-width: 1340px;
    margin: 0 auto;
}
.logged-in-dropdown-container {
    position: relative;
    max-width: 250px;
    z-index: 10000;
}
.logged-in-dropdown-content {
    /*
    border: 1px solid #000000;
    border-radius: 5px;
    background-color: #fff;
    */
    position: relative;
    pointer-events: none;
}
.logged-in-dropdown-content.open {
}
.logged-in-dropdown-content.open .header-user-btn {
    /*padding: 10px 10px 0px;*/
    /*
    border: 1px solid #000000;
    border-radius: 8px;
    padding: 8px 20px;
    background-color: #ffffff;
    */
}
.logged-in-dropdown-content.open .header-user-btn span {
    /*border-bottom: 1px solid gray;
    padding-bottom: 9px;
    padding-bottom: 0px;
    */
}
.logged-in-dropdown-content.hidden {
    position: relative;
}
.logged-in-dropdown-options {
    /*height: 0;*/
    overflow: hidden;
    display: flex;
    flex-direction: column;
    gap: 10px;
    /*padding: 0px 21px 0px;*/
    padding: 20px;
    border: 1px solid black;
    border-radius: 8px;
    background-color: #ffffff;
    transition: opacity 0.5s ease;
    opacity: 0;
    pointer-events: none;
    margin-top: 12px;
    position: absolute;
    width: 100%;
    box-sizing: border-box;
}
.logged-in-dropdown-content.open .logged-in-dropdown-options {
    height: auto;
    /*padding-bottom: 10px;*/
    padding: 20px;
    border: 1px solid black;
    opacity: 1;
    pointer-events: auto;
}
.header-user-btn {
    /*
    background-color: transparent;
    border: unset;
    padding: 10px 10px 0px;
    */
    cursor: pointer;
    width: 100%;
    
    border: 1px solid black;
    border-radius: 8px;
    padding: 12px 20px;
    background-color: #ffffff;
    pointer-events: auto;
    transition: all 0.5s ease;
    min-width: 200px;
}
.header-user-btn:hover {
    background-color: #FFFBDF;
}
.header-user-btn span {
    /*
    padding-bottom: 10px;
    */
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    gap: 12px;
    margin: 0 auto;
    width: fit-content;
    font-size: 16px;
    word-break: break-word;
    font-weight: 500;
}
.logout-link {
    margin-top: 10px;
}
.header-user-btn img {
    width: 12px;
    height: 12px;
    display: block;
    max-width: unset;
}
.hidden-dropdown-for-responsive-width {
    height: auto;
    overflow: hidden;
    visibility: hidden;
    z-index: -1;
    position: relative;
    pointer-events: none;
}
.header-menu {
    height: fit-content;
}
.logged-in-dropdown-options a {
    text-decoration: none;
    color: #000000;
    font-size: 16px;
    background-color: #ffffff;
    transition: all 0.5s ease;
    width: fit-content;
    border-bottom: 1px solid transparent;
}
.logged-in-dropdown-options a:hover {
    color: #7D7D7D;
    border-bottom: 1px solid #7D7D7D;
}
.woocommerce-account .woocommerce-MyAccount-content {
    float: unset;
    width: 100%;
}

.crosswords-list-header-section {
    width: 100%;
}
.crosswords-list-header-container {
    max-width: 1340px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    padding: 20px 0;
}
.crosswords-list-section {
    width: 100%;
    margin: 60px 0;
}
.crosswords-list-container {
    max-width: 1340px;
    margin: 0 auto;
    box-sizing: border-box;
}
.crosswords-top-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    box-sizing: border-box;
    gap: 30px;
    margin: 0 0 60px 0;
}
.crosswords-bottom-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    box-sizing: border-box;
    column-gap: 30px;
    row-gap: 60px;
    margin: 60px 0 0 0;
}
.crosswords-list-form {
    display: flex;
    flex-direction: row;
    gap: 20px;
    align-items: flex-end;
    flex-wrap: wrap;
}
.content-header-title {
    color: #000;
    font-family: var(--Font-Inter);
    font-size: 36px;
    line-height: 133%;
    font-style: normal;
    font-weight: 700;
    letter-spacing: 0.5px;
    margin: 0;
    word-wrap: break-word;
}
.filter-choice {
    display: flex;
    flex-direction: column;
}
#filter_order_btn {
    height: fit-content;
    width: fit-content;
    padding: 0;
}
#filter_order_btn img {
    width: 20px;
    height: 20px;
    display: block;
}
.crosswords-list-filter-container {
    margin-left: auto;
    margin-right: auto;
}
.crossword-card-overlay-content {
    inset: 0;
    position: absolute;
    margin: auto;
    width: fit-content;
    height: fit-content;
    display: flex;
    flex-direction: column;
    gap: 20px;
}
.crossword-card-overlay-content span {
    font-size: 16px;
    color: #000000;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
}
.crossword-card-overlay-content span img {
    position: relative;
    width: 17px;
    height: 17px;
    top: unset;
    margin-right: 10px;
    object-fit: contain;
}
.crossword-list-load-more {
    grid-column: span 4;
    margin-top: 24px;
}
.homepage-banner-section {
    /*height: 620px;*/
    position: relative;
}
.banner-container {
    height: 620px;
    height: 454px;
}
.banner-container img.banner {
    height: 100%;
    object-fit: cover;
    /*object-position: 0% 25%;*/
    object-position: center;
}
.banner-container .banner-content {
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
}
.banner-container .banner-content-container {
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    height: 100%;
    flex-direction: column;
    justify-content: center;
    max-width: 500px;
}
.banner-container .banner-content-container.left {
    /*margin-left: 250px;*/
    margin-left: 150px;
    margin-right: auto;
}
.banner-container .banner-content-container.right {
    margin-left: auto;
    /*margin-right: 250px;*/
    margin-right: 150px;
}
.owl-nav {
    margin: 0;
    position: absolute;
    top: calc(50% - 30px);
    width: 100%;
    pointer-events: none;
}
.owl-prev {
    position: absolute;
    top: 0;
    /*left: 80px;*/
    left: 30px;
    pointer-events: auto;
    width: 44px;
    height: 44px;
}
.owl-next {
    position: absolute;
    top: 0;
    /*right: 80px;*/
    right: 30px;
    pointer-events: auto;
    width: 44px;
    height: 44px;
}
.banner-arrow-left {
    display: block;
    position: absolute;
    top: 50%;
    left: 65%;
    transform: translate(-50%, -50%) rotate(45deg);
}
.banner-arrow-right {
    display: block;
    position: absolute;
    top: 50%;
    left: 35%;
    transform: translate(-50%, -50%) rotate(225deg);
}
.banner-arrow-left::before {
    content: "";
    display: block;
    width: 2px;
    height: 30px;
    background-color: #000000;
    top: 2px;
    position: relative;
}
.banner-arrow-left::after {
    content: "";
    display: block;
    height: 2px;
    width: 30px;
    background-color: #000000;
}
.banner-arrow-right::before {
    content: "";
    display: block;
    width: 2px;
    height: 30px;
    background-color: #000000;
    top: 2px;
    position: relative;
}
.banner-arrow-right::after {
    content: "";
    display: block;
    height: 2px;
    width: 30px;
    background-color: #000000;
}
.homepage-free-crosswords-container {
    display: flex;
    flex-direction: column;
    gap: 40px;
    box-sizing: border-box;
    position: relative;
}
.banner-content-container div.banner-title {
    text-align: center;
    /*text-shadow: 0px 0px 25px rgba(0, 0, 0, 0.4);*/
    font-family: var(--Font-Inter);
}
.yellow-button {
    border-radius: 8px;
    padding: 16px 32px;
    background-color: #FDD100;
    text-decoration: none;
    color: #000000;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    font-size: 16px;
    line-height: 16px;
    font-weight: 700;
    transition: all 0.5s ease;
    font-family: var(--Font-Inter);
    border: 0;
    cursor: pointer;
}
.yellow-button:hover {
    background-color: #FFE229B2;
}
.header-subscribe-button {
    padding: 10px 20px;
    margin-right: 16px;
    margin-left: 0;
}
.black-button {
    border-radius: 8px;
    padding: 16px 32px;
    background-color: #000000;
    text-decoration: none;
    color: #FDD100;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    font-size: 16px;
    line-height: 16px;
    font-weight: 700;
    transition: all 0.5s ease;
    font-family: var(--Font-Inter);
    border: 0;
    cursor: pointer;
}
.black-button:hover {
    background-color: #000000B2;
}

.homepage-featured-title {
    text-align: center;
    font-family: var(--Font-Inter);
    font-size: 36px;
    line-height: 133%;
    font-weight: 400;
    margin-bottom: 10px;
}
.homepage-featured-title b, .homepage-featured-title strong {
    font-weight: 700;
}
.homepage-featured-subtitle {
    text-align: center;
    display: block;
    font-family: var(--Font-Inter);
    font-size: 18px;
    line-height: 27.2px;
    font-weight: 400;
    opacity: 0.7;
}
.white-button {
    border-radius: 8px;
    border: 1px solid #000000;
    padding: 16px 48px;
    background-color: #ffffff;
    text-decoration: none;
    color: #000000;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    cursor: pointer;
    font-size: 16px;
    line-height: 16px;
    transition: all 0.5s ease;
    position: relative;
    top: 0;
    font-family: var(--Font-Inter);
    font-weight: 500;
}
.white-button:hover {
    background-color: #FFFBDF;
}
.homepage-more-crosswords {
    margin-top: 40px;
}
.align-center {
    text-align: center;
}
.homepage-free-crosswords-grid.col-3-free {
    /*grid-template-columns: 30% 40% 30%;*/
}
.homepage-free-crosswords-grid.col-2-free {
    /*grid-template-columns: 50% 50%;*/
    grid-template-columns: repeat(2, 1fr);
}
.homepage-free-crosswords-grid.col-1-free {
    /*grid-template-columns: 100%;*/
    grid-template-columns: repeat(1, 1fr);
}
.homepage-free-crossword.small .crossword-card {
    height: auto;
    max-width: 275px;
    width: 100%;
    gap: 20px;
}
.homepage-free-crossword.small {
    display: flex;
    flex-direction: column;
    align-items: center;
    /*justify-content: center;*/
    margin-top: 15.5%;
}
.homepage-free-crossword.big .crossword-card {
    height: auto;
    max-width: 400px;
    width: 100%;
    gap: 20px;
}
.homepage-free-crossword.big {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 340px;
}
.homepage-free-slogan-container * {
    text-align: center !important;
    line-height: 150%;
}
.home-info-text * {
    text-align: center !important;
    line-height: 150%;
}
.info-block-img {
    display: block;
    width: 150px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 23px;
}
.homepage-user-crosswords {
    width: 100%;
    padding: 60px 0 80px;
    border-bottom: 1px solid #D9D9D9;
    position: relative;
}
.homepage-free-crosswords-background {
    background-color: #FFE229;
    opacity: 15%;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.homepage-user-crosswords-background {
    background-color: #FAFAFA;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.homepage-user-crosswords-container {
    display: flex;
    flex-direction: column;
    gap: 40px;
    box-sizing: border-box;
    position: relative;
}
.crossword-card-inprogress {
    border-radius: 8px;
    background-color: #FFE229;
    padding: 8px 16px;
}
.crossword-card-solved {
    border-radius: 8px;
    background-color: #D7D7D7;
    padding: 8px 16px;
}
.crossword-card-solved em.solved{
	font-weight: 500;
	font-size: 14px;
	margin-left: 6px;
	opacity: 0.5;
}
.hidden-dropdown-for-responsive-width .logged-in-dropdown-options {
    height: 0;
    padding-top: 0;
    padding-bottom: 0;
    margin-top: 0;
    border-top: 0;
    border-bottom: 0;
}
.compiler-crossword-container {
    display: block;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    padding: 40px 0;
}
.compiler-crossword-container .CCPuzButtons {
    display: none;
}
.compiler-crossword-container #ristsona_inner .GridSquare p {
    margin-top: 2px !important;
}
.compiler-crossword-container #ristsona_inner .GridSquare {
    display: flex;
    align-items: center;
}
.crossword-middle-notification {
    padding: 11px 12px;
    border: 1px solid #000;
    border-radius: 7px;
    background-color: #ffffff;
    color: #000;
    font-size: 16px;
    line-height: 18px;
    font-weight: 500;
    cursor: default;
    display: flex;
    flex-direction: row;
    align-items: center;
    position: relative;
}
.crossword-middle-notification img.information-bubble {
    width: 14px;
    height: 14px;
    display: block;
    margin: unset;
}
.crossword-middle-notification:hover .crossword-bar-button__hint-container {
    display: block;
}
.crossword-bar-button__hint-container {
    display: none;
    position: absolute;
    max-width: 300px;
    width: 300px;
    left: 50%;
    transform: translateX(-50%);
    top: calc(100% + 6px);
    z-index: 100;
}
#crossword-bottom-container .crossword-bar-button__hint-container {
    left: 0;
    transform: unset;
}
#crossword-bottom-container .crossword-bar-button__hint-container .crossword-bar-button__hint {
    left: -12px;
    transform: unset;
}
.homepage-banner-section .owl-carousel .owl-dots {
    position: relative;
    width: fit-content;
    /*bottom: 15px;*/
    margin: 0 auto;
}
.homepage-banner-section .owl-carousel .owl-dots .owl-dot {
    display: inline-block;
}
.homepage-banner-section .owl-carousel .owl-dots .owl-dot span {
    height: 10px;
    width: 10px;
    box-sizing: border-box;
    background-color: #000000;
    display: block;
    margin: 0 5px;
    border-radius: 50%;
    overflow: hidden;
}
.homepage-banner-section .owl-carousel .owl-dots .owl-dot.active span {
    background-color: #FDD100;
}
.header-right-container {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex: 1;
}
.homepage-featured-crosswords-container .crossword-card-img-container::before {
    /*padding-top: calc((278 / 370) * 100%);*/
}
.crossword-card-category a {
    text-decoration: none;
    color: #000000;
    font-size: 12px;
    line-height: 16.5px;
    font-weight: 400;
    font-family: var(--Font-Inter);
    text-transform: uppercase;
    border-bottom: 1px solid transparent;
    transition: all 0.5s ease;
}
.crossword-card-category a:hover {
    border-bottom: 1px solid #000000;
}
.crossword-card-bottom span {
    font-family: var(--Font-Inter);
    font-weight: 500;
    font-size: 14px;
    line-height: 19.5px;
    color: #000000;
    position: relative;
}
.crossword-card-bottom span a {
    text-decoration: none;
    color: #000000;
}
.crossword-card-content {
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.crossword-card-bottom {
    margin-left: auto;
    margin-right: auto;
}
.crossword-card-category {
    text-align: center;
    display: none;
}
.crossword-card-bottom span:before {
    content: "•";
    height: 0px;
    width: 0px;
    border-radius: 50%;
    background-color: #000000;
    display: block;
    position: absolute;
    left: -13px;
}
.crossword-card-bottom span:first-child::before {
    display: none;
}
.homepage-free-title {
    font-weight: 500;
    font-family: var(--Font-Inter);
    font-size: 28px;
}
.homepage-free-title u {
    text-decoration: none;
    padding-bottom: 2px;
    border-bottom: 4px solid #FDD100;
    font-weight: 700;
}
.homepage-free-title b, .homepage-free-title strong {
    font-weight: 900;
}
.homepage-newest-crosswords-container .crossword-card-title {
    text-align: center;
}
.homepage-free-crosswords-container .crossword-card-title {
    text-align: center;
}
.homepage-free-crossword.big .crossword-card-bottom {
    flex-direction: row;
    gap: 20px;
}
.homepage-free-crossword.small .crossword-card-bottom {
    flex-direction: column;
}
.homepage-free-crossword.small .crossword-card-bottom span:before {
    display: none;
}
.homepage-free-crossword.small .crossword-card-bottom span {
    text-align: center;
}
.homepage-free-slogan-container * {
    font-family: var(--Font-Inter);
    opacity: 0.8;
}
.homepage-user-crosswords-container h2 {
    font-weight: 500;
    font-family: var(--Font-Inter);
    font-size: 28px;
}
.homepage-user-crosswords-container h2 b, .homepage-user-crosswords-container h2 strong {
    font-weight: 700;
}
.home-info-text * {
    font-family: var(--Font-Inter);
    font-size: 18px;
    line-height: 160%;
}
.otgs-development-site-front-end {
    display: none;
}
.flex-1 {
    flex: 1;
}
.footer-copyright-container {
    display: flex;
    flex-direction: column;
    padding-top: 4px;
}
.footer-info-container {
    display: flex;
    flex-direction: column;
}
.footer-info-container a {
    color: #000000;
    text-decoration: none;
    background-color: transparent;
    transition: all 0.5s ease;
    width: fit-content;
    border-bottom: 1px solid transparent;
    padding: 1px 0;
}
.footer-info-container a:hover {
    color: #000000;
    border-bottom: 1px solid #000000;
}
.link-bold {
    font-weight: 700;
}
img.header-crown {
    width: 18px;
    height: 18px;
}
img.header-arrow {
    width: 14px;
    height: 14px;
    transition: all 0.5s ease;
}
.logged-in-dropdown-content.open img.header-arrow {
    transform: rotate(180deg);
}
.homepage-modal {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10000000;
    display: none;
    overflow-y: auto;
}
body.modal-open .homepage-modal {
    display: block;
}
.homepage-modal-background {
    background: #717171;
    opacity: 0.5;
    width: 100%;
    height: 100%;
    position: fixed;
}
.homepage-modal-container {
    max-width: 1040px;
    background-color: #ffffff;
    top: 0;
    position: relative;
    margin: 100px auto;
    pointer-events: auto;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    padding: 50px 0 30px;
    width: 100%;
}
.homepage-modal-outer-container {
    top: 0;
    position: absolute;
    overflow-y: auto;
    width: 100%;
    height: 100%;
    pointer-events: none;
}
body.modal-open {
    overflow-y: hidden;
}
/*
body.modal-open::-webkit-scrollbar {
    visibility: hidden;
}
*/
.homepage-modal-container-left {
    width: 50%;
    box-sizing: border-box;
    margin-left: 40px;
    padding-left: 50px;
    text-align: left;
}
.homepage-modal-container-left *:first-child {
    margin-top: 0;
}
.homepage-modal-container-right {
    width: 50%;
    box-sizing: border-box;
    margin: 0 40px;
    display: flex;
    align-items: center;
}
.subscription-button {
    display: block;
    width: 100%;
    box-sizing: border-box;
    margin-top: 40px;
    margin-left: unset;
    margin-right: unset;
    text-align: center;
}
.homepage-modal-container-left h1, 
.homepage-modal-container-left h2, 
.homepage-modal-container-left h3, 
.homepage-modal-container-left h4,
.homepage-modal-container-left h5,
.homepage-modal-container-left h6 {
    font-family: var(--Font-Inter);
    margin-bottom: 20px;
    margin-top: 30px;
}
.homepage-modal-container-left p,
.homepage-modal-container-left li {
    font-family: var(--Font-Inter);
}
.homepage-modal-container-left p {
    font-size: 20px;
}
.homepage-modal-container-left li {
    font-size: 18px;
}
.homepage-modal-container-left li::marker {
    content: "";
}
.homepage-modal-container-left ul {
    list-style-type: none;
}
.homepage-modal-container-left li::before {
    content: "";
    width: 8px;
    height: 16px;
    border-bottom: 2px solid #FDD100;
    border-right: 2px solid #FDD100;
    transform: rotate(45deg);
    display: block;
    right: calc(100% + 20px);
    top: 8px;
    position: absolute;
}
.homepage-modal-container-left h2 {
    font-size: 36px;
    font-weight: 400;
}
.homepage-modal-container-left h3 {
    font-size: 28px;
    font-weight: 500;
}
.homepage-modal-container .homepage-modal-container-left ul li {
    padding: 6px 0;
    position: relative;
}
.homepage-modal-img {
    display: block;
    width: 100%;
    object-fit: cover;
    object-position: top;
    position: absolute;
    top: 0;
    height: 100%;
}
.homepage-modal-img-container::before {
    content: "";
    display: block;
    width: 100%;
    padding-top: 100%;
}
.homepage-modal-img-container {
    width: 100%;
    max-width: 440px;
    margin: 0 auto;
    overflow: hidden;
    position: relative;
}
.homepage-modal-close {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 22px;
    height: 22px;
    padding: 0;
    margin: 0;
    border: 0;
    background-color: transparent;
    cursor: pointer;
}
.homepage-modal-close img {
    display: block;
    width: 100%;
    height: 100%;
}
.homepage-minigames {
    width: 100%;
    padding: 60px 0 80px;
    border-bottom: 1px solid #D9D9D9;
    position: relative;
    background-color: #ffe22959;
}
.homepage-minigames-container {
    display: flex;
    flex-direction: column;
    gap: 40px;
    box-sizing: border-box;
    position: relative;
}
.homepage-minigames-container h2 {
    font-weight: 500;
    font-family: var(--Font-Inter);
    font-size: 28px;
}
.homepage-minigames-container h2 b,.homepage-minigames-container h2 strong {
    font-weight: 700;
}
.homepage-minigames-flex {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 20px;
    justify-content: center;
}
.homepage-minigames-grid {
    column-gap: 20px;
    row-gap: 40px;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
}
.minigame-card-img-container {
    width: 100%;
    position: relative;
    background-color: #fff;
}
.minigame-card-img-container::before {
    content: "";
    display: block;
    width: 100%;
    padding-top: 100%;
}
.minigame-card {
    flex: 1;
    max-width: 305px;
}
.minigame-card-title {
    margin-top: 20px;
    text-align: center;
    color: #000000;
    font-family: var(--Font-Inter);
    font-weight: 700;
    font-size: 18px;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
}
.minigame-card-link .minigame-card-title {
    border-bottom: 1px solid transparent;
    transition: all 0.5s ease;
}
.minigame-card-link:hover .minigame-card-title {
    border-bottom: 1px solid #000000;
}
.minigame-card-link {
    text-decoration: none;
    display: block;
    width: 100%;
    border: unset;
    background-color: transparent;
    cursor: pointer;
}
.minigame-card-img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 12px;
    border: 1px solid #D9D9D9;
    display: block;
    position: absolute;
    box-sizing: border-box;
    top: 0;
    transition: all 0.5s ease;
}
.minigame-card-link:hover .minigame-card-img {
    border: 1px solid #000000;
}
#home-banner {
    max-width: 1440px;
    width: 100%;
    margin: 0 auto;
}
.banner-container.bottom-banner-container {
    height: 400px;
    position: relative;
}
#home-bottom-banner {
    max-width: 1440px;
    width: 100%;
    margin: 0 auto;
}
#home-bottom-banner .banner-container img.banner {
    height: 100%;
    object-fit: cover;
    width: 100%;
    object-position: top;
}
.footer-outer-container {
    border-top: 1px solid #D9D9D9;
    max-width: 1440px;
    margin: 80px auto 0;
}
.crossword-card-author a .author-name {
    transition: all 0.5s ease;
    opacity: 0.6;
    border-bottom: 1px solid transparent;
}
.crossword-card-author a .author-name::before {
    content: "";
}
.crossword-card-author a:hover .author-name {
    opacity: 1;
    border-bottom: 1px solid #000000;
}
.crossword-card-author a .author-text {
    opacity: 0.6;
}
.crossword-card-date {
    opacity: 0.6;
}
.crossword-card-link img {
    opacity: 1;
    transition: all 0.5s ease;
}
.crossword-card-link:hover img {
    opacity: 0.9;
}
.page-inner-container {
    max-width: 1340px;
    margin-left: auto;
    margin-right: auto;
}
.page-inner-content {
    max-width: 1024px;
}
.swpm-login-widget-form {
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
}

.loader {
    border: 10px solid #f3f3f3;
    border-radius: 50%;
    border-top: 10px solid #FDD100;
    width: 100px;
    height: 100px;
    -webkit-animation: spin 2s linear infinite;
    animation: spin 2s linear infinite;
    margin-left: auto;
    margin-right: auto;
}
@-webkit-keyframes spin {
  0% { -webkit-transform: rotate(0deg); }
  100% { -webkit-transform: rotate(360deg); }
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
.homepage-modal-inner-container {
    display: flex;
    flex-direction: row;
    width: 100%;
}
.homepage-modal-loggedin-text {
    margin: 0 40px;
    text-align: center;
    width: 100%;
    padding: 30px 0 0;
}

.banner-container .banner.desktop {
    display: block;
}
.banner-container .banner.mobile {
    display: none;
}
.mobile-hamburger {
    display: none;
}
#mobile-menu {
    display: none;
}
.main-outer-container {
    max-width: 1340px;
    margin: 0 auto;
}
.crossword-container .wp-admin {
    padding: 1px;
    box-sizing: border-box;
    overflow-x: auto;
    overflow-y: hidden;
    margin: 0 auto;
    max-width: 100%;
    width: 100%;
    min-height: 400px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.crossword-container #crossword_wrap {
    padding-bottom: 30px;
}
.crossword-container #crossword {
    padding-right: 1px;
}
.crosswords-bottom-list .loader-container {
    grid-column: span 4;
    margin-top: 40px;
}
#page-header {
    -webkit-box-shadow: 0px 4px 8px #d9d9d959;
    -moz-box-shadow: 0px 4px 8px #d9d9d959;
    box-shadow: 0px 4px 8px #d9d9d959;
    z-index: 10000;
}
#content-header {
    border-bottom: 1px solid #D9D9D9;
}
#content-header-inner {
    max-width: 1340px;
    margin: 0 auto;
    padding: 40px 0;
}
.crosswords-list-header-top {
    background-color: #FAFAFA;
    border-bottom: 1px solid #D9D9D9;
}
.filter-label {
    font-size: 14px;
    font-weight: 700;
    line-height: 200%;
    display: flex;
}
.filter-choice select {
    min-width: 160px;
    padding: 8px 22px 8px 12px;
    box-sizing: border-box;
    font-size: 16px;
    font-family: var(--Font-Inter);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    border-radius: 8px;
    border-color: #DDDDDD;
}
.filter-choice select:focus {
    outline-color: #d0d0d0;
}
.select-container {
    position: relative;
}
.select-container img {
    position: absolute;
    display: block;
    top: 50%;
    right: 6px;
    transform: translateY(-33%);
    pointer-events: none;
    transition: all 0.5s ease;
}
.select-container.active img {
    transform: translateY(-33%) rotate(180deg);
}
.clear-button {
    border: unset;
    background-color: transparent;
    height: fit-content;
    line-height: 120%;
    font-size: 14px;
    color: #000;
    font-weight: 500;
    border-bottom: 1px solid transparent;
    transition: all 0.5s ease;
    padding: 0;
    cursor: pointer;
    margin: 7px 15px 7px auto;
    text-decoration: none;
}
.clear-button:hover {
    border-bottom: 1px solid #000;
}
.crosswords-bottom-list .crossword-card, .crosswords-top-list .crossword-card {
    gap: 20px;
}
.crosswords-bottom-list .crossword-card-title, .crosswords-top-list .crossword-card-title {
    text-align: center;
}
.crosswords-bottom-list .crossword-card-bottom, .crosswords-top-list .crossword-card-bottom {
    flex-direction: row;
    gap: 20px;
}
#size_dropdown, #status_dropdown, #type_dropdown {
    text-transform: capitalize;
}
.crosswords-not-found {
    grid-column: span 4;
    text-align: center;
    line-height: 200%;
    margin-top: 40px;
}
.crosswords-not-found strong {
    font-size: 18px;
}
.information-bubble {
    width: 14px;
    display: block;
    margin-left: 4px;
    margin-bottom: 10px;
}
option:disabled {
    color: #aaa;
}
#content-header--game {
    background-color: #EFF6FF;
    border-bottom: 1px solid #D9D9D9;
}
#crossword-header-inner {
    max-width: 1340px;
    margin: 0 auto;
    padding: 40px 0;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}
#content-crossword-meta {
    max-width: 55%;
}
.content-crossword-functions {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: flex-end;
    column-gap: 30px;
    row-gap: 20px;
}
button#crossword-start-timer {
    padding: 11px 12px;
    border: 1px solid #000;
    border-radius: 7px;
    background-color: #ffffff;
    color: #000;
    font-size: 16px;
    line-height: 18px;
    font-weight: 500;
    cursor: pointer;
    display: flex;
    flex-direction: row;
    align-items: center;
}
.crossword-time-minutes, .crossword-time-colon, .crossword-time-seconds {
    font-weight: 700;
}
#crossword-pause, #crossword-resume {
    background-color: transparent;
    width: 20px;
    height: 20px;
    border: unset;
    overflow: hidden;
    padding: 0;
    cursor: pointer;
}
#crossword-pause img, #crossword-resume img {
    width: 100%;
    height: 100%;
}
.crossword-bar-button {
    width: 24px;
    height: 24px;
    border: unset;
    padding: 0;
    margin: 0;
    background-color: transparent;
    cursor: pointer;
    position: relative;
}
.crossword-bar-button:disabled img {
    opacity: 0.3;
    cursor: not-allowed;
}
.crossword-bar-button img {
    width: 100%;
    height: 100%;
    display: block;
    opacity: 1;
    transition: all 0.5s ease;
}
.crossword-bar-button:hover img {
    opacity: 0.5;
}
#crossword-start-timer img {
    width: 20px;
    height: 20px;
    display: block;
}
.crossword-bar-button__hint {
    position: relative;
    display: block;
    width: fit-content;
    background-color: #fff;
    padding: 8px 12px;
    font-size: 14px;
    line-height: 18px;
    font-family: var(--Font-Inter);
    border-radius: 7px;
    font-weight: 500;
    top: calc(100% + 6px);
    z-index: 100;
}
.crossword-bar-button__hint.align-start {
    left: 0;
}
.crossword-bar-button__hint.align-center {
    left: 50%;
    transform: translateX(-50%);
}
.crossword-bar-button__hint.align-end {
    margin-left: auto;
}
.crossword-bar-button__hint-container.align-end {
    left: unset;
    right: 0;
    transform: unset;
}
.crossword-bar-button:hover .crossword-bar-button__hint-container {
    display: block;
}
.wp-admin .grid .grid__item--false-input input {
    color: red;
    font-weight: 500;
}
.crossword-modal {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10000000;
    display: block;
    overflow-y: auto;
}
body.modal-open--crossword {
    overflow-y: hidden;
}
.crossword-modal-close {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 22px;
    height: 22px;
    padding: 0;
    margin: 0;
    border: 0;
    background-color: transparent;
    cursor: pointer;
}
.crossword-modal-close img {
    display: block;
    width: 100%;
    height: 100%;
}
.homepage-modal-container-left.align-middle {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.crossword-modal .homepage-modal-container-left h2 {
    font-weight: 700;
}
.crossword-modal.small .homepage-modal-container {
    max-width: 890px;
}
.crossword-modal .homepage-modal-container {
    padding: 50px 0;
}
.homepage-modal-outer-container {
    display: flex;
    flex-direction: column;
}
.homepage-modal-outer-container.align-middle {
    justify-content: center;
}
.crosswords-form-container {
    display: flex;
    flex-direction: column;
    gap: 26px;
    margin-top: 26px;
    font-family: var(--Font-Inter);
}
.crosswords-form-container span {
    font-size: 20px;
	line-height: 28px;
}
.crosswords-form-container label {
    display: flex;
    flex-direction: column;
    gap: 6px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 700;
}
.crosswords-form-container label.CompleteMsg-condition {
    display: block;
    width: fit-content;
}
.crosswords-form-container.CompleteMsg label {
    font-size: 18px;
    font-weight: 600;
}
.crosswords-form-container.CompleteMsg {
    margin-top: 6px;
}
.CompleteMsg-condition-container {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.CompleteMsg-condition-container .CompleteMsg-condition span {
    font-weight: 400;
    font-size: 14px;
    line-height: unset;
}
.CompleteMsg-condition-container .CompleteMsg-condition input {
    margin-left: 1px;
}
.crosswords-form-container.CompleteMsg .yellow-button {
    margin-top: 20px;
}
.crosswords-form-container.CompleteMsg label.CompleteMsg-condition {
    font-size: unset;
}
.CompleteMsg-email {
    margin-top: -12px;
}
.crosswords-form-container.CompleteMsg .yellow-button:disabled {
    background-color: #dadada;
    cursor: not-allowed;
}
.crossword-modal .crosswords-form-container input[type=text], .crossword-modal .crosswords-form-container input[type=email] {
    background-color: #fff;
    border: 1px solid #dddddd;
    border-radius: 7px;
    font-size: 16px;
    line-height: 18px;
    padding: 9px 16px;
}
.crosswords-form-container .yellow-button {
    width: 100%;
}
.crosswords-form-container #details-sent-text {
    font-weight: 500;
    font-size: 20px;
    margin-top: 16px;
}
#crosswords-modal-time {
    font-size: 18px;
}
#crossword-image-authors {
    text-align: right;
    padding-top: 10px;
    padding-right: 5px;
    font-size: 14px;
    font-style: italic;
    margin-left: auto;
}
.compiler-crossword-innercontainer {
    overflow-y: hidden;
    overflow-x: auto;
    max-width: 1340px;
    width: calc(100vw - 60px);
    position: relative;
}
.compiler-crossword-innercontainer #ristsona_inner {
    margin-left: auto;
    margin-right: auto;
}
.filter-info-bubble-container {
    position: relative;
}
.filter-info-bubble-container:hover .crossword-bar-button__hint-container {
    display: block;
}
.pmpro_login_wrap #loginform input, 
.pmpro_member_profile_edit_wrap #member-profile-edit input,
.pmpro_change_password_wrap .pmpro_checkout_box-password .pmpro_change_password-fields input,
#pmpro_billing_address_fields .pmpro_checkout-fields input,
#pmpro_billing_address_fields .pmpro_checkout-fields select,
.pmpro_checkout-fields .pmpro_checkout-field.pmpro_payment-account-number input {
    max-width: 400px;
    width: 100%;
    box-sizing: border-box;
}
.pmpro_member_profile_edit-fields input, 
input#user_login, 
input#user_pass,
.pmpro_change_password_wrap .pmpro_checkout_box-password .pmpro_change_password-fields input,
#pmpro_billing_address_fields .pmpro_checkout-fields input,
#pmpro_billing_address_fields .pmpro_checkout-fields select,
.pmpro_checkout-fields .pmpro_checkout-field input,
.pmpro_checkout-fields .pmpro_checkout-field select {
    font-size: 16px;
    line-height: 1.5;
    padding: 12px;
    border: 1px solid #000;
    border-radius: 8px;
}
.pmpro_login_wrap #loginform label, 
.pmpro_member_profile_edit_wrap #member-profile-edit label,
.pmpro_checkout_box-password .pmpro_change_password-fields label,
#pmpro_billing_address_fields .pmpro_checkout-fields label,
.pmpro_checkout-fields .pmpro_checkout-field label {
    margin-bottom: 10px;
}
.pmpro_change_password_wrap #change-password label,
.pmpro_member_profile_edit_wrap #member-profile-edit label {
	width: 20%;
	display: inline-block;
}
.pmpro_change_password_wrap #change-password input,
.pmpro_member_profile_edit_wrap #member-profile-edit input {
	margin-bottom: 7px;
}
@media screen and (max-width: 768px) {
	.pmpro_change_password_wrap #change-password label,
	.pmpro_member_profile_edit_wrap #member-profile-edit label {
		width: 100%;
		margin-bottom: 2px;
	}
	.pmpro_member_profile_edit_wrap #member-profile-edit input {
		margin-bottom: 10px;
	}
}
.pmpro_login_wrap #loginform input[type=checkbox], 
.pmpro_login_wrap #loginform input[type=submit],
.pmpro_member_profile_edit_wrap #member-profile-edit input[type=submit], 
.pmpro_member_profile_edit_wrap #member-profile-edit input[type=button] {
    max-width: 400px;
    width: unset;
    box-sizing: border-box;
}
.pmpro_login_wrap hr, #member-profile-edit hr {
    max-width: 400px;
    margin: 0 0 20px;
    width: 100%;
    box-sizing: border-box;
}
form.pmpro_form .pmpro_submit {
    margin: 48px 0 0;
}
.pmpro_login_wrap .login-submit #wp-submit, 
.default-page-section .pmpro_btn.pmpro_btn-submit,
.pmpro_btn.pmpro_btn-cancel,
.pmpro_btn.pmpro_btn-submit-checkout {
    border-radius: 8px;
    border: 1px solid #000000;
    padding: 16px 48px;
    background-color: #ffffff;
    text-decoration: none;
    color: #000000;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    cursor: pointer;
    font-size: 16px;
    line-height: 16px;
    transition: all 0.5s ease;
    position: relative;
    top: 0;
    font-family: var(--Font-Inter);
    font-weight: 500;
}
.pmpro_login_wrap .login-submit #wp-submit:hover,
.default-page-section .pmpro_btn.pmpro_btn-submit:hover,
.default-page-section .pmpro_btn.pmpro_btn-cancel:hover,
.pmpro_btn.pmpro_btn-submit-checkout:hover {
    background-color: #FFFBDF;
}
.default-page-section a {
    color: #000000;
    opacity: 0.7;
    transition: all 0.5s ease;
    padding: 1px 0;
    border-bottom: 1px solid transparent;
    text-decoration: none;
    display: inline-block;
}
.default-page-section a:hover {
    opacity: 1;
    border-bottom: 1px solid #000000;
}
.pmpro_logged_in_welcome_wrap, 
.pmpro_login_wrap, 
#pmpro_account, 
.pmpro_member_profile_edit_wrap,
.pmpro_change_password_wrap,
.pmpro_confirmation_wrap,
.pmpro_cancel_wrap .pmpro_form,
.pmpro_invoice_wrap,
.pmpro_table.pmpro_levels_table,
.pmpro_lost_password_wrap {
    margin: 60px 0 80px;
}
#pmpro_account .pmpro_box#pmpro_account-membership {
    border-top: unset;
}
#pmpro_account .pmpro_box {
    padding: 20px 0 60px;
    margin: 0;
    max-width: 1024px;
}
#pmpro_account .pmpro_box:first-of-type {
    padding: 0 0 60px;
    margin: 0;
}
#pmpro_account .pmpro_box:last-of-type {
    padding: 20px 0 0;
    margin: 0;
}
.pmpro_table {
    max-width: 1024px;
}
.pmpro_table td, th {
    padding: 6px 6px;
}
.pmpro_table td {
    text-align: left;
    vertical-align: text-top;
}
.pmpro_table th {
    text-align: left;
    background-color: #EFF6FF;
    vertical-align: text-top;
}
header.default-page {
    background-color: #EFF6FF;
}
.pmpro_table {
    border-collapse: collapse;
}
#pmpro_account #pmpro_account-membership h2, 
#pmpro_account #pmpro_account-invoices h2,
#pmpro_account #pmpro_account-profile h2 {
    margin-bottom: 20px;
}
#pmpro_account-membership .pmpro_actionlinks {
    margin-top: 10px;
}
.pmpro_invoice_wrap .pmpro_actions_nav,
#pmpro_account-invoices .pmpro_actionlinks {
    margin-top: 40px;
}
/*
.default-page-section .pmpro_btn.pmpro_btn-cancel {
    text-decoration: unset;
    padding: 0 0 1px;
    margin: 2px 20px 0px;
    transition: all 0.5s ease;
    border-bottom: 1px solid transparent;
    opacity: 0.7;
    color: #000;
    border-radius: 0;
    font-size: 16px;
    line-height: 16px;
}
*/
/*
.default-page-section .pmpro_btn.pmpro_btn-cancel {
	margin-left: 20px;
}
    */
.default-page-section .pmpro_btn.pmpro_btn-cancel:hover {
    border-bottom: 1px solid black;
    opacity: 1;
}
.pmpro_change_password-field.pmpro_change_password-field-pass1 p.lite {
    max-width: 688px;
}
.pmpro_invoice_wrap.pmpro_invoice_wrap_single {
    max-width: 600px;
}
.pmpro_invoice_wrap.pmpro_invoice_wrap_single a.pmpro_a-print {
    padding: 0px 0px 2px 20px;
}
#pmpro_billing_address_fields hr,
#pmpro_payment_information_fields hr,
.pmpro_form .pmpro_submit hr {
    display: none;
}
#pmpro_form #pmpro_payment_information_fields h2 {
    margin-top: 40px;
}
select#ExpirationMonth {
    margin-right: 4px;
}
select#ExpirationYear {
    margin-left: 4px;
}
.pmpro_invoice_wrap .pmpro_actions_nav-right {
    text-align: left;
}
.pmpro_table tbody th {
    background-color: #fff;
}
.default-page-section a#pmpro_actionlink-change,
.default-page-section a#pmpro_actionlink-profile,
.default-page-section a#pmpro_actionlink-change-password,
.default-page-section a#pmpro_actionlink-logout,
.default-page-section .pmpro_btn.pmpro_btn-select,
.default-page-section .pmpro_btn.disabled {
    border-radius: 8px;
    border: 1px solid #000000;
    padding: 8px 12px;
    background-color: #ffffff;
    text-decoration: none;
    color: #000000;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    cursor: pointer;
    font-size: 16px;
    line-height: 16px;
    transition: all 0.5s ease;
    position: relative;
    top: 0;
    font-family: var(--Font-Inter);
    font-weight: 500;
}
.default-page-section .pmpro_btn.pmpro_btn-select,
.default-page-section .pmpro_btn.disabled {
    width: auto;
    min-height: unset;
}

.default-page-section a#pmpro_actionlink-change:hover,
.default-page-section a#pmpro_actionlink-profile:hover,
.default-page-section a#pmpro_actionlink-change-password:hover,
.default-page-section a#pmpro_actionlink-logout:hover,
.default-page-section .pmpro_btn.pmpro_btn-select:hover,
.default-page-section .pmpro_btn.disabled:hover {
    opacity: 1;
    background-color: #FFFBDF;
}
#pmpro_account-profile .pmpro_actionlinks,
#pmpro_account-membership .pmpro_actionlinks {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    row-gap: 10px;
    column-gap: 10px;
    align-items: center;
}
#pmpro_account-profile .pmpro_actionlinks a,
#pmpro_account-membership .pmpro_actionlinks a {
    margin: 0;
    height: fit-content;
}
.pmpro_lost_password_wrap {
    max-width: 400px;
}
form.pmpro_form#lostpasswordform .pmpro_submit {
    margin: 20px 0 0;
}
.pmpro_lost_password_wrap hr {
    margin: 20px 0;
}
.default-page-section .pmpro_lost_password_wrap p.pmpro_actions_nav {
    justify-content: flex-start;
    gap: 5px;
}
#pmpro_order_list .pmpro_section_title {
	margin-top: 30px;
}
.crossword-area .wp-admin .grid__item--false-input:after {
    content: "";
    width: 138%;
    position: absolute;
    left: -20%;
    background-color: red;
    background-image: unset;
    height: 2px;
    transform: rotate(135deg);
    pointer-events: none;
}
#ristsona_inner #crossword #content-crossword-meta {
    margin-bottom: 20px;
    display: none;
}
#crossword-copyright {
    font-size: 14px;
    font-weight: 500;
    text-align: left;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 20px;
    margin-top: 30px;
    display: none;
}
.compiler-crossword-innercontainer #crossword-copyright,
.compiler-crossword-innercontainer #content-crossword-meta {
    margin-left: auto;
    margin-right: auto;
}
.compiler-crossword-innercontainer #crossword-copyright {
    margin-top: 0px;
}
.compiler-crossword-innercontainer #content-crossword-meta {
    margin-bottom: 20px;
    display: none;
}
#crossword-feedback-link {
    display: block;
    font-size: 14px;
    text-align: center;
}
#crossword-bottom-container #crossword-print {
    margin-right: 10px;
}
.wp-admin #crossword-bottom-container {
    margin-top: 20px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
    padding-bottom: 20px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
}
#crossword-feedback-link a {
    transition: all 0.5s ease;
    border-bottom: 1px solid transparent;
    color: #7D7D7D;
    text-decoration: none;
}
#crossword-feedback-link a:hover {
    border-bottom: 1px solid #000000;
    color: #000000;
}
#free-crossword-subscribe {
    display: block;
    width: min(1340px, calc(100vw - 60px));
    width: 100%;
    max-width: 1340px;
}
.compiler-crossword-container #free-crossword-subscribe {
    max-width: unset;
    margin-top: 10px;
}
#free-crossword-subscribe .yellow-button {
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    display: block;
}
#content-header--game.header-free-crossword {
    background-color: #ffe22926;
}
#crossword-print {
    display: none;
}
.wp-admin #crossword-print {
    display: block;
}
#crossword-bottom-container #crossword-print {
    display: block;
}
#crossword-share {
    display: none;
}
.wp-admin #crossword-share {
    display: block;
}
#crossword-bottom-container #crossword-share {
    display: block;
}
#crossword-manual {
    display: none;
}
#crossword-bottom-container #crossword-manual {
    display: block;
}
.compiler-crossword-container #crossword-bottom-container {
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 30px;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
}
#share-links {
    position: absolute;
    display: flex;
    flex-wrap: nowrap;
    gap: 20px;
    padding: 8px 12px;
    background-color: #fff;
    z-index: 10000;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.5s ease;
    border: 1px solid #000;
    border-radius: 8px;
}
#share-links img {
    width: 24px;
    height: 24px;
    display: block;
}
.share-link {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    text-decoration: none;
}
.share-name-outer {
    display: grid;
    grid-template-columns: 0fr;
    transition: all 0.5s ease;
    margin-left: 0;
}
.share-link:hover .share-name-outer {
    grid-template-columns: 1fr;
    margin-left: 8px;
}
.share-name {
    overflow: hidden;
    white-space: nowrap;
    transition: all 0.5s ease;
    border-bottom: 1px solid transparent;
    color: #7D7D7D;
    text-decoration: none;
}
.share-link:hover .share-name {
    border-bottom: 1px solid #000000;
    color: #000000;
}
.unsubscribed-ribbon {
    background-color: #f8d7da;
    color: #721c24;
    padding: 8px 30px;
    position: relative;
}
.unsubscribed-ribbon.closed {
    display: none;
}
.unsubscribed-ribbon-inner {
    max-width: 1340px;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
}
.unsubscribed-ribbon-inner p {
    margin: 0;
}
#close-unsubscribed-ribbon {
    position: absolute;
    padding: 0;
    right: 12px;
    top: 50%;
    height: 22px;
    width: 22px;
    border: unset;
    background-color: unset;
    cursor: pointer;
    opacity: 1;
    transition: all 0.5s ease;
    transform: translateY(-50%);
}
#close-unsubscribed-ribbon:hover {
    opacity: 0.5;
}
#close-unsubscribed-ribbon svg {
    height: 100%;
    width: 100%;
}
#close-unsubscribed-ribbon svg path {
    stroke: #721c24;
}
.mobile-logged-out-container.unsubscribed-mobile-logged-out {
    margin-bottom: 20px;
}
.mobile-logged-out-container.unsubscribed-mobile-logged-out a {
    display: block;
}
.header-right-container .header-socials-container {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 20px;
}
.multiplayer-modal {
    display: none;
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10000000;
    display: none;
    overflow-y: auto;
}
.multiplayer-modal.open {
    display: block;
}
.multiplayer-modal-background {
    background: #717171;
    opacity: 0.5;
    width: 100%;
    height: 100%;
    position: fixed;
}
.multiplayer-modal-outer-container {
    display: flex;
    flex-direction: column;
    top: 0;
    position: absolute;
    overflow-y: auto;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 1;
}
.multiplayer-modal-outer-container.align-middle {
    justify-content: center;
}
.multiplayer-modal-container {
    max-width: 1040px;
    background-color: #ffffff;
    top: 0;
    position: relative;
    margin: 100px auto;
    pointer-events: auto;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    padding: 50px 60px;
    width: 100%;
    box-sizing: border-box;
}
.multiplayer-color-selection {
    display: flex;
    gap: 20px;
    margin-top: 6px;
}
.multiplayer-color-selection label {
    position: relative;
}
.color-block {
    width: 30px;
    height: 30px;
    border-radius: 6px;
    background-color: #fff;
    box-sizing: border-box;
    cursor: pointer;
    position: relative;
}
.multiplayer-color-selection input {
    opacity: 0;
    pointer-events: none;
    position: absolute;
    pointer-events: none;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin: 0;
}
.multiplayer-color:checked + .color-block {
    border: 2px solid #717171;
}
.color-block.aquamarine-block {
    background-color: aquamarine;
}
.color-block.lightpink-block {
    background-color: lightpink;
}
.color-block.lightskyblue-block {
    background-color: lightskyblue;
}
.color-block.lightsalmon-block {
    background-color: lightsalmon;
}
#multiplayer_playerdata_submit {
    margin-top: 20px;
}
#multiplayer_name {
    display: block;
    margin-top: 6px;
    margin-bottom: 20px;
}
.multiplayer-modal-container .loader-container {
    width: 100%;
}
#multiplayer-modal-link-container {
    display: flex;
    flex-direction: row;
    gap: 20px;
    align-items: center;
}
#multiplayer-modal-link-container span {
    flex: 1;
    display: block;
    border: 1px solid #000;
    border-radius: 8px;
    padding: 6px;
    cursor: pointer;
    word-break: break-all;
}
#multiplayer-modal-link-container span:hover {
    font-weight: 700;
}
#multiplayer-modal-copied {
    width: 100%;
    text-align: center;
    font-weight: 700;
    margin-top: 20px;
}
.multiplayer-modal-close-btn {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 22px;
    height: 22px;
    padding: 0;
    margin: 0;
    border: 0;
    background-color: transparent;
    cursor: pointer;
}
.multiplayer-modal-close-btn img {
    display: block;
    width: 100%;
    height: 100%;
}
#btn-start-solving {
    margin-left: auto;
    margin-right: auto;
    margin-top: 20px;
}
.multiplayer-color:disabled + .color-block {
    opacity: 0.5;
    cursor: not-allowed;
}
.multiplayer-color:disabled + .color-block::before {
    content: "";
    width: 100%;
    height: 1px;
    background-color: #000;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(45deg);
}
.multiplayer-color:disabled + .color-block::after {
    content: "";
    width: 100%;
    height: 1px;
    background-color: #000;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(135deg);
}
#multiplayer-participants {
    margin: 0 0 14px 0;
    display: flex;
    flex-wrap: wrap;
    gap: 6px 10px;
    overflow-x: hidden;
}
#multiplayer-participants span.player {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
}
#multiplayer-participants span.current-player {
    font-weight: 500;
}
#multiplayer-participants span.current-player:before {
    border: 1px solid black;
}
#multiplayer-participants span.player:before {
    content: " ";
    background-color: rgb(255, 238, 0);
    width: 20px;
    min-width: 20px;
    height: 20px;
    border-radius: 6px;
    display: inline-block;
    position: relative;
    /*top: 5px;*/
    margin-right: 4px;
    display: block;
    box-sizing: border-box;
}
#multiplayer-participants span.player.aquamarine::before {
    background-color: aquamarine;
}
#multiplayer-participants span.player.lightpink::before {
    background-color: lightpink;
}
#multiplayer-participants span.player.yellow::before {
    background-color: rgb(255, 238, 0);
}
#multiplayer-participants span.player.lightskyblue::before {
    background-color: lightskyblue;
}
#multiplayer-participants span.player.lightsalmon::before {
    background-color: lightsalmon;
}
.multiplayer-full-msg {
	width: 100%;
	color: red;
	font-weight: 500;
}
/* Multiplayer manual related styles */
.multiplayer-modal-manual {
    display: flex;
    gap: 10px;
    margin: 22px 50px 22px 0;
    align-items: center;
}
.multiplayer-modal-manual a:hover {
    color: #000000;
    opacity: 1;
    border-bottom: 1px solid #000000;
}
.multiplayer-modal-manual a {
    padding: 1px 0;
    text-decoration: none;
    display: block;
    color: #000000;
    opacity: 0.7;
    font-family: var(--Font-Inter);
    background-color: transparent;
    transition: all 0.5s ease;
    border-bottom: 1px solid transparent;
    width: fit-content;
}
.multiplayer-modal-manual img {
    width: 24px;
    height: 24px;
}
.multiplayer-modal-container {
    justify-content: space-between;
}
/* Multiplayer manual end */
.restart_notification-container, .host_notification-container {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10000000;
    overflow-y: auto;
    display: none;
}
.restart_notification-container.show, .host_notification-container.show {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.restart_notification-background, .host_notification-background {
    background: #717171;
    opacity: 0.5;
    width: 100%;
    height: 100%;
    position: fixed;
}
.restart_notification-innercontainer, .host_notification-innercontainer {
    max-width: 1040px;
    background-color: #ffffff;
    top: 0;
    position: relative;
    margin: 100px auto;
    pointer-events: auto;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    padding: 50px 0 50px;
    width: 100%;
}
.host_notification-innercontainer {
    padding: 30px 0;
}
.host_notification-innercontainer.ended {
    padding: 50px 0 50px;
}
.restart_notification-close-btn, .host_notification-close-btn {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 22px;
    height: 22px;
    padding: 0;
    margin: 0;
    border: 0;
    background-color: transparent;
    cursor: pointer;
}
.restart_notification-close-btn img {
    display: block;
    width: 100%;
    height: 100%;
}
#restart_notification, #host_notification {
    box-sizing: border-box;
    margin-left: 40px;
    margin-right: 50px;
    padding-left: 50px;
    text-align: left;
}
.restart_notification-name {
    font-weight: 500;
}
.pmpro_card_content .login-password {
    max-width: 400px;
}
#pmpro_login .pmpro_card_content .login-submit #wp-submit {
    background-color: #fff;
    color: #000;
    border: 1px solid #000;
    font-weight: 500;
}
#pmpro_login .pmpro_card_content .login-submit #wp-submit:hover {
    background-color: #FFFBDF;
    color: #000;
}
.pmpro_form_input.pmpro_form_input-select {
    width: 100%;
}
.pmpro_btn.pmpro_btn-submit-checkout:hover {
    color: #000;
}
.pmpro_btn.pmpro_btn-submit-checkout:focus {
    color: #000;
    background-color: #FFFBDF;
    border: 1px solid #000;
}
.pmpro_change_password-field {
    display: flex;
    flex-direction: column;
}
#pmpro_change_password {
    max-width: 400px;
}
#pmpro_change_password .pmpro_form_fields {
    flex-direction: column;
}
#pmpro_change_password .pmpro_cols-2 {
    flex-direction: column;
}
#pmpro_change_password .pmpro_form_field {
    width: 100%;
}
#pmpro_change_password .pmpro_form_submit {
    flex-direction: column;
}
#pmpro_member_profile_edit {
    max-width: 400px;
}
#pmpro_member_profile_edit .pmpro_cols-2 {
    flex-direction: column;
}
#pmpro_member_profile_edit .pmpro_form_field {
    width: 100%;
}
#pmpro_member_profile_edit .pmpro_form_submit {
    flex-direction: column;
}
#pmpro_member_profile_edit .pmpro_btn-submit-update-profile {
    background-color: #fff;
    color: #000;
    font-weight: 500;
    border: 1px solid #000;
    padding: 16px 48px;
    line-height: 16px;
}
#pmpro_member_profile_edit .pmpro_btn-submit-update-profile:hover,
#pmpro_member_profile_edit .pmpro_btn-submit-update-profile:focus {
    background-color: #FFFBDF;
    border: 1px solid #000;
    color: #000;
}
#pmpro_account-profile {
    margin-top: 60px;
}
.pmpro {
    max-width: 1024px;
}
.pmpro #pmpro_cancel {
    margin-top: 16px;
    max-width: 400px;
}
#home-bottom-banner .banner-container .image-only-banner img.banner {
    object-fit: contain;
    height: auto;
}
.crossword-type-american .wp-admin #crossword_wrap {
    flex-direction: unset;
    justify-content: unset;
}
.crossword-type-american .question_number {
    font-size: 12px;
    font-weight: 500;
}
.crossword-type-american .wp-admin .grid__item INPUT {
    font-size: 24px;
    font-weight: 500;
}
.crossword-type-american .wp-admin .grid__item {
    width: 50px;
    height: 50px;
}
.crossword-type-american .questions_area_inner {
    display: flex;
    gap: 20px;
}
.crossword-type-american .questions_outercontainer {
    flex: 1;
    overflow: hidden;
    min-width: 150px;
    width: 250px;
}
.crossword-type-american .questions_outercontainer h4 {
    margin-top: 0;
    margin-bottom: 20px;
    padding: 10px 0;
    display: flex;
    align-items: center;
}
.crossword-type-american .questions_outercontainer h4 img {
    width: 24px;
    margin-right: 10px;
    margin-left: 6px;
}
.crossword-type-american #questions_title_h3 {
    display: none;
}
.crossword-type-american .questions_outercontainer b {
    font-weight: 500;
    width: 30px;
    min-width: 30px;
    display: inline-block;
    text-align: end;
    margin-right: 10px;
}
.crossword-type-american .questions_outercontainer .question-menu {
    display: flex;
    line-height: 1.5;
    cursor: pointer;
    background-color: transparent;
}
.crossword-type-american .questions_outercontainer .question-menu:hover {
    background-color: rgb(255, 255, 193);
}
.crossword-type-american .questions_innercontainer {
    max-height: 750px;
    overflow-y: auto;
    overflow-x: hidden;
    position: relative;
}
.crossword-type-american .questions_outercontainer h4#questions-titlev img {
    margin-right: 2px;
    margin-left: 14px;
}
#crossword_wrap .questions_innercontainer .question-menu.primary {
    background-color: rgb(255, 238, 0);
    font-weight: 600;
}
#crossword_wrap .questions_innercontainer .question-menu.primary b {
    font-weight: 700;
}
#crossword_wrap .questions_innercontainer .question-menu.secondary {
    background-color: rgb(255, 255, 193);
}
.crossword-type-american #active-question-bar {
    width: calc(100% + 2px);
    margin-left: -1px;
    margin-bottom: 20px;
    background-color: rgb(255, 255, 193);
    padding: 10px;
    display: flex;
    gap: 10px;
    align-items: center;
}
.crossword-type-american #active-question-bar.finished {
    width: 0;
    overflow: hidden;
    padding-left: 0;
    padding-right: 0;
}
.crossword-type-american .bar-arrow {
    width: 24px;
    display: block;
}
.crossword-type-american .bar-arrow.hide {
    display: none;
}
.crossword-type-american #bar-question {
    display: flex;
    font-weight: 600;
}
.crossword-type-american #bar-question b {
    width: 30px;
    margin-right: 10px;
    text-align: end;
    align-self: center;
}
.crossword-type-american .crossword-area .wp-admin {
    flex-direction: row;
}
.crossword-type-american #crossword_wrap {
    gap: 40px;
}
.crossword-type-american .wp-admin #crossword_wrap #crossword {
    margin: 0 0 0 auto;
}
.crossword-type-american .questions_area_outer {
    margin-right: auto;
}
.crossword-type-american .question_number {
    left: 4px;
    top: 4px;
    line-height: 1;
}
.wp-admin #crossword_wrap .questions_innercontainer p.question-menu {
    margin-bottom: 6px;
}
@media screen and (max-width: 1400px) {
    .main-outer-container {
        margin-left: 30px;
        margin-right: 30px;
    }
    .crossword-container {
        margin-left: 30px;
        margin-right: 30px;
    }
    #content-header-inner {
        margin-left: 30px;
        margin-right: 30px;
    }
    .crosswords-list-header-container {
        margin-left: 30px;
        margin-right: 30px;
    }
    .crosswords-list-container {
        margin-left: 30px;
        margin-right: 30px;
    }
    #crossword-header-inner {
        margin-left: 30px;
        margin-right: 30px;
    }
    .compiler-crossword-container {
        margin-left: 30px;
        margin-right: 30px;
    }
    .page-inner-container {
        margin-left: 30px;
        margin-right: 30px;
    }
    .unsubscribed-ribbon-inner {
        padding-right: 30px;
    }
}
@media screen and (max-width: 1100px) {
    .homepage-modal-container {
        margin-left: 20px;
        margin-right: 20px;
        width: calc(100% - 40px);
    }
}
@media screen and (max-width: 1000px) {
    .content-header-title {
        word-break: break-word;
    }
    #mobile-menu {
        display: block;
        overflow-y: auto;
    }
    body.mobile-open {
        overflow-y: hidden;
        position: relative;
    }
    html.mobile-open {
        overflow-y: hidden;
        position: fixed;
    }
    .banner-container .banner.desktop {
        display: none;
    }
    .banner-container .banner.mobile {
        display: block;
    }
    .banner-container .banner-content-container.left {
        margin-left: auto;
        margin-right: auto;
    }
    .banner-container .banner-content-container.right {
        margin-left: auto;
        margin-right: auto;
    }
    .banner-container .banner-content-container {
        justify-content: flex-end;
        padding-bottom: 40px;
        box-sizing: border-box;
    }
    .banner-container {
        height: 450px;
    }
    .homepage-banner-section .owl-carousel .owl-dots {
        margin-top: 30px;
    }
    .owl-prev, .owl-next {
        width: 14px;
        height: 28px;
    }
    .banner-arrow-left {
        left: 80%;
    }
    .banner-arrow-right {
        left: 20%;
    }
    .banner-arrow-left::before,.banner-arrow-right::before {
        width: 1px;
        height: 14px;
        top: 1px;
    }
    .banner-arrow-left::after, .banner-arrow-right::after {
        height: 1px;
        width: 14px;
    }

    .mobile-hamburger {
        display: block;
        margin-left: auto;
    }
    .mobile-hamburger .menu {
        height: 26px;
        width: 38px;
        position: relative;
        margin: auto;
        cursor: pointer;
        transition: .5s;
        display: flex;
        flex-direction: column;
        justify-content: space-around;
    }
    .mobile-hamburger .bar {
        height: 2px;
        width: 40px;
        display: block;
        position: relative;
        background-color: #000000;
        transition: .5s;
    }
    
    body.mobile-open .mobile-hamburger .bar:nth-of-type(1) {
        transform: translateY(9px) rotate(45deg);
    }
    body.mobile-open .mobile-hamburger .bar:nth-of-type(2) {
        opacity: 0;
    }
    body.mobile-open .mobile-hamburger .bar:nth-of-type(3) {
        transform: translateY(-9px) rotate(-45deg);
    }

    .header-container .header-socials-container {
        display: none;
    }
    .header-container .logged-in-dropdown-container {
        display: none;
    }
    .header-container .header-navigation-container {
        display: none;
    }
    .header-container .header-log-in-link {
        display: none;
    }
    .header-container .header-subscribe-button {
        display: none;
    }
    #mobile-menu {
        opacity: 0;
        transition: all 0.5s ease;
        pointer-events: none;
        background-color: #ffffff;
        width: 100%;
        height: calc(100vh - 80px);
        position: fixed;
        z-index: 100000;
        box-sizing: border-box;
    }
    .admin-bar #mobile-menu {
        height: calc(100vh - 80px - 32px);
    }
    body.mobile-open #mobile-menu {
        opacity: 1;
        pointer-events: auto;
    }
    body.mobile-open #page-header {
        position: fixed;
        width: 100vw;
    }
    body.mobile-open #header-padding {
        height: 85px;
    }
    #mobile-menu .header-navigation-container {
        display: flex;
        align-items: unset;
        flex: unset;
        justify-content: unset;
        flex-direction: column;
        margin-bottom: 60px;
        padding-left: 30px;
        padding-right: 30px;
        padding-top: 40px;
    }
    #mobile-menu .header-menu ul {
        flex-direction: column;
        gap: 40px;
    }
    #mobile-menu .header-menu ul li a {
        margin: 0;
        font-size: 26px;
        line-height: 30px;
        padding: 4px 0px;
    }
    #mobile-menu .header-subscribe-button {
        margin-right: unset;
        width: 100%;
        padding: 15px 20px;
        font-size: 20px;
        line-height: 22px;
    }
    #mobile-menu .header-log-in-link {
        display: block;
        width: 100%;
        margin-top: 20px;
        text-align: center;
        font-size: 20px;
        line-height: 20px;
        padding: 15px 20px;
        max-width: 500px;
    }
    #mobile-menu .header-socials-container {
        padding-left: 30px;
        padding-right: 30px;
        padding-bottom: 50px;
        display: flex;
        gap: 20px;
        align-items: center;
    }
    #mobile-menu .header-socials-container a {
        width: fit-content;
    }
    #mobile-menu .header-socials-container img {
        height: 30px;
        margin-top: 30px;
        margin-bottom: 30px;
    }
    .mobile-header-user {
        box-sizing: border-box;
        border: unset;
        padding: 0px 0px 20px 0;
    }
    .mobile-header-user span {
        margin: 0;
        font-size: 26px;
        font-weight: 800;
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
        gap: 12px;
        width: fit-content;
        word-break: break-word;
        align-items: center;
    }
    .mobile-header-user img.header-crown {
        width: 25px;
        height: 25px;
        display: block;
        max-width: unset;
    }
    #mobile-menu .logged-in-dropdown-container {
        max-width: unset;
        z-index: unset;
        padding: 60px 0;
        border-top: 1px solid #d9d9d9;
        border-bottom: 1px solid #d9d9d9;
        background-color: #FAFAFA;
    }
    #mobile-menu .logged-in-dropdown-content {
        position: relative;
        padding-left: 30px;
        padding-right: 30px;
        pointer-events: none;
    }
    body.mobile-open #mobile-menu .logged-in-dropdown-content {
        pointer-events: all;
    }
    #mobile-menu .logged-in-dropdown-options {
        opacity: 1;
        padding: 0;
        border: unset;
        background-color: unset;
        position: relative;
        pointer-events: none;
    }
    body.mobile-open #mobile-menu .logged-in-dropdown-options {
        pointer-events: auto;
        border-radius: 0;
    }
    #mobile-menu .logged-in-dropdown-options a {
        font-size: 20px;
        background-color: unset;
    }
    .mobile-logged-out-container {
        padding-left: 30px;
        padding-right: 30px;
    }
    .crossword-card.hide-mobile {
        display: none;
    }
    .homepage-free-crosswords-grid.col-3 {
        grid-template-columns: repeat(1, 1fr);
        justify-items: center;
    }
    .homepage-featured-title {
        font-size: 26px;
    }
    .homepage-featured-subtitle {
        font-size: 16px;
    }
    .banner-container .banner-content-container {
        width: auto;
        padding-left: 30px;
        padding-right: 30px;
    }
    .banner-container .banner-content-container .black-button {
        width: 100%;
        box-sizing: border-box;
        text-align: center;
    }
    .crossword-card-bottom span {
        font-size: 16px;
        text-align: center;
    }
    .crossword-card-title a {
        font-size: 20px;
    }
    .crossword-card-category a {
        font-size: 14px;
    }
    .crossword-card-bottom span:before {
        content: "";
    }
    .homepage-free-crosswords-grid.centered .crossword-card-bottom {
        flex-direction: column;
        gap: 4px;
    }
    .crossword-card {
        max-width: 420px;
        width: 100%;
    }
    .homepage-free-crosswords-grid.col-4 {
        grid-template-columns: repeat(1, 1fr);
        justify-items: center;
    }
    .homepage-free-crosswords-grid.left .crossword-card-bottom {
        flex-direction: column;
        gap: 4px;
    }
    .homepage-crosswords-categories {
        flex-wrap: wrap;
        justify-content: center;
        gap: 20px 40px;
    }
    .title-with-categories {
        text-align: center;
    }
    .title-with-categories h2 {
        font-size: 26px;
    }
    .homepage-free-crossword.hide-mobile {
        display: none;
    }
    .homepage-free-crosswords-grid {
        grid-template-columns: repeat(1, 1fr) !important;
        justify-items: center;
    }
    .homepage-free-crossword.small .crossword-card, .homepage-free-crossword.big .crossword-card {
        max-width: 420px;
    }
    .homepage-free-crossword.small, .homepage-free-crossword.big {
        max-width: 420px;
        width: 100%;
        margin-top: 0;
    }
    .black-button, .yellow-button, .white-button {
        width: 100%;
        max-width: 500px;
        text-align: center;
        box-sizing: border-box;
        font-size: 20px;
        line-height: 22px;
    }
    .homepage-minigames-flex {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        column-gap: 20px;
        row-gap: 40px;
        justify-items: center;
    }
    .homepage-minigames-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
    }
    .homepage-minigames-container h2 {
        font-size: 26px;
    }
    .minigame-card {
        width: 100%;
    }
    .homepage-user-crosswords-container h2 {
        font-size: 26px;
    }
    .homepage-info-block-container {
        padding: 60px 30px 80px;
    }
    .footer-container {
        flex-direction: column;
        justify-content: space-between;
        align-items: center;
        row-gap: 40px;
    }
    .footer-title {
        text-align: center;
        font-size: 26px;
        line-height: normal;
    }
    .footer-menu ul li a {
        margin-left: auto;
        margin-right: auto;
    }
    .footer-info-container, .footer-copyright-container {
        align-items: center;
        gap: 6px;
    }
    .footer-menu ul li, .footer-copyright-container span, .footer-contact-container span {
        font-size: 18px;
    }
    .banner-container.bottom-banner-container {
        height: 450px;
    }
    .homepage-modal-container {
        margin-top: 20px;
        margin-bottom: 20px;
    }
    .homepage-modal-container-left {
        margin-left: 20px;
        padding-left: 30px;
    }
    .homepage-modal-container-left h2 {
        font-size: 30px;
    }
    .homepage-modal-container-left h3 {
        font-size: 26px;
    }
    .homepage-modal-container-left li {
        font-size: 16px;
    }
    .homepage-free-crossword.big {
        min-width: unset;
    }
    .homepage-free-crossword.big .crossword-card-bottom {
        flex-direction: column;
        gap: 0;
    }
    .crosswords-bottom-list {
        grid-template-columns: repeat(2, 1fr);
    }
    .crossword-list-load-more {
        grid-column: span 2;
    }
    .crosswords-bottom-list .loader-container {
        grid-column: span 2;
    }
    .crosswords-not-found {
        grid-column: span 2;
    }
    .content-crossword-functions {
        flex-direction: column;
        align-items: flex-end;
    }
    #content-crossword-meta {
        max-width: 50%;
    }
    .filter-info-bubble-container .crossword-bar-button__hint-container {
        max-width: 150px;
        right: unset;
        left: 50%;
        transform: translateX(-50%);
    }
    html {
        margin-top: 0 !important;
    }
    #wpadminbar {
        position: sticky;
        top: 0px;
    }
    #page-header {
        /*position: sticky;*/
        top: 0px;
        background-color: #ffffff;
    }
    body.admin-bar #page-header {
        top: 32px;
    }
    .banner-container.bottom-banner-container.image-only-banner-container {
        height: auto;
    }
}
@media print, screen and (max-width: 1000px) {
    .crossword-type-american .wp-admin #crossword_wrap {
        flex-direction: column;
    }
    .crossword-type-american .wp-admin #crossword_wrap #crossword {
        margin: 0 auto;
    }
    .crossword-type-american .questions_area_outer {
        page-break-before: always;
        margin: 0 auto;
        width: 750px;
    }
    .crossword-type-american .questions_area_inner {
        width: calc(100vw - 40px);
        max-width: 100%;
        position: sticky;
        left: 0;
    }
    .crossword-type-american #active-question-bar {
        max-width: calc(100vw - 38px);
        position: sticky;
        left: -1px;
        margin-right: -1px;
    }
    .crossword-type-american #crossword-bottom-container {
        position: sticky;
        left: 0;
        max-width: calc(100vw - 40px) !important;
        margin-left: 0;
    }
    .crossword-type-american .questions_innercontainer {
        max-height: unset;
        overflow-y: unset;
        overflow-x: unset;
    }
}
@media print {
    #crossword_wrap .questions_innercontainer .question-menu.primary,
    #crossword_wrap .questions_innercontainer .question-menu.secondary,
    #crossword_wrap .questions_innercontainer .question-menu:hover {  
        background-color: unset;
    }
    .crossword-type-american #active-question-bar {
        display: none;
    }
    #crossword_wrap .questions_innercontainer .question-menu.primary {
        font-weight: 400;
    }
    #crossword_wrap .questions_innercontainer .question-menu.primary b {
        font-weight: 500;
    }
}
/* American crossword fit all on screen */
@media screen and (max-width: 1000px) {
    .crossword-type-american #active-question-bar {
        max-width: calc(100vw - 2px);
    }
    .crossword-type-american .wp-admin .grid__item {
        width: min(calc((100vw - 8px) / 15), 50px);
        height: min(calc((100vw - 8px) / 15), 50px);
    }
    .crossword-type-american .question_number {
        font-size: min(10px, 2.5vw);
        /*left: min(5px, 0.5vw);*/
        left: 2px;
        top: 2px;
    }
    .crossword-type-american .wp-admin .grid__item INPUT {
        font-size: min(24px, 3vw);
    }
    .crossword-type-american.crossword-container {
        margin-left: auto;
        margin-right: auto;
    }
    .crossword-type-american .questions_area_outer {
        max-width: min(500px, calc(100vw - 20px));
        width: 100%;
    }
    .crossword-type-american .questions_area_inner {
        width: calc(100vw - 8px);
        margin-left: auto;
        margin-right: auto;
    }
    .crossword-type-american .questions_outercontainer .question-menu {
        font-size: 14px;
    }
    .crossword-type-american .wp-admin #crossword_wrap {
        gap: 20px;
    }
    .wp-admin #crossword-bottom-container {
        margin-left: auto;
        justify-content: center;
    }
}
@media screen and (max-width: 640px) {
    .crossword-type-american .question_number {
        display: none;
    }
}

@media screen and (max-width: 860px) {
    .homepage-modal-container-right {
        display: none;
    }
    .homepage-modal-container-left {
        width: 100%;
        margin-right: 40px;
    }
}
@media screen and (max-width: 782px) {
    body.admin-bar #page-header {
        top: 46px;
    }
}
@media screen and (max-width: 768px) {
    #free-crossword-subscribe {
        width: calc(100vw - 40px);
    }
    #free-crossword-subscribe .yellow-button {
        width: 100%;
    }
    #crossword-header-inner {
        flex-direction: column;
    }
    .crossword-date-author {
        flex-direction: column;
    }
    .content-crossword-functions {
        align-items: center;
    }
    .crossword-date-author, .crossword-published-date, .content-header-title {
        text-align: center;
    }
    #content-crossword-meta {
        max-width: unset;
    }
    .crossword-bar-button__hint-container {
        right: unset;
        left: 50%;
        transform: translateX(-50%);
    }
    .pmpro_login_wrap hr, 
    #member-profile-edit hr {
        margin: 0 auto 20px;
    }
    #loginform {
        max-width: 400px;
        margin: 0 auto;
    }
    .pmpro_login_wrap form#loginform input[type=text].input, 
    .pmpro_login_wrap form#loginform input[type=password].input {
        width: 100%;
    }
    .pmpro_login_wrap #loginform input[type=submit] {
        display: initial;    
    }
    .pmpro_login_wrap .pmpro_actions_nav {
        text-align: left;
        max-width: 400px;
        margin: 20px auto;
    }
    .pmpro_lost_password_wrap form#lostpasswordform .pmpro_submit input[type=submit] {
        display: initial;
    }
    .pmpro_invoice_wrap #pmpro_invoices_table td,
    #pmpro_account #pmpro_account-invoices .pmpro_table td {
        vertical-align: top;
    }
    .pmpro_invoice_wrap.pmpro_invoice_wrap_single .pmpro_actions_nav-left {
        text-align: left;
    }
    .pmpro_member_profile_edit_wrap .pmpro_submit input[type=submit],
    .pmpro_change_password_wrap .pmpro_submit input[type=submit] {
        display: initial;
    }
    .pmpro_member_profile_edit_wrap .pmpro_submit input[type=button],
    .pmpro_change_password_wrap .pmpro_submit input[type=button] {
        margin: 20px 0;
        width: fit-content;
    }
    .pmpro_cancel_wrap .pmpro_actionlinks input[type=submit] {
        display: initial;
    }
    .pmpro_cancel_wrap .pmpro_actionlinks .pmpro_btn-cancel {
        width: fit-content;
        margin: 10px 0 0;
    }
    .pmpro_submit #pmpro_submit_span .pmpro_btn.pmpro_btn-submit-checkout {
        width: fit-content;
        display: initial;
    }
    .pmpro_confirmation_wrap .pmpro_actions_nav-right {
        text-align: left;
    }
    .crossword-container {
        padding: 20px 0 40px;
        margin-left: 20px;
        margin-right: 20px;
    }
    .crossword-card-content {
        gap: 8px;
    }
    .crosswords-bottom-list .crossword-card, .crosswords-top-list .crossword-card {
        gap: 12px;
    }
    .crosswords-bottom-list {
        row-gap: 48px;
    }
    .crossword-list-load-more {
        margin-top: 12px;
    }
    .page-inner-container {
        margin-left: 30px;
        margin-right: 30px;
    }
    .pmpro div.pmpro_card_content {
        padding: 12px;
    }
    #pmpro_order_single .pmpro_card_title {
        padding: 12px;
        font-size: 24px;
    }
    #pmpro_order_single .pmpro_card_actions {
        padding: 12px;
    }
    .crossword-section .crossword-bar-button:hover .crossword-bar-button__hint-container {
        display: none;
    }
}

@media screen and (max-width: 486px) {
    .crosswords-bottom-list {
        grid-template-columns: repeat(1, 1fr);
        justify-items: center;
    }
    .crossword-list-load-more {
        grid-column: span 1;
    }
    .crosswords-bottom-list .loader-container {
        grid-column: span 1;
    }
    .crosswords-not-found {
        grid-column: span 1;
    }
}

@media print {
    body {
        visibility: hidden;
    }
    #ristsona_inner #crossword #content-crossword-meta {
        display: block;
    }
    .compiler-crossword-innercontainer #content-crossword-meta {
        display: block;
    }
    #crossword-copyright {
        display: flex;
    }
    #crossword-feedback-link {
        display: none;
    }
    .scandinavian-crossword-container #ristsona_inner {
        visibility: visible;
        position: absolute;
        left: 50%;
        top: 0;
        transform: translateX(-50%);
    }
    .scandinavian-crossword-container #ristsona_inner .wp-admin {
        min-height: unset;
    }
    .compiler-crossword-innercontainer {
        visibility: visible;
        position: absolute;
        left: 50%;
        top: 0;
        transform: translateX(-50%);
    }
    .crossword-container #crossword_wrap {
        padding-bottom: 0px;
    }
    #crossword-image-authors {
        top: unset;
        left: unset;
        transform: unset;
    }
    #free-crossword-subscribe {
        display: none;
    }
    .wp-admin #crossword-bottom-container {
        display: none;
    }
    #share-links {
        display: none;
    }
}

/* Contact page styles by Ramil in NUTI-155 */
.contact-page .horizontal-block-1, .contact-page .horizontal-block-2 {
    display: flex;
    justify-content: space-between;
    padding: 20px 0;
  }
  
  .contact-page .info-block:last-child {
    margin-right: 0;
  }
  
  .contact-page .info-block-2 {
    flex: 1;
  }
  /* CSS Media Query для экранов с максимальной шириной 768px */
  @media (max-width: 768px) {
    .contact-page .horizontal-block-1, .contact-page .horizontal-block-2 {
        flex-direction: column; /* Ставит колонки друг под другом */
        padding:0%
    }
  }
  
  .contact-page .bold-text {
    font-weight: bold;
  }

.pmpro_error.invisible {
    opacity: 0;
}
.pmpro_error.fadein {
    -webkit-animation: fadein 1s linear;
    animation: fadein 1s linear;
}

@-webkit-keyframes fadein {
    0% { opacity: 0; }
    30% { opacity: 0; }
    100% { opacity: 1; }
}

@keyframes fadein {
    0% { opacity: 0; }
    30% { opacity: 0; }
    100% { opacity: 1; }
}

@media screen and (max-width: 486px) {
    .filter-choice select {
        min-width: 130px;
        width: 100%;
    }
    .filter-choice {
        width: calc(50% - 10px);
    }
    .crosswords-list-form {
        gap: 20px 10px;
    }
}

@media screen and (max-width: 375px) {
    .filter-choice {
        width: 100%;
    }
}
#content-header--game.header-user-crossword {
    background-color: #ffeffc;
}

.crosswords-list-container .crossword_count-container {
    display: flex;
    gap: 5px;
    align-items: center;
}
.crosswords-list-container .crossword_count {
    display: inline-block;
}
.crosswords-list-container .crossword_count .loader-container {
    width: 23px;
    height: 23px;
}
.crosswords-list-container .crossword_count .loader {
    height: 23px;
    width: 23px;
    border-width: 4px;
    box-sizing: border-box;
}

@media screen and (max-width: 1000px) {
    #active-question-bar.finished {
        display: none;
    }
}
.ratings-container, .ratings-container .stars {
    display: flex;
    margin: 0 auto;
    align-items: center;
}
.ratings-container .star.rated .empty_star {
    display: none;
}
.ratings-container .star.rated .full_star {
    display: block;
}
.ratings-container .star .empty_star {
    display: block;
}
.ratings-container .star .full_star {
    display: none;
}
.ratings-container .star.hover .empty_star {
    display: none !important;
}
.ratings-container .star.hover .full_star {
    display: block !important;
}
.ratings-container .stars.hover .star.rated .full_star {
    display: none;
}
.ratings-container .stars.hover .star.rated .empty_star {
    display: block;
}
.ratings-container .star:hover {
    cursor: pointer;
}
.ratings-container {
    position: relative;
    width: fit-content;
}
.ratings-container .ratings-text {
    font-weight: 500;
    margin-bottom: 5px;
}
#free-crossword-subscribe {
    margin: 0 auto;
}
.crossword-type-scandinavian #crossword-bottom-container {
    max-width: 1040px;
    width: calc(100vw - 40px);
    position: sticky;
    left: 0;
    margin-left: 0;
    margin-right: 0;
}
.crossword-type-scandinavian.skandi-zoomed #crossword-bottom-container {
    margin-left: auto;
    margin-right: auto;
}
.crossword-type-scandinavian #free-crossword-subscribe,
.compiler-crossword-container #free-crossword-subscribe,
.crossword-type-american #free-crossword-subscribe {
    margin-top: 60px;
}
.crossword-container.crossword-type-scandinavian,
.crossword-container.crossword-type-american {
    gap: 0;
}
.ratings-container.disabled .star {
    opacity: 0.3;
    cursor: not-allowed;
}
.ratings-container.disabled .crossword-bar-button__hint-container {
    opacity: 0.4;
}
.ratings-container:hover .crossword-bar-button__hint-container {
    display: block;
}
.crossword-type-american #crossword-bottom-outer_container {
    width: calc(100vw - 40px);
    margin-left: auto;
    margin-right: auto;
}
.ratings-container {
    flex-direction: column;
    align-items: center;
}
@media screen and (max-width: 1000px) {
    .ratings-container {
        margin-top: 30px;
    }
}

.compiler-modal {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10000000;
    display: none;
    overflow-y: auto;
}
.compiler-modal.open {
    display: block;
}
.compiler-modal-close {
    position: absolute;
    top: 20px;
    right: 20px;
    width: 22px;
    height: 22px;
    padding: 0;
    margin: 0;
    border: 0;
    background-color: transparent;
    cursor: pointer;
}
.compiler-modal-img {
    display: block;
    width: 100%;
    object-fit: cover;
    object-position: top;
    position: absolute;
    top: 0;
    height: 100%;
    transform: rotate(180deg);
}
.compiler-modal .homepage-modal-img-container {
    max-width: 220px;
}
.compiler-modal .homepage-modal-container-right {
    width: 25%;
    margin-left: 80px;
}
.compiler-modal .homepage-modal-container {
    padding: 70px 0;
}
.compiler-modal .homepage-modal-container-left *:last-child {
    margin-bottom: 0;
}

@media screen and (max-width: 860px) {
    .crosswords-form-container.CompleteMsg .yellow-button {
        font-size: 18px;
        padding: 8px 32px;
    }
    .crosswords-form-container span.crossword-form-description {
        font-size: 18px;
    }
    .crosswords-form-container.CompleteMsg label {
        font-size: 16px;
    }
}
/* Hide date on featured and free block */
.homepage-featured-crosswords .crossword-card-date,
.homepage-free-crosswords .crossword-card-date {
	display: none;
}
