﻿html, body {
    margin: 0
}

html, body {
    font-size: 95%;
    font-family: Verdana,sans-serif
}

h1 {
    font-family: 'Raleway', Verdana,sans-serif;
      margin-top: 3px;
    font-size: 150%;
    text-transform:uppercase;
    text-align:left;
}

#mainContent > article > h1
{ clear:both }

#nav_menu li > a {
    font-family: 'Raleway',Verdana,sans-serif
}

p a {
    font-family: Verdana, sans-serif
}

#mainWrapper {
    position: relative; float: left;
    width: 100%;
    text-align: justify;
    background: url("images/x.gif") repeat-x  center top
}

#mainWrapperClip {
   position: relative; float: left;
    width: 100%;
    text-align: justify;
    background: url("images/x.gif") repeat-x  center top;
    background-position: 0 -300px;    
    
}

#wrapperContent {
    position: relative;
    width: 1024px;
    margin: auto
}

.headerWrapper {
    position: relative; float: left;
    width: 1024px
}

#indexHeaderWrapper {
    height: 500px
}

#insideHeaderWrapper {
    height: 200px;

    overflow: hidden
}



#midWrapper {
    position: relative; float: left;
    width: 980px;
    margin: 0 22px 0 22px; padding: 14px 0 15px 0
}

#footerWrapper {
    position: relative; float: left;
    width: 980px; height: 20px;
    margin: 0px 22px 0px 22px; padding: 3px 0 50px 0;
    color: #2c4f6c;
    border-top: #544948 solid 1px;
    font-size: 10px;
    clear: both
}

#footerWrapper a {
    color: inherit;
    text-decoration: none
}

.footerList li {
    display: inline; float: left; float: left;
    padding-top: 3px; padding-right: 25px; padding-left: 25px;
    border-right: 2px solid grey;
    text-align: center; text-transform: uppercase;
    list-style-type: none
}

.footerList  li:first-child {
    border-left: 1px solid #544948
}

#footerlistID {
    margin-top: 0;
    padding-left: 0px
}

#menuWrapper {
    position: absolute;
    top: 50px; right: 0; left: 600px;
    opacity: .95
}

#nav-menu {
    position: absolute;
    top: 0; right: 0;
    width: 700px;
    margin-top: 60px; margin-right: -34px;
    z-index: 10
}

#nav-menu ul {
    margin: 0; padding: 0;
    list-style: none
}

#nav-menu li {
    float: left;
    margin: 0 0.15em;
    background: #544948
}

#nav-menu a {
    display: block; float: left
}

.buttonBox a {
    height: 1.75em;
    padding-right: 10px; padding-left: 10px;
    color: #ffffff;
    text-align: center; text-decoration: none; text-transform: uppercase;
    border: 1px solid #ffffff;
    line-height: 1.75em;
}

.buttonText li a {
    font-size: 10.5pt; font-weight: 700
}

.buttonGradient a {
background: rgba(235,6,140,1);
background: linear-gradient(to bottom, rgba(235,6,140,1) 0%, rgba(235,6,140,1) 50%, rgba(164,4,97,1) 50%, rgba(164,4,97,1) 100%);
}


.buttonGradient a:hover {
background: rgba(140,6,235,1);
background: linear-gradient(to bottom, rgba(140,6,235,1) 0%, rgba(140,6,235,1) 50%, rgba(97,4,164,1) 50%, rgba(97,4,164,1) 100%);
}

.contentbutton {
margin: 10px 10px 20px 10px;
}

.contentbutton a {
    display: table-cell;
    height: 25px; height: 1.75em;
    padding-right: 10px; padding-left: 10px;
    margin: 10px;
    color: #ffffff;
    text-align: center; text-align: center; text-decoration: none; text-transform: uppercase;
    vertical-align: middle;
    border: 1px solid lightgrey;
    line-height: 1.75em;
}

#logo {
    position: absolute; display: block; float: left;
    top: 0; left: 0;
    width: 116px; height: 116px;
    margin: 10px;
    background-color: #8c06eb;
    cursor: pointer;
    -webkit-border-radius: 58px;
    -moz-border-radius: 58px;
    -khtml-border-radius: 58px;
    border: 1px solid #544948;
    border-radius: 58px;
    opacity: .99;
    z-index: 99;
    behavior: url(PIE.php);
}


#logo2 {
position: absolute;
display: block;
float: right;
top: 0;
right: 0;
opacity: .9;
z-index: 99;
}

#logo2 a, img
{border: 0}

#logo p {
    position: relative;
    padding-top: 5px;
    color: #ffffff;
    font-size: 18px;
    text-align: center
}

#logoline1 {
    top: 11px; left: 20px;
    font-size: 14px; font-weight: 700;
    text-shadow: #2c4f6c 1px 1px;
    font-family: 'Raleway', Verdana, San Serif;
}

.logoline2 {
    font-size: 18px; font-weight: 100; font-weight: 100;
    text-shadow: #2c4f6c 1px 1px;
    font-family: 'Raleway', Verdana, San Serif;
}

#slideshowID img {
    display: none
}

#slideshowID img.first {
    display: block
}

#tourismlogos {
    float: right;
    margin-top: -5px
}

#tourismlogos img {
    padding: 5px;
    border: none
}

#pid {
    display: block;
    margin-top: 1.1em; margin-left: 2px
}

.thickBorderOverBox {
    margin-right: 5px;
    border-top: black solid 3px
}

#mid1 {
    float: left;
    width: 331px;
    margin-right: 15px;
    overflow: hidden
}

#mid2 {
    float: left;
    width: 185px;
    margin-right: 5px; margin-right: 15px;
    background-color: #aeabaa; color: white;
    font-size: 80%;
    overflow: hidden
}

#mid2text {
    padding: 4px
}

#mid3 {
    float: left;
    width: 169px;
    margin-right: 15px;
    overflow: hidden
}

#mid4 {
    float: left;
    width: 245px
}


.articleHead {
    padding-top: 20px;
    font-size: 200%
}

.boldheadfont {
    font-weight: 900
}

.fontlight {
    font-weight: 100
}

.mid4 {
    float: left;
    width: 250px;
    border-top: #000 solid 3px
}

#mainContent {
    float: left;
    width: 73%; min-height: 500px;
    padding: 25px;
    background-color: white;
    
}

#mapbutton {
    width: 169px
}

#insideRightSidebar {
    float: right;
    width: 19%; min-height: 300px;
    padding-top: 25px;
    padding: 4px;
    background-color: white;
    font-size: 90%
}

.insideSidebarHeadFont {
    font-family: 'Raleway'
}
.imgclass{
    width:20%;
    height:20%;
    border: 0px;
}

.callOutImage {
    float: right;
margin: 10px;
margin-top: 0;
    border: 1px solid;
    border-color: lightgrey;
    border-radius: 4px;
    box-shadow: 5px 5px 20px #ddd;
}

.callOutImage img {padding: 5px}

.breadcrumb {
font-size: 70%;
clear:both
}

#socialfooter li {
list-style-type: none;
padding: 0;
margin: 1em 0;
}

#mainContent img { padding: 15px }

.adsense { margin: 25px }

.adsenseleaderboard {display:inline-block;width:728px;height:90px; margin: 25px 0}

.adsenserightcontent  { float: right; margin-right: 0 }

.adsenselr {display:inline-block;width:336px;height:280px}

.adsensefullwidth {
	clear:both;
	margin-left:0;
	margin-right:0
}

.mobile-only {
    display:none
}

/* ===== Generic Callout Box Base ===== */
.callout-box {
  padding: 15px;
  margin: 20px 0;
  border-radius: 5px;
  background-color: #f9f9f9;
}

/* ===== Primary Callout Types ===== */

/* Blue Info Callouts */
.callout-info {
  background-color: #f8f9fa;
  border-left: 4px solid #007bff;
  padding: 20px;
  margin: 20px 0;
  border-radius: 5px;
}

.callout-info-light {
  background-color: #e8f4fd;
  border-left: 4px solid #2196F3;
  padding: 15px;
  margin: 20px 0;
}

.callout-info-pale {
  background-color: #f0f8ff;
  border-left: 4px solid #4169e1;
  padding: 15px;
  margin: 20px 0;
  border-radius: 5px;
}

.callout-info-cyan {
  background-color: #d1ecf1;
  border: 1px solid #bee5eb;
  padding: 20px;
  margin: 20px 0;
  border-radius: 5px;
}

.callout-info-cyan-border {
  background-color: #d1ecf1;
  border-left: 4px solid #17a2b8;
  padding: 15px;
  margin: 20px 0;
  border-radius: 5px;
}

.callout-info-steel {
  background-color: #e8f4f8;
  border-left: 4px solid #5b9bd5;
  padding: 15px;
  margin: 20px 0;
}

.callout-info-aqua {
  background-color: #e1f5fe;
  border-left: 4px solid #0288d1;
  padding: 15px;
  margin: 20px 0;
  border-radius: 5px;
}

.callout-info-aqua-alt {
  background-color: #e7f3ff;
  padding: 15px;
  margin-top: 20px;
  border-radius: 5px;
}

/* Warning/Yellow Callouts */
.callout-warning {
  background-color: #fff3cd;
  border: 1px solid #ffeaa7;
  padding: 15px;
  margin: 20px 0;
  border-radius: 5px;
}

.callout-warning-left {
  background-color: #fff3cd;
  border-left: 4px solid #ffc107;
  padding: 15px;
  margin: 20px 0;
  border-radius: 5px;
}

.callout-warning-large {
  background-color: #fff3cd;
  border-left: 4px solid #ffc107;
  padding: 20px;
  margin: 20px 0;
  border-radius: 5px;
}

.callout-warning-beige {
  background-color: #f5f5dc;
  border-left: 4px solid #daa520;
  padding: 15px;
  margin: 20px 0;
  border-radius: 5px;
}

/* Success/Green Callouts */
.callout-success {
  background-color: #e8f5e8;
  border: 1px solid #c3e6cb;
  padding: 20px;
  margin: 20px 0;
  border-radius: 5px;
}

.callout-success-light {
  background-color: #d4edda;
  border: 1px solid #c3e6cb;
  padding: 20px;
  margin: 20px 0;
  border-radius: 5px;
}

.callout-success-border {
  background-color: #d4edda;
  border-left: 4px solid #28a745;
  padding: 15px;
  margin: 20px 0;
  border-radius: 5px;
}

.callout-success-large {
  background-color: #d4edda;
  border-left: 4px solid #28a745;
  padding: 20px;
  margin: 20px 0;
  border-radius: 5px;
}

.callout-success-pale {
  background-color: #f1f8e9;
  border-left: 4px solid #8bc34a;
  padding: 15px;
  margin: 20px 0;
}

/* Orange/Amber Callouts */
.callout-orange {
  background-color: #fff3e0;
  border-left: 4px solid #ff9800;
  padding: 15px;
  margin: 20px 0;
  border-radius: 5px;
}

.callout-orange-light {
  background-color: #fff0e6;
  border-left: 4px solid #ff9900;
  padding: 15px;
  margin: 20px 0;
  border-radius: 5px;
}

.callout-amber {
  background-color: #f8f4e6;
  border-left: 4px solid #d4a574;
  padding: 15px;
  margin: 20px 0;
}

/* Danger/Red Callouts */
.callout-danger {
  background-color: #f8d7da;
  border: 1px solid #f5c6cb;
  padding: 20px;
  margin: 20px 0;
  border-radius: 5px;
}

.callout-danger-border {
  background-color: #f8d7da;
  border-left: 4px solid #dc3545;
  padding: 15px;
  margin: 20px 0;
  border-radius: 5px;
}

.callout-danger-crimson {
  background-color: #fff0f5;
  border-left: 4px solid #dc143c;
  padding: 15px;
  margin: 20px 0;
  border-radius: 5px;
}

/* Neutral/Gray Callouts */
.callout-neutral {
  background-color: #f8f8f8;
  border: 1px solid #ddd;
  padding: 20px;
  margin: 15px 0;
  border-radius: 5px;
}

.callout-neutral-large {
  background-color: #f8f8f8;
  border: 1px solid #ddd;
  padding: 20px;
  margin: 20px 0;
  border-radius: 5px;
}

.callout-gray {
  background-color: #f8f9fa;
  border: 1px solid #dee2e6;
  padding: 15px;
  margin: 15px 0;
  border-radius: 5px;
}

.callout-gray-border {
  background-color: #f8f9fa;
  border-left: 4px solid #6c757d;
  padding: 15px;
  margin: 20px 0;
  border-radius: 5px;
}

.callout-gray-large {
  background-color: #e2e3e5;
  border-left: 4px solid #6c757d;
  padding: 20px;
  margin: 20px 0;
  border-radius: 5px;
}

/* Luxury/Premium Callouts */
.callout-luxury {
  background-color: #fff8e7;
  border: 1px solid #ddd;
  padding: 15px;
  margin: 20px 0;
  border-radius: 6px;
}

.callout-premium {
  background-color: #f9f9f9;
  border: 2px solid #e0e0e0;
  padding: 20px;
  margin: 25px 0;
  border-radius: 8px;
}

/* Special Purpose Callouts */
.callout-white-shadow {
  background-color: #fff;
  padding: 15px;
  border-radius: 6px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.callout-historic {
  background-color: #b0c4de;
  border: 1px solid;
  padding: 10px;
  margin: 5px;
  width: 200px;
  float: right;
}

/* Legacy Support - Keep existing for compatibility */
.callout-tips {
  background-color: #f8f9fa;
  border: 2px solid #007bff;
  margin: 20px 0;
  padding: 15px;
  border-radius: 5px;
}

.callout-verified {
  border-left: 4px solid #2c5530;
  padding: 15px;
  margin: 20px 0;
}


/* Purple Callout */
.callout-purple {
  background-color: #f3e5f5;
  border-left: 4px solid #9c27b0;
  padding: 15px;
  margin: 20px 0;
  border-radius: 5px;
}

/* Light Neutral Callout */
.callout-neutral-light {
  background-color: #fafafa;
  border: 1px solid #ddd;
  padding: 25px;
  margin: 30px 0;
  border-radius: 8px;
}
/* Additional Specialized Callouts */
.callout-cornsilk {
  background-color: #fff8dc;
  border-left: 4px solid #daa520;
  padding: 15px;
  margin: 20px 0;
  border-radius: 5px;
}

.callout-tan {
  background-color: #f5f5dc;
  border-left: 4px solid #cd853f;
  padding: 15px;
  margin: 20px 0;
  border-radius: 5px;
}

.callout-white-card {
  background-color: #fff;
  padding: 15px;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}
/* Final Specialized Callouts */
.callout-danger-light {
  background-color: #ffebee;
  border-left: 4px solid #f44336;
  padding: 15px;
  margin: 20px 0;
  border-radius: 5px;
}

.callout-pink {
  background-color: #f3e5f5;
  border-left: 4px solid #e91e63;
  padding: 15px;
  margin: 20px 0;
  border-radius: 5px;
}

.callout-warning-light {
  background-color: #fff8e1;
  border-left: 4px solid #ffc107;
  padding: 15px;
  margin: 20px 0;
  border-radius: 5px;
}

.callout-lemon {
  background-color: #fffacd;
  border-left: 4px solid #daa520;
  padding: 15px;
  margin: 20px 0;
  border-radius: 5px;
}

.callout-lavender {
  background-color: #f8f5ff;
  border-left: 4px solid #6a5acd;
  padding: 15px;
  margin: 20px 0;
  border-radius: 5px;
}

.callout-violet {
  background-color: #e6e6fa;
  border-left: 4px solid #9370db;
  padding: 15px;
  margin: 20px 0;
  border-radius: 5px;
}

.callout-mint {
  background-color: #f0fff0;
  border-left: 4px solid #228b22;
  padding: 15px;
  margin: 20px 0;
  border-radius: 5px;
}

.callout-steel {
  background-color: #f0f8ff;
  border-left: 4px solid #4682b4;
  padding: 15px;
  margin: 20px 0;
  border-radius: 5px;
}

/* ========================================
   MODERN HTML5 MOBILE-FRIENDLY LAYOUT
   ======================================== */

/* Austria Tourism Official Colors */
:root {
  --austria-red: #dc0000;
  --austria-white: #ffffff;
  --austria-black: #000000;
  --austria-moss: #9bcea8;
  --austria-danube: #82c1d7;
  --austria-marigold: #f3986f;
  --austria-dandelion: #ffe179;
  --austria-granite: #999999;
  --content-max-width: 1200px;
  --mobile-padding: 1.5rem;
  --nav-height: 70px;
  --hero-height: 400px;
}

/* Reset and Base Styles */
* {
  box-sizing: border-box;
}

.site-container {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.content-wrapper {
  max-width: var(--content-max-width);
  margin: 0 auto;
  padding: 0 1rem;
}

/* Hero Section */
.site-header {
  position: relative;
  overflow: hidden;
}

.hero-section {
  position: relative;
  height: var(--hero-height);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.hero-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.hero-bg {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.hero-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, rgba(220, 0, 0, 0.3), rgba(0, 0, 0, 0.4));
  z-index: 2;
}

.hero-content {
  position: relative;
  z-index: 3;
  color: var(--austria-white);
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
}

.hero-title {
  font-size: 3rem;
  font-weight: bold;
  margin: 0 0 0.5rem 0;
  font-family: 'Raleway', Verdana, sans-serif;
  text-transform: uppercase;
}

.hero-subtitle {
  font-size: 1.5rem;
  margin: 0;
  font-weight: 300;
}

/* Navigation */
.main-navigation {
  background: var(--austria-white);
  border-bottom: 3px solid var(--austria-red);
  position: sticky;
  top: 0;
  z-index: 100;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
}

.nav-container {
  max-width: var(--content-max-width);
  margin: 0 auto;
  padding: 0 1rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: var(--nav-height);
}

.site-logo {
  font-size: 1.5rem;
  font-weight: bold;
  color: var(--austria-red);
  text-decoration: none;
  font-family: 'Raleway', Verdana, sans-serif;
}

.nav-menu {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 0.5rem;
}

.nav-menu a {
  display: block;
  padding: 0.8rem 1.2rem;
  color: var(--austria-white);
  text-decoration: none;
  font-weight: bold;
  text-transform: uppercase;
  background: var(--austria-red);
  border-radius: 4px;
  transition: background-color 0.3s ease;
  border: 2px solid var(--austria-red);
}

.nav-menu a:hover {
  background: var(--austria-danube);
  border-color: var(--austria-danube);
}

/* Mobile Menu */
.mobile-menu-toggle {
  display: none;
  background: none;
  color: var(--austria-text);
  border: none;
  padding: 0.5rem;
  font-size: 1.5rem;
  cursor: pointer;
  position: static;
  z-index: 1001;
}

/* Mobile Menu Below Hero Container */
.mobile-menu-below-hero {
  display: none; /* Hidden by default, shown only on mobile */
}

.mobile-menu-overlay {
  position: fixed;
  top: 0;
  right: -100%;
  width: 280px;
  height: 100vh;
  background: var(--austria-white);
  box-shadow: -2px 0 10px rgba(0, 0, 0, 0.3);
  z-index: 1002;
  transition: right 0.3s ease;
  overflow-y: auto;
}

.mobile-menu-overlay.active {
  right: 0;
}

.mobile-menu-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem;
  background: var(--austria-red);
  color: var(--austria-white);
  font-weight: bold;
}

.mobile-menu-close {
  background: none;
  border: none;
  color: var(--austria-white);
  font-size: 1.5rem;
  cursor: pointer;
}

.mobile-nav-menu {
  list-style: none;
  margin: 0;
  padding: 0;
}

.mobile-nav-menu a {
  display: block;
  padding: 1rem;
  color: var(--austria-black);
  text-decoration: none;
  border-bottom: 1px solid #eee;
  transition: background-color 0.3s ease;
}

.mobile-nav-menu a:hover {
  background: var(--austria-danube);
  color: var(--austria-white);
}

.mobile-menu-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.5);
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

.mobile-menu-backdrop.active {
  opacity: 1;
  visibility: visible;
}

/* Main Content */
.main-content {
  flex: 1;
  padding: 2rem 0;
}

.main-layout {
  display: grid;
  grid-template-columns: 1fr 300px;
  gap: 2rem;
  align-items: start;
}

.main-article {
  background: var(--austria-white);
  padding: 2rem;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  border-top: 4px solid var(--austria-red);
}

/* Breadcrumb Navigation */
.breadcrumb-nav {
  margin-bottom: 2rem;
}

.breadcrumb {
  list-style: none;
  display: flex;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
  font-size: 0.9rem;
}

.breadcrumb li:not(:last-child)::after {
  content: "›";
  margin-left: 0.5rem;
  color: var(--austria-granite);
}

.breadcrumb a {
  color: var(--austria-red);
  text-decoration: none;
}

.breadcrumb a:hover {
  text-decoration: underline;
}

/* Sidebar */
.sidebar {
  background: var(--austria-white);
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  border-top: 4px solid var(--austria-danube);
  position: sticky;
  top: calc(var(--nav-height) + 2rem);
}

.sidebar-content {
  padding: 1.5rem;
}

.sidebar-header {
  margin-bottom: 1rem;
}

.sidebar-title {
  font-size: 1.1rem;
  display: block;
}

.bold-text {
  font-weight: bold;
  color: var(--austria-red);
}

.light-text {
  font-weight: normal;
  color: var(--austria-granite);
}

.sidebar-button {
  margin-top: 1rem;
}

.sidebar-button a {
  display: inline-block;
  background: var(--austria-red);
  color: var(--austria-white);
  padding: 0.8rem 1.5rem;
  text-decoration: none;
  border-radius: 4px;
  transition: background-color 0.3s ease;
  text-transform: uppercase;
  font-weight: bold;
  font-size: 0.9rem;
}

.sidebar-button a:hover {
  background: var(--austria-danube);
}

/* Footer */
.site-footer {
  background: var(--austria-granite);
  color: var(--austria-white);
  padding: 2rem 0 1rem;
  margin-top: auto;
}

.footer-content {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}

.footer-nav {
  margin-bottom: 1rem;
}

.footer-links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  font-size: 0.8rem;
}

.footer-links li {
  border-right: 1px solid rgba(255, 255, 255, 0.3);
  padding-right: 0.5rem;
}

.footer-links li:last-child {
  border-right: none;
}

.footer-links a {
  color: var(--austria-white);
  text-decoration: none;
  text-transform: uppercase;
}

.footer-links a:hover {
  color: var(--austria-dandelion);
}

.social-footer {
  margin-bottom: 1rem;
}

.social-links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 1rem;
}

.footer-copyright {
  text-align: center;
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.7);
  border-top: 1px solid rgba(255, 255, 255, 0.2);
  padding-top: 1rem;
}

/* Modern Callout Classes */
.callout-info {
  background: linear-gradient(135deg, var(--austria-danube), rgba(130, 193, 215, 0.8));
  border-left: 5px solid var(--austria-red);
  color: var(--austria-black);
  padding: 1.5rem;
  margin: 1.5rem 0;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.callout-success {
  background: linear-gradient(135deg, var(--austria-moss), rgba(155, 206, 168, 0.8));
  border-left: 5px solid var(--austria-red);
  color: var(--austria-black);
  padding: 1.5rem;
  margin: 1.5rem 0;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.callout-warning {
  background: linear-gradient(135deg, var(--austria-marigold), rgba(243, 152, 111, 0.8));
  border-left: 5px solid var(--austria-red);
  color: var(--austria-black);
  padding: 1.5rem;
  margin: 1.5rem 0;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.callout-cultural {
  background: linear-gradient(135deg, var(--austria-dandelion), rgba(255, 225, 121, 0.8));
  border-left: 5px solid var(--austria-red);
  color: var(--austria-black);
  padding: 1.5rem;
  margin: 1.5rem 0;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.callout-luxury {
  background: linear-gradient(135deg, #f8f4ff, rgba(248, 244, 255, 0.9));
  border-left: 5px solid var(--austria-red);
  color: var(--austria-black);
  padding: 1.5rem;
  margin: 1.5rem 0;
  border-radius: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  border: 1px solid rgba(220, 0, 0, 0.2);
}

/* Responsive Design */

/* Tablet Layout: 768px - 991px */
@media (max-width: 991px) and (min-width: 768px) {
  .main-layout {
    grid-template-columns: 1fr 250px;
    gap: 1.5rem;
  }
  
  .main-article {
    padding: 1.8rem;
  }
  
  .content-wrapper {
    padding: 0 1.5rem;
  }
  
  .sidebar-content {
    padding: 1.2rem;
  }
}

/* Mobile Layout: Below 768px */
@media (max-width: 767px) {
  :root {
    --hero-height: 300px;
    --nav-height: 60px;
  }
  
  /* Add body padding for mobile */
  body {
    padding-left: 5px;
    padding-right: 5px;
  }
  
  .hero-title {
    font-size: 2rem;
  }
  
  .hero-subtitle {
    font-size: 1.2rem;
  }
  
  .nav-menu {
    display: none;
  }
  
  /* Hide hamburger in navigation bar on mobile */
  .nav-container .mobile-menu-toggle {
    display: none;
  }
  
  /* Show hamburger below hero, next to main content H1 */
  .mobile-menu-below-hero {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    margin: 1rem 0 0.5rem 0;
    padding: 0 1rem;
    gap: 1rem;
  }
  
  .mobile-menu-below-hero .mobile-menu-toggle {
    display: block;
  }
  
  .mobile-menu-label {
    font-size: 0.9rem;
    color: var(--austria-text);
    font-weight: 500;
  }
  
  .main-layout {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
  
  .main-article {
    padding: 1.5rem;
  }
  
  .content-wrapper {
    padding: 0 var(--mobile-padding);
  }
  
  .sidebar {
    position: static;
  }
  
  .footer-links {
    justify-content: center;
    text-align: center;
  }
  
  .social-links {
    justify-content: center;
  }
}

@media (max-width: 480px) {
  :root {
    --hero-height: 250px;
    --mobile-padding: 1rem;
  }
  
  .hero-title {
    font-size: 1.8rem;
  }
  
  .hero-subtitle {
    font-size: 1rem;
  }
  
  .main-article {
    padding: 1rem;
  }
  
  .sidebar-content {
    padding: 1rem;
  }
  
  .footer-links {
    flex-direction: column;
    gap: 0.3rem;
  }
  
  .footer-links li {
    border-right: none;
    padding-right: 0;
  }
}

/* Ensure ads don't overflow on mobile and stay within content area */
@media (max-width: 767px) {
  .main-article img,
  .main-article .adsbygoogle {
    max-width: 100% !important;
    width: auto !important;
    height: auto !important;
    margin: 1rem auto;
    display: block;
  }
  
  /* Allow images to extend to screen edge but keep text contained */
  .main-article > img:first-child,
  .main-article > figure:first-child img {
    margin-left: calc(-1 * var(--mobile-padding));
    margin-right: calc(-1 * var(--mobile-padding));
    width: calc(100% + 2 * var(--mobile-padding));
    max-width: calc(100% + 2 * var(--mobile-padding));
  }
}
/* Calendar Page Styles */
.event-highlight {
  background: #f8f9fa;
  border-left: 4px solid #0099cc;
  padding: 20px;
  margin: 20px 0;
  border-radius: 0 8px 8px 0;
}

.event-details {
  margin: 15px 0;
}

.event-details ul {
  margin: 10px 0;
  padding-left: 20px;
}

.naschmarkt-integration {
  background: #e6f3ff;
  padding: 15px;
  margin: 15px 0;
  border-radius: 8px;
  border: 1px solid #b3d9ff;
}

.naschmarkt-integration h4 {
  color: #0066cc;
  margin-bottom: 10px;
}

.event-series {
  border: 1px solid #ddd;
  padding: 20px;
  margin: 20px 0;
  border-radius: 8px;
  background: #fefefe;
}

.holiday-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 20px;
  margin: 20px 0;
}

.holiday-item {
  background: #f5f5f5;
  padding: 15px;
  border-radius: 8px;
  border-left: 3px solid #28a745;
}

.holiday-item h4 {
  margin-bottom: 10px;
  color: #333;
}

.christmas-section {
  background: linear-gradient(135deg, #d4e8d4, #e8f5e8);
  padding: 25px;
  border-radius: 12px;
  margin: 25px 0;
  border: 1px solid #c3e6c3;
}

.category-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 15px 0;
}

.tag {
  padding: 5px 12px;
  border-radius: 20px;
  font-size: 0.9em;
  font-weight: 500;
  color: white;
}

.tag.cultural { background: #6f42c1; }
.tag.music { background: #e83e8c; }
.tag.festival { background: #fd7e14; }
.tag.religious { background: #20c997; }
.tag.tourism { background: #0dcaf0; }
.tag.market { background: #198754; }
.tag.food-wine { background: #dc3545; }
.tag.christmas { background: #d63384; }

.lead {
  font-size: 1.25em;
  font-weight: 300;
  line-height: 1.4;
  margin-bottom: 25px;
  color: #555;
}

.btn {
  display: inline-block;
  padding: 10px 20px;
  border-radius: 5px;
  text-decoration: none;
  font-weight: 500;
  text-align: center;
  transition: all 0.3s ease;
}

.btn-primary {
  background: #0099cc;
  color: white;
  border: 2px solid #0099cc;
}

.btn-primary:hover {
  background: #0077aa;
  border-color: #0077aa;
  color: white;
  text-decoration: none;
}

/* Calendar Navigation Styles */
.calendar-navigation {
  background: #f8f9fa;
  border: 1px solid #dee2e6;
  border-radius: 8px;
  padding: 15px;
  margin-bottom: 20px;
  text-align: center;
}

.calendar-navigation p {
  margin: 0;
  font-weight: bold;
}

.calendar-navigation .btn {
  display: inline-block;
  padding: 8px 16px;
  margin: 0 5px;
  text-decoration: none;
  border-radius: 5px;
  font-weight: bold;
  transition: all 0.3s ease;
}

.calendar-navigation .btn-outline {
  background: white;
  color: #007bff;
  border: 2px solid #007bff;
}

.calendar-navigation .btn-outline:hover {
  background: #007bff;
  color: white;
}

.calendar-navigation .current-year {
  display: inline-block;
  padding: 8px 16px;
  margin: 0 5px;
  background: #007bff;
  color: white;
  border-radius: 5px;
  font-weight: bold;
}

/* Mobile responsive calendar styles */
@media (max-width: 768px) {
  .holiday-grid {
    grid-template-columns: 1fr;
  }
  
  .event-highlight, .event-series {
    padding: 15px;
  }
  
  .naschmarkt-integration {
    padding: 12px;
  }
  
  .category-tags {
    justify-content: center;
  }
  
  .calendar-navigation .btn, .calendar-navigation .current-year {
    display: block;
    margin: 5px auto;
    width: 80%;
    max-width: 200px;
  }
}
