html {
  
}

body {
    padding:0;
    margin:0;
}

.pulpit-rock {
    background: url(pulpit-rock.jpg) no-repeat center center fixed;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;

    height:100vh;
    width:100vw;
}

.invite h1 {
    margin-top: 16px;
    margin-bottom:16px;
}

.invite h2 {
    font-size:16px;
}

.header {
    background: #A7C7E7;

    font-family: "Tangerine", cursive;
    font-weight: 700;
    font-style: normal;

    font-size:32px;

    padding: 30px 20px;
    color:white;
}
.header hr {
    border-top: 0.5px solid white;
    color:white;
}
.header h2 {
    font-size: 1em;
}

nav {
    padding: 10px 25px 10px 25px;
    line-height: 2.5;
    position: sticky;
    top: 0;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
    border-bottom: 1px solid #f0f0f0;
    background-color: white;
    z-index: 10;
}

nav a {
    color: #3D2820;
    text-decoration: none;
}

nav span {
    margin:16px;
    white-space: nowrap;
}

.container {
    max-width: 800px;
    padding-left: 16px;
    padding-right: 16px;
    margin:auto;
    text-align:center;
}

.content {
    background-color: #FAFAF8;
    padding: 40px 30px;
    box-shadow: 0 8px 8px rgba(168, 183, 143, 0.15);
    border: 1px solid #f0f0f0;
    margin: 20px 0px;
}

.album { 
    margin: 60px 0px; 
}

.album .photo {
    display: inline-block;
    background-color: #F6F6F2;
    box-shadow: 0 8px 8px rgba(168, 183, 143, 0.4);
    padding: 20px 10px 10px;
    border-radius: 4px;
    margin: -5px -12px;
    border: 1px solid rgba(0,0,0,0.1);
    font-size: 0.8em;
}

.album .photo .caption {
    margin-top: 5px;
    padding-top: 5px;
    margin-left: -10px;
    margin-right: -10px;
    margin-bottom: -10px;
    height: 30px;
    background-color: white;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
    color: #A7C7E7;
    font-family: "Tangerine", cursive;
}

.album .photo:hover {
    scale: 1.02;
    transition: transform 2s;
}

.album .photo:nth-child(1n) { transform:rotate(3deg); }
.album .photo:nth-child(2n) { transform:rotate(-4deg); }
.album .photo:nth-child(3n) { transform:rotate(2deg); }
.album .photo:nth-child(4n) { transform:rotate(-5deg); }
.album .photo:nth-child(5n) { transform:rotate(-6deg); }

.album .photo:nth-child(6n) { transform:rotate(6deg); }
.album .photo:nth-child(7n) { transform:rotate(-7deg); }
.album .photo:nth-child(8n) { transform:rotate(-2deg); }
.album .photo:nth-child(9n) { transform:rotate(5deg); }
.album .photo:nth-child(10n) { transform:rotate(-6deg); }

.album .photo:nth-child(11n) { transform:rotate(4deg); }
.album .photo:nth-child(12n) { transform:rotate(1deg); }
.album .photo:nth-child(13n) { transform:rotate(2deg); }
.album .photo:nth-child(14n) { transform:rotate(-5deg); }
.album .photo:nth-child(15n) { transform:rotate(3deg); }

.album .photo img {
    width: 150px;
    aspect-ratio: 1 / 1;
    object-fit: cover;

    filter: saturate(1.1) contrast(1.1) hue-rotate(-5deg) opacity(0.9);
}

p {
    font-size: 20px;
    line-height:1.3;
    text-align:left;
}

p img {
    display:block;
    margin:auto;
    margin: 16px;
}

table {
    table-layout: fixed
}

table.big-day-timeline td:nth-child(2) {
    border-left: 1px solid black;
}

table.big-day-timeline td p {
    margin: 0px 10px;
}

table.big-day-timeline td:first-child p {
    text-align: right;
}

table.countdown-timer {
    margin-bottom: 50px;
}

table.countdown-timer tr:first-child {
    font-family: "Tangerine", cursive;
    font-weight: 700;
    font-size: 3em;
}

table.countdown-timer tr:last-child {
    font-family: "Josefin Slab", serif;
    font-weight: 400;
}

h1 {
    font-size:48px;
}

.upper {
    text-transform:uppercase;
}

footer {
    padding: 20px 0px;
    background: #A7C7E7;
    margin-top: 20px;
}

footer img {
    max-height: 70px;
}

.tangerine-bold {
  font-family: "Tangerine", cursive;
  font-weight: 700;
  font-style: normal;
}

.tangerine-regular {
  font-family: "Tangerine", cursive;
  font-weight: 400;
  font-style: normal;
}

.josefin-slab {
  font-family: "Josefin Slab", serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
  line-height: 1.2;
}

a {
    color: #2E5C8A;
}

a:hover {
    text-decoration: underline;
    color: #A7C7E7;
}

.places-to-visit {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 20px;
}

.travel {
    display: grid;
    grid-template-columns: 1fr 1px 1fr;
    gap: 30px;
}

.travel p:nth-child(odd) {
    text-align: center;
    text-decoration: underline;
    font-size: 1.3rem;
}

.travel .divider {
    background-color: lightgray;
    min-height:0.5px;
}

.postcard {
    aspect-ratio: 7 / 5;
    perspective: 1000px; /* Remove this if you don't want the 3D effect */
}

/* This container is needed to position the front and back side */
.postcard-inner {
    position: relative;
    width: 100%;
     height: 100%;
    text-align: center;
    transition: transform 0.8s;
    transform-style: preserve-3d;
    box-shadow: rgba(0, 0, 0, 0.35) 0px 5px 15px;
}

.postcard-front img {
    width: 100%;
    height:100%;
    object-fit: cover;
}

/* Do an horizontal flip when you move the mouse over the flip box container */
.postcard:hover {
  transform: scale(1.5);
  z-index: 4;
}

.postcard:hover .postcard-inner {
  transform: rotateY(180deg);
}

@media only screen and (min-width: 500px) and (max-width: 890px) {
    .places-to-visit {
        grid-template-columns: 1fr 1fr;
    }

    .postcard:hover {
        transform: scale(1.25);
    }
}

@media only screen and (max-width: 500px) {
    .places-to-visit {
        grid-template-columns: 1fr;
    }

    .travel {
        grid-template-columns: 1fr;
    }

    .postcard:hover {
        transform: none;
    }
}

/* Position the front and back side */
.postcard-front, .postcard-back {
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-backface-visibility: hidden; /* Safari */
  backface-visibility: hidden;
  overflow: hidden;
}

/* Style the front side (fallback if image is missing) */
.postcard-front {
    background: #A7C7E7;
    color: black;
    overflow: hidden;
}

/* Style the back side */
.postcard-back {
    color: white;
    transform: rotateY(180deg);
}

.postcard-back table {
    table-layout: fixed;
    width: 100%;
    height: 100%;
    color:black;
}

.postcard-back table td {
    vertical-align: top;
}

.postcard-back td:first-child {
    border-right: 1px solid gray;
    text-align: left;
    padding-left: 10px;
    padding-right: 10px;
}

.postcard-back td:last-child::before {
    content: url('images/stamp.svg');
    width: 30%;
    display:block;
    margin-left:auto;
    margin-bottom: 5px;
}

.postcard-back h3 {
    font-family: "Tangerine", cursive;
    font-weight: 400;
    font-size: 1.5em;
    text-decoration: underline;
    text-decoration-style: dotted;
    color: black;
    margin: 0;
}

.postcard-back {
    background-color: #FAFAF8;
}

.postcard-back p {
    font-size: 0.55em;
}
