* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	font-family: Arial, sans-serif;
	line-height: 1.6;
	background-color: #f9f9f9;
	color: #333;
}


h2 {
	
	text-align: center;
	
	
}


header {
    background-color: #0b3d91;
    color: #fff;
    padding: 1rem 0;
    text-align: center;
}

header h1 {
    margin-bottom: 0.5rem;
}

nav ul {
    list-style: none;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

nav li {
    margin: 0 1rem;
}

nav a {
    color: #fff;
    text-decoration: none;
    font-weight: bold;
}

nav a:hover {
    text-decoration: underline;
}


main {
  flex: 1;
  text-align: center;
}


form label {
    display: block;
    margin-top: 1rem;
}

form input, form select, form textarea {
    width: 50%;
    padding: 0.5rem;
    margin-top: 0.3rem;
    border: 1px solid #ccc;
    border-radius: 4px;
}

form button {
    margin-top: 1rem;
    padding: 0.7rem 1.5rem;
    background-color: #0b3d91;
    color: #fff;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

form button:hover {
    background-color: #082f6f;
}


.container {
  outline: white 1px solid;
  height: 100vh;
  width: 100vw;
  /* get rid of this... or play around w it */
  display: flex;
  flex-direction: column;
}


footer {
    background-color: #0b3d91;
    color: #fff;
    text-align: center;
    padding: 1rem 0;
    margin-top: 2rem;
	position: relative;
	
}


.tours{
  width: 100%;
}

.tours_sidebar {
  vertical-align:text-top;
  width: 250px;
  padding-top: 40px;
  background-color: rgb(255, 255, 255);
  padding: 10px;
  font-size: 18px;
}

.tags {  font-size: 14px;cursor: pointer;padding: 10px;}


.tours_body {  
  
  padding-top: 40px;
  background-color: rgb(255, 255, 255);
  padding: 10px;
  font-size: 18px;
  
}

.picture {  height: auto;

  max-width: 10%;padding: 10px;}

.picture_td {  text-align: left;width: 100%;border: 1px solid green;padding: 10px;}

.tours_table_with_pictures {  width: 100%;border-collapse: collapse;}

.indexpageheader{ width: 90%;height: 80%;}

.indexpagefooter{width: 90%;height: 20%;position: absolute;bottom: 10px;left: 10px;}

.grid{padding:28px;}

.tourcard{background:linear-gradient(180deg, rgba(255,255,255,0.03), transparent); 
	
	padding:28px;
	
	border-radius:16px;
	
	box-shadow:0 6px 30px rgba(2,6,23,0.6);
	
}

.card_image {width: 500px;}


main{
	width: 100%;
	height: 100%;
	background-image: url("https://24159171.webhosting.arden.ac.uk/COM4014/images/istockphoto-1045172440-612x612.jpg");
	background-color: rgba(255,255,255,0.9);
    background-blend-mode: overlay;
	background-repeat: no-repeat;
	background-size: cover;
	background-size: 90%;
}

				
				

:root{--gap:12px;--bg:#0f1724;--card:#0b1220;--accent:#06b6d4;--text:#e6eef6} 
    
.gallery{display:grid;gap:var(--gap);padding:20px;max-width:1200px;margin:18px auto;grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}

.card{background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.01));border-radius:12px;overflow:hidden;position:relative;cursor:pointer;outline:none;border:1px solid rgba(255,255,255,.03);transition:transform .18s ease, box-shadow .18s ease}

.card:focus,.card:hover{transform:translateY(-6px);box-shadow:0 8px 30px rgba(2,6,23,.6)}

.card img{display:block;width:100%;height:220px;object-fit:cover}

.meta{padding:10px 12px}

.meta h3{margin:0;font-size:.95rem}

.meta p{margin:6px 0 0;color:rgba(230,238,246,.65);font-size:.85rem}

.lightbox{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:20px;background:rgba(0,0,0,.7);backdrop-filter:blur(6px);opacity:0;pointer-events:none;transition:opacity .18s ease}

.lightbox.open{opacity:1;pointer-events:auto}

.lightbox .panel{max-width:95%;max-height:95%;display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}

.lightbox img{max-width:100%;max-height:80vh;object-fit:contain;border-radius:8px}

.controls{display:flex;flex-direction:column;gap:8px}

.btn{background:var(--card);border:1px solid rgba(255,255,255,.04);color:var(--text);padding:8px 10px;border-radius:8px;text-align:center;cursor:pointer}

@media (max-width:640px){.card img{height:160px}.lightbox .panel{grid-template-columns:1fr}.hide-on-mobile{display:none}}    

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;white-space:nowrap;border:0}

.hide-on-mobile{display:inline}