  body {
    font-family: "p22-typewriter", Georgia, Times, 'Times New Roman', serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 0.05em;
    /*background-size: cover;
    background: #6e9a65;*/
    background-image: url("../img/bg/sage-gingham.png");
    background-size: 20px 20px;
    background-repeat: round;  
}

* {
    box-sizing: border-box;
    }

/*BACK TO TOP*/
.top {
    position: sticky;
    bottom: 20px;
    left: 90%;
    text-decoration: none;
    margin-right: 5px;
    padding: 10px;
    font-family: 'Courier New', Courier, monospace;
    font-size: 20px;
    font-weight: bolder;
    color: #fff;
    background: #6e9a65;
    border: solid; border-width: 5px; border-radius: 50%;
    filter: drop-shadow(1px 2px 2px #999);
    --offset: 100px; 
    margin-top: calc(100vh + var(--offset));
}

/*CONTACT*/
.contact h1 {
    font-size: 16px;
    font-weight: bold;
    color: #334e2f;
    margin-top: 35px;
    margin-bottom: 10px;
    text-align: center;
}
.contact a {
    color: #5b4e1a;
    font-family: Georgia, Times, 'Times New Roman', serif;
    font-style: italic;
    text-decoration: underline;
}
.contact a:hover {
    color: #334e2f;
}
.contact p {
    color: #362e09;
    font-size: 15px;
    font-weight: normal;
    text-align: center;
    margin: 0;
    padding-top: 10px;
    line-height: 25px;
}

/*CONTAINERS*/
.container {
    max-width: 800px;
    background-image: url("../img/bg/quilt.png");
    background-size: 24px 47px;
    background-repeat: round;
    margin: 25px auto 0;
    padding: 0;
    background-color: #ffffff;
    border-radius: 15px;
    filter: drop-shadow(1px 2px 2px #999)
}
.content {
    max-width: 750px;
    margin: 0 auto 20px;
    padding: 20px;
    background-color: #fbfbfb;
    border-radius: 15px;
    filter: drop-shadow(1px 2px 2px #999)
}

/*FIGURE*/
figure {
    margin: 0 15px;
    break-inside: avoid;
}
figcaption {
    color: #334e2f;
    font-size: 16px;
    font-style: italic;
    text-decoration: none;
    text-align: center;
    word-wrap: normal;
    margin-bottom: 25px;
}

/*FOOTER*/
footer p {
    margin: 0 auto 0;
    font-size: 14px;
    font-weight: bold;
    color: #504416;
    text-align: center;
}
footer p a {
    font-size: 14px;
    color: #334e2f;
    text-decoration: none;
    position: relative;
    z-index: 1;
}
footer  p a:hover {
    color:#5b4e1a;
}
footer hr {
    border-top: 2px;
    border-style: dotted;
    color: #afb5ae;
    width: 100%;
    margin-bottom: 15px;
}

/*ICONS*/
.row {
    height: 100%;
    margin: 0 auto 0;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}
.icon {
    margin: 10px 5px;
    padding: 3px 5px 3px;
}
.icon a {
    padding: 28px 0 0;
}

/*IMAGES*/

img {
    pointer-events: none;
    -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none;   /* Chrome/Safari/Opera */
    -khtml-user-select: none;    /* Konqueror */
    -moz-user-select: none;      /* Firefox */
    -ms-user-select: none;       /* Internet Explorer/Edge*/
    user-select: none;          /* Non-prefixed version, currently not supported by any browser */
    -webkit-user-drag: none;
    -khtml-user-drag: none;
    -moz-user-drag: none;
    -o-user-drag: none;
    -user-drag: none;
}

/*Images - aspect-ratio: 900/675; example aspect ratio here but code below works proportionally*/

/*Header*/
.header-img {
    max-width: 75%;
    height: auto;
    aspect-ratio: 3.5 / 1;
    margin: 20px auto 0;
    padding: 0;
}

/*Heart*/
.heart-img {
    width: 16px;
    height: 16px;
    aspect-ratio: 1 / 1;
    filter: drop-shadow(0 0 0 #fff)
            drop-shadow( 0 0 0 #fff)
            drop-shadow(0 0 0 #fff)
            drop-shadow( 0 0 0 #fff)
            drop-shadow(1px 1px 1px #999)
}

/*Landscape images*/
.l100-img {
    max-width: 100%;
    height: auto;
    aspect-ratio: 5 / 4;
    border-radius: 25%;
    margin: auto;
    padding: 0;
    border: white;
    border-width: 2px;
    border-style: solid;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

/*Name*/
.name {
    max-width: 100%;
    height: auto;
    aspect-ratio: 115 / 55;
    margin-top: 10px;
}

/*Portrait images*/
.p55-img {
    max-width: 55%;
    height: auto;
    aspect-ratio: 4 / 5;
    border: white;
    border-width: 5px;
    border-style: solid;
    border-radius: 5%;
    margin: auto;
    padding: 0;
    filter: drop-shadow(1px 2px 2px #999)
}

/*Round image*/
.rd-img {
    max-width: 30%;
    height: auto;
    aspect-ratio: 1 / 1;
    border-width: 5px;
    color: #fff;
    border-style: solid;
    border-radius: 50%;
    margin: auto;
    padding: 0;
    filter: drop-shadow(1px 2px 2px #999)
}

/*Row*/
.row-img {
    max-width: 100%;
    height: auto;
    aspect-ratio: 1200 / 487;
    margin: 0 auto 0;
    padding: 0;
}

/*Social*/
.social {
    max-width: 36px;
    height: auto;
    aspect-ratio: 1 / 1;
}

/*Square image*/
.sq75-img {
    max-width: 75%;
    height: auto;
    aspect-ratio: 1 / 1;
    border-radius: 5%;
    margin: auto;
    padding: 0;
    border: white;
    border-width: 2px;
    border-style: solid;
    filter: drop-shadow(1px 2px 2px #999)
}

/*Twinkles*/
/*100x300*/
.tw-1x3 {
    max-width: 100%;
    height: auto;
    aspect-ratio: 1 / 3;
    padding: 2px;
    filter: drop-shadow(2px 0 0 #fff)
            drop-shadow( 0 2px 0 #fff)
            drop-shadow(-2px 0 0 #fff)
            drop-shadow( 0 -2px 0 #fff)
            drop-shadow(1px 2px 2px #999)
}
/*5x4*/
.tw-5x4 {
    max-width: 100%;
    height: auto;
    aspect-ratio: 5 /4;
    padding: 2px;
    filter: drop-shadow(2px 0 0 #fff)
            drop-shadow( 0 2px 0 #fff)
            drop-shadow(-2px 0 0 #fff)
            drop-shadow( 0 -2px 0 #fff)
            drop-shadow(1px 2px 2px #999)
}
/*60x90*/
.tw-6x9 {
    max-width: 100%;
    height: auto;
    aspect-ratio: 1 / 1.5; /*6x9*/
    padding: 2px;
    filter: drop-shadow(2px 0 0 #fff)
            drop-shadow( 0 2px 0 #fff)
            drop-shadow(-2px 0 0 #fff)
            drop-shadow( 0 -2px 0 #fff)
            drop-shadow(1px 2px 2px #999)
}
/*100x100*/
.tw-1x1 {
    max-width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    padding: 2px;
    filter: drop-shadow(2px 0 0 #fff)
            drop-shadow( 0 2px 0 #fff)
            drop-shadow(-2px 0 0 #fff)
            drop-shadow( 0 -2px 0 #fff)
            drop-shadow(1px 2px 2px #999)
}
/*50x300*/
.tw-1x4 {
    max-width: 100%;
    height: auto;
    aspect-ratio: 1 / 4;
    padding: 2px;
    filter: drop-shadow(2px 0 0 #fff)
            drop-shadow( 0 2px 0 #fff)
            drop-shadow(-2px 0 0 #fff)
            drop-shadow( 0 -2px 0 #fff)
            drop-shadow(1px 2px 2px #999)
}

/*LISTS*/
ul   {
    text-decoration: none;
}
ul li {
    list-style: circle;
    font-size: 15px;
    color: #362e09;
    margin: 0 25px 0 0;
    padding: 0;
    line-height: 25px;
}
ul li a {
    color: #334e2f;
    font-size: 15px;
    font-weight: bold;
    text-decoration-line: none;
}
ul li a:hover {
    color: #5b4e1a;
}

/*NAV*/
nav {
    background-color:#e6eee4;
    padding-top: 8px;
    margin-bottom: 25px;
}
.menu {
    height: 100%;
    margin: 0px auto 8px;
}
.nav {
    display: inline-block;
    justify-content: center;
    align-items: center;
    margin: 0 5px;
}

.filter-btn {
    font-family: Cambria, Cochin, Georgia, Times, 'Times New Roman', serif;
    font-size: 16px;
	padding: 5px 10px;
	margin: 5px;
	border: none;
	cursor: pointer;
	border-radius: 5px;
	transition: background-color 0.3s, color 0.3s;
}
.nav a {
    color: #5b4e1a;
    font-weight: bolder;
    font-size: 16px;
    text-decoration: none;
}
.nav a:hover {
    color: #334e2f;
    font-weight: bolder;
    text-decoration: underline;
}

/*PAGE*/
.box {
    max-width: 700px;
    height: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    align-items: center;
    padding: 0;
    margin: 0 auto 0;
}
.text {
    width: 100%;
    margin: 0 auto 0;
    padding: 5px; 
}
.text h1 {
    font-size: 16px;
    font-weight: bold;
    color: #334e2f;
    margin-top: 0;
    margin-bottom: 10px;
    text-align: left;
}
.text h2 {
    font-size: 16px;
    font-weight: bold;
    color: #334e2f;
    margin-top: 0;
    margin-bottom: 10px;
    text-align: left;
}
.text h3 {
    font-size: 16px;
    font-weight: bold;
    color: #334e2f;
    margin-top: 0;
    margin-bottom: 10px;
    text-align: left;
}
.text a {
    color: #5b4e1a;
    font-weight: bolder;
    font-style: italic;
    text-decoration: none;
}
.text a:hover {
    color: #334e2f;
}
.text p {
    color: #362e09;
    font-size: 15px;
    font-weight: normal;
    text-align: left;
    margin: 0;
    padding-top: 10px;
    line-height: 25px;
}
.item:nth-child(1) {
    align-self: flex-start;
}

/*POSTS*/
.card-box {
    max-width: 700px;
    height: auto;
    display:flex;
    flex-flow: column;
    justify-content: flex-start;
    align-items: start;
    padding: 20px;
}
.card-box a {
    color: #5b4e1a;
}
.card-box a:hover {
    color: #334e2f;
}
.grid-container {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 25px;
}
.grid-item {
	background-color: white;
	border: 1px solid #f4eed7;
	border-radius: 15px;
	padding: 15px;
	text-align: center;
	box-shadow: 0 2px 2px rgba(0, 0, 0, 0.3);
}
.grid-item p {
	font-size: 17px;
}
.grid-item img {
	width: 100%;
	height: auto;
	border-radius: 5px;
    aspect-ratio: 1 / 1;
}

/*POSTS, FILTERS*/
.tag-filter {
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto 20px;
}
.tag {
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    font-size: 14px;
	padding: 5px 10px;
	margin: 5px;
	border: none;
	background-color: #c4bb98;
	cursor: pointer;
	border-radius: 5px;
	transition: background-color 0.3s, color 0.3s;
}
.tag[data-filter="all"].active {
	background-color: #362e09;
	color: white;
}
.tag[data-filter="bakes"].active {
	background-color: #362e09;
	color: white;
}
.tag[data-filter="blog"].active {
	background-color: #334e2f;
	color: white;
}
.filter-buttons {
	margin-top: 10px;
}
.filter-btn {
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
    font-size: 14px;
	padding: 5px 10px;
	margin: 5px;
	border: none;
	cursor: pointer;
	border-radius: 5px;
	transition: background-color 0.3s, color 0.3s;
}
.filter-btn[data-filter="bakes"] {
	background-color: #362e09;
    color: white;
}
.filter-btn[data-filter="blog"] {
	background-color: #334e2f;
    color: white;
}
.hidden {
	display: none;
}

/*WRAP*/
.wrap-center {
    clear: none;
    float: none;
    margin: 25px auto 25px;
    text-align: center;
}
.wrap-left {
    clear: right;
    float: left;
    margin-top: 15px;
    margin-right: 25px; 
}
.wrap-row {
    clear: none;
    float: none;
    margin: 0 auto 25px;
    text-align: center;
}
.wrap-right {
    clear: left;
    float: right;
    margin-top: 15px;
    margin-left: 25px;
}

/*MEDIA QUERIES*/
@media all and (max-width: 940px) {
    /*CONTAINERS*/
    .container {
        max-width: 95%;
    }
    .content {
        max-width: 800px;
        margin: 0 25px 25px;
    }
}

@media all and (max-width: 800px) {
    /*IMAGES*/
    .p55-img {
        max-width: 65%;
    }
    /*POSTS*/
    .grid-container {
	grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    }
}

@media all and (max-width: 650px) {
    /*CONTACT*/   
    .contact p {
        font-size: 14px;
    } 
    /*CONTAINERS*/
    .content {
        padding: 15px;
    }
    /*FIGURE*/
    figure {
        margin: 0 10px;
    }
    figcaption {
    font-size: 14px;
    }
    /*IMAGES*/
    .header-img {
        max-width: 95%;
    }
    .p55-img {
        max-width: 75%;
    }
    .rd-img {
       max-width: 60%;
    }
    /*NAV*/
    .nav a {
        font-size: 14px;
    }
    /*POSTS*/
    .grid-container {
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    }
}

@media all and (max-width: 500px) {
    /*CONTACT*/
    .contact p {
        margin: 10px 0;
    } 
     /*FIGURE*/
    figure {
        margin: 0 5px;
    }
    /*IMAGES*/
    .p55-img {
        max-width: 85%;
    }
    .rd-img {
       max-width: 75%;
    }
    /*NAV*/
    .menu {
        max-width: 350px;
        line-height: 32px;
        text-align: center;
    }
    /*POSTS*/
    .grid-container {
	    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    }
    /*WRAP*/
    .wrap-center {
        margin: 15px auto 15px;
    }
}

@media all and (max-width: 412px) {
    /*IMAGES*/
     .p55-img {
        max-width: 95%;
    }
    .row-img {
        margin: 0;
    }
    .social {
        max-width: 32px;
    }
}

@media all and (max-width: 400px) {
    /*FIGURE*/
    figure {
        margin: 0;
    }
    /*PAGE*/
    .text h1 {
        font-size: 15px;
    }
    .text p {
        font-size: 14px;
    }
}

@media all and (max-width: 385px) {
    /*CONTACT*/
    .contact a {
        font-size: 12px;
    }
    /*IMAGES*/
    .social {
        max-width: 28px;
    }
    /*TWINKLES*/
    .tw-1x3 {
        margin-top: 10px;
    }
    .tw-10x8 {
        margin-top: 10px;
    }
    .tw-6x9 {
        margin-top: 10px;
    }
    .tw-1x1 {
        margin-top: 10px;
    }
    .tw-1x4 {
        margin-top: 10px;
    }
    .tw-1x6 {
        margin-top: 10px;
    }
    /*WRAP*/
    .wrap-left {
        float: none;
        margin: 0 auto 0;
        text-align: center;
    }
    .wrap-right {
        float: none;
        margin:  0 auto 0;
        text-align: center;
    }
}