/* Public website styles, as on the original dyeforyarn.com (Bootstrap 4). */

body {
    width: 100%;
    height: 100%;
    font-family: 'Palatino Linotype', 'Book Antiqua', Palatino, serif;
    color: #000;
    background-color: #FFF;
    -webkit-tap-highlight-color: rgba(255, 255, 255, .2);
}

html {
    width: 100%;
    height: 100%;
    scroll-behavior: smooth;
}

h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: 'Palatino Linotype', 'Book Antiqua', Palatino, serif;
}

.newsitem h4 {
    margin: 0 0 15px;
}

.newsitem p {
    margin: 0 0 5px;
}

.newsfooter {
    margin: 0 0 30px;
}

p {
    font-size: 20px;
    line-height: 1.5em;
}

.modal {
    overflow: auto;
    color: #333;
}

@media(min-width:1200px) {
    .navbar {
        font-size: 20px;
    }
}

.navbar-brand img {
    width: auto;
    height: 30px;
}

#impressum {
    padding-top: 100px;
}

.intro {
    display: table;
    width: 100%;
    height: 100%;
    padding: 100px 0;
    text-align: center;
    color: #000;
    background: url(../img/montage.jpg) no-repeat bottom center scroll;
    background-image: image-set(url(../img/montage.webp) type("image/webp"), url(../img/montage.jpg) type("image/jpeg"));
    background-color: #FFF;
    background-size: cover;
}

.intro .intro-body {
    display: table-cell;
    vertical-align: middle;
}

.center-block {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.btn-circle {
    width: 70px;
    height: 70px;
    margin-top: 15px;
    padding: 7px 16px;
    border-radius: 100% !important;
    font-size: 40px;
    line-height: 1.4;
    color: #000;
    background: #fff;
    transition: background .3s ease-in-out;
}

.content-section {
    padding-top: 200px;
}

footer {
    padding: 50px 0;
}

footer p {
    margin: 0;
}

address {
    font-size: 18px;
}

/* Etsy listings, laid out like the former Etsy mini shop gallery. */
.etsy-gallery {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
    margin: 1rem 0 2rem;
}

@media(min-width:576px) {
    .etsy-gallery {
        grid-template-columns: repeat(3, 1fr);
    }
}

.etsy-gallery a {
    color: #000;
}

.etsy-gallery img {
    width: 100%;
    aspect-ratio: 1;
    object-fit: cover;
}

.etsy-gallery .etsy-title {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin-top: .25rem;
    font-size: 15px;
    line-height: 1.3;
}

.etsy-gallery .etsy-price {
    font-size: 15px;
}

/* Bootstrap 4 look on Bootstrap 5. */
:root {
    --bs-link-color: #007bff;
    --bs-link-color-rgb: 0, 123, 255;
    --bs-link-hover-color: #0056b3;
    --bs-link-hover-color-rgb: 0, 86, 179;
}

a {
    text-decoration: none;
}

a:hover {
    text-decoration: underline;
}

.btn:hover,
.nav-link:hover,
.dropdown-item:hover,
.navbar-brand:hover {
    text-decoration: none;
}

.btn-outline-primary {
    --bs-btn-color: #007bff;
    --bs-btn-border-color: #007bff;
    --bs-btn-hover-bg: #007bff;
    --bs-btn-hover-border-color: #007bff;
    --bs-btn-active-bg: #007bff;
    --bs-btn-active-border-color: #007bff;
}

.text-justify {
    text-align: justify;
}

/* Justified text leaves large gaps on narrow phone screens. */
@media(max-width:575.98px) {
    .text-justify {
        text-align: left;
    }
}

.form-group {
    margin-bottom: 1rem;
}
