@font-face {
    font-family: 'Antonio';
    font-style: normal;
    font-weight: 100 700;
    font-display: swap;
    src: url(../fonts/Antonio/Antonio.woff2) format('woff2')
}

@font-face {
    font-family: 'Rubik';
    font-style: normal;
    font-weight: 300 900;
    font-display: swap;
    src: url(../fonts/Rubik/Rubik.woff2) format('woff2')
}

@font-face {
    font-family: 'Rubik';
    font-style: italic;
    font-weight: 300 900;
    font-display: swap;
    src: url(../fonts/Rubik/Rubik-Italic.woff2) format('woff2')
}

html {
    -webkit-text-size-adjust: 100%;
    line-height: 1.15
}

body {
    margin: 0
}

main {
    display: block
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

hr {
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    height: 0;
    overflow: visible
}

pre {
    font-family: monospace, monospace;
    font-size: 1em
}

a {
    background-color: transparent
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    -webkit-text-decoration: underline dotted;
    text-decoration: underline dotted
}

b,
strong {
    font-weight: bolder
}

code,
kbd,
samp {
    font-family: monospace, monospace;
    font-size: 1em
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

img {
    border-style: none
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0
}

button,
input {
    overflow: visible
}

button,
select {
    text-transform: none
}

[type=button],
[type=reset],
[type=submit],
button {
    -webkit-appearance: button
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
    border-style: none;
    padding: 0
}

[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring {
    outline: 1px dotted ButtonText
}

fieldset {
    padding: .35em .75em .625em
}

legend {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal
}

progress {
    vertical-align: baseline
}

textarea {
    overflow: auto
}

[type=checkbox],
[type=radio] {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

details {
    display: block
}

summary {
    display: list-item
}

[hidden],
template {
    display: none
}

:root {
    --body-font-family: "Rubik", system-ui;
    --title-font-family: "Antonio", system-ui;
    --body-font-size: 18px;
    --color-body: #1b2459;
    --color-background: #fff;
    --color-light-grey: #fafafa;
    --color-grey: #f1f3f6;
    --color-primary: #d9483f;
    --color-primary-hover: #de3935;
    --max-width: 420px;
    --gap: 24px
}

@media screen and (min-width: 768px) {
    :root {
        --max-width: 768px
    }
}

@media screen and (min-width: 1200px) {
    :root {
        --max-width: 1240px;
        --gap: 40px
    }
}

body {
    background: var(--color-background);
    color: var(--color-body);
    font-family: var(--body-font-family);
    font-size: var(--body-font-size);
    line-height: 1.3
}

* {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

button {
    all: unset;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    cursor: pointer
}

p {
    margin: 0 0 1em
}

@layer {
    a:not([class]) {
        color: var(--color-body);
        text-decoration: underline;
        transition: color .2s
    }

    a:not([class]):hover {
        color: var(--color-primary-hover)
    }
}

:last-child:is(p) {
    margin-bottom: 0
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--title-font-family);
    margin: 0 0 .5em
}

.container {
    margin-left: auto;
    margin-right: auto;
    max-width: var(--max-width);
    padding-left: 20px;
    padding-right: 20px;
    width: 100%
}

.section {
    --space: 48px;
    margin-bottom: var(--space);
    margin-top: var(--space)
}

@media screen and (min-width: 768px) {
    .section {
        --space: 64px
    }
}

@media screen and (min-width: 1200px) {
    .section {
        --space: 82px
    }
}

.sectionTitle {
    margin-bottom: 24px
}

@media screen and (min-width: 768px) {
    .sectionTitle {
        margin-bottom: 32px
    }
}

h1 {
    font-size: 42px;
    text-transform: uppercase
}

h2 {
    font-size: 28px;
    margin-bottom: 24px
}

h3 {
    font-size: 24px
}

h4 {
    font-family: var(--body-font-family);
    font-size: 20px
}

@media screen and (min-width: 768px) {
    h1 {
        font-size: 52px
    }

    h2 {
        font-size: 38px
    }

    h3 {
        font-size: 32px
    }

    h4 {
        font-size: 22px
    }
}

@media screen and (min-width: 1200px) {
    h1 {
        font-size: 92px
    }

    h2 {
        font-size: 48px
    }

    h3 {
        font-size: 38px
    }

    h4 {
        font-size: 24px
    }
}

.textCenter {
    text-align: center
}

.button {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    all: unset;
    align-items: center;
    background: -webkit-gradient(linear, right top, left top, from(#d9483f), to(#c54893)), -webkit-gradient(linear, left bottom, left top, from(#d9483f), to(#d9483f)), -webkit-gradient(linear, left bottom, left top, from(#b903a7), to(#b903a7)), #0c0c0e;
    background: linear-gradient(270deg, #d9483f, #c54893), linear-gradient(0deg, #d9483f, #d9483f), linear-gradient(0deg, #b903a7, #b903a7), #0c0c0e;
    border-radius: 54px;
    -webkit-box-shadow: 0 2px 0 #c2342b;
    box-shadow: 0 2px 0 #c2342b;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    color: var(--color-background);
    cursor: pointer;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    font-size: 16px;
    font-weight: 500;
    gap: 8px;
    justify-content: center;
    line-height: 19px;
    padding: 12px 24px;
    text-align: center
}

.button:hover {
    background: -webkit-gradient(linear, right top, left top, from(#e13b31), to(#ca3d91));
    background: linear-gradient(270deg, #e13b31, #ca3d91)
}

.button.expanded {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%
}

.button.hollow {
    background: none;
    border: 2px solid var(--color-primary);
    -webkit-box-shadow: none;
    box-shadow: none;
    color: var(--color-primary)
}

.button.hollow:hover {
    border: 2px solid var(--color-primary-hover);
    color: var(--color-primary-hover)
}

.button.hollow.white {
    border-color: var(--color-background);
    color: var(--color-background)
}

.header {
    background: var(--color-primary);
    position: sticky;
    top: 0;
    z-index: 99
}

.header:after {
    border-bottom: 1px solid hsla(0, 0%, 100%, .3);
    content: "";
    left: 50%;
    max-width: calc(100% - 40px);
    position: absolute;
    top: 100%;
    transform: translateX(-50%);
    transition: width .2s;
    width: calc(var(--max-width) - 40px)
}

.header.js-sticky:after {
    max-width: 100%;
    width: 100%
}

.headerCont {
    align-items: center;
    display: flex;
    justify-content: space-between;
    padding-bottom: 24px;
    padding-top: 24px;
    position: relative
}

.headerLogo {
    display: flex;
    position: relative;
    z-index: 1
}

.headerToggle {
    display: flex;
    position: relative;
    z-index: 1
}

.headerToggle svg {
    fill: var(--color-background)
}

.headerToggle .svg-close,
.header.js-expanded .headerToggle .svg-menu {
    display: none
}

.header.js-expanded .headerToggle .svg-close {
    display: block;
    margin: 6px
}

.headerNav {
    background: var(--color-primary);
    bottom: 0;
    display: none;
    left: 0;
    overflow: auto;
    padding: 100px 20px 32px;
    position: fixed;
    right: 0;
    top: 0
}

.header.js-expanded .headerNav {
    display: block
}

.headerMenu {
    list-style: none;
    margin: 0 auto;
    max-width: calc(var(--max-width) - 40px);
    padding: 0
}

.headerMenu>li {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between
}

.headerMenu>li>a {
    color: var(--color-background);
    flex: 1;
    font-size: 24px;
    font-weight: 500;
    line-height: 28px;
    padding: 8px 0;
    text-decoration: none
}

.headerSubToggle {
    display: flex;
    padding: 10px 0 10px 24px
}

.headerSubToggle:before {
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 7 0 0h12L6 7Z' fill='%23FADFD9'/%3E%3C/svg%3E");
    content: "";
    height: 7px;
    transition: transform .2s;
    width: 12px
}

.headerMenu>li.js-expanded>.headerSubToggle:before {
    transform: rotateX(180deg)
}

.headerMenu .sub-menu {
    display: none;
    list-style: none;
    margin: 0;
    padding: 8px 0 26px;
    width: 100%
}

.headerMenu>li.js-expanded>.sub-menu {
    display: block
}

.headerMenu .sub-menu>li:not(:last-child) {
    margin-bottom: 14px
}

.headerMenu .sub-menu a {
    color: #fadfd9;
    font-size: 18px;
    line-height: 21px;
    text-decoration: none
}

.headerMenu .sub-menu a:hover {
    color: var(--color-background)
}

@media screen and (min-width: 1200px) {
    .headerToggle,
    .headerSubToggle {
        display: none
    }

    .headerNav {
        background: none;
        display: block;
        overflow: visible;
        padding: 0;
        position: static
    }

    .headerMenu {
        align-items: center;
        display: flex;
        font-size: 14px;
        gap: 45px;
        margin: 0;
        max-width: none;
        position: relative;
        z-index: 2
    }

    .headerMenu>li {
        display: block;
        position: relative
    }

    .headerMenu>li>a {
        align-items: center;
        display: flex;
        font-size: inherit;
        gap: 8px;
        line-height: normal;
        padding: 6px 0
    }

    .headerMenu>li.menu-item-has-children>a:after {
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='7' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 7 0 0h12L6 7Z' fill='%23FFF'/%3E%3C/svg%3E");
        content: "";
        height: 7px;
        margin-top: -2px;
        opacity: .8;
        transition: all .2s;
        width: 12px
    }

    .headerMenu>li.menu-item-has-children:hover>a:after,
    .headerMenu>li.menu-item-has-children:focus-within>a:after {
        opacity: 1;
        transform: rotateX(180deg)
    }

    .headerMenu .sub-menu {
        background: var(--color-background);
        border-radius: 12px;
        box-shadow: 1px 2px 30px hsla(210, 2%, 68%, .5);
        left: 0;
        min-width: 200px;
        padding: 8px 0;
        position: absolute;
        top: 100%;
        width: auto
    }

    .headerMenu>li:last-child>.sub-menu {
        left: unset;
        right: 0
    }

    .headerMenu>li.js-expanded>.sub-menu {
        display: none
    }

    .headerMenu>li:hover>.sub-menu,
    .headerMenu>li:focus-within>.sub-menu {
        display: block
    }

    .headerMenu .sub-menu>li:not(:last-child) {
        margin-bottom: 0
    }

    .headerMenu .sub-menu a {
        color: var(--color-primary);
        display: block;
        font-size: inherit;
        line-height: inherit;
        padding: 5px 8px
    }

    .headerMenu .sub-menu a:hover {
        color: var(--color-primary-hover)
    }
}

.hh {
    background-color: var(--color-primary);
    background-image: url(../wp-content/themes/topca/library/assets/img/home-hero-mobile.png), url(../wp-content/themes/topca/library/assets/img/wave-1.png);
    background-position: bottom 15px center, bottom -86px center;
    background-repeat: no-repeat;
    color: var(--color-background);
    overflow: hidden;
    padding: 34px 0 180px;
    position: relative;
    text-align: center
}

@media only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and (min-device-pixel-ratio:2),
only screen and (min-resolution:192dpi),
only screen and (min-resolution:2dppx) {
    .hh {
        background-image: url(../wp-content/themes/topca/library/assets/img/home-hero-mobile@2x.png);
        background-size: 450px auto
    }
}

@media screen and (min-width: 768px) {
    .hh {
        background-color: var(--color-primary);
        background-image: url(../wp-content/themes/topca/library/assets/img/home-hero-tablet.png), url(../wp-content/themes/topca/library/assets/img/wave-1.png), url(../wp-content/themes/topca/library/assets/img/hh-tree-l.svg), url(../wp-content/themes/topca/library/assets/img/hh-tree-r.svg);
        background-position: bottom, bottom, left 0 bottom 240px, right 0 bottom 240px;
        padding: 52px 0 250px
    }
}

@media only screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio:2),
only screen and (min-width:768px) and (min-device-pixel-ratio:2),
only screen and (min-width:768px) and (min-resolution:192dpi),
only screen and (min-width:768px) and (min-resolution:2dppx) {
    .hh {
        background-color: var(--color-primary);
        background-image: url(../wp-content/themes/topca/library/assets/img/home-hero-tablet@2x.png), url(../wp-content/themes/topca/library/assets/img/wave-1@2x.png), url(../wp-content/themes/topca/library/assets/img/hh-tree-l.svg), url(../wp-content/themes/topca/library/assets/img/hh-tree-r.svg);
        background-size: 740px auto, 1200px auto, auto, auto
    }
}

@media screen and (min-width: 1200px) {
    .hh {
        padding: 72px 0 250px
    }
}

.hh:after {
    background: var(--color-grey);
    border-radius: 100%;
    bottom: 0;
    content: "";
    height: 140px;
    left: 50%;
    position: absolute;
    -webkit-transform: translate(-50%, 75%);
    transform: translate(-50%, 75%);
    width: 150%
}

@media screen and (min-width: 768px) {
    .hh:after {
        height: 178px;
        width: 120%
    }
}

.hhDesc {
    font-size: 14px;
    margin: auto
}

@media screen and (min-width: 1200px) {
    .hhDesc {
        max-width: 800px
    }
}

.homeTop {
    background: var(--color-grey);
    padding-bottom: 42px;
    padding-top: 24px
}

@media screen and (min-width: 1200px) {
    .homeTop {
        padding-bottom: 82px
    }
}

.homeTopTtl {
    margin-bottom: 24px
}

@media screen and (min-width: 1200px) {
    .homeTopTtl {
        margin-bottom: 65px
    }
}

.casTbl {
    border-collapse: separate;
    border-spacing: 0 8px;
    width: 100%
}

@layer {
    .casTbl td {
        background: var(--color-background)
    }
}

@media screen and (max-width: 1199px) {
    .casTbl {
        all: unset;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        max-width: 100%;
        width: 100%
    }

    .casTbl tbody {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        all: unset;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 8px
    }

    .casTblItm {
        all: unset;
        background: var(--color-background);
        border-radius: 12px;
        -webkit-box-shadow: 0 2px 0 rgba(205, 209, 216, .5);
        box-shadow: 0 2px 0 rgba(205, 209, 216, .5);
        display: grid;
        overflow: hidden
    }

    .casTblItm>td {
        min-width: 0
    }
}

@media screen and (min-width: 768px) and (max-width:1199px) {
    .casTblItm {
        grid-template-columns: 4fr 5fr 6fr
    }
}

@media screen and (max-width: 767px) {
    .casTblItm {
        grid-template-columns: 4fr 5fr
    }
}

@media screen and (min-width: 1200px) {
    .casTblItm {
        height: 1px
    }
}

.casTblItm>td {
    margin: 0;
    padding: 0
}

@media screen and (min-width: 1200px) {
    .casTblItm>td {
        border-bottom: 2px solid rgba(205, 209, 216, .5);
        height: inherit
    }

    .casTblItm>td:not(:first-child) {
        padding: 16px 0
    }

    .casTblItm>td:not(:first-child)>div {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        border-right: 1px solid #e8e8e8;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
        flex-direction: column;
        height: 100%;
        justify-content: center;
        padding: 0 24px
    }

    .casTblItm>td:first-child {
        border-radius: 12px 0 0 12px
    }

    .casTblItm>td:last-child {
        border-radius: 0 12px 12px 0
    }

    .casTblItm>td:last-child>div {
        border-right: 0
    }
}

.casTblItm>td>div {
    position: relative
}

.casTblItmMeta {
    background: #f9f9fa
}

@media screen and (max-width: 767px) {
    .casTblItmMeta {
        grid-area: 1/1/4/2
    }
}

@media screen and (min-width: 768px) and (max-width:1199px) {
    .casTblItmMeta {
        grid-row: span 3
    }
}

@media screen and (min-width: 1200px) {
    .casTblItmMeta {
        width: 283px
    }
}

.casTblItmMeta>div {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 14px;
    height: 100%;
    justify-content: flex-start;
    padding: 24px 10px;
    position: relative;
    text-align: center
}

@media screen and (min-width: 1200px) {
    .casTblItmMeta>div {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        gap: 16px;
        padding: 24px 16px 24px 41px;
        text-align: left
    }
}

.casTblItmMetaLogo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.casTblItmMetaLogo>img {
    border-radius: 50%;
    gap: 14px
}

.casTblItmMetaPos,
.casTblItmMetaTtl {
    font-size: 18px;
    font-weight: 600;
    line-height: 21px
}

.casTblItmMetaTtl a {
    color: inherit;
    text-decoration: none
}

.casTblItmMetaTtl a:hover {
    color: var(--color-primary)
}

.casTblItmMetaPos {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    align-items: center;
    background: -webkit-gradient(linear, left bottom, left top, from(#e3656d), to(#e3656d)), -webkit-gradient(linear, right top, left top, from(#d9483f), to(#c54893));
    background: linear-gradient(0deg, #e3656d, #e3656d), linear-gradient(270deg, #d9483f, #c54893);
    border: 2px solid #ff918a;
    border-radius: 54px;
    color: var(--color-background);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 34px;
    justify-content: center;
    left: 10px;
    position: absolute;
    top: 10px;
    width: 34px
}

@media screen and (min-width: 1200px) {
    .casTblItmMetaPos {
        left: 6px;
        top: 9px
    }
}

.casTblItmMetaPos.primary {
    background: -webkit-gradient(linear, right top, left top, from(#d9483f), to(#c54893));
    background: linear-gradient(270deg, #d9483f, #c54893)
}

@media screen and (max-width: 1199px) {
    .casTblItmBon>div {
        padding: 24px 10px 10px
    }

    .casTblItmGame>div {
        padding: 10px
    }

    .casTblItmGame>div:after,
    .casTblItmGame>div:before {
        border-bottom: 1px solid #e8e8e8;
        content: "";
        left: 50%;
        position: absolute;
        top: 0;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        width: 97px
    }

    .casTblItmGame>div:after {
        bottom: 0;
        top: unset
    }
}

@media screen and (max-width: 767px) {
    .casTblItmPay {
        grid-area: 4/1/5/3
    }

    .casTblItmPay>div {
        padding: 24px 20px 0
    }
}

@media screen and (min-width: 768px) and (max-width:1199px) {
    .casTblItmPay {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
        flex-direction: column;
        grid-area: 1/3;
        position: relative
    }

    .casTblItmPay:after {
        border-left: 1px solid #e8e8e8;
        bottom: 0;
        content: "";
        position: absolute;
        top: 10px
    }

    .casTblItmPay>div {
        margin-top: auto;
        padding: 24px 10px
    }
}

@media screen and (max-width: 1199px) {
    .casTblItmDep>div {
        padding: 10px 10px 24px
    }
}

@media screen and (max-width: 767px) {
    .casTblItmAct {
        grid-column: span 2
    }

    .casTblItmAct>div {
        padding: 24px
    }
}

@media screen and (min-width: 768px) and (max-width:1199px) {
    .casTblItmAct {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
        flex-direction: column;
        grid-area: 2/3/span 2;
        position: relative
    }

    .casTblItmAct>div {
        margin: auto 0;
        padding: 0 10px 24px
    }

    .casTblItmAct>div .button {
        margin: auto;
        max-width: 180px
    }

    .casTblItmAct:after {
        border-left: 1px solid #e8e8e8;
        bottom: 10px;
        content: "";
        position: absolute;
        top: 0
    }
}

.casTblItmAct .button {
    white-space: nowrap
}

.casTblItmAct>div {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 8px
}

.casTblItmTtl {
    font-weight: 600
}

.casTblItmTtl,
.casTblItmVal {
    text-align: center
}

.payList {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    align-items: center;
    justify-content: center;
    list-style: none;
    margin: 0;
    padding: 0
}

.payList,
.payList>li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.payList>li {
    background: var(--color-grey);
    border-radius: 100%;
    padding: 2px
}

.payList>li:not(:first-child) {
    margin-left: -16px
}

.payList>li>img,
.payListMore {
    border-radius: 100%
}

.payListMore {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    align-items: center;
    background: var(--color-primary);
    color: var(--color-background);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 14px;
    height: 40px;
    justify-content: center;
    text-align: center;
    -webkit-transition: background-color .2s;
    transition: background-color .2s;
    width: 40px
}

.payListMore:hover {
    background: var(--color-primary-hover)
}

.payList>.payListHidden {
    display: none
}

@media screen and (max-width: 1199px) {
    .payList>.payListHiddenMobile,
    .payList>.payListDesktop {
        display: none
    }
}

@media screen and (min-width: 1200px) {
    .payList>.payListMobile {
        display: none
    }
}

.payListFull {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 5px 0;
    justify-content: center;
    list-style: none;
    margin: 0;
    padding: 0 0 0 10px
}

.payListFull,
.payListFull>li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.payListFull>li {
    background: var(--color-grey);
    margin-left: -10px;
    padding: 2px
}

.payListFull>li,
.payListFull>li>img {
    border-radius: 100%
}

.payListPopUp {
    background: var(--color-background);
    border-radius: 12px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 44px 24px;
    position: relative
}

.payListPopUpWrap {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    align-items: center;
    background: rgba(0, 0, 0, .9);
    bottom: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    justify-content: center;
    left: 0;
    padding: 20px;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 999
}

.payListPopUpClose,
.payListPopUpWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.payListPopUpClose {
    position: absolute;
    right: 10px;
    top: 12px
}

.aboutHero {
    background: var(--color-primary);
    color: var(--color-background);
    overflow: hidden;
    padding: 34px 0 120px;
    position: relative;
    text-align: center
}

@media screen and (min-width: 768px) {
    .aboutHero {
        background-color: var(--color-primary);
        background-image: url(../wp-content/themes/topca/library/assets/img/about-bg.png), url(../wp-content/themes/topca/library/assets/img/wave-1.png);
        background-position: center 50px, bottom;
        background-repeat: no-repeat;
        padding: 40px 0 140px
    }
}

@media only screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio:2),
only screen and (min-width:768px) and (min-device-pixel-ratio:2),
only screen and (min-width:768px) and (min-resolution:192dpi),
only screen and (min-width:768px) and (min-resolution:2dppx) {
    .aboutHero {
        background-image: url(../wp-content/themes/topca/library/assets/img/about-bg@2x.png), url(../wp-content/themes/topca/library/assets/img/wave-1@2x.png);
        background-size: 1440px auto, 1200px auto
    }
}

.aboutHero:after {
    background: var(--color-grey);
    border-radius: 100%;
    bottom: 0;
    content: "";
    height: 140px;
    left: 50%;
    position: absolute;
    -webkit-transform: translate(-50%, 75%);
    transform: translate(-50%, 75%);
    width: 150%
}

@media screen and (min-width: 768px) {
    .aboutHero:after {
        height: 178px;
        width: 120%
    }
}

.aboutHeroTitle {
    margin-bottom: 8px
}

@media screen and (min-width: 768px) {
    .aboutHeroTitle {
        margin-bottom: 24px
    }
}

.aboutHeroText {
    margin: auto;
    max-width: 700px;
    padding: 0 20px
}

@media screen and (max-width: 767px) {
    .aboutHeroText {
        font-size: 14px
    }
}

.aboutSteps {
    background: var(--color-grey)
}

@media screen and (min-width: 768px) {
    .aboutSteps {
        padding: 24px 0
    }
}

@media screen and (min-width: 1200px) {
    .aboutSteps {
        padding: 34px 0
    }
}

.abMap {
    display: grid;
    gap: 24px;
    list-style: none;
    margin: 0;
    padding: 62px 0 42px;
    position: relative;
    z-index: 1
}

.abMap:before {
    background: radial-gradient(50% 50% at 50% 50%, #d9483f 0, rgba(217, 72, 63, 0) 100%);
    bottom: 0;
    content: "";
    left: 50%;
    position: absolute;
    top: 0;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 5px;
    z-index: -1
}

.abMapItm {
    display: grid;
    gap: 24px
}

@media screen and (min-width: 1200px) {
    .abMapItm {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        gap: 32px 86px;
        grid-template-columns: 1fr 170px 1fr
    }

    .abMapItm:nth-child(2n+2) .abMapItmDesc {
        grid-area: 1/1
    }
}

.abMapItmMonth {
    background: var(--color-primary);
    border-radius: 54px;
    color: var(--color-background);
    font-size: 18px;
    font-weight: 600;
    justify-self: center;
    line-height: 21px;
    min-width: 170px;
    padding: 11px 22px;
    text-align: center
}

@media screen and (min-width: 1200px) {
    .abMapItmMonth {
        grid-column-start: 2;
        width: 100%
    }
}

.abMapItmDesc {
    background: var(--color-background);
    border-radius: 12px;
    -webkit-box-shadow: 0 4px 34px rgba(0, 0, 0, .14);
    box-shadow: 0 4px 34px rgba(0, 0, 0, .14);
    padding: 24px
}

.abMapItmTtl {
    font-size: 20px;
    font-weight: 600;
    line-height: 24px;
    margin-bottom: 8px
}

.abNum {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    background: var(--color-grey);
    border-radius: 12px;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 10px;
    padding: 40px 20px;
    text-align: center
}

.abNum,
.abNumVal {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: center
}

.abNumVal {
    color: #1b2459;
    font-family: var(--title-font-family);
    font-size: 48px;
    font-weight: 700;
    line-height: 62px;
    min-height: 100px;
    position: relative;
    z-index: 1
}

.abNumVal:before {
    background: var(--color-background);
    border-radius: 50%;
    -webkit-box-shadow: 0 2px 14px rgba(189, 197, 208, .3);
    box-shadow: 0 2px 14px rgba(189, 197, 208, .3);
    content: "";
    height: 100px;
    left: 50%;
    position: absolute;
    top: 50%;
    -webkit-transform: translate(-50%, -48%);
    transform: translate(-50%, -48%);
    width: 100px;
    z-index: -1
}

.abNumDesc {
    font-size: 20px;
    font-weight: 600;
    line-height: 24px
}

.abNumGrid {
    display: grid;
    gap: 8px
}

@media screen and (min-width: 768px) {
    .abNumGrid {
        gap: 20px;
        grid-template-columns: repeat(2, 1fr)
    }
}

@media screen and (min-width: 1200px) {
    .abNumGrid {
        gap: 32px 40px;
        grid-template-columns: repeat(3, 1fr)
    }
}

.bread {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    color: var(--color-primary);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 8px;
    list-style: none;
    margin: 24px 0;
    padding: 0
}

@media screen and (min-width: 768px) {
    .bread {
        margin: 30px 0 40px
    }
}

.bread li {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex
}

.bread li:not(:last-child):after {
    color: var(--color-body);
    content: "/"
}

.bread a {
    color: var(--color-body);
    text-decoration: none
}

.bread a:hover {
    text-decoration: underline
}

.pageCont {
    margin-bottom: 48px;
    margin-top: 42px
}

@media screen and (min-width: 1200px) {
    .pageCont {
        margin-bottom: 120px
    }
}

.pageHeader {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 40px;
    margin-bottom: 24px
}

.pageHeaderTtl {
    font-size: 28px;
    margin: 0;
    text-transform: none
}

@media screen and (min-width: 768px) {
    .pageHeaderTtl {
        font-size: 38px
    }
}

@media screen and (min-width: 1200px) {
    .pageHeaderTtl {
        font-size: 48px
    }
}

.pageHeaderDate {
    margin-left: auto
}

@media screen and (max-width: 767px) {
    .pageHeaderDate {
        display: none
    }
}

.pageHeaderDate time {
    font-weight: 700
}

.discList {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 14px;
    list-style: none;
    margin: 0 0 1em;
    padding: 0
}

.discList li {
    font-size: 18px;
    line-height: 1.3;
    padding-left: 26px;
    position: relative
}

.discList li:before {
    background: var(--color-body);
    border-radius: 50%;
    content: "";
    height: 5px;
    left: .6em;
    position: absolute;
    top: .6em;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 5px
}

.starRate {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.post-ratings IMG,
.post-ratings-image IMG,
.post-ratings-loading IMG,
.starRateIcon {
    height: 24px;
    width: 24px
}

.post-ratings IMG.half,
.post-ratings-image IMG.half,
.post-ratings-loading IMG.half,
.starRateIcon.half {
    background-image: url(../wp-content/themes/topca/library/assets/img/star-half.svg)
}

.post-ratings IMG.hollow,
.post-ratings-image IMG.hollow,
.post-ratings-loading IMG.hollow,
.starRateIcon.hollow {
    background-image: url(../wp-content/themes/topca/library/assets/img/star-hollow.svg)
}

.revHero {
    background: var(--color-grey);
    overflow: hidden;
    padding: 48px 0 80px;
    position: relative
}

@media screen and (min-width: 1200px) {
    .revHero {
        padding: 56px 0 108px
    }
}

.revHero:after {
    background: var(--color-background);
    border-radius: 100%;
    bottom: 0;
    content: "";
    height: 140px;
    left: 50%;
    position: absolute;
    -webkit-transform: translate(-50%, 75%);
    transform: translate(-50%, 75%);
    width: 150%
}

@media screen and (min-width: 768px) {
    .revHero:after {
        height: 178px;
        width: 120%
    }
}

.revHeroCont {
    display: grid;
    gap: 24px 40px
}

@media screen and (min-width: 768px) {
    .revHeroCont {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media screen and (min-width: 1200px) {
    .revHeroCont {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: start;
        grid-template-columns: 270px 1fr auto;
        grid-template-rows: auto 1fr
    }
}

.revHeroCont>* {
    min-width: 0
}

@media screen and (min-width: 768px) and (max-width:1199px) {
    .revHeroHead {
        grid-column: span 2
    }
}

.revHeroTtl {
    font-size: 42px;
    margin-bottom: 8px
}

.revHeroLogo {
    aspect-ratio: 335/115;
    overflow: hidden;
    position: relative;
    width: 100%
}

@media screen and (min-width: 768px) {
    .revHeroLogo {
        aspect-ratio: 270/180
    }
}

@media screen and (min-width: 1200px) {
    .revHeroLogo {
        aspect-ratio: 270/220;
        grid-area: 1/1/3/2
    }
}

.revHeroLogo>img {
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center center;
    object-position: center center;
    width: 100%
}

.revHeroMeta {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 16px
}

@media screen and (min-width: 768px) {
    .revHeroMeta {
        gap: 16px
    }
}

@media screen and (min-width: 768px) and (max-width:1199px) {
    .revHeroMeta {
        -ms-flex-item-align: center;
        align-self: center
    }
}

@media screen and (min-width: 1200px) {
    .revHeroMeta {
        grid-area: 2/2/3/3
    }
}

.revHeroLinks {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 8px 18px
}

.revHeroList {
    display: grid;
    gap: 8px 20px;
    list-style: none;
    margin: 0;
    padding: 0
}

@media screen and (min-width: 1200px) {
    .revHeroList {
        grid-template-columns: repeat(2, auto)
    }
}

.revHeroList li {
    padding-left: 28px;
    position: relative
}

.revHeroList li:before {
    background: url("data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.55 17.575c-.133 0-.258-.021-.375-.063a.871.871 0 0 1-.325-.212L4.55 13c-.183-.183-.271-.421-.263-.713.009-.291.105-.529.288-.712a.948.948 0 0 1 .7-.275c.283 0 .517.092.7.275L9.55 15.15l8.475-8.475c.183-.183.42-.275.713-.275.291 0 .529.092.712.275.183.183.275.42.275.712s-.092.53-.275.713l-9.2 9.2c-.1.1-.209.17-.325.212a1.099 1.099 0 0 1-.375.063Z' fill='%23D9483F'/%3E%3C/svg%3E") no-repeat 50%;
    background-size: contain;
    content: "";
    height: 24px;
    left: 0;
    position: absolute;
    top: -1px;
    width: 24px
}

.revHeroBonus {
    text-align: center
}

@media screen and (min-width: 768px) {
    .revHeroBonus {
        grid-column: span 2
    }
}

@media screen and (min-width: 1200px) {
    .revHeroBonus {
        align-self: center;
        grid-area: 1/3/3/3
    }
}

.revHeroBonusTtl {
    margin-bottom: 4px
}

.revHeroBonusVal {
    font-size: 28px;
    font-weight: 600;
    line-height: 33px;
    margin-bottom: 14px
}

.revHeroBonusLink {
    min-width: 80%
}

@media screen and (min-width: 768px) {
    .revHeroBonusLink {
        min-width: 60%
    }
}

@media screen and (min-width: 1200px) {
    .revHeroBonusLink {
        min-width: 180px;
        width: 100%
    }
}

.revCont {
    margin-bottom: 48px;
    margin-top: 24px
}

@media screen and (min-width: 1200px) {
    .revCont {
        margin-bottom: 82px;
        margin-top: 48px
    }
}

.casInfo {
    background: var(--color-light-grey);
    border-radius: 12px;
    -webkit-box-shadow: 0 2px 0 rgba(205, 209, 216, .5);
    box-shadow: 0 2px 0 rgba(205, 209, 216, .5);
    margin: 40px auto;
    max-width: 786px;
    padding: 14px 24px 24px
}

.casInfoItm {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    border-bottom: 1px solid #e8e8e8;
    display: grid;
    gap: 20px;
    grid-template-columns: 92px 1fr;
    padding: 14px 0
}

@media screen and (min-width: 768px) {
    .casInfoItm {
        gap: 40px;
        grid-template-columns: 290px auto
    }
}

.casInfoItm>div:first-child {
    font-weight: 600
}

.casInfoItm>div:last-child {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: flex-end;
    text-align: right
}

@media screen and (min-width: 768px) {
    .casInfoItm>div:last-child {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        text-align: left
    }
}

.casInfoFooter {
    padding-top: 24px;
    text-align: center
}

.casInfoFooter .button {
    min-width: 180px
}

.page404 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    background-color: var(--color-primary);
    background-image: url(../wp-content/themes/topca/library/assets/img/red-map.png);
    background-position: left calc(50% - 150px) top calc(50% + 200px);
    background-repeat: no-repeat;
    background-size: 575px auto;
    color: var(--color-background);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    min-height: 80vh
}

@media screen and (min-width: 1200px) {
    .page404 {
        background-position: left calc(50% - 440px) center;
        min-height: 585px;
        padding: 40px 0;
        text-align: left
    }
}

.page404Cont {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 18px;
    margin: auto;
    text-align: center
}

@media screen and (min-width: 1200px) {
    .page404Cont {
        text-align: left
    }

    .page404Cont>* {
        margin-left: auto;
        width: 50%
    }
}

.page404Ttl {
    font-size: 112px;
    line-height: 145px;
    margin-bottom: 0
}

@media screen and (min-width: 768px) {
    .page404Ttl {
        font-size: 142px;
        line-height: 184px
    }

    .page404Desc {
        font-size: 28px
    }
}

main {
    overflow-x: hidden
}

.full-width {
    left: 50%;
    margin: 0 -50vw;
    position: relative;
    right: 50%;
    width: 100vw
}

.benefitGrid {
    display: grid;
    gap: 20px;
    margin-bottom: 32px
}

@media screen and (min-width:768px) {
    .benefitGrid {
        grid-template-columns: repeat(3, 1fr)
    }
}

@media screen and (min-width:1200px) {
    .benefitGrid {
        gap: 40px
    }
}

.benefitCard {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    align-items: center;
    background: var(--color-grey);
    border-radius: 12px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 16px;
    justify-content: center;
    padding: 20px;
    text-align: center
}

@media screen and (min-width:768px) {
    .benefitCard {
        padding: 26px 20px
    }
}

@media screen and (min-width:1200px) {
    .benefitCard {
        padding: 26px 48px
    }
}

.benefitCardImg {
    background: #d8dbdf;
    -webkit-box-shadow: 0 1px 64px rgba(0, 0, 0, .11);
    box-shadow: 0 1px 64px rgba(0, 0, 0, .11);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 16px
}

.benefitCardImg,
.benefitCardImg>img {
    aspect-ratio: 1/1;
    border-radius: 50%
}

.textSection :not(:first-child):is(h2, h3, h4) {
    margin-top: 32px
}

.prefTabWrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 20px;
    justify-content: center;
    margin-bottom: 32px
}

@media screen and (min-width:1200px) {
    .prefTabWrap {
        gap: 32px
    }
}

.prefTabList {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background: var(--color-grey);
    border-radius: 12px;
    -webkit-box-shadow: 0 2px 0 rgba(205, 209, 216, .5);
    box-shadow: 0 2px 0 rgba(205, 209, 216, .5);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 10px;
    list-style: none;
    margin: 0;
    max-width: 100%;
    overflow: auto;
    padding: 16px 20px;
    position: relative;
    white-space: nowrap
}

@media screen and (min-width:768px) {
    .prefTabList {
        gap: 14px
    }
}

@media screen and (min-width:1200px) {
    .prefTabList {
        gap: 38px;
        padding: 20px 40px
    }
}

.prefTabList a {
    background: transparent;
    border-radius: 12px;
    color: var(--color-body);
    font-weight: 600;
    padding: 10px;
    text-decoration: none;
    -webkit-transition: all .2s;
    transition: all .2s
}

@media screen and (min-width:768px) {
    .prefTabList a {
        padding: 10px 24px
    }
}

.prefTabList a:hover {
    color: var(--color-primary)
}

.prefTabList a.is-active {
    background: var(--color-primary);
    color: var(--color-background)
}

.prefTabList a.is-active:hover {
    background: var(--color-primary-hover)
}

.prefTabCont {
    list-style: none;
    margin: 0;
    max-width: 788px;
    padding: 0
}

.homeRateGrid {
    display: grid;
    gap: 20px
}

@media screen and (min-width:1200px) {
    .homeRateGrid {
        gap: 36px 40px;
        grid-template-columns: repeat(2, 1fr)
    }
}

.homeRateCard {
    --icon-size: 94px;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background: var(--color-grey);
    border-radius: 12px;
    display: grid;
    gap: 16px;
    padding: 24px
}

@media screen and (min-width:768px) {
    .homeRateCard {
        gap: 30px;
        grid-template-columns: var(--icon-size) 1fr;
        padding: 26px 42px 26px 20px
    }
}

@media screen and (min-width:1200px) {
    .homeRateCard {
        --icon-size: 115px;
        gap: 20px
    }
}

.homeRateCardHead {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    align-items: center;
    justify-content: center
}

.homeRateCardHead,
.homeRateCardImg {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.homeRateCardImg {
    aspect-ratio: 1/1;
    background: #d8dbdf;
    border-radius: 50%;
    -webkit-box-shadow: 0 1px 64px rgba(0, 0, 0, .11);
    box-shadow: 0 1px 64px rgba(0, 0, 0, .11);
    padding: 13px;
    width: var(--icon-size)
}

@media screen and (min-width:1200px) {
    .homeRateCardImg {
        padding: 16px
    }
}

.homeRateCardImg img {
    aspect-ratio: 1/1;
    border-radius: 50%;
    width: 100%
}

.homeRateCardTtl {
    color: #1b2459;
    font-weight: 600;
    margin-bottom: 8px;
    text-align: center
}

@media screen and (min-width:768px) {
    .homeRateCardTtl {
        margin-bottom: 10px;
        text-align: left
    }
}

.faq {
    gap: 8px;
    list-style: none;
    margin: 0 auto;
    max-width: 866px;
    padding: 0
}

.faq,
.faqItem {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column
}

.faqItem {
    --space: 20px;
    background: var(--color-grey);
    border-radius: 12px;
    -webkit-box-shadow: 0 2px 0 rgba(205, 209, 216, .5);
    box-shadow: 0 2px 0 rgba(205, 209, 216, .5)
}

.faqItemTitle {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-family: var(--title-font-family);
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    gap: 20px;
    line-height: 31px;
    padding: var(--space)
}

@media screen and (min-width:768px) {
    .faqItemTitle {
        font-size: 28px;
        line-height: 36px
    }
}

.faqItemTitle:hover .faqItemTitleIcon {
    background: var(--color-primary-hover)
}

.faqItemTitleIcon {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    align-items: center;
    background: var(--color-primary);
    border-radius: 8px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 35px;
    justify-content: center;
    margin-left: auto;
    width: 35px
}

.faqItemTitleIcon svg {
    fill: var(--color-background);
    height: 16px;
    -webkit-transform: rotateX(180deg);
    transform: rotateX(180deg);
    -webkit-transition: all .2s;
    transition: all .2s;
    width: 16px
}

.js-expanded .faqItemTitleIcon svg {
    -webkit-transform: rotateX(0deg);
    transform: rotateX(0deg)
}

.faqItemCont {
    display: none;
    padding: 0 var(--space) calc(var(--space)*.5);
    position: relative;
    top: calc(var(--space)*-.5)
}

.autCard {
    background: var(--color-grey);
    border-radius: 12px;
    display: grid;
    gap: 18px;
    margin-top: 32px;
    padding: 24px
}

@media screen and (min-width:768px) {
    .autCard {
        gap: 30px;
        padding: 30px
    }
}

@media screen and (min-width:1200px) {
    .autCard {
        gap: 45px;
        grid-template-columns: auto 1fr;
        padding: 40px 30px
    }
}

.autCardHead {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 15px
}

.autCardHeadPhoto>img {
    aspect-ratio: 1/1;
    border-radius: 50%;
    width: 110px
}

.autCardHeadMetaName {
    color: var(--color-primary);
    font-family: var(--title-font-family);
    font-size: 20px;
    font-weight: 700;
    line-height: 26px;
    margin-bottom: 6px
}

@media screen and (min-width:768px) {
    .autCardHeadMetaName {
        font-size: 28px;
        line-height: 36px
    }
}

.autCardHeadMetaPos {
    margin-bottom: 10px
}

.autCardHeadMetaSocial {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    gap: 10px
}

.autCardHeadMetaSocial a {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    align-items: center;
    background: var(--color-primary);
    border-radius: 8px;
    display: grid;
    height: 35px;
    justify-content: center;
    -webkit-transition: color .2s;
    transition: color .2s;
    width: 35px
}

.autCardHeadMetaSocial a:hover {
    background: var(--color-primary-hover)
}

.autCardHeadMetaSocial a svg {
    fill: var(--color-background)
}

.autCardDesc {
    padding: 18px 0 0;
    white-space: pre-line
}

@media screen and (min-width:768px) {
    .autCardDesc {
        padding-right: 30px
    }
}

@media screen and (max-width:1199px) {
    .autCardDesc {
        border-top: 1px solid #e8e8e8
    }
}

@media screen and (min-width:1200px) {
    .autCardDesc {
        padding: 0 30px;
        position: relative
    }

    .autCardDesc:before {
        border-left: 1px solid #e8e8e8;
        bottom: -20px;
        content: "";
        left: 0;
        position: absolute;
        top: -20px
    }
}

:not(.casino-details)>table:not([class]) {
    --radius: 12px;
    --space: 12px;
    border-collapse: separate;
    border-spacing: 0;
    margin: 24px auto;
    width: 100%
}

:not(.casino-details)>table:not([class]) td,
:not(.casino-details)>table:not([class]) th {
    background: var(--color-light-grey);
    border-bottom: 1px solid var(--color-grey);
    padding: var(--space)
}

:not(.casino-details)>table:not([class])>:is(thead, tbody, tfoot)>tr td:first-child,
:not(.casino-details)>table:not([class])>:is(thead, tbody, tfoot)>tr th:first-child,
:not(.casino-details)>table:not([class])>:is(tr) td:first-child,
:not(.casino-details)>table:not([class])>:is(tr) th:first-child {
    padding-left: calc(var(--space)*2)
}

:not(.casino-details)>table:not([class])>:is(thead, tbody, tfoot)>tr td:last-child,
:not(.casino-details)>table:not([class])>:is(thead, tbody, tfoot)>tr th:last-child,
:not(.casino-details)>table:not([class])>:is(tr) td:last-child,
:not(.casino-details)>table:not([class])>:is(tr) th:last-child {
    padding-right: calc(var(--space)*2)
}

:not(.casino-details)>table:not([class])>:last-child:is(tbody, tfoot) tr:last-child td,
:not(.casino-details)>table:not([class])>:last-child:is(tbody, tfoot) tr:last-child th,
:not(.casino-details)>table:not([class])>:last-child:is(tr) td,
:not(.casino-details)>table:not([class])>:last-child:is(tr) th {
    border-bottom: 2px solid var(--color-grey);
    padding-bottom: calc(var(--space)*2)
}

:not(.casino-details)>table:not([class])>:last-child:is(tbody, tfoot) tr:last-child>:first-child,
:not(.casino-details)>table:not([class])>:last-child:is(tr)>:first-child {
    border-radius: 0 0 0 var(--radius)
}

:not(.casino-details)>table:not([class])>:last-child:is(tbody, tfoot) tr:last-child>:last-child,
:not(.casino-details)>table:not([class])>:last-child:is(tr)>:last-child {
    border-radius: 0 0 var(--radius) 0
}

:not(.casino-details)>table:not([class])>:first-child:is(tbody)>:first-child,
:not(.casino-details)>table:not([class])>:first-child:is(tr) {
    font-weight: 700
}

:not(.casino-details)>table:not([class])>:first-child:is(thead, tbody) tr:first-child td,
:not(.casino-details)>table:not([class])>:first-child:is(thead, tbody) tr:first-child th,
:not(.casino-details)>table:not([class])>:first-child:is(tr) td,
:not(.casino-details)>table:not([class])>:first-child:is(tr) th {
    padding-top: calc(var(--space)*2)
}

:not(.casino-details)>table:not([class])>:first-child:is(thead, tbody) tr:first-child>:first-child,
:not(.casino-details)>table:not([class])>:first-child:is(tr)>:first-child {
    border-radius: var(--radius) 0 0 0
}

:not(.casino-details)>table:not([class])>:first-child:is(thead, tbody) tr:first-child>:last-child,
:not(.casino-details)>table:not([class])>:first-child:is(tr)>:last-child {
    border-radius: 0 var(--radius) 0 0
}

.footer {
    background-color: #1b2459;
    background-image: url(../wp-content/themes/topca/library/assets/img/footer-map.png);
    background-position: -40px 94px;
    background-repeat: no-repeat;
    color: var(--color-background);
    padding: 64px 0 14px
}

@media screen and (min-width:768px) {
    .footer {
        background-image: url(../wp-content/themes/topca/library/assets/img/footer-map-medium.png);
        background-position: -40px 0;
        padding: 64px 0
    }
}

@media screen and (min-width:1200px) {
    .footer {
        padding: 84px 0 94px
    }
}

.footerCont {
    display: grid;
    gap: 40px;
    text-align: center
}

@media screen and (min-width:768px) {
    .footerCont {
        gap: 52px;
        text-align: left
    }
}

@media screen and (min-width:1200px) {
    .footerCont {
        gap: 40px;
        grid-template-columns: repeat(2, 1fr)
    }
}

.footerTitle {
    font-family: var(--title-font-family);
    font-size: 24px;
    font-weight: 700;
    line-height: 31px
}

@media screen and (max-width:1199px) {
    .footerTitle {
        text-align: center
    }
}

@media screen and (min-width:768px) {
    .footerTitle {
        font-size: 38px;
        line-height: 49px
    }
}

@media screen and (min-width:1200px) {
    .footerTitle {
        font-size: 48px;
        line-height: 62px
    }
}

@media screen and (max-width:767px) {
    .footerWidget {
        margin: auto;
        max-width: 272px;
        width: 100%
    }
}

.footerWidgetTitle {
    border-bottom: 1px solid #484f7a;
    font-size: 18px;
    font-weight: 500;
    line-height: 21px;
    margin-bottom: 24px;
    padding-bottom: 16px
}

.footerWidgetGrid {
    display: grid;
    gap: 48px 42px
}

@media screen and (min-width:768px) {
    .footerWidgetGrid {
        grid-template-columns: repeat(2, 1fr)
    }
}

@media screen and (min-width:1200px) {
    .footerWidgetGrid {
        grid-row: span 2
    }
}

.footerMenu {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 24px;
    list-style: none;
    margin: 0;
    padding: 0
}

.footerMenu li {
    line-height: 21px
}

.footerMenu a {
    color: #b1eafc;
    text-decoration: none
}

.footerMenu a:hover {
    color: var(--color-background)
}

.footerTrust {
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(2, 1fr)
}

.footerTrust img {
    aspect-ratio: 140/46;
    min-width: 0;
    -o-object-fit: contain;
    object-fit: contain;
    width: 100%
}

.footerCopyrights {
    font-size: 12px;
    line-height: 21px
}

@media screen and (max-width:767px) {
    .footerCopyrights {
        padding-top: 35px
    }
}

@media screen and (max-width:1199px) {
    .footerCopyrights {
        text-align: center
    }
}

@media screen and (min-width:1200px) {
    .footerCopyrights {
        -ms-flex-item-align: end;
        align-self: end
    }
}

.post-ratings {
    opacity: 1;
    width: 100%
}

.post-ratings-loading {
    display: none;
    height: 16px;
    text-align: left
}

.post-ratings IMG,
.post-ratings-loading IMG,
.post-ratings-image IMG {
    border: 0;
    margin: 0;
    padding: 0
}

.post-ratings-comment-author {
    font-style: italic;
    font-weight: 400
}

.htsm-row {
    display: block;
    margin-bottom: 1em;
    overflow: hidden;
    padding: 20px
}

.htsm-row ul,
.htsm-single li {
    display: block;
    width: 100%
}

.htsm-row ul li {
    display: block;
    float: left;
    padding: 0 .5em .5em;
    width: 50%
}

@media screen and (min-width: 768px) {
    .htsm-row ul li {
        width: 33.3%
    }
}

@media screen and (min-width: 1200px) {
    .htsm-row ul li {
        width: 25%
    }
}

.htsm-row h2,
.htsm-row h3 {
    display: block;
    margin: 0 0 1em;
    width: 100%
}

.title-container {
    background-color: var(--color-primary);
    background-image: url(../wp-content/themes/topca/library/assets/img/wave-1.png);
    background-position: bottom -86px center;
    background-repeat: no-repeat;
    color: var(--color-background);
    overflow: hidden;
    padding: 34px 0 110px;
    position: relative;
    text-align: center
}

@media screen and (min-width: 768px) {
    .title-container {
        background-image: url(../wp-content/themes/topca/library/assets/img/wave-1.png), url(../wp-content/themes/topca/library/assets/img/hh-tree-l.svg), url(../wp-content/themes/topca/library/assets/img/hh-tree-r.svg);
        background-position: bottom -40px center, left 0 bottom 60px, right 0 bottom 60px;
        padding: 52px 0 150px
    }
}

@media only screen and (min-width: 768px) and (-webkit-min-device-pixel-ratio:2),
only screen and (min-width:768px) and (min-resolution:192dpi) {
    .title-container {
        background-image: url(../wp-content/themes/topca/library/assets/img/wave-1@2x.png), url(../wp-content/themes/topca/library/assets/img/hh-tree-l.svg), url(../wp-content/themes/topca/library/assets/img/hh-tree-r.svg);
        background-size: 1200px auto, auto, auto
    }
}

@media screen and (min-width: 1200px) {
    .title-container {
        padding: 72px 0 170px
    }
}

.title-container:after {
    background: var(--color-background);
    border-radius: 100%;
    bottom: 0;
    content: "";
    height: 140px;
    left: 50%;
    position: absolute;
    transform: translate(-50%, 75%);
    width: 150%
}

@media screen and (min-width: 768px) {
    .title-container:after {
        height: 178px;
        width: 120%
    }
}

.title-container .post-title {
    margin: 0;
    position: relative;
    z-index: 1
}

@media screen and (min-width: 1200px) {
    .title-container .post-title {
        font-size: 72px
    }
}

.breadcrumbs ul {
    align-items: center;
    color: var(--color-primary);
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    list-style: none;
    margin: 24px 0;
    padding: 0
}

@media screen and (min-width: 768px) {
    .breadcrumbs ul {
        margin: 30px 0 40px
    }
}

.breadcrumbs a {
    color: var(--color-body);
    text-decoration: none
}

.breadcrumbs a:hover {
    text-decoration: underline
}

article>.container {
    margin-bottom: 48px;
    margin-top: 24px
}

@media screen and (min-width: 768px) {
    article>.container {
        margin-top: 40px
    }
}

@media screen and (min-width: 1200px) {
    article>.container {
        margin-bottom: 82px
    }
}

article>.container section {
    margin-top: 48px
}

article>.container :not(:first-child):is(h2, h3, h4) {
    margin-top: 32px
}

article>.container h2 a {
    color: inherit;
    text-decoration: none
}

article>.container img {
    height: auto;
    max-width: 100%
}

.faq dl {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0
}

.faq dl>span {
    background: var(--color-grey);
    border-radius: 12px;
    box-shadow: 0 2px 0 rgba(205, 209, 216, .5);
    display: flex;
    flex-direction: column
}

.faq dt {
    align-items: center;
    cursor: pointer;
    display: flex;
    font-family: var(--title-font-family);
    font-size: 24px;
    font-weight: 700;
    gap: 20px;
    line-height: 31px;
    padding: 20px
}

@media screen and (min-width: 768px) {
    .faq dt {
        font-size: 28px;
        line-height: 36px
    }
}

.faq dt:after {
    background: var(--color-primary) url("data:image/svg+xml;charset=utf-8,%3Csvg width='16' height='17' viewBox='0 0 16 17' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 4a1.48 1.48 0 0 0-1 .4L.4 11c-.26.26-.4.6-.4 1s.13.74.4 1 .6.4 1 .4.74-.13 1-.4L8 7.4l5.6 5.6c.26.26.6.4 1 .4s.74-.13 1-.4.4-.6.4-1-.13-.74-.4-1L9 4.4A1.48 1.48 0 0 0 8 4z' fill='%23FFF'/%3E%3C/svg%3E") no-repeat 50%/16px;
    border-radius: 8px;
    content: "";
    flex: 0 0 35px;
    height: 35px;
    margin-left: auto;
    transform: rotateX(180deg);
    transition: transform .2s
}

.faq dt:hover:after {
    background-color: var(--color-primary-hover)
}

.faq dl>span.js-expanded>dt:after {
    transform: none
}

.faq dd {
    display: none;
    margin: 0;
    padding: 0 20px 10px;
    position: relative;
    top: -10px
}

.faq dl>span.js-expanded>dd {
    display: block
}

.casino-top {
    background: var(--color-grey);
    overflow: hidden;
    padding: 48px 0 80px;
    position: relative
}

@media screen and (min-width: 1200px) {
    .casino-top {
        padding: 56px 0 108px
    }
}

.casino-top:after {
    background: var(--color-background);
    border-radius: 100%;
    bottom: 0;
    content: "";
    height: 140px;
    left: 50%;
    position: absolute;
    transform: translate(-50%, 75%);
    width: 150%
}

@media screen and (min-width: 768px) {
    .casino-top:after {
        height: 178px;
        width: 120%
    }
}

.casino-top>.container {
    display: grid;
    gap: 24px 40px;
    position: relative;
    z-index: 1
}

@media screen and (min-width: 768px) {
    .casino-top>.container {
        align-items: center;
        grid-template-columns: 270px 1fr
    }
}

@media screen and (min-width: 1200px) {
    .casino-top>.container {
        grid-template-columns: 270px 1fr auto
    }
}

.casino-top>.container>* {
    min-width: 0
}

.casino-top .logo-container figure {
    aspect-ratio: 270/220;
    display: flex;
    margin: 0;
    overflow: hidden
}

.casino-top .logo-container img {
    height: 100%;
    object-fit: cover;
    width: 100%
}

.casino-top .info-container {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.casino-top h1 {
    font-size: 42px;
    margin: 0
}

.casino-top .info-container>span a {
    color: var(--color-body);
    text-decoration: none
}

.casino-top .post-ratings {
    display: flex
}

.casino-top .info-container ul {
    display: grid;
    gap: 8px 20px;
    list-style: none;
    margin: 4px 0 0;
    padding: 0
}

@media screen and (min-width: 1200px) {
    .casino-top .info-container ul {
        grid-template-columns: repeat(2, auto)
    }
}

.casino-top .info-container ul>li:first-child {
    display: none
}

.casino-top .info-container ul li {
    padding-left: 28px;
    position: relative
}

.casino-top .info-container ul li:before {
    background: url("data:image/svg+xml;charset=utf-8,%3Csvg width='24' height='24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.55 17.575c-.133 0-.258-.021-.375-.063a.871.871 0 0 1-.325-.212L4.55 13c-.183-.183-.271-.421-.263-.713.009-.291.105-.529.288-.712a.948.948 0 0 1 .7-.275c.283 0 .517.092.7.275L9.55 15.15l8.475-8.475c.183-.183.42-.275.713-.275.291 0 .529.092.712.275.183.183.275.42.275.712s-.092.53-.275.713l-9.2 9.2c-.1.1-.209.17-.325.212a1.099 1.099 0 0 1-.375.063Z' fill='%23D9483F'/%3E%3C/svg%3E") no-repeat 50%;
    background-size: contain;
    content: "";
    height: 24px;
    left: 0;
    position: absolute;
    top: -1px;
    width: 24px
}

.casino-top .reflink-container {
    text-align: center
}

@media screen and (min-width: 768px) and (max-width: 1199px) {
    .casino-top .reflink-container {
        grid-column: span 2
    }
}

.casino-top .bonus {
    display: flex;
    flex-direction: column-reverse;
    font-size: 28px;
    font-weight: 600;
    line-height: 33px;
    margin-bottom: 14px
}

.casino-top .bonus span {
    font-size: 18px;
    font-weight: 400;
    line-height: 1.3;
    margin-bottom: 4px
}

.casino-top .reflink-container .button {
    min-width: 180px
}

.casino-details table {
    background: var(--color-light-grey);
    border-collapse: collapse;
    border-radius: 12px;
    box-shadow: 0 2px 0 rgba(205, 209, 216, .5);
    display: block;
    margin: 40px auto;
    max-width: 786px;
    padding: 14px 24px 24px
}

.casino-details tbody {
    display: block
}

.casino-details tr {
    align-items: center;
    border-bottom: 1px solid #e8e8e8;
    display: grid;
    gap: 20px;
    grid-template-columns: 110px 1fr;
    padding: 14px 0
}

@media screen and (min-width: 768px) {
    .casino-details tr {
        gap: 40px;
        grid-template-columns: 290px auto
    }
}

.casino-details th,
.casino-details td {
    padding: 0;
    text-align: left
}

.casino-details th {
    font-weight: 600
}

@media screen and (max-width: 767px) {
    .casino-details td {
        text-align: right
    }
}

.scroll-to-top {
    bottom: 20px;
    cursor: pointer;
    display: none;
    height: 48px;
    position: fixed;
    right: 20px;
    width: 48px;
    z-index: 98
}

.scroll-to-top.js-showed {
    display: block
}

.scroll-to-top-inner {
    align-items: center;
    background: linear-gradient(270deg, #d9483f, #c54893);
    border-radius: 50%;
    box-shadow: 0 2px 0 #c2342b;
    display: flex;
    height: 100%;
    justify-content: center;
    width: 100%
}

.scroll-to-top-inner:hover {
    background: linear-gradient(270deg, #e13b31, #ca3d91)
}

.scroll-to-top-inner img {
    filter: brightness(0) invert(1);
    width: 20px
}

.faqItem.js-expanded .faqItemCont {
    display: block
}

body.js-modal-opened {
    overflow: hidden
}
