@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap');

html {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

*, *:before, *:after {
    -webkit-box-sizing: inherit;
    box-sizing: inherit;
}

html, body, div, span, p, a,  img, small, strike, strong, b  {
    margin:0;
    padding:0;
    border:0;
    vertical-align:baseline;
    background:none repeat scroll 0 0 transparent;
    font-family:inherit;
    font-size:100%;
    font-style:inherit;
    font-weight:inherit;
    outline:0;
}

body{
    margin:0;
    padding:0;
    font-family:"DM Sans", sans-serif;
    font-style:normal;
    font-weight:400;
    background:var(--ingite-color-page);
    color:var(--ingite-color-on-page);
    overflow-x:hidden;
}

body, body.sticky-footer {
    display:flex;
    min-height:100vh;
    flex-direction:column;
}

main {
    flex:1 0 auto;
}


.container, .pagination{
    position:relative;
    max-width:1438px;
    width:90%;
    margin:0 auto;
    -webkit-box-sizing:border-box;
    box-sizing:border-box;
    text-align:left;
}

@media screen and (max-width:992px){
    .container, .pagination{
        width:calc(100% - 2rem);
        max-width:calc(100% - 2rem);
    }
}

.btn{
    z-index:8;
    cursor:pointer;
    user-select:none;
    -webkit-transition:transform, background-color .25s, color .25s, opacity .25s ease-out;
    -o-transition:     transform, background-color .25s, color .25s, opacity .25s ease-out;
    transition:        transform, background-color .25s, color .25s, opacity .25s ease-out;
    overflow:hidden;
    line-height:1.3;
    text-decoration:none;
    background-image:none;
    background-color:var(--ingite-color-button);
    color:var(--ingite-color-on-button);
    border:1px solid transparent;
    text-align:center;
    white-space:normal;
    display:inline-block;
    width:auto;
    height:54px;
    line-height:54px;
    padding:0 1rem;
    margin-top:1rem;
    font-size:20px;
    border-radius:100px;
    transition:all .15s;

    &:hover, &:focus, &:active{
        background-color:var(--ingite-color-button-hover);
    }
    & i.right{
        margin-left:0.5rem;
    }
    & i.left{
        margin-right:0.5rem;
    }

    &.disabled{
        pointer-events:none;
        background:var(--ingite-color-disabled) !important;
        color:var(--ingite-color-on-disabled) !important;
    }
}

.btn.btn-outlined{
    background-color:transparent;
    color:var(--ingite-color-button);
    border-color:var(--ingite-color-button);
}

strong{
    font-weight:600;
}
b{
    font-weight:700;
}

.card{
    position:relative;
    margin-top:1rem;
    transition:all 0.15s linear;
    -webkit-transition:all 0.15s linear;
    -moz-transition:all 0.15s linear;
    -o-transition:all 0.15s linear;
    -ms-transition:all 0.15s linear;
    padding:0;
    border-color:transparent;
    background-color:var(--ingite-color-surface);
    color:var(--ingite-color-on-surface);
    border-radius:30px;

    a{
        text-decoration:inherit;
        &:not(.btn){
            color:inherit;
        }
    }
    .card-content{
        padding:1rem;
    }
    h5{
        line-height:36px;
        font-weight:800;
        color:inherit;
        text-decoration:none;
    }
    &.no-border-radius{
        border-radius:4px;
    }
    &.no-margin-bottom{
        border-bottom-left-radius:0;
        border-bottom-right-radius:0;
    }
    &.no-margin-top{
        border-top-left-radius:0;
        border-top-right-radius:0;
    }
}

.section-card-text .card{
    border-radius:30px;
    font-size:26px;
}

.card .card-content + .card-content:not(.padding-top){
    padding-top:0;
}

.divider{
    min-height:1.1px;
    background:#e7e7e7;
}

.ingite-pagination-wrapper .ingite-pagination{
    display: flex;
    justify-content: center;
}

:root{
    --ingite-section-padding:50px;
}

@media screen and (max-width:992px){
    :root{
        --ingite-section-padding:2rem;
    }
}

.page-section, .page-section-alt{
    padding-top:var(--ingite-section-padding);
    padding-bottom:var(--ingite-section-padding);
}
.page-section-padding-top{
    padding-top:var(--ingite-section-padding);
}
.page-section-padding-bottom{
    padding-bottom:var(--ingite-section-padding);
}
.page-section-margin-top{
    margin-top:var(--ingite-section-padding);
}
.page-section-margin-bottom{
    margin-bottom:var(--ingite-section-padding);
}

.page-section + .page-section.page-section-pagination{
    padding-top:0;
    .container > .row{
        margin-bottom:0;
    }
    .ingite-pagination{
        margin-top: -0.5rem;
        margin-bottom: -0.5rem;
        padding: .5rem 0;
    }
}