body {
    margin: 0;
    padding: 0;
    font-family: "Crimson Text", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 16px;
}

a {
    color: #CA9B52;
    text-decoration: none;
}

hr {
    margin: 1em 0;
    display: block;
    border: none;
    width: 20%;
    height: 1px;
    background: #CA9B52;
}

img {
    max-width: 100%;
}

h1, h2 {
    margin: 0;
    padding: 0;
    font-family: "Playfair Display", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-size: 32px;
    line-height: 1em;
}

@media (min-width: 1024px) {
    section.section-col3 h1, 
    section.section-col3 h2 {
        font-size: 24px;
    }
}

@media (min-width: 1440px) {
    section:not(.section-col3) h1, 
    section:not(.section-col3) h2 {
        font-size: 46px;
    }

    section.section-col3 h1,
    section.section-col3 h2 {
        font-size: 32px;
    }
}

/**
 * Header 
 */
#header {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    background: #252429;
}

/* Header - Logo */
#header .logo {
    padding-top: 30px;
    padding-bottom: 13px;
    max-width: 80%;
}

#header .logo .diamonds {
    display: none;
}

/* Header - Cover */
#header img.cover {
    position: relative;
    z-index: 100;
    display: block;
    object-fit: cover;
    aspect-ratio: 16 / 9;
    width: 100%;
    max-width: 1440px;
}

@media (max-width: 600px) {
    #header img.cover {
        aspect-ratio: 1 / 1;
    }
}

@media (min-width: 1024px) {
    #header .logo {
        padding-top: 50px;
        padding-bottom: 29px;
        display: flex;
        column-gap: 25px;
    }

    #header .logo .diamonds {
        display: flex; 
        column-gap: 8px;
    }

    #header .logo .diamonds img {
        margin-top: 2px;
        display: block;
        height: 32px;
    }

    #header img.cover {
        width: 95%;
    }
}

@media (min-width: 1024px) {
    #header img.cover {
        border-radius: 11px;
    }
}

@media (min-width: 1440px) {
    #header img.cover {
        border-radius: 18px;
    }
}

/** 
 * Main
 */
@media (min-width: 1024px) {
    #main {
        padding-top: 50px;
        padding-bottom: 50px;
    }
}

/**
 * Footer
 */
#footer {
    display: block;
    background: #252429;
}

#footer a {
    color: inherit;
    text-decoration: underline;
}

#footer p {
    margin: 0;
    padding: 1em 0 25px 0;
    border-top: 1px solid #3B3A3F;
    font-size: 13px;
    color: #3B3A3F;
    text-align: center;
    text-transform: uppercase;
}

@media (pointer: fine) {
    #footer a:hover {
        color: #fff;
    }
}

/**
 * Article
 */
article img {
    margin: 0 auto;
    display: block;
    border: none;
    width: 100%;
    max-width: 600px;
    height: auto;
    object-fit: cover;
    aspect-ratio: 16 / 9;
    border-radius: 11px;
}

article .content {
    margin-top: 25px;
    margin-bottom: 50px;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    max-width: 600px;
}

article .content hr {
    margin-bottom: 25px;
}

article .content *:last-child {
    margin-bottom: 0;
}

@media (min-width: 1024px) {
    section:not(.section-col3) article {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        column-gap: 25px;
        align-items: center;
    }

    section:not(.section-col3) article img {
        display: block;
        width: 100%;
        max-width: none;
        height: 100%;
        object-fit: cover;
        aspect-ratio: initial;
    }

    section:not(.section-col3) article .content {
        width: 80%;
        max-width: 480px;
    }

    section:not(.section-col3) article .content hr {
        margin: 25px 0;
    }
}

@media (min-width: 1440px) {
    section:not(.section-col3) article .content hr {
        margin-top: 50px;
        margin-bottom: 50px;
    }

    section:not(.section-col3) article .content {
        text-align: center;
    }

    section:not(.section-col3) article .content hr {
        margin-left: auto;
        margin-right: auto;
    }

    section article img {
        border-radius: 18px;
    }
}

/**
 * Section
 */
section:first-of-type {
    margin-top: 50px;
}

#section-introduction article img {
    display: none;
}

#section-address article .content .companyname {
    font-size: 19px;
}

@media (min-width: 1024px) {
    section {
        margin-top: 50px;
        margin-bottom: 50px;
    }

    #section-introduction article img { 
        display: block;
    }

    #section-address article img {
        display: none;
    }

    #section-my-jewelry article img {
        order: 2;
    }

    #section-my-jewelry article .content {
        order: 1;
    }

    .section-container {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        align-items: start;
    }

    .section-container section {
        display: contents;
    }

    .section-container section article {
        display: block;
    }
}

/**
 * Section - Col3
 */
@media (min-width: 1024px) {
    .section-col3 {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        column-gap: 25px;
    }

    .section-col3 article .content {
        margin-bottom: 0;
    }
}

@media (min-width: 1440px) {
    .section-col3 article .content {
        text-align: center;
    }

    .section-col3 article .content hr {
        margin-left: auto;
        margin-right: auto;
    }
}

/**
 * Opening Hours
 */
.opening-hours {
    display: grid;
    grid-template-columns: max-content max-content;
    column-gap: 50px;
    line-height: 1.5em;
}

@media (min-width: 1440px) {
    .opening-hours {
        display: inline-grid;
        text-align: left;
    }
}

/** 
 * Herrings 
 */
.herrings {
    padding-top: 8px;
    padding-bottom: 8px;
    display: block;
    width: 100%;
    height: 50px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='102' height='29' viewBox='0 0 82 29' opacity='0.1'%3E%3Cdefs%3E%3Cfilter id='shadow' x='-1.2%25' y='-12.1%25' width='102.5%25' height='124.2%25'%3E%3CfeOffset dx='0' dy='2' in='SourceAlpha' result='o1'/%3E%3CfeColorMatrix in='o1' type='matrix' values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0' result='m1'/%3E%3CfeOffset dx='0' dy='-2' in='SourceAlpha' result='o2'/%3E%3CfeColorMatrix in='o2' type='matrix' values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0' result='m2'/%3E%3CfeMerge%3E%3CfeMergeNode in='m1'/%3E%3CfeMergeNode in='m2'/%3E%3C/feMerge%3E%3C/filter%3E%3C/defs%3E%3Cg transform='translate(-246 -5757)'%3E%3Cpath d='M279.6 5765.07c.95-3.48 5.57-3.88 8.09-6.07 2.31.72 3.8 2.92 5.58 4.47 8.44.05 17.02.03 25.29 1.96 3.46.7 6.23 2.94 8.94 5.06-.18.4-.54 1.21-.72 1.62-5.19 2.69-10.69 4.86-16.53 5.56-4.37.85-8.87.01-13.24.75-3.09 1.34-5.67 3.59-8.52 5.35-.11-.8-.31-2.4-.42-3.2.9-1.08 1.79-2.16 2.68-3.25-3.26-.28-6.44-1.02-9.59-1.85-.76.63-1.57 1.18-2.44 1.64-3.47-.28-6.87-1.14-10.29-1.77.42-.82.84-1.65 1.25-2.47-3-.11-6.13-1.12-9.05.02-4.77 1.69-9.58 3.4-14.63 4.07 2.14-2.79 4.86-5.03 7.58-7.22-2.22-2.72-4.45-5.43-6.28-8.43 5.53.4 10.34 3.33 14.82 6.32 5.81-.95 11.63-1.89 17.48-2.56Z' fill='black' filter='url(%23shadow)'/%3E%3Cpath d='M279.6 5765.07c.95-3.48 5.57-3.88 8.09-6.07 2.31.72 3.8 2.92 5.58 4.47 8.44.05 17.02.03 25.29 1.96 3.46.7 6.23 2.94 8.94 5.06-.18.4-.54 1.21-.72 1.62-5.19 2.69-10.69 4.86-16.53 5.56-4.37.85-8.87.01-13.24.75-3.09 1.34-5.67 3.59-8.52 5.35-.11-.8-.31-2.4-.42-3.2.9-1.08 1.79-2.16 2.68-3.25-3.26-.28-6.44-1.02-9.59-1.85-.76.63-1.57 1.18-2.44 1.64-3.47-.28-6.87-1.14-10.29-1.77.42-.82.84-1.65 1.25-2.47-3-.11-6.13-1.12-9.05.02-4.77 1.69-9.58 3.4-14.63 4.07 2.14-2.79 4.86-5.03 7.58-7.22-2.22-2.72-4.45-5.43-6.28-8.43 5.53.4 10.34 3.33 14.82 6.32 5.81-.95 11.63-1.89 17.48-2.56Z' fill='%238C8C8C'/%3E%3C/g%3E%3C/svg%3E");
    background-repeat: repeat-x;
    background-position: center;
    background-color: #252429;
}

/**
 * Document Inset
 */
.document-inset {
    margin: 0 auto;
    width: 90%;
    max-width: 768px;
}

@media (min-width: 1024px) {
    .document-inset {
        margin: 0 auto;
        width: 90%;
        max-width: 1440px;
    }
}