/**
 * Fixes
*/
body.dark .btn-icon,
body.dark .card,
body.dark .form-label,
.bg-dark .btn-icon,
.bg-dark .card,
.bg-dark .form-label
{
    color:#c4c5c7;
}

body.dark .bg-overlay-content .overlay-trigger-icon,
.bg-dark .bg-overlay-content .overlay-trigger-icon
{
    background-color:#f8f8f8!important;
}

body.dark .bg-overlay-content .overlay-trigger-icon i,
.bg-dark .bg-overlay-content .overlay-trigger-icon i
{
    color:#292a2d!important;
}

body.dark .bg-light,
.bg-dark .bg-light
{
    background-color:#292a2d!important;
}

input:focus,
select:focus,
textarea:focus 
{
    outline:none;
    box-shadow:none!important;
}

body.dark input::placeholder,
body.dark textarea::placeholder,
.bg-dark input::placeholder,
.bg-dark textarea::placeholder 
{
    color:#989899;
    font-size:1.10rem;
}

.form-control,
.form-control-lg,
.form-select,
.form-select-lg
{
    font-size:1.10rem;
}

/**
 * Accordion
*/
.accordion
{
    text-align:left;
}

.accordion .accordion-button
{
    padding:10px 5px;
}

.accordion .accordion-button
{
    color:inherit;
}

.accordion .accordion-body
{
    padding:0px;
}

.accordion .accordion-body p
{
    color:#292a2d;
}

body.dark .accordion .accordion-body p
{
    color:#f8f8f8;
}

.accordion .accordion-button:not(.collapsed) 
{
    background-color:transparent;
    color:inherit;
    box-shadow:none;
}

.accordion .accordion-button:focus 
{
    box-shadow:none;
}

/**
 * Article Wrapper
*/
.articlewrap h1,
.articlewrap h2,
.articlewrap h3,
.articlewrap h4,
.articlewrap h5,
.articlewrap h6 
{
    font-weight:700;
    padding:0;
    margin:20px 0 5px
}

.articlewrap h1 
{
    font-size:1.55rem
}

.articlewrap h2 
{
    font-size:1.35rem
}

.articlewrap h3 
{
    font-size:1.15rem
}

.articlewrap h4,
.articlewrap h5,
.articlewrap h6 
{
    font-size:1.05rem
}

.articlewrap p 
{
    text-align:justify;
}

.articlewrap p a 
{
    text-decoration:none
}

.articlewrap p a:focus,
.articlewrap p a:hover 
{
    text-decoration:underline
}

.articlewrap p img 
{
    display:block;
    border:1px solid #d0d0d0;
    background-color:#f2f2f2;
    padding:4px;
    margin:15px 0 5px;
    width:100%
}

.articlewrap ul 
{
    list-style:none;
    padding-left:1.5em;
}

.articlewrap ul li::before 
{
    content:"\25AA";
    font-weight:700;
    display:inline-block;
    width:1.5em;
    margin-left:-1.5em
}

.articlewrap ol li,
.articlewrap ul li 
{
    text-align:justify
}

.articlewrap ol li a,
.articlewrap ul li a 
{
    text-decoration:none
}

.articlewrap ol li a:focus,
.articlewrap ul li a:focus,
.articlewrap ol li a:hover,
.articlewrap ul li a:hover 
{
    text-decoration:underline
}

.articlewrap hr 
{
    background-color:#ccc;
    margin:20px 0
}

.articlewrap blockquote 
{
    margin:20px auto;
    padding:2em 3em;
    line-height:1.6;
    position:relative;
    border:1px solid #e2e5f1;
    border-left:5px solid #e833b0;
    background:#f5f5f5
}

.articlewrap blockquote::before 
{
    font-family:Arial;
    content:"\201C";
    font-size:4em;
    position:absolute;
    left:10px;
    top:-10px
}

.articlewrap blockquote::after 
{
    content:""
}

.articlewrap blockquote p 
{
    font-style:italic;
    margin:0
}

.articlewrap table 
{
    width:100%!important;
    border-collapse:collapse;
    border-spacing:0;
    margin:1rem 0;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
}

.articlewrap table th,
.articlewrap table td 
{
    padding:0.75rem 0.9rem;
    text-align:left;
    vertical-align:top;
    background:transparent;
}

.articlewrap table thead th 
{
    font-weight:600;
}

.articlewrap table th,
.articlewrap table td
{
    border:1px solid #dce0e5;
}

.articlewrap table th
{
    background-color:#f8f8f8;
}

body.dark .articlewrap table th,
body.dark .articlewrap table td
{
    border:1px solid #38393b;
}

body.dark .articlewrap table th
{
    background-color:#292a2d;
}

@media(max-width:640px) 
{
    .articlewrap table th,
    .articlewrap table td 
    {
        padding:0.6rem 0.7rem;
    }
}

/**
 * Backgrounds
*/
.d-light 
{
    display:block;
}

.d-dark 
{
    display:none;
}

body.dark .d-light 
{
    display:none;
}

body.dark .d-dark 
{
    display:block;
}

.bg-greynoisy 
{
    background-color:#f3f6ff;
}

body.dark .bg-greynoisy 
{
    background-color:#2f3134;
}

.bg-darkgray
{
    background-color:#292a2d;
}

.bg-violetfade 
{
    background-color:#6e35c4;
}

.bg-violetopacity 
{
    background-color:rgba(84, 42, 148, 0.90)
}

/**
 * Borders
*/
.border-greyhuge 
{
    border-color:#a4a4a4!important;
}

.border-greysoft
{
    border-color:#3a3c3e!important;
}

.border-greysoft:focus
{
    border-color:#5a5c5e!important;
}

.border-light 
{
    border-color:#ffffff!important;
}

.bg-dark .border-light,
body.dark .border-light 
{
    border-color:#45474a!important;
}

.border-violetfade 
{
    border-color:#6e35c4!important;
}

/**
 * Buttons
*/
.btn-whatsapp 
{
    background-color:#128C7E;
    color:#fff
}

.btn-whatsapp:focus,
.btn-whatsapp:hover 
{
    background-color:#075E54;
    color:#fff
}

.btn-telegram 
{
    background-color:#24A1DE;
    color:#fff
}

.btn-telegram:focus,
.btn-telegram:hover 
{
    background-color:#1e86b9;
    color:#fff
}

.btn-violetfade 
{
    background-color:#6e35c4;
    color:#fff
}

.btn-violetfade:focus,
.btn-violetfade:hover 
{
    background-color:#5a2ca0;
    color:#fff
}

/**
 * Card
*/
.card-hover:hover
{
    background:linear-gradient(to right,rgba(0,102,255,0.50),rgba(204,0,102,0.50));
    color:#f8f8f8;
}

.card-hover:hover h6
{
    color:#f8f8f8;
}

body.dark .card-hover:hover
{
    background:linear-gradient(to right,rgba(0,102,255,0.40),rgba(204,0,102,0.40));
    color:#f8f8f8;
}

body.dark .card-hover:hover h6
{
    color:#f8f8f8;
}

/**
 * CTA
*/
.ctablock .form-check-input 
{
    appearance:none;
    background-color:rgba(84, 42, 148, 0.90);
    border:1px solid #7b7a7e
}

.ctablock .form-check-input:checked 
{
    appearance:revert;
    accent-color:#6366f1
}

.ctablock .ctaform 
{
    border:1px solid #7b7a7e
}

.ctablock .ctaform .form-control, 
.ctablock .ctaform .form-control::placeholder
{

    color:#f8f8f8;
    font-size:1.10rem;
}

.ctablock .ctaform .btn 
{
    border:1px solid #7b7a7e;
    color:#e9e6f0
}

.ctablock .form-text 
{
    color:#e9e6f0
}

.ctablock .form-text a 
{
    color:#e9e6f0;
    text-decoration:underline
}

/**
 * Fill
*/
.fill-primary 
{
    fill:#6366f1!important;
}

.fill-white 
{
    fill:#fff!important;
}

.fill-secondary 
{
    fill:#85878a!important;
}

.fill-success 
{
    fill:#0cbc87!important;
}

.fill-info 
{
    fill:#17a2b8!important;
}

.fill-warning 
{
    fill:#f7c32e!important;
}

.fill-danger 
{
    fill:#d6293e!important;
}

.fill-light 
{
    fill:#f8f8f8!important;
}

.fill-dark 
{
    fill:#202124!important;
}

.fill-body 
{
    fill:var(--bs-body-bg)!important;
}

.fill-mode 
{
    fill:#202124!important;
}

body.dark .fill-mode 
{
    fill:#f8f8f8!important;
}

/**
 * Font Size
*/
.fs-1
{
    font-weight:700;
    font-size:2.55rem!important;
}

.fs-2
{
    font-weight:700;
    font-size:2.05rem!important;
}

/**
 * Form Control
*/
.form-control-transparent,
.form-control-transparent:hover,
.form-control-transparent:focus 
{
    background:transparent!important;
    border:none!important;
    outline:none!important;
    box-shadow:none!important;
}

.input-group .form-control 
{
    background-color:transparent!important;
    background:transparent!important;
    border:none;
    box-shadow:none;
}

.input-group .form-control:hover,
.input-group .form-control:focus 
{
    background-color:transparent!important;
    background:transparent!important;
    border:none;
    box-shadow:none;
}
/**
 * Height
*/
.h-40px
{
    height:40px!important;
}

.h-50px
{
    height:50px!important;
}

.h-60px
{
    height:60px!important;
}


.h-200px
{
    height:200px!important;
}

.h-250px
{
    height:250px!important;
}

/**
 * Icons
*/
.icon-sm 
{
    width:1.5rem;
    height:1.5rem;
    line-height:1.5rem;
    text-align:center;
    font-size:75%;
}

.icon-md 
{
    width:2.6rem;
    height:2.6rem;
    line-height:2.6rem;
    text-align:center;
    font-size:0.8rem;
}

.icon-lg 
{
    width:3.5rem;
    height:3.5rem;
    line-height:3.5rem;
    text-align:center;
    font-size:1.2rem;
}

.icon-xl 
{
    width:5rem;
    height:5rem;
    line-height:5rem;
    text-align:center;
    font-size:1.9rem;
}

.icon-xxl 
{
    width:7rem;
    height:7rem;
    line-height:7rem;
    text-align:center;
    font-size:2.5rem;
}

/**
 * Opacity
*/
.opacity-0 
{
    opacity:0!important;
}

.opacity-1 
{
    opacity:0.1!important;
}

.opacity-2 
{
    opacity:0.2!important;
}

.opacity-3 
{
    opacity:0.3!important;
}

.opacity-4 
{
    opacity:0.4!important;
}

.opacity-5 
{
    opacity:0.5!important;
}

.opacity-6 
{
    opacity:0.6!important;
}

.opacity-7 
{
    opacity:0.7!important;
}

.opacity-8 
{
    opacity:0.8!important;
}

.opacity-9 
{
    opacity:0.9!important;
}

/**
 * Overlay Pink
*/
.overlay-pink 
{
    position:absolute;
    inset:0;
    background:linear-gradient(to right,rgba(0,102,255,0.5),rgba(204,0,102,0.5));
}

/**
 * Phonefield
*/
.phonefield-svg 
{
    color:#454545;
}

.phonefield-flag 
{
    width:32px;
    height:32px;
    object-fit:cover;
}

.phonefield-dropdown 
{
    position:absolute;
    top:100%;
    left:0;
    width:100%;
    z-index:1000;
    display:none;
    max-height:250px;
    overflow-y:auto;
    border-color:#d4d7e5
}

body.dark .phonefield-dropdown 
{
    border-color:#505355
}

.phonefield-dropdown.show 
{
    display:block;
}

.phonefield-dropdown .phonefield-item 
{
    padding:8px 12px;
    cursor:pointer;
}

.phonefield-dropdown .phonefield-item:hover 
{
    color:#454545;
    background-color:#e9e9e9;
}

body.dark .phonefield-dropdown .phonefield-item:hover 
{
    color:#ffffff;
    background-color:#585858;
}

.phonefield-group 
{
    position:relative;
}

.phonefield-toggle::after 
{
    display:none;
}

.phonefield-toggle:hover
{
    background-color:#e9e9e9;
}

body.dark .phonefield-toggle:hover
{
    background-color:#585858;
}

#phonefieldbox.is-invalid
{
    border:1px solid #d6293e!important;
    background-color:rgb(255,159,171,0.3)!important;
}

#phonefieldbox input,
#phonefieldbox select,
#phonefieldbox textarea 
{
    background-color:transparent!important;
}

/**
 * Portfolio
*/
.portfolio .gap-prevention-item .grid-inner.bg-light-subtle 
{
    background-color:rgba(0,0,0,0.02)!important;
    transition:background-color 0.3s ease;
}

.portfolio .gap-prevention-item:hover .grid-inner.bg-light-subtle 
{
    background-color:rgba(0,0,0,0.05)!important;
}

.portfolio .grid-inner 
{
    height:100%;
}

.portfolio-image img 
{
    width:100%;
    height:auto;
    aspect-ratio:16/9;
    object-fit:cover;
}

.portfolio .portfolio-item
{
    position:relative;
    min-height:0px;
    padding:0.315em 0.40em;
}

.portfolio .portfolio-item.wide
{
    position:relative;
    min-height:0px;
    padding:0.40em;
}

.portfolio.row 
{
    display:flex;
    flex-wrap:wrap;
}

@media (min-width:992px) 
{
    .portfolio .col-lg-4 
    {
        width:33.333%;
    }
    
    .portfolio .col-lg-8 
    {
        width:66.667%;
    }
}

/**
 * Preloader
*/
.preloader 
{
    background-color:var(--bs-body-bg);
    position:fixed;
    z-index:1190;
    height:100%;
    width:100%;
    top:0;
    left:0;
}

.preloader .preloader-item 
{
    position:absolute;
    top:50%;
    left:50%;
    text-align:center;
    -webkit-transform:translate(-50%, -50%);
    transform:translate(-50%, -50%);
}

/**
 * Rotate
*/
.rotate-10 
{
    -webkit-transform:rotate(10deg)!important;
    transform:rotate(10deg)!important;
}

.rotate-15 
{
    -webkit-transform:rotate(15deg)!important;
    transform:rotate(15deg)!important;
}

.rotate-35 
{
    -webkit-transform:rotate(35deg)!important;
    transform:rotate(35deg)!important;
}

.rotate-180 
{
    -webkit-transform:rotate(180deg)!important;
    transform:rotate(180deg)!important;
}

.rotate-270 
{
    -webkit-transform:rotate(270deg)!important;
    transform:rotate(270deg)!important;
}

.rotate-335 
{
    -webkit-transform:rotate(335deg)!important;
    transform:rotate(335deg)!important;
}

.rotate-343 
{
    -webkit-transform:rotate(343deg)!important;
    transform:rotate(343deg)!important;
}

.rotate-355 
{
    -webkit-transform:rotate(355deg)!important;
    transform:rotate(355deg)!important;
}

/**
 * Spinner Grow
*/
.spinner-grow
{
    display:inline-block;
    width:var(--bs-spinner-width);
    height:var(--bs-spinner-height);
    vertical-align:var(--bs-spinner-vertical-align);
    border-radius:50%;
    -webkit-animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);
    animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name);
}

@-webkit-keyframes spinner-grow 
{
    0% 
    {
        -webkit-transform:scale(0);
        transform:scale(0);
    }

    50% 
    {
        opacity:1;
        -webkit-transform:none;
        transform:none;
    }
}

@keyframes spinner-grow
{
    0% 
    {
        -webkit-transform:scale(0);
        transform:scale(0);
    }

    50% 
    {
        opacity:1;
        -webkit-transform:none;
        transform:none;
    }
}

.spinner-grow 
{
    --bs-spinner-width:2rem;
    --bs-spinner-height:2rem;
    --bs-spinner-vertical-align:-0.125em;
    --bs-spinner-animation-speed:0.75s;
    --bs-spinner-animation-name:spinner-grow;
    background-color:currentcolor;
    opacity:0;
}

.spinner-grow-sm 
{
    --bs-spinner-width:1rem;
    --bs-spinner-height:1rem;
}

@media (prefers-reduced-motion:reduce) 
{
    .spinner-border,
    .spinner-grow 
    {
        --bs-spinner-animation-speed:1.5s;
    }
}

/**
 * Text Truncate
*/
.texttruncate 
{
    width:90%;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis
}

/**
 * Width
*/
.w-50px
{
    width:50px!important;
}

.w-200px
{
    width:200px!important;
}

.w-250px
{
    width:250px!important;
}

@media(min-width:992px) 
{
    .w-lg-75 
    {
        width:75%!important;
    }
}

/**
 * Z-Index
*/
.z-index-0 
{
    z-index:0!important;
}

.z-index-1 
{
    z-index:1!important;
}

.z-index-2 
{
    z-index:2!important;
}

.z-index-9 
{
    z-index:9!important;
}

.z-index-99 
{
    z-index:99!important;
}

.z-index-n1 
{
    z-index:-1!important;
}