/* --------------------------- General -------------------------- */

html.no-overflow, body.no-overflow
{
    overflow: hidden;
    height: 100vh;
}

body
{
    font-family: var(--font_family_main);
    color: var(--theme_text_color);
    font-weight: 400;
    font-size: var(--font_size_main);
    line-height: var(--line_height_main);
    overflow-x: hidden;
}

::-moz-selection { background: var(--theme_color_primary); color: #FFF; }
::selection { background: var(--theme_color_primary); color: #FFF; }

h1, h2, h3, h4, h5, h6
{
    color: var(--theme_color_primary);
    font-size: var(--heading_tag_size);
    line-height: var(--heading_tag_line_height);
    font-weight: var(--heading_tag_default_weight);
    text-transform: capitalize;
    margin-bottom: var(--gap_spacing_default);
}

h1.thin, h2.thin, h3.thin, h4.thin, h5.thin, h6.thin
{
    color: var(--theme_color_tertiary);
    font-weight: 400;
    font-size: var(--heading_tag_size_medium);
    line-height: var(--heading_tag_line_height_medium);
}

a
{
    color: var(--theme_color_secondary);
    font-weight: 900;
    text-decoration: none;
    outline: none;
    transition: color 0.5s ease;
}

a:hover
{
    color: var(--hover_color);
}

mark
{
    background: transparent;
}

strong, mark
{
    font-weight: 900;
}

em
{
    font-style: italic;
}

img
{
    max-width: 100%;
    height: auto;
}

object
{
    display: block;
}

input
{
    outline: none;
}

sup
{
    vertical-align: super;
    font-size: smaller;
}

hr
{
    border: 0;
    border-bottom: 1px solid var(--border_color_default);
}

input[type="submit"]
{
    -webkit-appearance: none;
}

q, blockquote
{
  quotes: "“" "”" "‘" "’";
}

q::before, blockquote p::before
{
    content: open-quote;
}

q::after, blockquote p::after
{
    content: close-quote;
}

.container, html .kt-row-column-wrap, section .woocommerce
{
    max-width: var(--theme-extra-large-size);
    margin: 0px auto;
    padding: 0 var(--gap_spacing_default);
    text-align: left;
    position: relative;
}

.alignleft
{
    float: left;
    margin: 0 var(--gap_spacing_default) var(--gap_spacing_default) 0;
}

.alignright
{
    float: right;
    margin: 0 0 var(--gap_spacing_default) 0;
}

.table
{
    display: table;
    width: 100%;
}

.table-row
{
    display: table-row;
}

.table-cell
{
    display: table-cell;
}

.text-left
{
    text-align: left;
}

.text-center
{
    text-align: center;
}

.text-right
{
    text-align: right;
}

.text-justify
{
    text-align: justify;
}

.text-nowrap
{
    white-space: nowrap;
}

.clear
{
    clear: both;
}

.clearfix:before,
.clearfix:after
{
    content: "";
    display: table;
}

.clearfix:after
{
    clear: both;
}

.clearfix
{
    zoom: 1;
}

.video-wrapper
{
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 25px;
    height: 0;
    margin-bottom: var(--gap_spacing_default);
}

.video-wrapper iframe
{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

table.generic
{
    margin-bottom: var(--gap_spacing_default);
}

table.generic:last-child
{
    margin-bottom: 0;
}

table.generic td
{
    border: 1px var(--border_color_default) solid;
    padding: 10px;
}

#aos-overflow
{
    overflow-x: hidden;
}

@media (max-width: 1400px) {

    .container, html .kt-row-column-wrap, section .woocommerce,
    #header .container, #header-fixed .container
    {
        max-width: var(--theme-large-size);
    }

}

@media (max-width: 1170px) {

    .container, html .kt-row-column-wrap, section .woocommerce,
    #header .container, #header-fixed .container
    {
        max-width: var(--theme-desktop-size);
    }

}

@media (max-width: 1000px) {

    .container, html .kt-row-column-wrap, section .woocommerce,
    #header .container, #header-fixed .container
    {
        max-width: var(--theme-tablet-size);
    }

}

@media (max-width: 768px) {

    h1, h2, h3, h4, h5, h6
    {
        font-size: var(--heading_tag_size_small_alt);
        line-height: var(--heading_tag_line_height_small_alt);
    }

    h1.thin, h2.thin, h3.thin, h4.thin, h5.thin, h6.thin
    {
        font-size: var(--heading_tag_size_small);
        line-height: var(--heading_tag_line_height_small);
    }

}