.page {
    z-index: 0;
    background: white;

    /* Self layout */
    position: relative;
    width: 210rem;
    height: 297rem;

    /* Children layout */
    padding: 10rem;
    box-sizing: border-box;
    overflow: hidden;
}

.pagePattern {
    /* Self layout */
    position: absolute;
    left: 0;
    top: 0;
    width: 210rem;
    height: 297rem;

    z-index: -1;
    background-image: url("../resources/snow_pattern.webp");
}

.page.front {
    background: #594587;
}

.page.cinema {
    background: #99b33d;
    padding: 15rem 10rem;
}

.page.meeting {
    background: #93b7d2;
}

.page.specials {
    background: #e6b83b;
    padding: 15rem 10rem;
}

.page.calendar {
    background: #594587;
    padding: 15rem 10rem;
}

.page.back {
    background: #99b33d;
}

.page.back.christmas {
    background: #991a1a;
}

.page.bwcustom.left {
    background: #e6b83b;
}

.page.bwcustom.right {
    background: #99b33d;
}

.pageFake {
    opacity: 0;
    width: 0px;
    padding: 0px;
}

.pageBorder {
    width: 100%;
    height: 10rem;
    position: absolute;
    left: 0;
    top: 0;
}

.pageBorder.bottom {
    top: auto;
    bottom: 0;
}

.pageBorder.cinema {
    background-image: url("../resources/Movie Tape.png");
    background-repeat: repeat-x;
    background-size: 38.2rem;
}

.pageBorder.specials {
    background: #dc6b1a;
}

.pageBorder.calendar {
    background: #99b33d;
}

.pageMargins {
    /* Self layout */
    width: 100%;
    height: 100%;

    /* Children layout */
    display: flex;
    flex-direction: column;
    gap: 6rem;
    box-sizing: border-box;
}

/* Front Page */
.pageMargins.front {
    gap: 0rem;
}

.frontHomeText {
    font-size: 8rem;
    color: white;
    text-shadow: 1rem 1rem 0rem hsla(0, 0%, 0%, 0.5);
    font-family: "Wendy One";
    text-align: center;
}

.frontActivityProgrammeText {
    font-size: 15rem;
    color: white;
    text-shadow: 1rem 1rem 0rem hsla(0, 0%, 0%, 0.5);
    font-family: "Wendy One";
    text-align: center;
}

.frontAdeptLogo {
    position: absolute;
    top: 10rem;
    right: 10rem;
    height: 9rem;
}

.frontMainContentImage {
    position: absolute;
    width: 100%;
    height: 250rem;
    left: 0;
    bottom: 0;
    object-fit: cover;
}

/* Cinema Events */
.cinemaPage {
    /* Self layout */
    height: 100%;

    /* Children layout */
    display: grid;
    gap: 3rem;
    grid-auto-rows: 1fr;
}

.cinemaPageContent {
    grid-row-end: span 3;

    /* Children layout */
    display: grid;
    gap: 3rem;
    grid-auto-rows: 1fr;
}

.cinemaPageHeader {
    grid-row-end: span 1;
}

.cinemaPageHeaderSVG {
    position: absolute;
    height: 57rem;
    transform: rotate(-4deg);
    right: -2rem;
    top: 13rem;
    z-index: -1;
}

.cinemaProjectorSVG {
    position: absolute;
    height: 25rem;
    left: 25rem;
    top: 11rem;
}

.cinemaPageHeaderTitle {
    position: absolute;
    right: 50rem;
    top: 13rem;
    transform: rotate(-4deg);

    color: #385e2d;
    text-shadow: 1rem 1rem 0rem hsla(0, 0%, 100%, 0.5);
    font-family: "Wendy One";
    text-align: center;
    font-size: 20rem;
}

.cinemaPageHeaderText {
    position: absolute;
    right: 10rem;
    top: 35rem;
    transform: rotate(-4deg);
    width: 82%;

    color: black;
    font-family: "Raleway";
    text-align: center;
    font-size: 6rem;
    font-weight: 600;
}

.cinemaEvent {
    border-radius: 6rem;
    background: white;

    /* Children layout */
    display: flex;
    flex-direction: row;
    overflow: hidden;
    grid-row-end: span 2;
}

.cinemaEvent.smaller {
    grid-row-end: span 1;
}

.cinemaPhoto {
    border-radius: 4rem;
    height: 100%;
}

.cinemaPhoto.left {
    border-right: 2rem solid #f39466;
}

.cinemaPhoto.right {
    border-left: 2rem solid #f39466;
}

.cinemaEventText {
    padding: 2rem;
    color: black;
    font-family: "Raleway";
    text-align: center;

    grid-column-start: 2;
    grid-column-end: span 2;
    width: 100%;

    /* Children layout */
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.cinemaEventTitle {
    font-size: 6rem;
    font-family: "Wendy One";
}

.cinemaEventDescription {
    font-size: 5rem;
    padding-top: 2rem;
    padding-bottom: 2rem;
}

.cinemaEventDescription.largefonts {
    font-size: 8rem;
    font-weight: bold;
}

.cinemaEventCast {
    font-size: 5rem;
    font-weight: 600;
}

/* Meeting & Birthdays Page */
.meetingHeader {
    width: 85%;

    font-size: 17rem;
    color: #104fa3;
    text-shadow: 1rem 1rem 0rem hsla(0, 0%, 100%, 0.5);
    font-family: "Wendy One";
}

.meetingText {
    width: 55%;

    font-size: 7rem;
    color: black;
    font-family: "Raleway";
    font-weight: 600;
}

.meetingText2 {
    width: 40%;

    font-size: 7rem;
    color: black;
    font-family: "Raleway";
    font-weight: 600;
}

.meetingDate {
    position: absolute;
    transform: rotate(-9.75deg);
    height: 57rem;
    width: 54rem;
    right: 23rem;
    top: 66rem;

    font-size: 7rem;
    color: black;
    font-family: "Raleway";
    text-align: center;
    font-weight: bold;
    line-height: 168%;
}

.meetingDate.small {
    font-size: 6rem;
    line-height: 195%;
}

.meetingNoteSVG {
    position: absolute;
    transform: rotate(-9.75deg);
    height: 70rem;
    top: 57rem;
    right: 20rem;
    z-index: -1;
}

.meetingHand1SVG {
    position: absolute;
    height: 34rem;
    top: 29rem;
    right: 0rem;
}

.meetingHand2SVG {
    position: absolute;
    height: 40rem;
    top: 108rem;
    right: 72rem;
}

.birthdayHalfPage {
    background: #594587;
    position: absolute;
    height: 50%;
    width: 100%;
    left: 0;
    bottom: 0;
    padding: 10rem;
    display: flex;
    flex-direction: column;
    gap: 6rem;
    box-sizing: border-box;
}

.meetingPageDivider {
    position: absolute;
    width: 100%;
    left: 0;
    top: 0;
    height: 4rem;
    margin-top: 146.5rem;
    z-index: 1;
}

.birthdaysHeader {
    width: 60%;

    font-size: 24rem;
    color: white;
    text-shadow: 1.35rem 1.35rem 0rem hsla(0, 0%, 0%, 0.5);
    font-family: "Wendy One";
    text-align: center;
}

.birthdaysPageText {
    width: 60%;

    font-size: 8rem;
    color: white;
    font-family: "Raleway";
    text-align: center;
    font-weight: 600;
}

.birthdaysText {
    background: #99b43d;
    border-radius: 6rem;
    width: 60%;
    padding: 10rem;
    box-sizing: border-box;

    font-size: 8rem;
    color: white;
    text-shadow: 1rem 1rem 0rem hsla(0, 0%, 0%, 0.5), 0 0 1rem black;
    font-family: "Wendy One";
    text-align: center;
    font-weight: 600;
}

.birthdayCakeBalloonsSVG {
    position: absolute;
    height: 125rem;
    bottom: 10rem;
    right: 10rem;
}

/* Special Events */
.specialsPage {
    /* Self layout */
    height: 100%;

    /* Children layout */
    display: grid;
    gap: 3rem;
    grid-auto-rows: 1fr;
}

.specialsPageContent {
    grid-row-end: span 3;

    /* Children layout */
    display: grid;
    gap: 3rem;
    grid-auto-rows: 1fr;
}

.specialsPageHeader {
    color: white;
    text-shadow: 1.5rem 1.5rem 0rem hsla(0, 0%, 0%, 0.5);
    font-family: "Wendy One";
    text-align: center;
    font-size: 30rem;

    grid-row-end: span 1;
}

.specialsSparkles {
    position: absolute;
    height: 35rem;
    left: 10rem;
    top: 28rem;
}

.specialsSparkles.right {
    left: auto;
    right: 10rem;
}

.specialsTeam {
    border-radius: 6rem;
    background: #c8e7ff;

    grid-row-end: span 1;

    /* Children layout */
    display: flex;
    padding: 4rem;
    gap: 4rem;
    align-items: center;
    overflow: hidden;
}

.specialsTeamText {
    width: 100%;

    /* Children layout */
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.specialsTeamText.singular {
    width: 200%;
}

.specialsTeamHeader {
    font-size: 8rem;
    font-weight: bold;
    color: black;
    font-family: "Raleway";
    text-align: center;
}

.specialsTeamDesc {
    font-size: 6rem;
    color: black;
    font-family: "Raleway";
    text-align: center;
}

.specialsTeamImageGrid {
    width: 140%;

    /* Children layout */
    display: flex;
    gap: 2rem;
    flex-wrap: wrap;
    justify-content: center;
}

.specialsTeamImageGrid.singular {
    height: 100%;
}

.specialsTeamImageGrid.len2 {
    height: 100%;
}

.specialsTeamImageGrid.len3 {
    height: 100%;
}

.specialsTeamImageGrid.len5 {
    height: 100%;
    width: 100%;
}

.specialsTeamImage {
    border-radius: 2rem;
    width: 22rem;
    object-fit: cover;
}

.specialsTeamImage.singular {
    height: 100%;
    width: 50rem;
}

.specialsTeamImage.len2 {
    width: 40rem;
}

.specialsTeamImage.len3 {
    width: 32rem;
}

.specialsTeamImage.len3 {
    height: 48%;
}

.specialsTeamImage.len4 {
    width: 30rem;
}

.specialsEvent {
    border-radius: 6rem;
    background: white;

    /* Children layout */
    display: grid;
    grid-auto-columns: 1fr;
    overflow: hidden;
}

.pagePhotoContainer {
    border-radius: 4rem;
    overflow: hidden;
    position: relative;
    border-right: 2rem solid #f39466;
}

.pagePhotoContainer.right {
    border-right: none;
    border-left: 2rem solid #f39466;
}

.pagePhoto {
    width: 100%;
    height: 100%;
    position: absolute;
}

.specialsEventText {
    padding: 4rem;
    color: black;
    font-family: "Raleway";
    text-align: center;

    grid-column-start: 2;
    grid-column-end: span 2;

    /* Children layout */
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.specialsEventHeader {
    font-size: 8rem;
    font-weight: bold;
}

.specialsEventDescription {
    font-size: 6rem;
    padding-top: 3rem;
    padding-bottom: 3rem;
}

.specialsEventDate {
    font-size: 6rem;
    font-weight: bold;
}

/* Calendar */
.calendarHeader {
    color: white;
    text-shadow: 1.5rem 1.5rem 0rem hsla(0, 0%, 0%, 0.5);
    font-family: "Wendy One";
    text-align: center;
    font-size: 30rem;
}

.calendarSubHeader {
    color: white;
    text-shadow: 0.5rem 0.5rem 0rem hsla(0, 0%, 0%, 0.5);
    font-family: "Raleway";
    font-weight: bold;
    text-align: center;
    font-size: 6rem;
    vertical-align: middle;
}

.calendarSubHeader.extra {
    margin-top: -8rem;
}

.calendarTable {
    table-layout: fixed;
    height: 100%;
    border-collapse: collapse;
    border-radius: 4rem;
    overflow: hidden;
}

.calendarRow {
    height: 12rem;
    background: #e0eec2;
}

.calendarRow:nth-child(odd) {
    background: #f2f5d2;
}

.calendarRow:nth-child(2) {
    background: hsl(73, 49%, 47%);
}

.calendarElement {
    position: relative;
    border: 0.25rem solid rgb(186, 186, 186);
    border-bottom: 0px;

    padding: 0.5rem;
    padding-right: 13rem;
    color: black;
    font-family: "Raleway";
    font-weight: bold;
    text-align: center;
    font-size: 4rem;
    vertical-align: middle;
    line-height: 150%;
}

.calendarElement:nth-child(1) {
    padding: 1rem;
    border-left: 0px;
}

.calendarElement:nth-child(3) {
    border-right: 0px;
}

.calendarElement.calendarElementHeader {
    font-size: 5.5rem;
    border-top: 0px;
}

.calendarElement.small {
    font-size: 3.76rem;
}

.calendarElement.extrasmall {
    font-size: 3.5rem;
}

.calendarElement.large {
    font-size: 5.5rem;
}

.calendarIcon {
    position: absolute;
    top: 1rem;
    right: 1rem;
    width: 12rem;
    height: calc(100% - 2rem);
    object-fit: contain;
    object-position: center;
}

/* Back Page */
.backPage {
    /* Self layout */
    height: 100%;

    /* Children layout */
    display: flex;
    gap: 10rem;
    flex-direction: column;
}

.backPageHeader {
    color: white;
    text-shadow: 1.5rem 1.5rem 0rem hsla(0, 0%, 0%, 0.5);
    font-family: "Wendy One";
    text-align: center;
    font-size: 20rem;
}

.backPageContent {
    height: 100%;

    /* Children layout */
    display: grid;
    gap: 3rem;
    grid-auto-rows: 1fr;
    grid-auto-columns: 1fr;
}

.backEvent {
    border-radius: 6rem;
    background: white;

    /* Children layout */
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.backEventText {
    padding: 2rem;
    color: black;
    font-size: 5rem;
    font-family: "Raleway";
    font-weight: 500;
    text-align: center;
}

.pagePhotoContainer.backPage {
    height: 100%;
    border: none;
    border-bottom: 2rem solid #f39466;
}

/* Facebook picker */
.pagePicker {
    background: #1d909c;

    /* Self layout */
    width: 100%;

    /* Children layout */
    display: flex;
    flex-direction: column;
    gap: 20px;
    padding: 20px;
    box-sizing: border-box;
}

.pagePickerClose {
    position: absolute;
    top: 5px;
    right: 5px;
    width: 15px;
    height: 15px;
    background: red;
    cursor: pointer;
}

.pagePickerYaml {
    height: 20%;
    width: 100%;
    display: flex;
    flex-direction: column;
}

.pagePickerYamlText {
    height: 100%;
    resize: none;
    scrollbar-color: initial;
    font-size: 5rem;
}

.pagePickerYamlChoice.active {
    background: lightgreen;
}

.pagePickerFacebook {
    height: 80%;
    width: 100%;

    /* Children layout */
    display: flex;
    flex-direction: column;
    gap: 5rem;
    overflow-y: auto;
    scrollbar-color: initial;
}

.pagePickerPost {
    background: #f39466;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

.pagePickerPostHeader {
    font-size: 5rem;
    text-align: center;
}

.pagePickerPostImageContainer {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 2rem;
}

.pagePickerPostImage {
    height: 50rem;
    cursor: pointer;
}

.pagePickerPostImageMore {
    font-size: 5rem;
}

/* Hide pagePicker for print */
@media print {
    .pagePicker {
        display: none;
    }
}

/* BW Custom Page */
.bwCustomLeftRow {
    background: #c4deeb;
    height: 100%;
    border-radius: 6rem;

    /* Children layout */
    display: flex;
    padding: 4rem;
    gap: 4rem;
    align-items: center;
    overflow: hidden;
}

.bwCustomLeftRow:nth-child(odd) {
    background: #fdfbe4;
}

.bwCustomLeftImage {
    height: 100%;
    width: 40%;
    border-radius: 2rem;
    object-fit: cover;
}

.bwCustomLeftImage.num3 {
    width: 70%;
}

.bwCustomRightImage {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}
