/**Fonts (sollten nun mit h1-h6 tags ersetzt werden!!!)*/

.stecki1{
    font-size: 32px;
    color: #db715b;
    font-family: 'Grimoire', serif;
    letter-spacing: 0.25em;
    text-align: center;    
    font-weight: normal;
    border-bottom: 3px #4b4b4b dotted;
    margin-top: 20px;
    margin-bottom: 5px; 
    line-height: 1.2em;
    text-shadow: 1px 1px 2px #000;
}

.stecki2{
	font-size: 18px;
	font-family: 'Rufina', serif;
	text-transform: uppercase;
	font-weight: bold;
	margin-bottom: 3px;
	color: #a1b4a1;
	line-height: 0.8em;
}

.welcometitle {
	font-size: 18px;
	font-family: 'Rufina', serif;
	font-weight: 400;
	text-align: center;
	letter-spacing: 0.2em;
	color: #d5dcd5;
	text-shadow: 3px 3px 4px #333333;
}

.minfo3b {
	color: #d7e6fb;
	font-family: 'Rufina',serif;
	font-weight: 400;
	font-size: 14px;
	text-align: center;
	text-transform: uppercase;
}

.highlighttext {
	font-family: 'Rufina', serif;
	font-weight: bold;
	display: inline-block;
	color: #a1b4a1; 
	text-transform: uppercase;
	line-height: 1.5em;
}
.highlighttext::first-letter {
  font-size: 200%;
  color: #c48673;
}

/**Steckbrief-Vorlage NEU*/
.steckibox-neu {
    width: 670px;
    position: relative;
    box-sizing: border-box;
    border: 10px solid #4b4b4b;
    padding: 20px;
    margin: 0 auto;
}

.steckibox-neu br {
    display: none;
}

/**Steckbrief-Vorlage ALT*/
.steckibox {
    width: 670px;
    position: relative;
    box-sizing: border-box;
    border: 10px solid #4b4b4b;
    padding: 20px;
    margin: 0 auto;
}

.steckiu{
	font-size: 13px;
	font-family: Century Gothic,CenturyGothic,AppleGothic,sans-serif;
	text-transform: uppercase;
	text-align: center;
	margin-top: -10px;
	margin-bottom: 10px;
}

.stecki2{
	font-size: 18px;
	font-family: 'Rufina', serif;
	text-transform: uppercase;
	font-weight: bold;
	margin-bottom: 3px;
	color: #a1b4a1;
	line-height: 0.8em;
}

.stecki3{
	margin-left: 20px;
	font-size: 13px;
	}

/**TIMELINE*/
#timeline {
  display: flex; 
  flex-direction: column;
  gap: 15px; /* Erzeugt gleichmäßige Abstände zwischen den Boxen ohne justify-content-Tricks */
  align-items: center; 
  width: 580px; 
  padding: 10px 0 20px 0; /* Zusammengefasstes Padding (oben rechts unten links) */
  box-sizing: border-box;
  position: relative; 
  margin: 0 auto;
}

.linie {
  border-left: 2px solid #E6E6E6;
  height: calc(100% - 40px); /* Verhindert, dass die Linie oben/unten unschön heraussteht */
  position: absolute;
  left: 20%; /* Die Achse der Linie liegt bei exakt 20% */
  transform: translateX(-50%); /* Zentriert die 2px breite Linie genau auf dieser Achse */
  top: 20px;
  z-index: 1;
}

.timebox {
  display: flex; 
  align-items: center; 
  width: 100%; /* Nutzt die vollen 580px des Templates */
  min-height: 140px; /* Flexibler als eine starre Höhe */
  box-sizing: border-box;
}

.jahreszahl {
  width: 20%; /* Erreicht genau die 20%-Achse der Linie */
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  font-family: 'Grimoire', serif;
  color: #d5dcd5;
  box-sizing: border-box;
  padding-right: 10px; /* Abstand zur Linie/zum Punkt */
}

.punkt {
  height: 20px;
  width: 20px;
  background-color: #db715b;
  border-radius: 50%;
  position: absolute;  /* Fixiert den Punkt auf der Achse */
  left: 20%;           /* Gleiche Achse wie die Linie */
  transform: translateX(-50%); /* Zentriert den Punkt exakt auf der Linie */
  z-index: 2;
}

.timetextbox {
  width: 75%;
  margin-left: auto; /* Schiebt die Textbox automatisch nach rechts, weg von der Linie */
  background: #36413E; 
  box-sizing: border-box;
  padding: 15px;
  text-align: justify;
  color: #d5dcd5;
  scrollbar-width: thin;
  font-size: 12px;
  border-radius: 4px;
	border: 1px solid #db715b;
	box-shadow: 2px 2px 5px #000;
}

/**Szenen-Titel Vorlage*/
.scenetitle1 {
	font-size: 34px;
	font-family: 'Grimoire', serif;
	text-align: center;
	line-height: 16px;
	color:#a1b4a1;
	padding-top: 20px;
	letter-spacing: 0.1em;
}

.sceneline {
	background: #4b4b4b;
	height: 2px;
	width: 400px;
	margin: 5px auto;
}

.scenetitle2 {
	font-size: 11px; 
	text-align:center;
	text-transform: uppercase;
	letter-spacing: 2px;
	line-height: 10px;
}

/**Szenen-Titel Vorlage 2*/
.scenetitle_serif {
	font-size: 38px;
	font-family: 'GreatVibes', serif;
	text-align: center;
	line-height: 20px;
	color:#d5dcd5;
	padding-top: 15px;
}

.scenesubtitle_serif {
	font-family: 'Candara,Calibri,Segoe,Segoe UI,Optima,Aria',sans-serif;
   text-transform: uppercase;
	letter-spacing: 3px;
	font-size: 10px;
	text-align: center;
	border-bottom: 2px solid #d5dcd5;
	color: #db715b;
	line-height: 12px;
}

/**Szenen-Titel Vorlage 3*/
.scenetitle_amatic {
	text-align:right; 
	font-size:44px; 
	font-family: 'AmaticSC'; 
	letter-spacing:1.5px; 
	color: #a1b4a1; 
	text-transform:lowercase; 
	line-height:85%;
	font-weight: bold;
	}

.scenetitle_amatic-dots {
	margin-left:50px; 
	border-bottom: 2px dotted #db715b; 
	margin-bottom:3px;
}

.scenetitle_amatic-sub {
	margin:auto; 
	text-align: right; 
	text-transform:uppercase; 
	font-size:12px; 
	line-height:10px;
	}

/**Szenen-Titel Vorlage 4*/
#szenenvorlage4  {
	width:500px;
	margin:auto; 
	font-family: 'Rufina', serif;
}
.scenetitle4 {
	display: block;
	line-height: 110%;
	text-align: left;
	padding: 25px;
}
.scenetitle4 main {
	font-family: 'Comforter', serif; 
	font-size: 42px;
	letter-spacing:1px;  
	display: block;
	position: relative;
	text-align:left;
	color:#db715b;
}
.scenetitle4 sub {
	display: grid;
	grid-template-columns: fit-content(100%) 1fr;
	grid-gap: 25px;
	width: 100%;
	line-height: 100%;
}
.scenetitle4 subtext {
	display: block;
	font-size: 10px;  
	font-weight: 500;
	letter-spacing: 1.5px;
	text-transform: uppercase; 
	margin-top:1px;
}
.scenetitle4 line {
	display: block;
	vertical-align: middle; 
	width: 100%; 
	height: 2px; 
	background: #36413E; 
	margin-top:8px;
}	

/**MB GESUCHSVORLAGE NEU*/

.MBwantedbox {
  width: 630px;
  border: 3px dotted #4b4b4b;
  margin: auto;
}

.MBwantedtitle {
	height: 150px;
	background: url(https://test.mitternachtsblau-rpg.de/images/MB2025/background_alchy2.jpg);
	margin:auto;
		display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.MBwantedtitletext {
	color: #db715b;
	font-family: 'Grimoire',serif;
	letter-spacing: 0.1em;
	font-size: 36px;
	text-align: center;
	line-height: 28px;
	text-shadow: 1px 1px 2px #000;
}

.MBwantedtextbox {
	box-sizing: border-box;
  padding: 10px;
	line-height: 1.5;
	font-size: 12px;
}

.MBwantedtextbox::first-letter {
  font-size: 200%;
  color: #db715b;
	line-height: 1.0em;
}

.MBwantedsepline {
  background: #36413E;  
  display: flex;
  margin-top: 15px; 
  margin-bottom: 15px;
  font-size: 13px; 
  padding: 5px; 
  box-sizing: border-box; 
  flex-direction: column;
	justify-content: center;
	align-items: center;
}

.MBwantedseptoptitle {
 display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  width: 100%; 
  align-items: center;
}

.MBwantedseptoptitle_info {
  background: #d5dcd5;
  margin: 2px;
  text-transform: uppercase;
  padding: 1px 2px;
  color: #000;
  font-size: 10px;
}

.MBwantedseptoptitle_vergeben {
  background: #db715b;
  margin: 2px;
  text-transform: uppercase;
  padding: 1px 2px;
  color: #000;
  font-size: 10px;
}

.MBwantedseptoptitle_reserviert {
  background: #e0c957;
  margin: 2px;
  text-transform: uppercase;
  padding: 1px 2px;
  color: #000;
  font-size: 10px;
}

.MBwantedsepcentertitle {
  font-family: 'Grimoire', serif;  
  font-size: 26px; 
  letter-spacing: 0.1em; 
	text-align: center;
  color: #db715b;
	text-shadow: 1px 1px 2px #000;
}
.MBwantedsepbottomtitle {
  font-size: 10px; 
  text-transform: uppercase; 
  letter-spacing: 2px; 
  text-align: center;
}

.MBwantedtexttop {
  font-family: 'Grimoire', serif;  
  font-size: 26px; 
  letter-spacing: 0.1em; 
  color: #db715b;
  text-align: center;
  margin-top: 15px;
}

.MBwantedtextbottom {
font-size: 10px; 
  display: flex;
  text-transform: uppercase; 
  letter-spacing: 1px;  
  background: #36413E; 
  padding: 2px; 
  margin-bottom: 15px;
  justify-content: center;
	align-items: center;
}

/**Vorstellungsvorlage*/

.intro_char br {
    display: none;
}

.intro_char {
  width: 100%;        
  max-width: 650px;        
  margin: auto;                 
}    
.intro_head {        
  text-align: center;        
  padding: 30px 0 30px 0;        
  background-color: #36413E;    
}
.intro_content {        
  line-height: 20px;           
  text-align: justify;        
  padding: 30px;    
  border: 4px solid #36413E;
}    
.intro_title {        
  font-family: 'Grimoire',serif;
  color: #db715b;
	font-weight: 400;
  font-size: 26px;        
  line-height: 18px;         
  margin: 0;
	  letter-spacing: 0.2em;   
  padding: 10px 10px 0 20px;    
}
.intro_subtitle {        
  font-family: 'Rufina', serif;
	color: #E6E6E6;
	font-weight: 400;
  font-size: 10px;        
  text-transform: uppercase;       
  letter-spacing: 2px;             
  padding: 10px 20px 0 20px;       
  line-height: 15px;        
  margin: 0;    
}  

/**Szenenübersicht*/
.MBscenebox {
  width: 550px;
  height: 400px;
  border: 2px #8D8D92 solid;
  margin: auto;
  padding: 10px;
  box-sizing: border-box;
  display: flex;
  flex-wrap: wrap;
  overflow: auto;
}

.MBscenemonth {
  width: 530px;
  background: #db715b;
  box-sizing: border-box;
  text-align: center;
  height: 50px;
  font-size: 30px;
	letter-spacing: 0.1em;
  padding: 5px;
	font-family: 'Grimoire', serif;
  margin-bottom: 10px;
}

.MBscene_content {
  box-sizing: border-box;
  font-size: 12px; 
  width: 450px; 
  margin: auto;
  padding: 5px; 
  text-align: justify; 
  background: #36413E;
  margin-bottom: 10px;
}

.MBscene_finished {
  box-sizing: border-box;
  font-size: 12px; 
  width: 450px; 
  margin: auto;
  padding: 5px; 
  text-align: justify; 
  background: #8D8D92;
  margin-bottom: 10px;
}

.MBscene_day { 
  height: 60px; 
  float: left; 
  padding: 10px; 
  font-size: 32px; 
  font-family: 'Grimoire', serif;
  color: #db715b;
  text-align: center; 
  margin: 0px 10px 0px 10px; 
}

.MBscene_day-over { 
  height: 60px; 
  float: left; 
  padding: 10px; 
  font-size: 32px; 
  color: #CCCCCC; 
  font-family: 'Grimoire', serif;
  text-align: center; 
  margin: 0px 10px 0px 10px; 
}

.scene_status {
  font-size: 9px; 
  text-transform: uppercase; 
  margin-top: 10px; 
  letter-spacing: 0.1em; 
}

/**News*/
.news_wrapper {
	width:650px; 
	margin:auto;
	overflow:hidden;
} 

.news_bg {
	width: 550px; 
	padding:25px;
	background: var(--designbg);
	  background-repeat: no-repeat;
  background-attachment: fixed;
}

.news_title {
	font-family: 'Grimoire',serif;
	font-weight: 400;
	font-size: 32px;
	line-height: 20px;
	letter-spacing: 0.2em;
	color: #db715b;
	text-shadow: 1px 1px 2px #000;
}

.news_gradient {
	margin-top:	5px; 
	margin-bottom:10px; 
	height:10px; 
	background: linear-gradient(90deg,rgba(219, 113, 91, 1) 20%, rgba(43, 43, 43, 1) 85%);
}
  
.news_text {
	padding:10px; 
	font-size: 14px;
	text-align: justify;
	line-height: 150%;
	color: #d5dcd5;
	font-family: var(--solid)
}
  
.news_text b { 
	font-weight:600; 
	color:#fff; 
	text-transform: uppercase; 
}

.news_text u { 
	text-decoration: none; 
	padding:1px 1px; 
	border-bottom:2px solid #F0F0F0;
}

/**Benutzer-CP & Listenübersicht*/
.rasterbox {
  width: 230px; 
  height: 160px; 
  padding: 5px 12px 5px 20px; 
  overflow: auto;
  font-size: 12px;
	line-height: 10px;
  background: #36413E;
  border-radius: 20px;
	outline: 1px solid var(--color3);
	outline-offset: -5px;
	display: flex;
  flex-direction: column;
  justify-content: center; 
  align-items: center; 
  gap: 4px;
}
.rastertitle {
  font-family: var(--headerfont);
	font-weight: 400;
  font-size: 26px;
  text-align: center;
  letter-spacing: 1px;
  margin-bottom: 0;
		line-height: normal;
}
.rastersubtitle {
  font-size: 9px;
  font-family: 'Rufina', serif;
	font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 2px;
	text-align: center;
}


/**Gruppenfarben*/
.gruppespieler {
	color: #db715b;
}
.gruppebewerber {
	color: #8D8D92;
	font-style:italic;
}
.gruppeadmin {
	color: #db715b;
	font-weight: bold;
}
.gruppeinaktiv {
	text-decoration: line-through;
}
.gruppenpc {
	color: #36413E;
}

/**Hintergrundtexte Navigation*/
.groupnav {
  width: 550px;
  padding: 10px;
  box-sizing: border-box;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  }

.groupnav_cont {
   border: 2px dotted #4b4b4b;
  padding: 5px;
  width: 250px;
  text-align: center;
  font-family: 'Grimoire', serif;
	letter-spacing: 0.1em;
	font-size: 20px;
  margin: auto;
  margin-top: 5px;
}

/**NPC-Übersicht*/
#MB_NPC {
  width:600px;
  min-height:400px;
  margin:auto;
  padding:20px;
}
#MB_NPC .title {
  font-size:30px;
  text-align:center;
  text-transform:uppercase;
  font-family:'Rufina';
  position:relative;
    }
#MB_NPC .block {
  margin-top:20px;
  font-size:12px;
}
#MB_NPC .img_left{
  float:left;
}
#MB_NPC .img_right{
  float:right;
}
#MB_NPC .block_title {
  margin:30px 50px 20px 50px;
  font-size:26px;
  text-align:center;
  text-transform:uppercase;
  font-family:'Rufina';
  border:2px solid #000;
  padding:0 20px;
  color: #b2b2b2;
  background-color: rgba(4, 19, 26, 0.5);
}
#MB_NPC .content {
  float:clear;
  height:150px;
  overflow:auto;
  padding-right:10px;
  margin-left:165px;
  text-align:justify;
  position:relative;
}
#MB_NPC .content_right {
  float:clear;
  height:150px;
  overflow:auto;
  padding-right:15px;
  text-align:justify;
  position:relative;
  margin-right:155px;
}

/**NPC-Post*/
.mnb_npc {
  width:590px;
  margin:auto;
}

.mnb_npc_head {
  height: 160px;
  width: 100%;
  display:flex;
}

.mnb_npc_pic {
  width:150px;
  height:150px;
  border: 5px solid #36413E;
	background: #36413E;
  box-sizing: border-box;
}

.mnb_npc_box {
  width: 450px;
  height: 160px; 
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.mnb_npc_name {
  width: 98%;
  background:#36413E;
  font-size: 30px;
	letter-spacing: 0.1em;
  line-height: 100%;
  padding: 5px;
  font-family: 'Grimoire', serif;
}

.mnb_npc_fact {
  width: 98%;
  text-transform:uppercase;
  font-size:10px;
  letter-spacing:2px;
  background:#d5dcd5;
  padding: 5px;
  color: #000;
}

.mnb_npc_inhalt {
  width:97%;
  line-height:150%;
  text-align:justify;
  padding:0px 15px;
  border-left: 5px solid #4b4b4b;
	font-family: 'Cambria',serif;
}

/*Stadtkarte*/

/* Container mit festen Maßen */
.map-container {
    position: relative;
    width: 800px;
    height: 650px;
    margin: 0 auto;
}

.map-image {
    width: 800px;
    height: 650px;
    display: block;
}

/* Gemeinsame CSS-Basis für alle Klickflächen */
.map-target-btn {
    position: absolute;
    display: block;
    border-radius: 4px;
    background: rgba(255, 255, 255, 0); 
    transition: background 0.2s ease, box-shadow 0.2s ease;
    cursor: pointer;
}

.map-target-btn:hover {
    background: rgba(255, 255, 255, 0.35); 
    box-shadow: 0 0 10px rgba(255, 255, 255, 0.6);
}

.btn-stockbridge { top: 20%; left: 50%;  width: 110px; height: 45px; }
.btn-leith       { top: 17%; left: 63%;  width: 60px;  height: 30px; }
.btn-newtown     { top: 29%; left: 52%;  width: 95px; height: 30px; }
.btn-oldtown     { top: 32%; left: 60%;  width: 90px; height: 35px; }
.btn-west        { top: 40%; left: 22%;  width: 58px;  height: 35px; }
.btn-east        { top: 32%; left: 79%;  width: 58px;  height: 35px; }
.btn-south       { top: 62%; left: 50%;  width: 72px;  height: 35px; }


/* --- POP-UP MODALS --- */
.map-popup {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    z-index: 9999;
    justify-content: center;
    align-items: center;
}

.map-popup:target {
    display: flex;
}

.popup-content {
    font-size: 12px;
    padding: 25px;
	background: #2b2b2b;
	text-align: justify;
}

.popup-close {
    position: absolute;
    top: 10px;
    right: 15px;
    font-size: 24px;
    text-decoration: none;
    color: #666;
}
.modal-close:hover {
    color: #000;
}

/**Bars*/

.wr_groupbar {
  width: 450px;
  height: 30px;
  border: 1px solid #ffffff;
  display: flex;
}

.wr_groupbar-magenta,
.wr_groupbar-cyan,
.wr_groupbar-orange,
.wr_groupbar-green,
.wr_groupbar-blue,
.wr_groupbar-pink,
.wr_groupbar-darkgreen,
.wr_groupbar-red,
.wr_groupbar-darkred,
.wr_groupbar-yellow,
.wr_groupbar-darkorange {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 12px;
}
.wr_groupbar-magenta {
  background: #990099;
}
.wr_groupbar-cyan {
  background: #0099c6;
}
.wr_groupbar-orange {
  background: #ff9900;
}
.wr_groupbar-green {
  background: #66aa00;
}
.wr_groupbar-blue {
  background: #3366cc;
}
.wr_groupbar-pink {
  background: #dd4477;
}
.wr_groupbar-darkgreen {
  background: #109618;
}
.wr_groupbar-red {
  background: #dc3912;
}
.wr_groupbar-darkred {
  background: #b82e2e;
}
.wr_groupbar-yellow {
  background: #ffc517;
}
.wr_groupbar-darkorange {
  background: #ed750a;
}


.separator {
  display: flex;
  align-items: center;
  text-align: center;
}

.separator::before,
.separator::after {
  content: '';
  flex: 1;
  border-bottom: 1px solid #000;
}

.separator:not(:empty)::before {
  margin-right: .25em;
}

.separator:not(:empty)::after {
  margin-left: .25em;
}