* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;;
}

html, body {
font-family: Georgia;
 padding: 0;
background-image: url('concretetexturebackground.png');
background-color: rgba(101,96,85,0.9);
background-blend-mode: multiply;
  background-repeat: repeat;
background-size: auto;
height: 100%;
}

.fullHeight {
height: 100%;
}

.hidden-js-button {
    display: none;                 /* hidden by default */
max-height: 100%;
width: 100%;
}

.hidden-js-button.show {                /* class added by JS (see script) */
    display: flex;                /* puts children on one line */
    flex-direction: column;        /* stack children vertically */
    gap: 0.3vh;                     /* small space between rows */
width: calc(25vw + 30px - 25vh);
    height: 33vh;
 	box-sizing: border-box;   /* include padding/border in width */
transform-origin: top left;
    align-items: center;
    z-index: 5;
}

.hidden-js-button.show button {
    flex: 1 0 auto;
    width: 100%;                   /* force full‑width */
    max-width: 40vw;
    padding: 0.1vh 0;           /* vertical padding → height */
font-size: calc( 1.7vh + 4px );   /* scales with viewport */
font-weight: bolder;
    white-space: nowrap;                    /* keep text on one line */
    overflow: hidden;                       /* hide overflow */
    text-overflow: ellipsis;                /* show “…” when clipped */
background-image: linear-gradient(to bottom, rgba(100,90,70,0.35), rgba(90,100,30,0.35), rgba(30,60,40,0.35)), url('concretetexturebackground.png');
    border-radius: 2vh;
        border: 2px solid #000;
box-shadow: 0vh 1vh 0.7vh rgba(255,255,200,0.5) inset;

}

.hidden-js-button.show button:hover {
background-image: linear-gradient(to bottom, gold, yellow, gold), url('concretetexturebackground.png');

}

#waterButtons {
position: absolute;
left: calc( 29.9vw - 22vw - 30px + 25vh );
top: 37.5vh;
	z-index: 5;
}

#statuaryButtons {
	position: absolute;
	left: calc( 62.8vw - 22vw - 30px + 25vh );
	top: 37.5vh;
	z-index: 5;
}

#otherButtons {
	position: absolute;
left: calc( 95.6vw - 22vw - 30px + 25vh );
	top: 37.5vh;
	z-index: 5;
}
.mainLinksArea {
border-top: 2px solid rgb(160,140,130);
box-shadow: 0vh 1vh 0.5vh rgba(160,150,130,0.25) inset;
background-image: linear-gradient(to bottom, rgba(70,60,40,0.7), rgba(60,70,0,0.7), rgba(0,30,10,0.8)), url('concretetexturebackground.png');
background-color: rgba(101,96,85,0.9);
	width: 100%;
	overflow: hidden;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: auto;
  gap: 1vh;
  height: 48.5vh;
	padding-left: 2vh;
	padding-right: 2vh;
padding-top: 1vh;
padding-bottom: 1vh;
}

.subLinksArea {
	width: 100%;
	overflow: hidden;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto auto;
  gap: 0.5vh;
  height: 100%;
	padding-left: 2vh;
	padding-right: 2vh;
padding-top: 1vh;
padding-bottom: 1vh;
}

.galleryLinkContainer {
	width: 100%;
	height: 100%;
	margin: 0;
}
.galleryLinkLabel {
	font-size: calc(5px + 1vh + 1vmin );
	color: white;
	text-align:center;
	background-color: rgba(20,20,18,0.6);
	border: solid black;
	border-radius: 2vh;
	height: calc(5px + 2vh + 5%);
	width: 100%;
top: 0;
margin-bottom: 1vh;
}
.galleryLinkImage {
	display: block;
	justify-content:center;
	align-items: center;
	border: solid black;
	width: 100%;
	height: calc(95% - 2vh - 5px);
	bottom: 0;
	padding-top: 5%;
	padding-bottom: 0;
	white-space: nowrap;
position: relative;
	}

.leftGalleryLinkTilt {
position: absolute;
	left: 0;
width: calc(10vh + 3vmax);
height: calc(10vh + 3vmax);
	transform: rotate(-10deg);
			border: 1px rgba(10, 5, 0, 0.7);
	  box-shadow: 2px 4px 6px 3px rgba(0, 0, 0, 0.4);
}
.centerGalleryLinkTilt {
	position: absolute;
	left: calc( 50% - 5vh - 1.5vmax );
	width: calc(10vh + 3vmax);
height: calc(10vh + 3vmax);
	transform: rotate(-2deg);
			border: 1px rgba(10, 5, 0, 0.7);
	  box-shadow: 2px 4px 6px 3px rgba(0, 0, 0, 0.4);

}
.rightGalleryLinkTilt {
	position: absolute;
	right: 0;
	width: calc(10vh + 3vmax);
height: calc(10vh + 3vmax);
	transform: rotate(6deg);
			border: 1px rgba(10, 5, 0, 0.7);
	  box-shadow: 2px 4px 6px 3px rgba(0, 0, 0, 0.4);

}


header {
display: block;
background-image: url('logoFountain.png'), url('headerBackground.png');
background-position: left, auto;
background-size: 27vh, 100vw 50vh;
background-repeat: no-repeat, no-repeat;
background-color: #656055;
top: 0;
overflow: hidden;
width: 100vw;
height: 27vh;
}

.shoppingCartButton {
	float: right; 
	height: calc(4.5vh + 1.5vw); 
	width: calc(4.5vh + 1.5vw); 
	/*background-image: url('shoppingcart.png'); 
	background-size: auto 100%; 
	background-repeat: 
	no-repeat; 
	background-position: bottom left; 
	background-size: calc(4.25vh + 1.25vw);*/
}

.headerTopBar{
display: block;
width: calc(100vw - 20vh);
float: right;
margin-top: 0vh;
height: calc(6vh + 1vw);
background-image: url('portlandgardendecorheading.png');
background-position: left;
background-repeat: no-repeat;
background-size: calc(95% - 4.5vh + 1.5vw) calc(4.5vh + 1.5vw);
}

footer {
	position: absolute;
	display: flex;
	flex-direction: row;
	width: 100%; 
	overflow: hidden; 
	background-image: url('leftBottomPlant.png'), url('rightBottomPlant.png'), url('middleBottomPlant.png'), url('bottomedgebackground.png'); 
	background-position: top left, top right, bottom, top;
	background-repeat: no-repeat, no-repeat, repeat-x, repeat-x; 
	background-size: 20vh, 20vh, 15vh, contain;
	top: 75vh;
padding-top: 5vh;
padding-bottom: 5vh;
z-index: 2;
}


.sectionContainer {
		border-radius: 5vh;
  height: 100%;
	position: relative;
padding-top: 0vh;
padding-left: 0vh;
padding-right: 0vh;
bottom: 0vh;
z-index: 1;
}


.sectionLink {
		border-radius: 5vh;
  height: 99%;
	position: relative;
text-align: right;
font-size: calc(12px + 0.6vw + 1vmin );
padding-top: 5vh;
padding-right: 2.5vw;
bottom: 0vh;
}
.sectionBox {
		border-radius: 5vh;
	height: 90%;
	width: 100%;
background-image: linear-gradient(to bottom right, rgba(90,70,60,0.4), rgba(90,90,30,0.4)), url('concretetexturebackground.png');
background-color: rgba(101,96,85,1);
background-blend-mode: overlay;
	position: absolute;
  bottom: 0;
z-index: -1;
  padding: 0vh;
  box-shadow: -0.1vh -0.1vh 0.1vh rgb(150,150,140),
        0.1vh 0.1vh 0.1vh rgba(20,20,19,1),
        0.1vh 0.1vh 0.75vh rgba(0,0,0,.75),
        0 0 0.8vh rgba(0,0,0,.75);
}

.linkTitle{
color: rgba(255,255,255,1);
text-shadow: 0 -1px 2px black, 0 1px 2px black, -1px 0 2px black, 1px 0 2px black,  -1px -1px 2px black, 1px 1px 2px black, -1px 1px 2px black, 1px -1px 2px black;
}

.sectionDescription{
position: absolute;
width: calc(100% + 30px - 6.5vw - 25vh);
right: 0;
padding-top: 0;
padding-left: 0.5vw;
padding-right: 0.5vw;
padding-bottom: 1vw;
height: 80%;
font-size: calc(1px + 1.5vw);
background-color: rgba(0,0,0,0);
bottom: 0;
}

#contact {
width: 30vw;
margin-left: calc(20vw - 10vh);
font-size: calc(1vh + 0.5vw);
font-style: normal;
}

#map {
min-height:10vh; 
height:90%; 
max-height:90%; 
max-width:20vh; 
border: 2px solid black;
margin-left: 5vw;
margin-right: 5vw;
}

nav {
width: 30vw;
margin-right: calc(20vw - 10vh);
float: right;
font-size: calc(1vh + 0.5vw);
}

.topTextBox {
	font-size: calc(1.5px + 0.70vmax + .98vmin );
	text-indent: 5%;
	border-radius: 3vh;
	background-color: rgba(200,200,190,0.3);
backdrop-filter: blur(8px);
width: calc(98vw - 24vh);
height: calc(19.25vh - 1.5vw);


margin-left: 24vh; 
margin-right: 2vw;
margin-top:  calc(7vh + 1vw);
margin-bottom: alc(0.75vh + 0.5vw);
padding: 0.8vh;
  box-shadow: -0.1vh -0.1vh 0.1vh rgb(150,150,140),
        0.1vh 0.1vh 0.1vh rgba(20,20,19,1),
        0.1vh 0.1vh 0.75vh rgba(0,0,0,.75),
        0 0 0.8vh rgba(0,0,0,.75);
}

#waterFeatures {
background-image: url('waterfeatures.png');
background-position-x: calc(5.5vw - 90px);
background-position-y: 0;
background-repeat: no-repeat;
background-size: calc(60px + 25vh + 1vw);
	border-radius: 0 0 5vh 5vh;
bottom: 0.5vh;
}

#Statuary {
background-image: url('statuary.png');
background-position-x: calc(5.5vw - 90px);
background-position-y: 0;
background-repeat: no-repeat;
background-size: calc(60px + 25vh + 1vw);
	border-radius: 0 0 5vh 5vh;
bottom: 0.5vh;
}

#specialFunction {
background-image: url('specialfunction.png');
background-position-x: calc(5.5vw - 90px);
background-position-y: 0;
background-repeat: no-repeat;
background-size: calc(60px + 25vh + 1vw);
	border-radius: 0 0 5vh 5vh;
bottom: 0.5vh;
}

input[type="radio"] {
  /* Add if not using autoprefixer */
  -webkit-appearance: none;
  appearance: none;
  /* For iOS < 15 to remove gradient background */
  background-color: #fff;
  /* Not removed via appearance */
  margin: 0;
}

#closeGalleries {
display: none;
height: 0;
margin: 0;
padding: 0;
position: absolute;
top: -100px;}

#input_water:checked~#contentWater,
#input_Statuary:checked~#contentStatuary,
#input_special:checked~#contentSpecial {
	display: block;
width: 100vw;
position: absolute;
z-index: 5;
top: 0;
height: 0vh;
	}
	
.gallerySelectionBox {
  display: block;
  background-color: blue;
  width: 100vw;
  z-index: 6;
  position: absolute;
  top: 37vh;
  height: 38vh; /*done*/
  
  border-top: 2px solid rgb(160,140,130);
box-shadow: 0vh 1vh 0.5vh rgba(160,150,130,0.25) inset;
background-image: linear-gradient(to bottom, rgba(70,60,40,0.7), rgba(60,70,0,0.7), rgba(0,30,10,0.8)), url('concretetexturebackground.png');
background-color: rgba(101,96,85,0.9);
	overflow: visible;
	padding-left: 2vh;
	padding-right: 2vh;
padding-top: 1vh;
padding-bottom: 1vh;
}

.Xclose {
	background-image: url('X.png');
	background-size: cover;
	border-radius: 50%;
	width: calc(6vh + 1vw);
	height: calc(6vh + 1vw);
	position: relative;
   float: right;
	top: calc(-100% - 4vh);
	display: inline-block;
	overflow: hidden;
	color: rgba(0,0,0,0);
}

#contentWater,
#contentStatuary,
#contentSpecial {
  display: none;
}

#openBirdBathGallery, #openWallFountainGallery, #openSmallFountainGallery, #openLargeFountainGallery, #openClassicalStatuaryGallery, #openAnimalStatuaryGallery, #openLanternStatuaryGallery, #openOtherStatuaryGallery, #openFurnitureGallery, #openPotteryGallery, #openStructuralGallery, #openMemorialGallery {
visibility: hidden;
height: 0px;
width: 0px;
position: absolute;
top: -100px;
left: 100px;
}
#birdBathGallery, #wallFountainGallery, #smallFountainGallery, #largeFountainGallery, #classicalStatuaryGallery, #animalStatuaryGallery, #lanternStatuaryGallery, #otherStatuaryGallery, #furnitureGallery, #potteryGallery, #structuralGallery, #memorialGallery {
visibility: hidden;
display: none;
width: 100vw;
height: 100vh;
position: absolute;
top: -500vh;
left: 0;
background-color: rgba(0,0,0,0.6);
z-index: 10;
}

#closeGallery, #closeGallery1, #closeGallery2, #closeGallery3, #closeGallery4, #closeGallery5, #closeGallery6, #closeGallery7, #closeGallery8, #closeGallery9, #closeGallery10, #closeGallery11 {
width: 100vw;
height: 100vh;
display: flex;
justify-content: center;
padding-top: 2vh;
/*align-items: center;*/
background-image: url('X.png'), url('closeGallery.png');
background-position: top right, bottom center;
background-size: 3vw, auto 5vh;
background-repeat: no-repeat, no-repeat;
}

#galleryFrame, #galleryFrame1, #galleryFrame2, #galleryFrame3, #galleryFrame4, #galleryFrame5, #galleryFrame6, #galleryFrame7, #galleryFrame8, #galleryFrame9, #galleryFrame10, #galleryFrame11 {
border: 0;
width: 95vw;
height: 90vh;
}

#openBirdBathGallery:checked ~ #birdBathGallery, #openWallFountainGallery:checked ~ #wallFountainGallery, #openSmallFountainGallery:checked ~ #smallFountainGallery, #openLargeFountainGallery:checked ~ #largeFountainGallery, #openClassicalStatuaryGallery:checked ~ #classicalStatuaryGallery, #openAnimalStatuaryGallery:checked ~ #animalStatuaryGallery, #openLanternStatuaryGallery:checked ~ #lanternStatuaryGallery, #openOtherStatuaryGallery:checked ~ #otherStatuaryGallery, #openFurnitureGallery:checked ~ #furnitureGallery, #openPotteryGallery:checked ~ #potteryGallery, #openStructuralGallery:checked ~ #structuralGallery, #openMemorialGallery:checked ~ #memorialGallery {
visibility: visible;
top: 0vh;
display: block;
}


@media screen and (max-aspect-ratio: 9/7) and (max-width: 599px) {
  .mainLinksArea {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    gap: 0;
}
.gallerySelectionBox {
	border-radius: 5vh 0 0 0;
width: 80vw;
position: absolute;
top: 27vh;
right: 0;
height: 47vh; /*done*/

}

  	.hidden-js-button.show {  
   display: grid;                         /* <-- grid layout */
    grid-template-columns: repeat(2, 1fr); /* two equal columns */
    gap: 5px;                           /* space between cells */  
    width: 58vw;
	height: 16vh;
}
  	.hidden-js-button.show button {  
padding-top: 2.5vh;
padding-bottom: 2.5vh;
}

#waterButtons {
position: absolute;
left: 37vw;
top: 18.6vh;
}

#statuaryButtons {
	position: absolute;
	left: 37vw;
	top: 37.8vh;
}

#otherButtons {
	position: absolute;
left: 37vw;
	top: 56.7vh;
}


.smallDescriptionText { display: inline; } 
.largeDescriptionText {display: none;}
header {height: 16vh;}
.mainLinksArea {height: 59.5vh;}
header {background-size: 16vh, cover;}
.headerTopBar{width: calc(100vw - 12vh);}
.topTextBox{margin-left: 14vh; width: calc(98vw - 14vh); height: calc(9.25vh - 1vw); margin-top:  calc(6vh + 1vw); margin-bottom: 0.75vh; font-size: calc(0.45vh + 0.65vw + 0.8vmin );}
.gallerySelectionBox {top: 18vh; height: 57vh;} /*done*/
.sectionLink {padding-top: 2vh; text-align: left;} 
.sectionBox {height: 94%;}	

.linkTitle {margin-left: 1.5vw;
margin-top: 11.75vh;
font-size: calc(12px + 1.5vw + 1vmin );
} 

.sectionDescription{
position: absolute;
width: calc(100% + 30px - 6.5vw - 25vh);
right: 0;
padding: 1vw;
height: 80%;
font-size: calc(3px + 2.5vw);
top: 0;
}
}

@media screen and (max-aspect-ratio: 9/7) and (min-width: 600px) {
  .mainLinksArea {
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    gap: 0.75vh;
}
.gallerySelectionBox {
	border-radius: 5vh 0 0 0;
width: 80vw;
position: absolute;
top: 28vh;
right: 0;
height: 47vh; /*done*/

}
  	.hidden-js-button.show {  
   display: grid;                         /* <-- grid layout */
    grid-template-columns: repeat(2, 1fr); /* two equal columns */
    gap: 8px;                           /* space between cells */  
    width: 62vw;
	height: 12vh;
}

  	.hidden-js-button.show button {  
padding-top: 1.4vh;
padding-bottom: 1.4vh;
}

#waterButtons {
position: absolute;
left: 33.5vw;
top: 30vh;
}

#statuaryButtons {
	position: absolute;
	left: 33.5vw;
	top: 45.5vh;
}

#otherButtons {
	position: absolute;
left: 33.5vw;
	top: 61.3vh;
}
.smallDescriptionText { display: none; } 
.largeDescriptionText {display: inline;}


header {height: 27vh;}
.mainLinksArea {height: 48.5vh;}
header {background-size: 27vh, cover;}
.headerTopBar{width: calc(100vw - 20vh);}
.topTextBox{margin-left: 24vh; width: calc(98vw - 24vh); margin-top:  calc(7vh + 1vw); margin-bottom: calc(0.75vh + 0.5vw);}
.sectionLink {padding-top: 2vh; text-align: left;}
.linkTitle {margin-left: 1.5vw;
margin-top: 8vh;
font-size: calc(12px + 1.5vw + 1vmin );
} 

.sectionDescription{
position: absolute;
width: calc(100% + 30px - 6.5vw - 25vh);
right: 0;
padding: 1vw;
height: 80%;
font-size: calc(3px + 2vw);
top: 0;
}
}


@media screen and (min-aspect-ratio: 9/7) and (max-width: 599px) {
	.mainLinksArea {
  		grid-template-columns: 1fr 1fr 1fr;
  		grid-template-rows: auto;
  	}
.smallDescriptionText { display: inline; } 
.largeDescriptionText {display: none;}
header {height: 16vh;}
.mainLinksArea {height: 59.5vh;}
header {background-size: 16vh, cover;}
.headerTopBar{width: calc(100vw - 12vh);}
.topTextBox{margin-left: 14vh; width: calc(98vw - 14vh); height: calc(9.25vh - 1vw); margin-top:  calc(6vh + 1vw); margin-bottom: 0.75vh; font-size: calc(0.45vh + 0.65vw + 0.8vmin );}
.gallerySelectionBox {top: 24vh; height: 51vh;} /*done*/
.sectionLink {padding-top: 0.5vh;} 
.sectionBox {height: 98%;}
.linkTitle {margin-left: calc(1vh + 1vw);}
.subLinksArea {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-template-rows: auto;
}
.galleryLinkLabel {
	height: calc(10px + 2vh + 3%);
}
.galleryLinkImage {
	height: calc(97% - 10px -2vh);
}
  	}
  	
@media screen and (min-aspect-ratio: 9/7) and (min-width: 600px) {
	.mainLinksArea {
  		grid-template-columns: 1fr 1fr 1fr;
  		grid-template-rows: auto;
  	}

.smallDescriptionText { display: none; } 
.largeDescriptionText {display: inline;}


header {height: 27vh;}
.mainLinksArea {height: 48.5vh;}
header {background-size: 27vh, cover;}
.headerTopBar{width: calc(100vw - 20vh);}
.topTextBox{margin-left: 24vh; width: calc(98vw - 24vh); margin-top:  calc(7vh + 1vw); margin-bottom: calc(0.75vh + 0.5vw);}
.sectionLink {padding-top: 3vh;} 
.sectionBox {height: 93%;}	 	
.linkTitle {margin-left: calc(1vh + 6vw);}  
.subLinksArea {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  grid-template-rows: auto;
}	
.galleryLinkLabel {
	height: calc(10px + 2vh + 3%);
}
.galleryLinkImage {
	height: calc(97% - 10px -2vh);
}

  	}  	