/* Gesamte Karte */

.forum-card {
  position: relative;
  box-sizing: border-box;
  width: min(100%, 760px);
  padding: 100px 70px 55px;
  color: var(--forum-text);
  text-align: center;
  background: linear-gradient( 180deg, rgba(9, 10, 16, 0.52) 0%, rgba(8, 9, 14, 0.78) 55%, rgba(5, 6, 10, 0.9) 100% );
  border: 1px solid var(--forum-line);
  border-radius: 2px;
  box-shadow: 0 25px 60px rgba(0, 0, 0, 0.38), inset 0 0 35px rgba(115, 65, 145, 0.04);
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
  transition: transform 250ms ease, border-color 250ms ease, box-shadow 250ms ease;
  width: 32.7%;
}

/* Dezente zweite Innenlinie */

.forum-card::before {
    content: "";
    position: absolute;
    inset: 16px;

    pointer-events: none;

    border: 1px solid rgba(255, 255, 255, 0.055);
}

/* Leichter Hover */

.forum-card:hover {
    transform: translateY(-4px);

    border-color: rgba(183, 123, 224, 0.65);

    box-shadow:
        0 30px 75px rgba(0, 0, 0, 0.45),
        0 0 30px rgba(126, 67, 165, 0.14),
        inset 0 0 35px rgba(115, 65, 145, 0.07);
}

/* Hexagon */

.forum-card__icon {
    position: absolute;
  z-index: 3;
  top: 25px;
  left: 50%;
  display: grid;
  place-items: center;
  width: 62px;
  height: 62px;
  background: linear-gradient( 145deg, rgba(26, 24, 31, 0.98), rgba(8, 8, 13, 0.98) );
  clip-path: polygon( 50% 0, 93% 25%, 93% 75%, 50% 100%, 7% 75%, 7% 25% );
  transform: translateX(-50%);
  filter: drop-shadow(0 0 1px var(--forum-gold)) drop-shadow(0 0 10px rgba(183, 123, 224, 0.28));
}

/* Zweite Linie im Hexagon */

.forum-card__icon::before {
    content: "";
    position: absolute;
    inset: 7px;

    clip-path: inherit;

    border: 1px solid transparent;

    background:
        linear-gradient(#111118, #111118) padding-box,
        linear-gradient(
            140deg,
            var(--accent2),
            var(--forum-purple)
        ) border-box;
}

/* Zierlinien links und rechts vom Hexagon */

.forum-card__icon::after {
    content: "";
    position: absolute;
    z-index: -1;
    top: 50%;
    left: 50%;

    width: 520px;
    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            var(--forum-line) 20%,
            transparent 42%,
            transparent 58%,
            var(--forum-line) 80%,
            transparent
        );

    transform: translate(-50%, -50%);
}

.forum-card__star {
    position: relative;
    z-index: 2;

    font-size: 40px;
    line-height: 1;

    text-shadow:
        0 0 14px rgba(212, 173, 112, 0.28),
        0 0 20px rgba(183, 123, 224, 0.18);
}

/* Überschrift */

.forum-card__title {
 margin: 0;
  font-family: var(--mainfont);
  font-weight: 400;
  line-height: 1;
  letter-spacing: 1px;
  text-transform: uppercase;
  font-size: 25px;
}

.forum-card__title a {
    text-decoration: none;

    transition:
        color 200ms ease,
        text-shadow 200ms ease;
}

.forum-card__title a:hover {
    color: #ffffff;

    text-shadow:
        0 0 16px rgba(183, 123, 224, 0.35);
}

.forum-card__subtitle {
  margin-top: 10px;
  color: var(--accent2);
  font-size: 9px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.forum-card__subtitle span {
    margin: 0 12px;

    color: var(--forum-gold);
    font-size: 8px;
    vertical-align: middle;
}

/* Trennlinien */

.forum-card__divider {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 12px;

    width: 72%;
    margin: 15px auto;
}

.forum-card__divider span {
    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            var(--forum-line)
        );
}

.forum-card__divider span:last-child {
    background:
        linear-gradient(
            90deg,
            var(--forum-line),
            transparent
        );
}

.forum-card__divider i {
    color: var(--forum-gold);
    font-size: 15px;
    font-style: normal;
}

.forum-card__divider--small {
    width: 100%;
    margin: 15px auto;
}

/* Beschreibung */

.forum-card__description {
    max-width: 600px;
  margin: 0 auto;
  font-size: 11px;
  line-height: 170%;
  text-align: justify;
}

/* Statistiken */

.forum-card__stats {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.forum-stat {
   display: flex;
  align-items: center;
  gap: 15px;
  min-width: 125px;
  text-align: left;
}

.forum-stat__icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  color: var(--accent2);
  font-size: 22px;
  border: 1px solid var(--line1);
  border-radius: 50%;
  background: rgba(9, 9, 14, 0.6);
}

.forum-stat__content {
    display: flex;
    flex-direction: column;
	line-height:7%;
}

.forum-stat__content strong {
color: var(--accent2);
  font-family: var(--mainfont);
  font-size: 25px;
  font-weight: 400;
  line-height: 0.9;
}

.forum-stat__content span {
    margin-top: 9px;

    color: var(--forum-muted);

    font-size: 11px;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.forum-stat__separator {
    width: 1px;
    height: 72px;

    background:
        linear-gradient(
            transparent,
            rgba(212, 173, 112, 0.35),
            transparent
        );
}

/* Letzter Beitrag */

.forum-card__lastpost {
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 22px;

    text-align: left;
}

.lastpost-icon {
   display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  color: var(--forum-purple);
  font-size: 18px;
  border: 1px solid rgba(183, 123, 224, 0.52);
  border-radius: 50%;
  background: rgba(13, 10, 20, 0.65);
  box-shadow: 0 0 18px rgba(135, 68, 178, 0.12);
}

.lastpost-content {
  display: flex;
  align-items: baseline;
  column-gap: 20px;
  flex-wrap: wrap;
}

.lastpost-label {
grid-column: 1 / -1;
  margin-bottom: 8px;
  color: var(--accent2);
  font-size: 9px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.lastpost-title {
    overflow: hidden;
  color: var(--accent2);
  font-size: 12px;
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-transform: uppercase;
  width: 100%;
}

.lastpost-title:hover {
    color: #ffffff;
}

.lastpost-meta {
color: var(--forum-muted);
  font-size: 10px;
  text-transform: uppercase;
  margin-top: 3px;
}

.lastpost-arrow {
    color: var(--accent2);

    font-size: 27px;
    text-decoration: none;

    transition:
        transform 200ms ease,
        color 200ms ease;
}

.lastpost-arrow:hover {
    color: var(--forum-purple);
    transform: translateX(5px);
}

/* Responsive */

@media (max-width: 700px) {
    .forum-card {
        margin-top: 65px;
        padding: 85px 28px 38px;
    }

    .forum-card__icon {
        top: -58px;
        width: 115px;
        height: 132px;
    }

    .forum-card__star {
        font-size: 48px;
    }

    .forum-card__subtitle {
        line-height: 2;
    }

    .forum-card__divider {
        width: 100%;
    }

    .forum-card__stats {
        gap: 25px;
    }

    .forum-stat {
        flex-direction: column;
        gap: 10px;

        min-width: 0;

        text-align: center;
    }

    .forum-stat__icon {
        width: 48px;
        height: 48px;
    }

    .forum-stat__content strong {
        font-size: 36px;
    }

    .forum-stat__separator {
        height: 100px;
    }

    .forum-card__lastpost {
        grid-template-columns: auto 1fr;
    }

    .lastpost-content {
        display: flex;
        flex-direction: column;
    }

    .lastpost-arrow {
        display: none;
    }

    .lastpost-title {
        max-width: 100%;
        font-size: 23px;
    }
}

.welcome_box img {
width:80px;
height:80px;}

/*INPLAY*/

.ipnw_link {
font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 2px;
}

.ipnw_inhalt {
height: 80px;
  overflow: auto;
  margin-bottom: 20px;
}

.ip_rumor i {
position: absolute;
  font-size: 30px;
  color: var(--accent2);
  opacity: 0.6;
  left: 20px;
}

.ip_rumor {
width: 100%;
  background: var(--accent1);
  border: 1px solid var(--line1);
  box-sizing: border-box;
  padding: 20px;
  text-align: center;
	position:relative;
}

.ipn_cal {
border-right: 1px solid var(--line1);
}

.ipn_weather {
box-sizing: border-box;
  padding: 30px;
  text-align: justify;
  font-size: 12px;
  line-height: 170%;
}

.ipe_ue {
position: relative;
  top: 140px;
  text-transform: uppercase;
  font-weight: bold;
  color: var(--accent2);
  letter-spacing: 1px;
  left: 100px;
}

.ipn_cal, .ipn_weather {
width: 37.4%;
}

.ip_emblem {
position: relative;
  width: 25%;
  background-image: var(--background1);
  background-size: 100%;
  border-right: 1px solid var(--line1);
}

.ipe1 {
	width: 105px;
  height: 105px;
  background: #111;
  position: absolute;
  top: 21px;
  left: 50%;
  transform: translateX(-50%);
  clip-path: polygon(25% 5%, 75% 5%, 100% 50%, 75% 95%, 25% 95%, 0 50%);
  display: grid;
  place-items: center;
  z-index: 3;
}

.ipe1 i {
font-size: 25px;
  color: var(--accent2);
}

.ipe {
width: 107px;
  height: 107px;
  background: var(--line1);
  position: absolute;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  clip-path: polygon(25% 5%, 75% 5%, 100% 50%, 75% 95%, 25% 95%, 0 50%);
  display: grid;
  place-items: center;
  z-index: 3;
}

.inplaynews {
border: 1px solid var(--line1);
  display: flex;
  flex-wrap: wrap;
  background: var(--accent1);
	height: 200px;
}

/*WANTED*/

.wanted_title {
font-family: var(--mainfont);
  text-align: center;
  padding: 20px;
  font-size: 25px;
  text-transform: uppercase;
}

.wanted_box {
width: 32.6%;
  border: 1px solid var(--line1);
  background: var(--accent1);
}

/*FOOTER*/

.user_online {
text-transform: uppercase;
  font-size: 12px;
  font-weight: bold;
}

.user_online, .user_away {
width: 47.8%;
	position:relative;
}

.user_away {
font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.user_online:not(:last-child)::after {
content: "";
  position: absolute;
  right: -30px;
  top: -20px;
  height: 118px;
  width: 1px;
  background: var(--line1);
}

.bs_online {
border: 1px solid var(--accent2);
  box-sizing: border-box;
  background: var(--accent1);
  padding: 20px;
  margin-bottom: 10px;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  gap: 50px;
  height: 120px;
}

.arrow_right {
background-image: url(../../../images_dark/arrow_right.png);
  width: 300px;
  background-size: cover;
  height: 210px;
}

.arrow_left {
background-image: url(../../../images_dark/arrow_left.png);
  width: 260px;
  background-size: cover;
  height: 210px;
	margin-right: 60px;
}

.bs_user {
background: var(--accent1);
  height: 90px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--line1);
  border-top: 0px;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: bold;
}

.bs_line {
height: 1px;
  width: 100%;
  background: var(--line1);
  margin: 10px auto;
  margin-bottom: 20px;
}


.bs_legend:not(:last-child)::after {
content: "";
  position: absolute;
  right: -30px;
  top: -30px;
  height: 150px;
  width: 1px;
  background: var(--line1);
}

.bs_legende {
display: flex;
  flex-wrap: wrap;
  gap: 60px;
  justify-content: center;
  text-align: center;
  background-image: var(--texture);
  background-size: 60%;
  border: 1px solid var(--line1);
  height: 150px;
  align-items: center;
  border-top: 0px;
}

.bs_legend b {
font-family: var(--mainfont);
  font-size: 40px;
}

.bs_legend i {
font-size: 20px;
  margin-bottom: 10px;
}

.bs_legend {
font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 2px;
  line-height: 160%;
	   position: relative;
	width: 9.3%;
}

.boardstats {
  margin-top: 20px;
}

.bs_stats {
display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 60px;
}

.bs_stats1 {
background: var(--accent1);
  background-size: 100%;
  border: 1px solid var(--line1);
  box-sizing: border-box;
	  padding: 40px;
	  text-align: center;
}

.bs_stat b {
letter-spacing: 0px;
  font-size: 30px;
  font-family: var(--mainfont);
}

.bs_stat {
font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 2px;
line-height: 270%;
}

/*FORUMBIT*/

.fb_name {
font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-top: 20px;
  padding-left: 30px;
}

.fb_cat {
display: flex;
  flex-wrap: wrap;
  gap: 10px;
  width: 100%;
	margin-top:20px;
}

.fb_stat {
text-transform: uppercase;
  font-size: 9px;
  line-height: 210%;
}

.forum-emblem1 {
width: 77px;
  height: 77px;
  background: var(--line1);
  position: absolute;
  top: 41px;
  left: 50%;
  transform: translateX(-50%);
  clip-path: polygon(25% 5%, 75% 5%, 100% 50%, 75% 95%, 25% 95%, 0 50%);
  display: grid;
  place-items: center;
  z-index: 3;
}

.fb_stat b {
font-size: 20px;
  color: var(--accent2);
	font-weight: 300;
}

.divider {
width: 240px;
  height: 1px;
  margin: 20px auto;
  background: linear-gradient(to right, transparent, var(--accent2), transparent);
}




/* Gesamter Bereich */

.town-office {
   position: relative;
  box-sizing: border-box;
  color: var(--town-text);
  background: var(--accent1);
  border: 1px solid var(--line1);
  box-shadow: 0 25px 70px rgba(0, 0, 0, 0.45), inset 0 0 40px rgba(89, 47, 112, 0.035);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  box-sizing: border-box;
}

/* Dezente Eckverzierungen */

.town-office::before,
.town-office::after {
    content: "⌜";
    position: absolute;
    z-index: 3;

    color: var(--town-gold);
    font-family: Georgia, serif;
    font-size: 24px;
    line-height: 1;

    pointer-events: none;
}

.town-office::before {
    top: 3px;
    left: 5px;
}

.town-office::after {
    right: 5px;
    bottom: 3px;

    transform: rotate(180deg);
}

/* Oberer Titelbalken */

.town-office__header {
    position: relative;

    padding: 28px 45px 24px;

    background: rgba(4, 5, 8, 0.87);

    border-bottom: 1px solid var(--accent2);
}

.town-office__header h2 {
    margin: 0;

    color: #aaa5aa;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

/* Zweispaltiger Inhalt */

.town-office__content {
  display: grid;
  grid-template-columns: 1.08fr 1fr;
  min-height: 320px;
}

/* Begrüßungsbereich */

.mayor-welcome {
   display: grid;
  grid-template-columns: 205px 1fr;
  gap: 24px;
  align-items: center;
  box-sizing: border-box;
  padding: 20px 30px;
  background: linear-gradient( 135deg, rgba(8, 9, 13, 0.82), rgba(7, 7, 11, 0.92) );

    border-right: 1px solid var(--town-inner-border);
}

/* Bürgermeisterinnenbild */

.mayor-welcome__portrait {
position: relative;
  box-sizing: border-box;
  width: 100%;
  aspect-ratio: 0.58 / 1;
  padding: 5px;
  border: 1px solid var(--accent2);
  height: 250px;
}

.mayor-welcome__portrait::before,
.mayor-welcome__portrait::after {
    content: "◆";
    position: absolute;
    left: 50%;

    color: var(--accent2);
    font-size: 10px;

    transform: translateX(-50%);
}

.mayor-welcome__portrait::before {
    top: -8px;
}

.mayor-welcome__portrait::after {
    bottom: -8px;
}

.mayor-welcome__portrait img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    filter:
        brightness(0.75)
        contrast(1.1)
        saturate(0.9);
}

/* Begrüßungstext */

.mayor-welcome__text {
    max-width: 620px;
}

.mayor-welcome__text p {
 margin: 0 0 22px;
  font-size: 12px;
  line-height: 1.85;
  text-align: justify;
}

.mayor-welcome__quote {
  color: var(--accent2);
  font-size: 13px !important;
  font-style: italic;
  line-height: 1.7 !important;
}

.mayor-welcome__signature {
    margin-bottom: 0 !important;

    color: #b7afb8;

    font-family: Georgia, "Times New Roman", serif !important;
    font-style: italic;
}

/* Zierlinie */

.town-divider {
   display: grid;
  grid-template-columns: 1fr auto 1fr;
  gap: 14px;
  align-items: center;
  width: 78%;
  margin: 20px auto;
}

.town-divider span {
    height: 1px;
}

.town-divider span:first-child {
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(201, 154, 82, 0.75)
        );
}

.town-divider span:last-child {
    background:
        linear-gradient(
            90deg,
            rgba(201, 154, 82, 0.75),
            transparent
        );
}

.town-divider i {
    width: 9px;
    height: 9px;

    border: 1px solid var(--town-gold);
    transform: rotate(45deg);
}

/* News-Spalte */

.community-bulletin {
    box-sizing: border-box;
    padding: 38px 40px 38px;

    background:
        linear-gradient(
            135deg,
            rgba(8, 8, 12, 0.87),
            rgba(3, 4, 7, 0.96)
        );
}

/* News-Überschrift */

.community-bulletin__heading {
    display: grid;
    grid-template-columns: auto minmax(30px, 1fr) auto minmax(30px, 1fr);
    gap: 18px;
    align-items: center;

    margin-bottom: 20px;
}

.community-bulletin__heading-icon {
    display: grid;
    place-items: center;

    width: 42px;
    height: 42px;

    color: var(--accent2);

    border: 1px solid rgba(184, 105, 223, 0.3);
    background: rgba(14, 10, 19, 0.5);
}

.community-bulletin__heading-icon svg {
    width: 23px;
    height: 23px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.community-bulletin__heading h3 {
   margin: 0;
  font-family: var(--mainfont);
  font-size: 25px;
  font-weight: 400;
  letter-spacing: 0.07em;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
}

.community-bulletin__line {
    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(201, 154, 82, 0.58)
        );
}

.community-bulletin__line:last-child {
    background:
        linear-gradient(
            90deg,
            rgba(201, 154, 82, 0.58),
            transparent
        );
}

/* News-Einträge */

.bulletin-list {
    border-top: 1px solid rgba(255, 255, 255, 0.045);
}

.bulletin-item {
 display: grid;
  grid-template-columns: 56px minmax(0, 1fr) auto;
  gap: 20px;
  align-items: center;
  min-height: 64px;
  padding: 12px 4px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.055);
  transition: background-color 180ms ease, padding-left 180ms ease;
}

.bulletin-item:hover {
    padding-left: 10px;

    background:
        linear-gradient(
            90deg,
            rgba(184, 105, 223, 0.06),
            transparent
        );
}

/* Icons */

.bulletin-item__icon {
    display: grid;
    place-items: center;

    width: 48px;
    height: 48px;

    color: var(--accent2);

    background: rgba(10, 8, 14, 0.42);
}

.bulletin-item__icon svg {
    width: 30px;
    height: 30px;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.35;
    stroke-linecap: round;
    stroke-linejoin: round;

    filter:
        drop-shadow(0 0 6px rgba(184, 105, 223, 0.2));
}

/* News-Text */

.bulletin-item__content {
    min-width: 0;
}

.bulletin-item__title {
  display: block;
  overflow: hidden;
  font-size: 16px;
  line-height: 1.35;
  text-decoration: none;
  text-overflow: ellipsis;
  white-space: nowrap;
  transition: color 180ms ease, text-shadow 180ms ease;
  text-transform: uppercase;
  font-weight: bold;
}

.bulletin-item__title:hover {
    color: #ffffff;

    text-shadow:
        0 0 12px rgba(184, 105, 223, 0.25);
}

.bulletin-item__content p {
margin: 0;
  font-size: 12px;
  line-height: 1.5;
}

.bulletin-item__date {
    min-width: 88px;

    color: #8d8492;
    font-size: 10px;
    text-align: right;
    white-space: nowrap;
}

/* Link unten */

.community-bulletin__footer {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 18px;
    align-items: center;

    margin-top: 30px;
}

.community-bulletin__footer span {
    height: 1px;
}

.community-bulletin__footer span:first-child {
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(201, 154, 82, 0.55)
        );
}

.community-bulletin__footer span:last-child {
    background:
        linear-gradient(
            90deg,
            rgba(201, 154, 82, 0.55),
            transparent
        );
}

/* Responsive */

@media (max-width: 1100px) {

    .town-office__content {
        grid-template-columns: 1fr;
    }

    .mayor-welcome {
        border-right: 0;
        border-bottom: 1px solid var(--town-inner-border);
    }

}

@media (max-width: 720px) {

    .town-office {
        width: calc(100% - 24px);
        margin: 30px auto;
    }

    .town-office__header {
        padding: 20px 24px;
    }

    .mayor-welcome {
        grid-template-columns: 1fr;
        gap: 30px;

        padding: 38px 28px;
    }

    .mayor-welcome__portrait {
        width: 150px;
        margin: 0 auto;

        aspect-ratio: 0.68 / 1;
    }

    .mayor-welcome__text {
        text-align: center;
    }

    .town-divider {
        width: 90%;
        margin-right: auto;
        margin-left: auto;
    }

    .community-bulletin {
        padding: 32px 24px;
    }

    .community-bulletin__heading {
        grid-template-columns: auto 1fr;
    }

    .community-bulletin__heading h3 {
        text-align: left;
        white-space: normal;
    }

    .community-bulletin__heading .community-bulletin__line {
        display: none;
    }

    .bulletin-item {
        grid-template-columns: 45px minmax(0, 1fr);
        gap: 14px;

        padding: 16px 0;
    }

    .bulletin-item__icon {
        width: 42px;
        height: 42px;
    }

    .bulletin-item__icon svg {
        width: 25px;
        height: 25px;
    }

    .bulletin-item__date {
        grid-column: 2;

        text-align: left;
    }

    .community-bulletin__footer {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .community-bulletin__footer span {
        display: none;
    }

}

@media (max-width: 420px) {

    .bulletin-item__title {
        white-space: normal;
    }

    .community-bulletin__footer a {
        font-size: 12px;
        white-space: normal;
    }

}