:root {
    /**
     * Global elements
     */
    --global-color: #ffffff;
    --global-background: #000000;
    /**
     * Links.
     */
    --ui-color-a: #08fff6;
    --ui-color-a-hover: #cccccc;
    --ui-color-a-shadow: #000000;
    --ui-color-border: #c8ad78;
    /**
     * Header and footer.
     */
    --header-background: #79683c;
    --header-border: 0.15em solid var(--ui-color-border);
    --header-border-radius: 0.2em;
    --nav-color: var(--global-color);
    --nav-color-hover: #333333;
    --nav-background-hover: #ffffff33;
    --nav-separator: 0.1em solid #ffffff44;
    --nav-shadow: 0 0 0 #ffffff;
    --nav-shadow-hover: 0 0 0.2em #ffffff;
    /**
     * Sections.
     */
    --section-border: 0.15em solid var(--ui-color-border);
    --section-border-radius: 0.5em;
    --section-padding: 0.5em;
    --section-margin: 0.2em 2em 0.5em 2em;
    --section-title-margin: -0.5em -0.5em 0.5em -0.5em;
    --section-title-background: #6c2d0d;
    --section-title-border-radius: 0.35em;
    --section-title-padding: 0.2em 0 0.2em 2em;
    --section-title-font-size: 100%;
    --section-title-font-weight: bold;
    --section-background-list: #331100;
    --section-background-content: #755739;
    /**
     * Star filters.
     */
    --star-filter-silver: sepia(100%) saturate(500%) grayscale(100%) drop-shadow(0 0 0.1em #000000) drop-shadow(0 0 0.1em #000000) drop-shadow(0 0 0.1em #000000);
    --star-filter-gold: sepia(100%) saturate(500%) hue-rotate(10deg) saturate(200%) drop-shadow(0 0 0.1em #000) drop-shadow(0 0 0.1em #000) drop-shadow(0 0 0.1em #000);
    --star-filter-purple: sepia(100%) saturate(500%) hue-rotate(250deg) saturate(500%) drop-shadow(0 0 0.1em #000) drop-shadow(0 0 0.1em #000) drop-shadow(0 0 0.1em #000);
    --star-filter-red: sepia(100%) saturate(500%) hue-rotate(320deg) saturate(500%) drop-shadow(0 0 0.1em #000) drop-shadow(0 0 0.1em #000) drop-shadow(0 0 0.1em #000);
    /**
     * Elemental colors.
     */
    --element-color-water: #0285f7;
    --element-color-fire: #f72302;
    --element-color-wind: #fcc923;
    --element-color-light: #f2f7aa;
    --element-color-dark: #4a0282;
    --element-color-magic: #e21af4;
    /**
     * Input elments
     */
    --input-color: #ffffff;
    --input-color-placeholder: #777777;
    --input-font-weight: normal;
    --input-padding: 0;
    --input-background: linear-gradient(0deg, rgba(187,132,64,1) 0%, rgba(200,173,120,1) 97%, rgba(209,169,143,1) 100%);
    --input-background-unchecked: rgb(96, 71, 40);
    --input-background-checked: rgba(209,169,143,1);
    --input-border: 0;/*0.2em solid var(--ui-color-border);*/
    --input-border-radius: 0.2em;
    --input-text-shadow: 0 0 0.1em #000000;
    --input-box-shadow: 0 0 0.2em #000000;
    --input-button-padding: 0.3em 1em 0.3em 1em;
}


.desktop{ /* Elements to be shown only in large screens. */
    display: initial;
}
@media screen and (max-width : 990px){
    .desktop{
        display: none;
    }
}
.mobile{ /* Elements to be shown only in small screens. */
    display: none;
}
@media screen and (max-width : 990px){
    .mobile{
        display: initial !important;
    }
}
.bold{font-weight: bold;}
.italic{font-style: italic;}
.pointer {cursor: pointer;}
.hidden{display: none;}
.pointer{cursor: pointer;}
.error{border-color: #ffaaaa;}
.color_Fire{color: var(--element-color-fire);}
.color_Wind{color: var(--element-color-wind);}
.color_Water{color: var(--element-color-water);}
.color_Light{color: var(--element-color-light);}
.color_Dark{color: var(--element-color-dark);}
.color_Magic{color: var(--element-color-magic);}
.border_Fire{border-color: var(--element-color-fire);}
.border_Wind{border-color: var(--element-color-wind);}
.border_Water{border-color: var(--element-color-water);}
.border_Light{border-color: var(--element-color-light);}
.border_Dark{border-color: var(--element-color-dark);}
.border_Magic{border-color: var(--element-color-magic);}
.background_Fire{background-color: var(--element-color-fire);}
.background_Wind{background-color: var(--element-color-wind);}
.background_Water{background-color: var(--element-color-water);}
.background_Light{background-color: var(--element-color-light);}
.background_Dark{background-color: var(--element-color-dark);}
.background_Magic{background-color: var(--element-color-magic);}

/* Star colors. */
img.star.star_silver{filter: var(--star-filter-silver);}
img.star.star_gold{filter: var(--star-filter-gold);}
img.star.star_purple{filter: var(--star-filter-purple);}
img.star.star_red{filter: var(--star-filter-red);}

html {height: 100%;}
body{
    background-color: var(--global-background);
    color: var(--global-color);
    height: 100%;
    padding: 0;
    margin: 0;
    text-align: center;
}
a{
    color: var(--ui-color-a);
    text-shadow: 0 0 0.5em var(--ui-color-a-shadow);
    text-decoration: none;
    transition: all .3s ease-in-out;
}
a:hover{
    color: var(--ui-color-a-hover);
    text-shadow: 0 0 0.1em var(--ui-color-a-shadow);
}
.fake_a{ /* Elements that look and act as links. */
    color: var(--ui-color-a);
    text-shadow: 0 0 0.5em var(--ui-color-a-shadow);
    text-decoration: none;
    cursor: pointer;
    transition: all .3s ease-in-out;
}
.fake_a:hover{
    color: var(--ui-color-a-hover);
    text-shadow: 0 0 0.1em var(--ui-color-a-shadow);
}
header{
    border-bottom: var(--header-border);
    /*border-left: var(--header-border);
    border-right: var(--header-border);*/
    border-bottom-right-radius: var(--header-border-radius);
    border-bottom-left-radius: var(--header-border-radius);
    margin: 0 0 1em 0;
    background-color: var(--header-background);
    text-align: left;
}
header div#logo{
    font-size: 70%;
    margin: auto;
    display: inline-block;
    vertical-align: middle;
    width: 10em;
    text-align: center;
    float: left;
}
header div#logo img#logo_img{
    max-width: 8em;
    max-height: 4em;
}
header div#logo h1#logo_text{
    font-style: italic;
    margin: -1.2em auto -0.7em auto;
    text-shadow: 0 0 0.1em var(--ui-color-a-shadow), 0 0 0.1em var(--ui-color-a-shadow);
}
header div#logo h1#logo_text span.large{font-size: 90%;}
header div#logo h1#logo_text span.small{
    font-size: 60%;
    margin-left: -0.5em;
}
header nav#menu{
    display: inline-block;
    height: 2em;
}
header nav a{
    font-size: 110%;
    font-weight: bold;
    text-transform: capitalize;
    font-variant: small-caps;
    margin: 0 -0.2em 0 0; /* -0.2 to compensate for strange space. */
    text-decoration: none;
    position: relative;
    transition: all .4s ease-in-out;
    color: var(--nav-color);
    border-left: var(--nav-separator);
    padding: 0.3em;
    text-align: center;
    display: inline-block;
    vertical-align: middle;
    text-shadow: var(--nav-shadow);
}
header nav#menu a:last-of-type{border-right: var(--nav-separator)}

header nav a:hover{
    background-color: var(--nav-background-hover);
    color: var(--nav-color-hover);
    text-shadow: var(--nav-shadow-hover);
}
@media screen and (max-width : 990px){
    header nav a{
        font-size: 0.6em;
        margin: 0.2em 0.2em;
        display: inline-block;
        text-align: center;
    }
    header nav a:hover{
        text-shadow: 0 0 0 #000000;
    }
}
header nav#profile{
    float: right;
    margin-right: 0.5em;
}
header nav#profile a{
    border-left: 0;
    /*font-size: 110%;
    font-weight: bold;
    text-transform: capitalize;
    font-variant: small-caps;
    margin: 0 -0.2em 0 0;
    text-decoration: none;
    position: relative;
    transition: all .4s ease-in-out;
    color: var(--nav-color);
    border-left: var(--nav-separator);
    padding: 0.3em;
    text-align: center;
    display: inline-block;
    vertical-align: middle;
    text-shadow: var(--nav-shadow);*/
}
footer{
    font-size: 80%;
    text-align: center;
    border-top: var(--header-border);
    /*border-left: var(--header-border);
    border-right: var(--header-border);*/
    border-top-right-radius: var(--header-border-radius);
    border-top-left-radius: var(--header-border-radius);
    margin: 2em 0 0 0;
    background-color: var(--header-background);
    padding: 1em 2em 1em 2em;
}
footer table#footer_table{
    margin-left: auto;
    margin-right: auto;
    width: 95%;
    table-layout: fixed;
}
footer table#footer_table td{
    width: 45%;
    padding: 0.5em;
}
@media screen and (max-width : 990px){
    footer table#footer_table td{
        width: auto;
        padding: 0.2em;
        font-size: 70%;
        line-height: 0.9em;
    }
}
input, select, a.a_button, textarea{
    font-size: 100%;
    text-transform: capitalize;
    font-variant: small-caps;
    cursor: pointer;
    color: var(--input-color);
    font-weight: var(--input-font-weight);
    padding: var(--input-padding);
    background: var(--input-background);
    border: var(--input-border);
    border-radius: var(--input-border-radius);
    text-shadow: var(--input-text-shadow);
    box-shadow: var(--input-box-shadow);
}
input[type=button], input[type=submit]{padding: var(--input-button-padding);}
input[type=text], input[type=number], input[type=date], input[type=password], select{font-size: 80%;}
input[type=number]{width: 3em;}
select[multiple]{scrollbar-width: none;}
input[type=checkbox]{
    display: none;
    margin-left: -2em;
    overflow: hidden;
}
input[type=checkbox] + label{
    display: inline-block;
    vertical-align: middle;
    cursor: pointer;
}
input[type=checkbox]:not(:checked) + label:before{
    content: " ";
    text-align: center;
    font-weight: bold;
    color: var(--input-color);
    text-shadow: var(--input-text-shadow);
    line-height: 0.8em;
    padding-top: 0.1em;
    display: inline-block;
    vertical-align: middle;
    width: 0.8em;
    height: 0.8em;
    margin-right: 0.5em;
    border: 0.2em solid var(--ui-color-border);
    border-radius: var(--input-border-radius);
    box-shadow: var(--input-box-shadow);
    background: var(--input-background-unchecked);
}
input[type=checkbox]:checked + label:before{
    content: "+";
    text-align: center;
    font-weight: bold;
    color: var(--input-color);
    text-shadow: var(--input-text-shadow);
    line-height: 0.8em;
    padding-top: 0.1em;
    display: inline-block;
    vertical-align: middle;
    width: 0.8em;
    height: 0.8em;
    margin-right: 0.5em;
    border: 0.2em solid var(--ui-color-border);
    border-radius: var(--input-border-radius);
    box-shadow: var(--input-box-shadow);
    background: var(--input-background-checked);
}
::placeholder {color: var(--input-color-placeholder);}

section{
    text-align: left;
    border: var(--section-border);
    border-radius: var(--section-border-radius);
    padding: var(--section-padding);
    margin: var(--section-margin);
}

section h2{
    margin: var(--section-title-margin);
    border-bottom: var(--section-border);
    background-color: var(--section-title-background);
    border-top-left-radius: var(--section-title-border-radius);
    border-top-right-radius: var(--section-title-border-radius);
    padding: var(--section-title-padding);
    font-size: var(--section-title-font-size);
    font-weight: var(--section-title-font-weight);
    text-align: left;
    text-transform: capitalize;
    font-variant: small-caps;
}
@media screen and (max-width : 990px){
    section h2{
        padding: 0.15em 0 0.15em 1em;
    }
}

/* Main content, when it is a list of monsters, runes... */
section.list{
    display: block;
    text-align: center;
    background-color: var(--section-background-list);
}


/* Main content, when it a single monster, rune... */
section.content{
    text-align: center;
    background-color: var(--section-background-content);
}



/**
 * Rune boxes
 */
div.rune_panel{
    width: 8em;
    height: 8em;
    border: 0.2em solid #000000;
    border-radius: 1em;
    position: relative;
    text-align: center;
}
div.rune_panel.rune_quality_normal{ /* Normal */
    background-image: repeating-radial-gradient(#ffffff, #cccccc 30%, #ffffff 60%);
}
div.rune_panel.rune_quality_magic{ /* Magic */
    background-image: repeating-radial-gradient(#aaffaa, #88cc88 30%, #aaffaa 60%);
}
div.rune_panel.rune_quality_rare{ /* Rare */
    background-image: repeating-radial-gradient(#aaaaff, #8888cc 30%, #aaaaff 60%);
}
div.rune_panel.rune_quality_hero{ /* Hero */
    background-image: repeating-radial-gradient(#ffaacc, #cc88aa 30%, #ffaacc 60%);
}
div.rune_panel.rune_quality_legend{ /* Legend */
    background-image: repeating-radial-gradient(#f48200, #b76201 30%, #f48200 60%);
}
div.rune_panel img.rune_base{
    position: absolute;
    width: 9em;
    height: 9em;
    margin: -0.5em;
    top: 0;
    left: 0;
}
div.rune_panel.rune_ancient_1 img.rune_base{filter: brightness(150%) contrast(90%) saturate(100%) drop-shadow(0 0 0.3em #ffffff) drop-shadow(0 0 0.1em #ffffff);}
div.rune_panel.rune_slot_1 img.rune_base{transform: rotate(0deg);}
div.rune_panel.rune_slot_2 img.rune_base{transform: rotate(57deg);}
div.rune_panel.rune_slot_3 img.rune_base{transform: rotate(123deg);}
div.rune_panel.rune_slot_4 img.rune_base{transform: rotate(180deg);}
div.rune_panel.rune_slot_5 img.rune_base{transform: rotate(237deg);}
div.rune_panel.rune_slot_6 img.rune_base{transform: rotate(303deg);}
div.rune_panel img.rune_icon{
    position: absolute;
    height: 3em;
}
div.rune_panel.rune_slot_1 img.rune_icon{
    top: 3.0em;
    left: 2.7em;
}
div.rune_panel.rune_slot_2 img.rune_icon{
    top: 2.9em;
    left: 2.3em;
}
div.rune_panel.rune_slot_3 img.rune_icon{
    top: 2.2em;
    left: 2.3em;
}
div.rune_panel.rune_slot_4 img.rune_icon{
    top: 2em;
    left: 2.8em;
}
div.rune_panel.rune_slot_5 img.rune_icon{
    top: 2.2em;
    left: 3.3em;
}
div.rune_panel.rune_slot_6 img.rune_icon{
    top: 2.9em;
    left: 3.3em;
}
div.rune_panel.rune_original_quality_normal img.rune_icon{filter: sepia(100%) saturate(500%) grayscale(100%);}
div.rune_panel.rune_original_quality_magic img.rune_icon{filter: sepia(100%) saturate(500%) hue-rotate(60deg);}
div.rune_panel.rune_original_quality_rare img.rune_icon{filter: sepia(100%) saturate(500%) hue-rotate(120deg);}
div.rune_panel.rune_original_quality_hero img.rune_icon{filter: sepia(100%) saturate(500%) hue-rotate(230deg);}
div.rune_panel.rune_original_quality_legend img.rune_icon{filter: sepia(100%) saturate(500%) hue-rotate(330deg);}
div.rune_panel span.rune_stars{
    position: absolute;
    width: 9em;
    left: 0.9em;
    top: 0.2em;
    text-align: left;
}
div.rune_panel span.rune_stars img.star{
    width: 1.2em;
    height: 1.2em;
    margin-left: -0.4em;
    filter: drop-shadow(0 0 0.1em #000000) drop-shadow(0 0 0.1em #000000);
}
div.rune_panel.rune_level_15 span.rune_stars img.star{filter: sepia(100%) saturate(300%) hue-rotate(320deg) saturate(400%) drop-shadow(0 0 0.1em #000000) drop-shadow(0 0 0.1em #000000);}
div.rune_panel span.rune_level{
    font-size: 130%;
    font-weight: bold;
    text-shadow: 0 0 0.2em #000000, 0 0 0.2em #000000, 0 0 0.2em #000000, 0 0 0.2em #000000, 0 0 0.2em #000000;
    position: relative;
    top: 4.7em;
    left: 1.5em;
}
div.rune_panel span.rune_level::before {
  content: "+";
}
div.rune_panel.rune_level_15 span.rune_level{color: #ff6f2d;}
/**
 * /Rune boxes
 */


/**
 * Monster panel
 */
div.monster_panel{
    display: inline-block;
    width: 7em;
    height: 7em;
    margin: 0.5em;
    position: relative;
    border-radius: 15%;
}

@media screen and (max-width : 990px){
    div.monster_panel{
        height: 6em;
        width: 6em;
        margin: 0.2em;
    }
}

div.monster_panel span.stars{
    position: absolute;
    top: 0.4em;
    right: 0.5em;
    pointer-events: none;
}
@media screen and (max-width : 990px){
    div.monster_panel span.stars{
        top: 0.3em;
        right: 0.4em;
    }
}

div.monster_panel span.stars img.star{
    width: 1.3em;
    height: 1.3em;
    margin-left: -0.65em;
    pointer-events: none;
}
@media screen and (max-width : 990px){
    div.monster_panel span.stars img.star{
        width: 0.9em;
        height: 0.9em;
        margin-left: -0.5em;
    }
}

div.monster_panel img.monster{
    width: 6.5em;
    height: 6.5em;
    border-style: solid;
    border-width: 0.3em;
    border-radius: 15%;
}
@media screen and (max-width : 990px){
    div.monster_panel img.monster{
        width: 5.6em;
        height: 5.6em;
        border-width: 0.2em;
        border-radius: 10%;
    }
}

div.monster_panel span.level{
    position: relative;
    font-weight: bold;
    color: #000;
    text-shadow: 0 0 0.1em #fff, 0 0 0.1em #fff, 0 0 0.2em #fff, 0 0 0.2em #fff, 0 0 0.5em #fff, 0 0 0.5em #fff;
    font-size: 2.5em;
    width: 90%;
    text-align: right;
    bottom: 1.3em;
    z-index: 1;
    pointer-events: none;
    display: block;
}

/**
 * /Monster panel
 */
 
 
 /**
  * Rune table
  */
table.rune{
    border-collapse: collapse;
    display: inline-block;
    vertical-align: top;
    font-size: 80%;
    position: relative;
    border-radius: 1em;
    margin: 0.5em;
    background-color: #7d6640;
    font-size: 70%;
    border: 0.3em solid #3c2929;
}
table.rune td.icon div.assigned{
    max-width: 2.5em;
    max-height: 2.5em;
    position: absolute;
    left: 0.5em;
    bottom: 1em;
}
table.rune td.icon div.assigned img.monster_image{
    width: 2.5em;
    height: 2.5em;
    border-style: solid;
    border-width: 0.2em;
    border-radius: 15%;
}
table.rune td.icon div.rune_panel{font-size: 70%;}
table.rune td.stats{width: 8em;}

table.rune td.stats table{font-size: 90%;}

table.rune td.stats table tr.main_stat{
    font-weight: bold;
    font-size: 110%;
}

table.rune td.stats table tr.innate_stat{font-style: italic;}

table.rune td.stats table td.stat{text-align: right;}
table.rune td.stats table td.value{
    text-align: left;
    padding-left: 0.2em;
    vertical-align: middle;
    white-space: nowrap;
}
table.rune td.stats table td.value span.grind{
    color: #ff7700;
    vertical-align: middle;
    font-size: 90%;
    font-weight: bold;
    margin-left: -0.4em;
}
table.rune td.stats table td.value span.grind_{display: none;}
table.rune td.stats table td.value img{
    width: 1em;
    height: 1em;
    margin: 0;
    vertical-align: middle;
}

table.rune td.details{
    padding-left: 0.5em;
    width: 16em;
    font-size: 80%;
}

table.rune td.details table.table_details td.title{text-align: right;}
table.rune td.details table.table_details td.value{
    text-align: left;
    padding-left: 1em;
}

table.rune td.details table.table_details span.quality{
    border: 0.1em solid #000000;
    border-radius: 0.2em;
    font-weight: bold;
    text-shadow: 0 0 0.1em #000000;
    padding: 0 0.3em;
    width: 5em;
}

table.rune td.details table.table_details span.quality.quality_normal{background-color: #cccccc;}

table.rune td.details table.table_details span.quality.quality_magic{background-color: #55ff55;}

table.rune td.details table.table_details span.quality.quality_rare{background-color: #15c6e1;}

table.rune td.details table.table_details span.quality.quality_hero{background-color: #ad7fa8;}

table.rune td.details table.table_details span.quality.quality_legend{background-color: #f57900;}
/**
 * /Rune table
 */



/**
 * Craft item panel
 */
div.craft_panel{
    width: 3em;
    height: 3em;
    border: 0.1em solid #3c2929;
    border-radius: 0.5em;
    position: relative;
    text-align: center;
    display: inline-block;
}
div.craft_panel.craft_quality_normal{ /* Normal */
    background-image: repeating-radial-gradient(#ffffff, #cccccc 30%, #ffffff 60%);
}
div.craft_panel.craft_quality_magic{ /* Magic */
    background-image: repeating-radial-gradient(#aaffaa, #88cc88 30%, #aaffaa 60%);
}
div.craft_panel.craft_quality_rare{ /* Rare */
    background-image: repeating-radial-gradient(#aaaaff, #8888cc 30%, #aaaaff 60%);
}
div.craft_panel.craft_quality_hero{ /* Hero */
    background-image: repeating-radial-gradient(#ffaacc, #cc88aa 30%, #ffaacc 60%);
}
div.craft_panel.craft_quality_legend{ /* Legend */
    background-image: repeating-radial-gradient(#f48200, #b76201 30%, #f48200 60%);
}
div.craft_panel img.craft_base{
    position: absolute;
    width: 3em;
    height: 3em;
    margin: -0.5em;
    top: 0.1em;
    left: 0.5em;
}
div.craft_panel img.craft_icon{
    position: absolute;
    width: 1em;
    height: 1em;
    top: 0.6em;
    left: 1em;
}
div.craft_panel.craft_ancient_1 img.craft_base{filter: brightness(150%) contrast(90%) saturate(100%) drop-shadow(0 0 0.3em #ffffff) drop-shadow(0 0 0.1em #ffffff);}
div.craft_panel.craft_quality_normal img.craft_base{filter: sepia(100%) saturate(500%) grayscale(100%);}
div.craft_panel.craft_quality_magic img.craft_base{filter: sepia(100%) saturate(500%) hue-rotate(60deg);}
div.craft_panel.craft_quality_rare img.craft_base{filter: sepia(100%) saturate(500%) hue-rotate(120deg);}
div.craft_panel.craft_quality_hero img.craft_base{filter: sepia(100%) saturate(500%) hue-rotate(230deg);}
div.craft_panel.craft_quality_legend img.craft_base{filter: sepia(100%) saturate(500%) hue-rotate(330deg);}
div.craft_panel span.craft_stat{
    display: block;
    width: 100%;
    text-align: center;
    font-size: 60%;
    text-shadow: 0 0 0.2em #000000, 0 0 0.2em #000000, 0 0 0.2em #000000, 0 0 0.2em #000000, 0 0 0.2em #000000;
    position: absolute;
    top: 2.7em;
}
div.craft_panel span.craft_stat span.craft_stat_name{
    display: block;
    margin: 0;
}
div.craft_panel span.craft_stat span.craft_stat_value{
    display: block;
    font-weight: bold;
    margin: 0;
}
