html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
}

/* ✅ Ensure all elements respect their containers */
*, *::before, *::after {
  box-sizing: border-box;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
   width:100%;
   height:100%;
}
ol, ul {
}

.ss-required-asterisk {
  margin-left: 5px;
  color: #a80000;
}

/* ------------------------------------------------------------------------------------
--  GENERAL
------------------------------------------------------------------------------------ */
html, body { 
	width: 100%;
	margin: 0;
	padding: 0;
	font-family: 'Lato', sans-serif;
	font-size: 100%;
	background: #000 url(../images/bg_new.png) no-repeat center top fixed;
	background-size: cover; /* or 'contain' or '100% auto' depending on preference */
}
body::before {
  content: "";
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0, 0, 0, 0.5); /* tweak the darkness */
  z-index: -1;
}
body::after {
    content: "";
    position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    z-index: -1;
}
::selection{
	background:#d4dedc;
}
::-moz-selection{
	background:#d4dedc;
}

#wrapper {
  width: 100%;
  padding-top: 2rem; /* or try 2rem, etc., depending on your layout style */
}

#shadow {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  min-height: 100vh; /* ensures background stretches but doesn’t leave awkward gaps */
}

#inner-wrapper {
    width: 90%;
    max-width: 800px;
    margin: 0 auto;
    display: block;
	background: rgba(35, 28, 20, 0.85); /* deep warm black-brown with transparency */
	color: #e5d5b8;
	backdrop-filter: blur(2px);
    box-shadow: 0 20px 40px rgba(0,0,0,0.7);
    overflow: auto;
}

.login-intro {
  font-family: 'Lato', sans-serif;
  font-size: 0.9em;
  color: #d5c49a;
  margin-bottom: 15px;
  text-shadow: 0 0 1px #000;
}

.tavern-divider {
  border: none;
  height: 1px;
  background: linear-gradient(to right, transparent, #ecc56b 50%, transparent);
  margin: 10px 0 20px 0;
}

/* ------------------------------------------------------------------------------------
--  TYPOGRAPHY
------------------------------------------------------------------------------------ */
h1{
    font-family: 'Vollkorn', serif;
}
h2, h3{
    font-family: 'Vollkorn', serif;
	color:#3b3b3b;
	text-shadow:0 1px 1px #fff;
	text-transform:uppercase;
}
h2{
	font-size:2em;
	text-align:center;
	padding:0 0 20px 0;
	border-bottom:1px solid #ccc;
	display:block;
}
h3{
	font-size:1.6em;
	margin-bottom:10px;
}
p{
	line-height:1.5em;
	margin-bottom:20px;
}
p.last{
	margin-bottom:0;
}
.tiny{
	font-size:0.8em;
	text-transform:lowercase;
}
/* ------------------------------------------------------------------------------------
--  ANCHORS
------------------------------------------------------------------------------------ */
a{
	text-decoration:none;
	outline:none;
    color:#d5c49a;
}
a:hover{
	color:#666;
}
a.ext-link:after {
    padding:0 5px;
    margin: 10px 0 0 5px;
    content: "";
	background-repeat: no-repeat;
	display:inline;
	width:10px;
	height:10px;
}

.margin{
	margin-right:6px;	
}
a.readmore{
	margin-top:6px;
	float:left;
    text-shadow:1px 1px 0 rgba(255, 255, 255, 0.7);
    color:#949493;
	font-size:0.9em;
}
a.readmore:hover{
	color:#666;
}

/* ------------------------------------------------------------------------------------
--  TOP
------------------------------------------------------------------------------------ */
#top{
	float:left;
	background:#191919 url(../images/top-bg.png);
	background-repeat:repeat;
	width:800px;
	position:relative;
	margin: 0 0 0 0;
}
#langs{
	position:absolute;
	top:0;
	right:0;
}
#langs a{
	font-size:0.8em;
	display:inline-block;
	background:#000;
	border:1px solid rgba(255,255,255,0.2);
	padding:5px;
	margin-left:5px;
}
#langs a:hover{
	color:#eaeaea;
}
.tavern-logo {
    font-family: 'Vollkorn', serif;
    font-size: 3.5rem;
    text-align: center;
    margin: 0;
    padding-top: 20px;
    color: #fdf6e3;
    text-shadow: 0 0 8px rgba(255, 240, 200, 0.6);
    letter-spacing: 1px;
}
.tavern-logo a {
    text-decoration: none;
    color: inherit;
}
.tavern-logo:hover {
    text-shadow: 0 0 10px #fff5c1;
}

.tagline {
    font-family: 'Lato', sans-serif;
    font-size: 1rem;
    text-align: center;
    color: #d5c49a;
    margin-top: -5px;
    padding-bottom: 10px;
}

/* ------------------------------------------------------------------------------------
--  FOOTER
------------------------------------------------------------------------------------ */
footer{
	float:left;
	background:url(../images/darkwood.png);
	background-repeat:repeat;
	width:100%;
	border-top:1px solid rgba(236,179,100,0.1);
	border-bottom:1px solid rgba(236,179,100,0.1);
}
#pass{
	float:left;
	width:100%;
	height:20px;
	background:url(../images/darkwood.png);
	background-repeat:repeat-x;
}
ul#footer-inside{
	float:left;
	list-style:none;
	color:#7f7f7f;
	margin:40px;
	width:800px;
}
#footer-inside h3{
	text-shadow:none;
}
.white-line-footer{
	float:left;
	width:206px;
	height:1px;
	background:rgba(236,179,100,0.1);
	margin-bottom:20px;
}
ul#footer-inside li{
	float:left;
	margin-right:20px;
	width:206px;
	padding:20px 10px;
	background:url(../images/top-bg.png);
	background-repeat:repeat;
}
ul#footer-inside li.last{
	margin-right:0;
}
ul#footer-inside p{
	margin-bottom:0;
	line-height:1.5em;
	color:#7f7f7f;
	font-family:'Abel', sans-serif;
	letter-spacing:0.1em;
	font-size:0.9em;
	text-transform:uppercase;
}
#lastline{
	float:left;
	width:100%;
	border-bottom:1px solid rgba(236,179,100,0.1);
	position:relative;	
}
#lastline small{
	margin:20px 40px;
	color:#7f7f7f;
	font-size:0.8em;
	float:left;
}

/* ------------------------------------------------------------------------------------
--  GENERAL DIVS, SECTIONS, ARTICLES
------------------------------------------------------------------------------------ */
.boxgrid{
	float:left;
	background:transparent;
	overflow: hidden;
	position: relative;
	width:130px;
	height:130px;
}
.frontpage{
	width:130px;
	height:130px;
}
.innerpage{
	width:125px;
	height:125px;
}
.boxgrid figure, .boxgrid img{
	float:left;
}
.boxgrid img.cover{
	position: absolute;
	top: 0;
	left: 0;
	border: 0;
	cursor:pointer;
}
.boxgrid h4{
	letter-spacing:0.1em;
	padding-bottom:7px;
	font-family:'Abel', sans-serif;
	text-transform:uppercase;
}
.boxgrid p{
	font-size:0.8em;
}
/* ------------------------------------------------------------------------------------
--  INDEX (HOME PAGE)
------------------------------------------------------------------------------------ */
/*-----PICTURE BLOCK-----*/
.block{
	float:left;
	margin:0 40px 40px 40px;
	position:relative;
}
figure#topnpic{
	float:left;
	width:720px;
}
img#mainpic{
	cursor:move;
	float:left;
}
#exp{
	position:absolute;
	height:60px;
	width:720px;
	left:0;
	bottom:0;
	background:rgba(0,0,0,0.6);
}
#drag{
	position:absolute;
	top:23px;
	left:246px;
	width:14px;
	height:14px;
}
#exp p{
	text-align:center;
	line-height:60px;
	position:relative;
	font-size:0.9em;
}
#exp img{
	vertical-align:middle;
	margin-right:5px;
}

/*-----MEDIA CONTENT BLOCK-----*/
@media screen and (max-width: 768px) {
  #inner-wrapper,
  #shadow,
  .content-wrap,
  .center-quote {
    width: 95% !important;
    max-width: none !important;
    padding: 10px !important;
    box-sizing: border-box;
  }

  .tavern-logo {
    font-size: 2rem;
  }

  .buttonsubmit {
    font-size: 1rem;
    padding: 8px 18px;
  }

  nav#primary {
    width: 100% !important;
    font-size: 0.85em;
    overflow-x: auto;
  }

  #top {
    width: 100% !important;
  }

  #footer-inside {
    width: 95% !important;
    margin: 10px auto;
  }

  #forma {
    margin: 20px auto;
    padding: 15px;
  }
  
  input, textarea {
    width: 100% !important;
  }
  
  .buttonsubmit {
    width: 100%;
    text-align: center;
  }
}