* {
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

@font-face {
    font-family: 'Axiforma';
    src: url('/static/newStyles/font/Axiforma-Regular.otf');
}

@font-face {
    font-family: 'Axiforma-Black';
    src: url('/static/newStyles/font/Axiforma-Black.woff');
}

@font-face {
    font-family: 'Axiforma-SemiBold';
    src: url('/static/newStyles/font/Axiforma-SemiBold.woff');
}

:root {
    --theme-font-family: PingFang SC-Semibold, PingFang SC;
    --theme-font-family-axiforma: Axiforma;
    --theme-font-family-black: Axiforma-Black;
    --theme-font-family-bold: Axiforma-SemiBold;
    --theme-text-main: #141414;
    --theme-text-light: #454745;
    --theme-text-lighter: #A1AAC2;
    --theme-primary-main: #2359F5;
    --theme-primary-light: #EDF2FE;
    --theme-primary-lighter: #F3F9FF;
    --theme-primary-dark: #0B5ED7;
    --theme-border: 1px solid #E8EAF2;
    --theme-background-main: #F6F7FA;
    --theme-background-light: #FFFFFF;
    --theme-background-lighter: #F9FAFC;
    --theme-background-linear: linear-gradient(180deg, var(--theme-background-light) 0%, var(--theme-background-main) 100%);
    --theme-elevation1: 0px 10px 20px 0px rgba(19, 40, 95, 0.1);
    --theme-elevation2: 0px 20px 40px 0px rgba(19, 40, 95, 0.08);
    --theme-elevation3: 0px 10px 30px 0px rgba(19, 40, 95, 0.05);
    --theme-elevation4: 0px 10px 20px 0px rgba(75, 100, 131, 0.1);
}

body {
    font-family: var(--theme-font-family);
}

body.en {
    font-family: var(--theme-font-family-axiforma);
}

h1 {
    font-size: 56px;
    font-weight: 600;
    margin-bottom: 0px;
    color: var(--theme-text-main);
}

.en h1 {
    font-size: 46px;
    font-weight: 800;
    line-height: 1.5;
    font-family: var(--theme-font-family-black);
}

h2 {
    font-size: 40px;
    font-weight: 800;
    margin-bottom: 0px;
    color: var(--theme-text-main);
}

.en h2 {
    line-height: 1.5;
    font-family: var(--theme-font-family-black);
}

h3 {
    font-size: 32px;
    font-weight: 800;
    margin-bottom: 0px;
    color: var(--theme-text-main);
}

.en h3 {
    line-height: 1.5;
    font-family: var(--theme-font-family-black);
}

h4 {
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 0px;
    color: var(--theme-text-main);
}

.en h4 {
    font-family: var(--theme-font-family-black);
}

h5 {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 0px;
    color: var(--theme-text-main);
}

.en h5 {
    font-family: var(--theme-font-family-black);
}

h6 {
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 0px;
    color: var(--theme-text-main);
}

.en h6 {
    font-weight: 800;
}

p {
    font-size: 16px;
    font-weight: 400;
    margin-bottom: 0;
    color: var(--theme-text-light);
}

font {
    font-size: 14px;
    /* color: var(--theme-text-lighter); */
}

hr {
    opacity: 1;
    border-top: var(--theme-border);
}

.en .btn {
    font-weight: 800;
}

.text-primary {
    color: var(--theme-primary-main)
}

.text-main {
    color: var(--theme-text-main)
}

.text-lighter {
    color: var(--theme-text-lighter)
}

.full-width {
    width: 100%;
}

.form-control {
    border-radius: 8px;
    border: var(--theme-border);
    color: var(--theme-text-main);
    caret-color: var(--theme-primary-main);
}

.form-control:focus {
    border-color: var(--theme-primary-main);
}

.form-control::placeholder {
    font-size: 14px;
    font-weight: 400;
    color: var(--theme-text-lighter);
}

.btn {
    border-radius: 8px;
    line-height: 29px;
    height: 40px;
    overflow: hidden;
}

.tracup-btn-text {
    background-color: var(--theme-background-light);
    border: unset;
    color: var(--theme-text-main);
}

.tracup-btn-text:hover {
    color: var(--theme-button-primary);
    background-color: var(--theme-background-light);
    border: unset;
}

a {
    cursor: pointer;
    color: var(--theme-text-light);
    text-decoration: none;
}

a:hover {
    color: var(--theme-primary-main);
}

a.primary {
    color: var(--theme-primary-main);
}

a.primary:hover {
    color: var(--theme-primary-dark);
}

PgyerIcon {
    line-height: 0;
    display: inline;
}

PgyerIcon svg {
    width: 16px;
    height: 16px;
    fill: var(--theme-text-main);
}

PgyerEmoji {
    display: inline-block;
    background-size: 5800% 5700%;
    background-image: url(/static/images/new/emoji.png);
}

.clickable {
    cursor: pointer;
}

.hover-element:hover {
    cursor: pointer;
    background-color: var(--theme-background-main)
}

.underline {
    text-decoration: underline;
}

.text-truncate-three {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.form-check-input {
    border-color: var(--theme-text-lighter);
}

/* start-now-start */
#start-now {
    padding: 80px 0px;
    background: var(--theme-background-main);
}

#start-now p {
    padding: 40px 0px;
}

#start-now .start-now {
    max-width: 480px;
    margin: 0px auto;
}

.start-now {
    border-radius: 8px;
    position: relative;
    box-shadow: var(--theme-elevation1);
}

.start-now input {
    height: 48px;
    line-height: 48px;
}

.start-now input::-webkit-input-placeholder {
    color: #7D828C;
}

.start-now button {
    top: 0;
    right: 0;
    height: 48px;
    min-width: 120px;
    font-weight: 800;
    overflow: hidden;
    line-height: 48px;
    padding: 0px 12px;
    position: absolute;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}
/* start-now-end */

.loading {
    width: 30px;
    height: 30px;
    border: 3px solid var(--theme-primary-main);
    border-top-color: transparent;
    border-radius: 100%;
    animation: circle infinite 0.75s linear;
}

@keyframes circle {
    0% {
        transform: rotate(0);
    }
    100% {
        transform: rotate(360deg);
    }
}

.one-line {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.breakAll {
    word-break: break-all;
    text-align: left;
}

.fontBold {
    font-weight: bold;
}

/* mrgin */
.margin0 { margin: 0px; }
.margin10 { margin: 10px; }
.margin20 { margin: 20px; }
.margin30 { margin: 30px; }
.margin40 { margin: 40px; }
.margin50 { margin: 50px; }

/* mrgin top */
.mt0 { margin-top: 0px; }
.mt4 { margin-top: 4px; }
.mt10 { margin-top: 10px; }
.mt20 { margin-top: 20px; }
.mt30 { margin-top: 30px; }
.mt40 { margin-top: 40px !important; }
.mt50 { margin-top: 50px; }
.mt60 { margin-top: 60px; }
.mt80 { margin-top: 80px; }

/* mrgin right */
.mr0 { margin-right: 0px; }
.mr10 { margin-right: 10px; }
.mr20 { margin-right: 20px; }
.mr30 { margin-right: 30px; }
.mr40 { margin-right: 40px; }
.mr50 { margin-right: 50px; }

/* mrgin left */
.ml0 { margin-left: 0px; }
.ml5 { margin-left: 5px; }
.ml10 { margin-left: 10px; }
.ml20 { margin-left: 20px; }
.ml30 { margin-left: 30px; }
.ml40 { margin-left: 40px; }
.ml50 { margin-left: 50px; }

/* mrgin bottom */
.mb0 { margin-bottom: 0px; }
.mb10 { margin-bottom: 10px; }
.mb16 { margin-bottom: 16px; }
.mb20 { margin-bottom: 20px; }
.mb24 { margin-bottom: 24px; }
.mb30 { margin-bottom: 30px; }
.mb40 { margin-bottom: 40px; }
.mb50 { margin-bottom: 50px; }
.mb70 { margin-bottom: 70px; }
.mb80 { margin-bottom: 80px; }
.mb100 { margin-bottom: 100px; }

/* padding */
.padding0 { padding: 0px !important; }
.padding10 { padding: 10px}
.padding15 { padding: 15px}
.padding20 { padding: 20px}
.padding30 { padding: 30px}
.padding40 { padding: 40px}
.padding50 { padding: 50px}

/* padding top */
.pt0 { padding-top: 0px; }
.pt10 { padding-top: 10px; }
.pt20 { padding-top: 20px; }
.pt30 { padding-top: 30px; }
.pt40 { padding-top: 40px; }
.pt50 { padding-top: 50px; }
.pt60 { padding-top: 60px; }
.pt80 { padding-top: 80px; }

/* padding right */
.pr0 { padding-right: 0px; }
.pr10 { padding-right: 10px; }
.pr20 { padding-right: 20px; }
.pr30 { padding-right: 30px; }
.pr40 { padding-right: 40px; }
.pr50 { padding-right: 50px; }
.pr60 { padding-right: 60px; }

/* padding left */
.pl0 { padding-left: 0px; }
.pl10 { padding-left: 10px; }
.pl20 { padding-left: 20px; }
.pl30 { padding-left: 30px; }
.pl40 { padding-left: 40px; }
.pl50 { padding-left: 50px; }
.pl60 { padding-left: 60px; }

/* mrgin bottom */
.pb0 { padding-bottom: 0px; }
.pb10 { padding-bottom: 10px; }
.pb20 { padding-bottom: 20px; }
.pb30 { padding-bottom: 30px; }
.pb40 { padding-bottom: 40px; }
.pb50 { padding-bottom: 50px; }
.pb80 { padding-bottom: 80px; }
.pb100 {padding-bottom: 100px; }
.pb120 {padding-bottom: 120px; }

/* font */
.font8 { font-size: 8px; }
.font10 { font-size: 10px; }
.font12 { font-size: 12px; }
.font14 { font-size: 14px; }
.font15 { font-size: 15px; }
.font16 { font-size: 16px; }
.font18 { font-size: 18px; }
.font20 { font-size: 20px; }
.font22 { font-size: 22px; }
.font24 { font-size: 24px; }
.font26 { font-size: 26px; }
.font28 { font-size: 28px; }
.font30 { font-size: 30px; }
.font32 { font-size: 32px; }
.font34 { font-size: 34px; }
.font36 { font-size: 36px; }
.font38 { font-size: 38px; }
.font40 { font-size: 40px; }
.font42 { font-size: 42px; }
.font44 { font-size: 44px; }
.font46 { font-size: 46px; }
.font48 { font-size: 48px; }

/* flex */
.flex-row{
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: flex-start;
}

.flex-row-center{
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
}

.flex-row-start-center{
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: center;
}

.flex-row-center-start{
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: flex-start;
}

.flex-row-around-center {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-around;
    align-items: center;
}

.flex-row-between-center {
    display: flex;
    flex-flow: row nowrap;
    justify-content: space-between;
    align-items: center;
}

.flex-row-end-center {
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-end;
    align-items: center;
}

.flex-row-center-end {
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: flex-end;
}

.flex-wrap-row-center{
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    align-items: center;
}

.flex-column{
    display: flex;
    flex-flow: column wrap;
    justify-content: flex-start;
    align-items: flex-start;
}

.flex-column-start-center{
    display: flex;
    flex-flow: column wrap;
    justify-content: flex-start;
    align-items: center;
}

.flex-column-start-around{
    display: flex;
    flex-flow: column wrap;
    justify-content: flex-start;
    align-items: space-around;
}

.flex-column-center{
    display: flex;
    flex-flow: column wrap;
    justify-content: center;
    align-items: center;
}


@media (max-width: 768px) {
    h1 {
        font-size: 40px !important;
        text-align: center;
        line-height: 1.5;
    }
    h2 {
        font-size: 24px;
        text-align: center;
        padding-bottom: 50px !important;
    }
    h3 {
        font-size: 20px;
    }
    h5 {
        font-size: 18px;
    }

    .sm-flex-column-center {
        display: flex;
        flex-flow: column wrap;
        justify-content: center;
        align-items: center;
    }

    .row .col-12, .row .col-sm-12, .row .col {
        padding-left: 20px;
        padding-right: 20px;
    }
    .d-flex-sm {
        display: flex;
        align-items: center;
    }
    .d-flex-sm img {
        width: 40px !important;
        height: 40px !important;
        margin-right: 20px;
        margin-bottom: unset !important;
    }
    .text-center-sm {
        text-align: center;
    }
    .mt20-sm {
        margin-top: 20px;
    }
    .mt30-sm {
        margin-top: 30px;
    }
    .ml8-sm {
        margin-left: 8px;
    }
    .mr8-sm {
        margin-right: 8px;
    }
    .mt0-sm {
        margin-top: 0;
    }
}