* {
	box-sizing: border-box; 
}

/*Body Section*/

@font-face {
  font-family: myFirstFont;
  src: url(mara2v2.ttf);
}

body {
	display: grid;
    grid-template-areas: 
		"header header header"
		"nav main aside"
		"footer footer footer";
    grid-template-columns: 1fr 3fr 1fr;
    grid-template-rows: auto 1fr auto;
    gap: 10px;
	min-height: 100vh;
	background-color: rgba(102, 123, 198, .85);
	font-family: "Gotham", "Open Sans",sans-serif;
	background-image: url("bat.png");
	background-repeat: no-repeat;
	background-position: right bottom;
	background-attachment: fixed;
}

/*Header Section*/

header {
	grid-area: header;
	background: hsl(349, 100%, 85%);
	color: #667BC6;
	padding: 15px 15px 0px 15px;
	text-align: center;
	height: 15vh;
	padding: 1em;
}

h1 {
	margin: 0;
	display: block;
	font-family: "Gotham", "Open Sans",sans-serif;
	font-weight: bold;
	font-size: 2.5em;
	text-shadow: 3px  3px 0 #DA7297, -1px -1px 0 #DA7297, 1px -1px 0 #DA7297, -1px  1px 0 #DA7297, 1px  1px 0 #DA7297;
	
}

h3	{
	font-family: myFirstFont;
	font-size: 32px;
	font-style: oblique;
	font-weight: bold
}


.main {
    grid-area: main;
}

/*Other Styles*/

section {
	padding: 20px;
}

section.attachment {
	background: url("bat.png") no-repeat;
	background-attachment:  scroll;
	background-size: 350px 286px;
	background-origin: content-box;
	background-position: right bottom;
	background-clip: padding-box;
}

.rtleft {
  direction: rtl;
  unicode-bidi: bidi-override;
  margin:25px;
}

#yrepeat {
	background-image: url("floral.jpg");
	background-repeat: repeat-y;
}

.content {
	background: #FDFFD2;
	border-radius: 5px;
	color: #586aac;
	}

.button {
  padding: 12px 24px;
  text-align: center;
  text-decoration: none;
  display: block;
  font-size: 14px;
  margin: 6px 3px;
  transition-duration: 0.6s;
  cursor: pointer;
  opacity: 0.6;
  transition: 1.5s;
}

.button1 {
  background-color: #FF13F0; 
  color: black; 
  border: 2px solid #808080;
  border-radius: 20px;
  width: 100px;
  height: 50px;
}

.button1:hover {
  background-color: #1f51ff;
  color: white; 
  border: 2px solid #808080;
  border-radius: 20px;
  box-shadow: 0 12px 16px 0 rgba(0,0,0,0.24), 0 17px 50px 0 rgba(0,0,0,0.19);
  width: 100px;
  height: 50px;
  opacity: 1
}

.button2 {
  background-color: #8A00C4; 
  color: black; 
  border: 2px solid #808080;
  border-radius: 20px;
  width: 100px;
  height: 50px;
}

.button2:hover {
  background-color: #1f51ff;
  color: white;
  border: 2px solid #808080;
  border-radius: 20px;
  width: 100px;
  height: 50px;
  opacity: 1
}

.button3 {
  background-color: #2CFF05; 
  color: black; 
  border: 2px solid #808080;
  border-radius: 20px;
  width: 100px;
  height: 50px;
}

.button3:hover {
  background-color: #1f51ff;
  color: white;
  border: 2px solid #808080;
  border-radius: 20px;
  width: 100px;
  height: 50px;
  opacity: 1
}

.repeat {
	background-image: url("floral.jpg"); 
	color: #586aac;
}

.norepeat {
	background-image: url("floral.jpg");
	background-repeat: no-repeat;
	background-position: left top;
	color: #586aac;
}

#borderimg {
	border: 30px solid transparent;
	padding: 15px;
	border-image-source: url("leaves-5725356_640.png");
	border-image-slice: 70;
	border-image-width: 30px;
	border-image-repeat: round;
}

/* Sidebar and Boxes */

.sidebar { 
    grid-area: aside;	
	background: #FDFFD2;
	padding: 10px .75%;
	color: #586aac;
	padding: 20px;
}

.box1, .box2, .box3 {
    border: 2px solid #333;
    padding: 15px;
    border-radius: 8px;
    box-shadow: 3px 3px 10px rgba(0, 0, 0, 0.2);
}

.box1 {
	background: rgba(102, 123, 198, 0.55);
	color: #333;
}

.box2 {
    background-image: url("texture.jpg"); 
	color: #586aac;
	font-weight: bold;
}

.box3 {
	background-color: #FDFFD2;
	color: #586aac;
}

/* Lists */

ul.dogs {
	list-style-image: url('icons8-star-16.png');
	border: solid;
	border-top-left-radius: 15px;
	background: #b6ffcf;
	color: #586aac;
}

ul.colors {
	border: solid;
	border-top-right-radius: 20px 5px;
	list-style-position: inside;
	color: #586aac;
}

ol.gifts {
	list-style-type: upper-roman;
	background: #c9b6ff;
	border: 2px solid #0078b6;
	border-bottom-right-radius: 30px;
	list-style-position: inside;
	color: #586aac;
}

ol.weather {
	list-style-type: lower-alpha;
	background: #b6fdff;
	border: 2px solid #0078b6;
	border-bottom-left-radius: 10px 25px;
}
	
.resources {
	border: solid;
	border-radius: 3px;
	background-color: #faeaef;
	padding-bottom: 20px;
}	

/* Navigation */

.navbar {
	grid-area: nav;
    background: #FDFFD2;
	order: -1;
	text-align: center; /* Centers the <ul> and its <li> items */
	font-variant: small-caps;
}

.navbar ul {
	margin: 10px 10px;
    padding: 10px;
}

.navbar ul li {
	list-style-type: none;
	background: #ffb3c1;
	color: #da7297;
	padding: 5px 15px;
	border-radius: 5px;
	margin: 10px 0;
}

.navbar ul li a{
	color: da7297;
	font-family: "Gotham", "Open Sans",sans-serif;
	text-decoration: none;
}

/* Links */

a:link {
	color: #4c77cb;
}

a:visited {
	background-color: #be3bc1;
	color: #d55e88;
}

a:hover {
	background-color: #b6d0f9;
	color: #667BC6;	
}

a:active {
	background-color: #ca65cb;
	color: #d55e88;
}

/* Tables */

.table1 {
	width: 75%;
	margin: 20px;
	border-collapse: collapse;
}

.table1 th {
	height: 60px;
	width: 400px;
	border: 1px solid;
	background-color: #ffb6c1;
	padding: 0 10px;
}

.table1 td {
	text-align: center;
    height: 35px;
	vertical-align: bottom;
	padding: 0 10px;
}

.table1 tr:nth-child(even) {
	background-color: #b6e6ff;
}

.table1 tr:nth-child(odd) {
	background-color: #FDFFD2;
}

.table2 {
	width: 90%;
	margin: 20px;
	background-image: url("rock.jpg");
	border-collapse: collapse;
}

.table2 th {
		background-color: #ffb6c1;
		color: black;
		height: 70px;
		width: 600px;
		border: 5px;
		padding: 25px 15px;
		text-transform: uppercase;
		font-weight: bold;
		white-space: nowrap;
}

.table2 td {
		color: white;
		text-align: center;
		vertical-align: center;
		height: 60px;
		margin: 20px;
		text-transform: uppercase;
		font-weight: bold;
		white-space: nowrap;

}

/* Gradients */

.linear {
	color: white;
	height: 300px;
	background-color: #C2C7D8; 
	background-image: linear-gradient(#ffa600, #ff6361, #bc5090, #58508d, #003f5c);
}

.linear2 {
	height: 300px;
	background-color: #C2C7D8; 
	background-image: linear-gradient(to bottom, rgba(255, 99, 97, 0), rgba(255, 99, 97, 1));
}

.radial {
	  	color: white;
	height: 300px;
	background-color: #C2C7D8; 
	background-image: repeating-radial-gradient(#ff6361, #bc5090 10%, #58508d 15%);
}

.conic {
	color: white;
	height: 200px;
	width: 200px;
	border-radius: 50%;
	background-image: repeating-conic-gradient(from 25deg, #ffa600, #ff6361, #bc5090, #58508d, #003f5c);
  
}

h2 {
	margin: 25px;
	color: #ffccff;
	-webkit-text-stroke: 1px black;
}

/*Images/Videos*/

video {
    max-width: 100%; /* Video width will adjust to the screen size */
    height: auto;    /* Maintain aspect ratio */
}

.responsive img{
	width: 100%; /* Image will be resized to fit the container */
	height: auto; /* Maintain aspect ratio */
}

.rounded img {
	border-radius: 20px;
	width: 100%;
	height: auto;
}

.rounded {
	border: 1px solid #ffc6ff;
	border-radius:20px;
	padding: 4px;
	width: 400px;
	margin: 25px;
}

.responsive {
	width: 90%;
	height: auto;
	margin: 25px;
	padding: 4px;
}

div.polaroid {
	width:300px;
	background-color: white;
	box-shadow: 0 8px 12px 0 rgba(204, 229, 225, 0.3), 0 6px 20px 0 rgba(204, 229, 225, 0.25);
	margin-bottom: 35px;
	margin: 25px;
}

div.polaroid img{
	width: 300px;
	height: auto;
	}

div.container {
	font-family: Chiller, "Lucida Handwriting", cursive;
	font-size: 24px;
	text-align: center;
	padding: 0px 20px;
	margin: 25px;
}

/* Lines */

.over {
  text-decoration: overline;
  text-decoration-style: wavy;  
}

.line {
  text-decoration: line-through;
  text-transform:uppercase;
  text-indent: 50px;
  letter-spacing: 8px;
  
}

.under {
  text-decoration: underline;
  text-decoration-thickness: 35%; 
}

.overunder {
  text-decoration: overline underline;
  text-decoration-color: red;
}

header, footer {
    background: hsl(349, 100%, 85%);
}

.pagination {
  display: inline-block;
}

.pagination a {
  color: #FDFFD2;
  float: left;
  padding: 8px 16px;
  text-decoration: none;
}

.pagination a.active {
  background-color: #FDFFD2;
  color: white;
}

.pagination a:hover:not(.active) {background-color: #a0afdf;}

footer {
	grid-area: footer;
    clear: both;
    background-color: #DA7297;
    color: #FDFFD2;
    text-align: left;
    padding: 10px;
    border-radius: 8px;
	text-align: center;
}

footer a {
	color: #FDFFD2;
	text-decoration: none;
	text-align: center;
}

/* Larger desktop screens (min-width: 1200px) */
@media screen and (min-width: 1200px) {
    body {
        grid-template-columns: repeat(3, 1fr); /* 3 columns for larger screens */
        grid-template-areas: 
            "header header header"
            "nav main aside"
            "footer footer footer";
    }

    .content {
        padding: 30px; /* More padding for better spacing */
    }
}

/* Media Query for tablets and smaller screens */
@media screen and (max-width: 1024px) {
    body {
        grid-template-areas: 
            "header"
            "nav"
            "main"
            "aside"
            "footer";
        grid-template-columns: 1fr;
        grid-template-rows: auto auto 1fr auto auto;
        background-position: center bottom;
    }

    .content {
        padding: 15px;
    }

    .button {
        width: 80%;
    }

    .table1, .table2 {
        width: 100%;
        font-size: 14px;
    }

    .polaroid {
        width: 100%;
    }
}

/* Media Query for mobile screens - Responsive layout - when the screen is less than 768px wide, make the two columns stack on top of each other instead of next to each other*/
@media screen and (max-width: 768px) {
    header {
        height: auto;
        padding: 10px;
    }

    h1 {
        font-size: 2em;
    }

    h3 {
        font-size: 24px;
    }

 body {
        grid-template-areas: 
            "header"
            "nav"
            "main"
            "aside"
            "footer";
        grid-template-columns: 1fr;
        grid-template-rows: auto auto 1fr auto auto;
    }

    nav ul {
        padding: 0;
    }

    nav ul li {
        font-size: 14px;
        padding: 8px;
    }

    .button {
        width: 100%;
    }

    .table1, .table2 {
        font-size: 12px;
    }

    .polaroid img {
        width: 100%;
    }
}

/* Landscape orientation for devices with width over 768px */
@media screen and (min-width: 768px) and (orientation: landscape) {
    .button {
        width: 50%; /* Adjust button width to fit better on landscape */
    }

    .table1, .table2 {
        font-size: 16px; /* Larger font size for readability on larger screens */
    }
}