/* ========== Main styles ========== */
body {
    font-family: "Roboto Condensed", "system-ui", "-apple-system", "Segoe UI", "Roboto";
}


.main {
    background-color: #f4f4f4;
}

.navbar-color {
    background-color: #517c53;
    color: #fff;
    .btn {
        color: #fff;
    }
}

.fs-7 {
    font-size: 0.7rem;
}

.fs-small {
    font-size: 0.8rem;
}

/* ========== Global spinner ========== */
.global-loader {
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* background-color: rgba(0, 0, 0, 0.5); */
    z-index: 1050;
    justify-content: center;
    align-items: center;
}

.global-loader.visible {
  opacity: 1;
}

.global-loader-content {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}

.global-loader .spinner-border {
    width: 5rem;
    height: 5rem;
}


/* ========== SPELL BOX ========== */
.sp_title {
	font-variant-caps: small-caps;
	font-size: 115%;
	font-weight: 550;
	line-height: 115%;
	/* background-color: #F5F5F5; */
	border-top: solid 1px black;
	border-bottom: solid 1px black;
}

.sp_stat {
	margin-bottom: 2px;
	margin-top: 2px;
}

.sp_stat {
	font-size: 80%;
}

.sp_stat_t {
	font-weight: bold;
	display: inline;
}

.sp_source {
	font-size: 75%;
	text-align: right;
	font-style: italic;
}

.sp_desc {
	border-top: solid 1px black;
	font-size: 75%;
}

.sp_desc p {
    margin-block-start: 0.6em;
    margin-block-end: 0.6em;
}

.sp_desc table {
	font-size: 75%;
    text-align: left;
	padding-left: 5px;
	max-width: 100%;
    margin-top: 5px;
    margin-bottom: 5px;
}

.sp_desc th, .sp_desc td { padding-left: 5px;}

.feat_type {
	font-size: 80%;
	font-weight: normal;
	font-variant-caps: normal;
}

/* ========== PAGE BREAK ========== */
.onecolumn {
	text-align: center;
	font-size: 140%;
	font-weight: bold;
	font-variant-caps: small-caps;
	margin-bottom: 10px;
	background-color: #F5F5F5;
	column-count: 1;
	-webkit-column-count: 1;
	-moz-column-count: 1;
}

.onecolumn:before, .onecolumn:after {
	content:'\00a0\00a0\00a0\00a0\00a0';
	text-decoration: line-through;
	margin: auto 0.5em;
}

.page_break {
	break-after: page;
}

.spell_card, .feat_card {
	break-inside: avoid-column;
}

.twocolumn {
    column-count: 2;
    -webkit-column-count: 2;
    -moz-column-count: 2;
}

.print-button {
    position: fixed;
    top: 20px;
    right: 20px;
    padding: 10px 20px;
    background: #2c3e50;
    color: white;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    font-size: 1em;
    z-index: 1000;
}
.print-button:hover {
    background: #34495e;
}

@media print {
	.print-button { display: none; }
}