html, body {
    margin: 0;
/*    background-color: #f6f5f5;*/
    background-color: #F3F3E9;
    background-color: white;
}
* {
/*    font-family: 'Raleway';*/
    font-family: 'Lato', sans-serif;
    color: #555;
}
a {
    color: #555;
}


.lazy {
/*    filter: blur(3px);*/
}




        /*        Header        */
header {
    background-image: url(Resources/paperBackground.png);
    background-position: center;
    background-size: cover;
    display: flex;
    align-items: center;
    flex-direction: row;
    width: 100vw;
    height: 200px;
    overflow: hidden;
    box-shadow: 0px 0px 20px 5px rgba(0, 0, 0, .4);
}

header img {
    height: 220px;
    margin: 0 50px;
}
.headerRight {
    margin: auto 50px 25px 0;
    width: 100%;
}
.headerRight h1 {
    font-family: 'Walter Turncoat', cursive;
    font-size: 25px;
    color: #555;
    margin-bottom: 25px;
}
.headerLinks {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    flex-wrap: wrap;
    margin-right: 50px;
}
.headerLinks a {
    font-family: 'Walter Turncoat', cursive;
    text-decoration: none;
    font-size: 18px;
    color: #555;
    border: dashed transparent 2px;
    text-transform: uppercase;
}
.headerLinks a:hover {
    border-bottom: dashed #555 2px;
}
.reservationTab {
    position: absolute;
    width: 300px;
    height: auto;
    right: 50px;
    top: -45px;
}

.scrollNav {
    display: flex;
    position: fixed;
    width: 100vw;
    height: 75px;
    background-image: url(Resources/paperBackground.png);
    background-position: center;
    background-size: cover;
    top: 0;
    box-shadow: 0px 0px 20px 5px rgba(0, 0, 0, .4);
    display: none;
}
.scrollNav img {
    margin: 0 50px;
    margin-top: 5px;
    height: 65px;
    width: 65px;
}

/*
.lazy-background {
  background-image: url("Resources/Photos/Small/small_paperBackground.jpg");
}

.lazy-background.visible {
  background-image: url(Resources/paperBackground.png);
}
*/




        /*        Content       */
.content {
    display: flex;
    flex-direction: column;
    width: 100vw;
}

.contentSection {
    display: flex;
    flex-direction: column;
    margin: 25px 50px;
}

.sectionTitle {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    font-family: 'Walter Turncoat', cursive;
    margin-top: 50px;
    margin-bottom: 10px;
}

li a {
    color: black;
}

.photoAndText {
    width: 90%;
    margin: 0 auto;
    text-align: justify;
}

.photoAndText h1 {
    font-family: 'Walter Turncoat', cursive;
}

.photoAndText img {
    width: 50%;
    max-width: 700px;
    height: auto;
    margin: 20px 0;
}

.photoAndText p {
    font-size: 25px;
    font-weight: 200;
}

.photoAndText li {
    font-size: 25px;
    font-weight: 300;
    margin-bottom: 15px;
}

.wideText {
    width: 100%;
    text-align: justify;
}

.wideText p {
    font-size: 25px;
    font-weight: 300;
}


.disclaimer {
    text-align: center;
    font-size: 20px;
    margin: 5px 0;
}

.price a[href$=".pdf"]::after, .memberDescription a::after {
    content: '';
    position: relative;
    display: inline-block;
    background-image: url(Resources/Logos/pdfIcon.png);
    background-size: contain;
    background-repeat: no-repeat;
    width: 15px;
    height: 15px;
}



            /*          Boarding Options            */
.boardingChoices {
    display: flex;
    flex-direction: row;
    justify-content: center;
    margin: 85px 0 0 0;
}

.boardingChoices .container {
    margin: 0 50px;
}




        /*        Top Section       */
.topPhoto {
    width: 100%;
}

.topPhotoText, .middlePhotoText {
    display: flex;
    flex-direction: column;
    position: absolute;
    width: 50%;
    text-align: justify;

    -webkit-animation: fadein 1s;
}

/*hide until the page loads*/
.topPhotoText {
    display: none;
}

.slideLeft {
    right: 50px;
}
.slideRight {
    left: 50px;
}
.homeTopText {
    margin-top: 150px;
}
.aboutTopText {
    margin-top: 200px;
    width: 60%;
}
.boardingTopText {
    margin-top: 150px;
}
.trainingTopText {
    margin-top: 50px;
    width: 70%;
}
.adoptionTopText {
    margin-top: 30px;
}



.topPhotoText h1, .middlePhotoText h1 {
    font-weight: 100;
    color: white;
    font-size: 30px;
    font-style: italic;
}

.topPhoto img {
    width: 100vw;
    height: 45vw;
    box-shadow: 0px 0px 20px 5px rgba(0, 0, 0, .4);
}


.middlePhoto {
    display: flex;
    width: 100vw;
    justify-content: center;
    align-items: center;
}

.middlePhotoText h1 {
    font-size: 25px;
}

.middlePhotoFrame {
    width: 100vw;
    height: 25vw;
    overflow: hidden;
    box-shadow: 0px 0px 20px 5px rgba(0, 0, 0, .4);
}

.middlePhoto img {
    position: relative;
    width: 100vw;
    top: -100px;
}

.mission h1 {
    font-size: 40px;
}











        /*        Youtube Videos        */
.youtubeVideos {
    display: flex;
    flex-direction: row;
    align-items: center;
    width: 100%;
    height: auto;
}

.youtube {
    margin: 25px;
    width: 50vw;
    height: 25vw;
}

.map {
    display: flex;
    align-self: center;
    width: 70vw;
    height: 40vw;
    margin: 0 auto;
}



        /*      Gallery       */

.gallery {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    margin: 50px 0;
}

.gallery img {
    height: 400px;
    max-width: 100vw;
    margin: 10px;
}

.gallery img:hover {
    cursor: pointer;
    box-shadow: 0px 0px 8px 2px rgba(0, 0, 0, .4);
    transition: 0.1s ease-in;
}

#galleryDisplay {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: fixed;
    background-color: rgba(0,0,0,0.6);
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
    display: none;
    -webkit-animation: fadein 0.5s;
}

.galleryImage {
    display: flex;
    justify-content: center;
    align-items: center;
}

.galleryImage img {
    max-height: 80vh;
    max-width: 80vw;
    width: auto;
}

.galleryText h1 {
    color: white;
    font-size: 25px;
    font-weight: 400;
}

#galleryDisplay img:hover {
    cursor: pointer;
}

.galleryArrow, #exitGallery {
    width: 75px;
    height: 75px;
    position: absolute;
}

#leftGalleryArrow {
    left: 50px;
}
#rightGalleryArrow {
    right: 50px;
}
#exitGallery {
    top: 50px;
    right: 50px;
}











        /*      Contact       */
.contactInfo {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}




        /*       Footer      */
footer {
    display: flex;
    flex-direction: column;
    background-color: #555;
    width: 100vw;
/*    height: 400px;*/
    box-shadow: 0px 0px 20px 5px rgba(0, 0, 0, .4);
}

.footerTop {
    display: flex;
    flex-direction: row;
}

.footerDisclaimer {
    display: flex;
    flex-direction: column;
}

.footerDisclaimer p {
    color: white;
    text-align: center;
    font-size: 12px;
}

.footerThird {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 33.3%;
}

.footerLogo {
    width: 75%;
    height: auto;
    margin: 50px;
}

.buisnessLinks, .websiteLinks, .iconLinks {
    display: flex;
    flex-direction: column;
    margin: 10px;
}

.buisnessLinks {
    text-align: center;
}

.websiteLinks {
    text-align: left;
}

.iconLinks {
    flex-direction: row;
}

.buisnessLinks a, .websiteLinks a,  .websiteLinks h1, .footerThird h1, .footerThird a {
/*    font-family: 'Walter Turncoat', cursive;*/
    color: white;
    font-size: 16px;
    margin: 10px 0;
    text-decoration: none;
    letter-spacing: 2px;
}

.websiteLinks h1, .websiteLinks ul {
    margin: 0;
}

.iconLink {
    height: 35px;
    width: 435x;
    margin: 0 20px;
}

.footerThird li {
    color: white;
}

.certifications {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    height: 10vw;
    width: 100vw;
    margin: 20px 0;
}

.certifications img, .certifications a {
    height: 10vw;
    max-height: 100px;
    width: auto;
    margin: 0 auto;
}










        /*        About       */
.teamMembers {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
}

.member {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    width: 300px;
    margin-bottom: 50px;
}

.member h1 {
    font-size: 20px;
}

.member h2 {
    font-size: 15px;
}

.portraitFrame {
    display: flex;
    justify-content: center;
    align-items: center;
    
    width: 205px;
    height: 205px;
}

.portraitFrame img {
    width: 200px;
    height: auto;
    border-radius: 150px;
}

.portraitFrame img:hover {
    width: 205px;
    transition: 0.1s ease-in;
}

.more h2 {
    font-size: 12px;
    color: transparent;
}

.member:hover {
    cursor: pointer;
}

.member:hover > .more h2 {
    color: gray;
    transition: .5s;
}

.memberDescription {
    opacity: 0;
    text-align: justify;
}

.memberDescription a {
    color: #555;
    margin: 0 10px;
    text-decoration: none;
}

.aboutMaps {
    display: flex;
    justify-content: center;
    width: 100%;
    margin: 0;
}

.aboutMap iframe {
    width: 70vw;
    height: 35vw;
    margin: 0 0 50px 0;
}





        /*      Testimonials      */
.signature {
    font-style: italic;
    margin: 0 0 50px 20px;
}

.topPhotoText .signature, .middlePhotoText .signature {
    color: white;
}

.topPhotoText h1::before, .topPhotoText h1::after, .testimonial h1::before, .testimonial h1::after {
    display: inline-block;
    font-size: 70px;
    font-weight: 300;
    line-height: 10px;
    font-family: 'Arizonia', cursive;
    margin: 10px 5px;
    height: 1px;
}
.topPhotoText h1::before, .testimonial h1::before {
    content: open-quote;
}
.topPhotoText h1::after, .testimonial h1::after {
    content: close-quote;
}






        /*          Rainbow Bridge        */
.memorial {
    background-image: url(Resources/Photos/About/MemorialPhotos/rainbowBridge.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    max-width: 1100px;
    height: 550px;
    margin: 0 auto;
    
    overflow: scroll;
}

.memorialNames {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
    background-color: rgba(0,0,0,.6);
/*
    background: -webkit-radial-gradient(rgba(0,0,0,.4), rgba(0,0,0,.8)); 
    background: -o-radial-gradient(rgba(0,0,0,.4), rgba(0,0,0,.8));
    background: -moz-radial-gradient(rgba(0,0,0,.4), rgba(0,0,0,.8));
    background: radial-gradient(rgba(0,0,0,.4), rgba(0,0,0,.8));
*/

}

.memorial h1 {
    font-size: 15px;
    width: 200px;
    color: white;
    font-weight: 300;
    text-align: center;
    margin: 10px auto;
}

.rainbowBridgeImg {
    width: 50%;
    height: auto;
    margin: 0 auto;
}

.memorialPhotoName:hover {
    cursor: pointer;
}





        /*      Forms     */
.formTitle {
    display: flex;
    flex-direction: row;
/*    justify-content: center;*/
    align-items: center;
}

.dropdownArrow {
    width: 7px;
    height: 7px;
    margin: 0 10px;
}

td {
    border: solid gray 1px;
}





        /*      Make A Reservation Page       */
.saleCard {
    display: flex;
/*    display: none;*/ /* expires Feb 15, 2022 */
    justify-content: center;
    margin: 50px 0;
}

.saleCard img {
    width: 90%;
    max-width: 1000px;
}

.resHalfLeft h1, .resHalfRight h1 {
    font-family: 'Walter Turncoat', cursive;
    text-transform: uppercase;
    font-size: 16px;
}

.resBottom {
    display: flex;
    flex-direction: row;
}

.reservationsHead {
    display: flex;
    flex-direction: column;
    background-color: #555;
    height: 250px;
    overflow: hidden;
    box-shadow: 0px 0px 20px 5px rgba(0, 0, 0, .4);
}

.reservationsHead img {
    display: flex;
    margin: 0 auto;
    position: relative;
    width: 300px;
    height: auto;

    top: -10px;
}

.resHalf {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: flex-start;
    width: 50%;
    height: 150px;
}
.vl {
    border-right: solid gray 2px;
}

.resHalfLeft {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    max-width: 400px;
    
/*    border: solid white 1px;*/
}



.resHalfRight {
    display: flex;
    flex-direction: column;
}

.resHalfLeft h1 {
    display: flex;
    color: #b0b834;
    margin: 0;
    text-align: center;
    height: 75px;
    width: 150px;
    padding: 0px 10px;
}

.resHalfRight h1 {
    color: white;
    margin: 0;
    margin-bottom: 10px;
}

.resButton {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 150px;
    border: dashed 2px #999;
}

.resButton:hover {
    background-color: #999;
    border: dashed 2px white;
    transition: .2s;
}

.resHalfLeft h2 {
    color: lightgray;
    font-size: 40px;
    display: flex;
    align-items: center;
    font-weight: 100;
    line-height: 22px;
    margin: 0 20px;
}

.resHalfRight h1:hover {
    cursor: pointer;
}

.posBoardingWalkthrough p, .posTrainingWalkthrough p {
    font-family: 'Lato', sans-serif;
    font-size: 18px;
    color: #555;
}




.reservationSectionTitle {
    display: flex;
    flex-direction: row;
    align-items: center;
    height: 65px;
    width: 180px;
    margin-bottom: 50px;
}

.reservationSectionTitle img {
    height: 100%;
    width: auto;
}

.reservationSectionTitle h1 {
    font-family: 'Walter Turncoat', cursive;
    font-size: 20px;
    color: #555;
    text-transform: uppercase;
    margin-right: 20px;
}

.reservationSection {
    display: flex;
    flex-direction: row;
    width: 100vw;
    margin-top: 50px;
}

.resSectionLeft {
    width: 425px;
    height: auto;
    margin-left: 100px;
}

.resTextLeft p, .resTextLeft label {
    font-family: 'Lato', sans-serif;
    font-size: 18px;
}

.resTextLeft p {
    text-align: justify;
}

.resTextLeft label {
    width: 200px;
}

.boardingRates, .trainingRates {
    display: flex;
    flex-direction: column;
    margin-bottom: 100px;
}

.trainingRates .price, .boardingRates .price {
    width: 100%;
    margin-bottom: 0px;
}

.trainingRates .price h1, .boardingRates .price h1 {
    font-size: 20px;
}

.trainingRates .price p, .boardingRates .price p {
    font-size: 18px;
    text-align: left;
    margin: 8px 0;
}

.trainingRates .price .discounts p, .boardingRates .price .discounts p {
    font-size: 16px;
}


.resSectionRight {
    display: flex;
    flex-direction: column;
    width: 60%;
    margin: 0 0 100px 50px;
}

.posBoardingWalkthrough, .negBoardingWalkthrough, .placeholder {
    display: none;
}

.placeholder {
    display: flex;
    height: 100vh;
}

.resTextLeft span, .resSectionRight span {
    font-family: 'Lato', sans-serif;
    color: #555;
    font-weight: 900;
    text-transform: uppercase;
}

.resTextLeft {
    color: #555;
}




.resSectionRight h1 {
    font-family: 'Walter Turncoat', cursive;
    color: red;
    font-size: 20px;
    text-transform: uppercase;
    margin-top: 50px;
}


.formContent {
    display: flex;
    flex-direction: column;
    width: 500px;
}

.nameInput {
    display: flex;
    flex-direction: row;
    margin: 5px 0;
}

.formContent h2, .formContent h3, .formContent h4 {
    font-family: 'Lato', sans-serif;
    font-weight: 400;
    color: #555;
}

/*Input Titles*/
.formContent h2 {
    font-size: 18px;
    margin: 5px 0 auto 0;
    width: 120px;
}

/*Details and Pricing*/
.formContent h3 {
    font-size: 14px;
    margin: 0 0 20px 52px;
}

/*Disclaimers (no margin)*/
.formContent h4 {
    font-size: 14px;
}

.formContent input, textarea {
    font-family: 'Lato', sans-serif;
    font-size: 18px;
    font-weight: 400;
    color: #555;
    background-color: transparent;
    border: solid #999 1px;
    margin: auto 20px;
    width: 300px;
    height: 40px;
    padding: 0 20px;
}

textarea {
    height: 200px;
    padding: 20px;

}

.radioChoices {
    display: flex;
    flex-direction: column;
    margin: 0 20px;
    width: 300px;
}

.radioPair {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    height: 40px;
}

.radioPair label {
    display: flex;
    justify-content: flex-start;
    width: 50%;
    margin: 0;
    
    font-family: 'Lato', sans-serif;
    font-size: 18px;
    font-weight: 400;
    color: #555;
}

.spacingFix {
    margin-bottom: 10px;
}

input[type=number] {
    width: 45px;
}

input[type=submit] {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50%;
    margin: 20px 20px 0 auto;
}
input[type=submit]:hover {
    background-color: #999;
    color: white;
    cursor: pointer;
    transition: .4s;
}




.addPet {
    display: flex;
    flex-direction: row;
    height: 30px;
    align-items: center;
    margin: 5px 0;
}

.addPet img {
    height: 90%;
    width: auto;
    margin-right: 20px;
    opacity: 0.6;
}

.addPet h1 {
    margin: 0;
    font-family: 'Lato', sans-serif;
    font-size: 15px;
    font-weight: 400;
    color: #555;
    text-transform: none;
}

.addPet:hover {
    cursor: pointer;
}

.locationMap {
    margin: 25px 20px 25px 0;
}

.quantity {
    margin-left: 139px;
    margin-bottom: 5px;
    display: none;
}












            /*          Adoption Page         */
.adoptDog {
    display: flex;
    flex-direction: column;
    width: 250px;
    margin: 25px;
}

.litter {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
}

.litterTitle {
    color: #555;
    font-family: 'Walter Turncoat', cursive;
    display: flex;
    margin: 50px auto 10px auto;
}

.adoptDog h1 {
    font-family: 'Walter Turncoat', cursive;
    font-size: 22px;
    color: red;
    text-transform: uppercase;
    text-align: center;
    margin: 10px 0;
}

.adoptDog img {
    width: 100%;
    height: auto;
    margin: 0;
}

.adoptDog h2 {
    font-size: 14px;
    color: #999;
    margin: 10px auto;
}

.adoptDog p {
    font-size: 24px;
    text-align: justify;
    margin: 5px 0;
    line-height: 30px;
    font-weight: 200;
}

.adoptButton {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 120px;
    height: 40px;
    margin: 0 auto;
    background-color: lightgreen;
    color: white;
    font-size: 20px;
    text-decoration: none;
}

.adoptButton:hover {
    cursor: pointer;
    font-size: 21px;
    transition: .2s;
}

/*Added 2023-01-17*/
.adoption_blurb {
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin: 25px 20%;
}






            /*          Prices          */
.prices {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    width: 100%;
}

.price {
    display: flex;
    flex-direction: column;
    width: auto;
    max-width: 350px;
    margin: 25px;
}

.price h1, .price a {
    font-family: 'Walter Turncoat', cursive;
    font-size: 28px;
    color: red;
    text-decoration: none;
    border-top: solid #555 1px;
    padding-top: 10px;
    margin-bottom: 0;
    text-align: center;
}

.price p {
    font-size: 24px;
    margin: 15px;
    text-align: center;
}

.price img {
    width: 100%;
    height: auto;
    margin: auto 0;
}

.discounts p, .priceDescription p {
    font-size: 20px;
    margin: 0;
    margin-bottom: 1em;
    font-weight: lighter;
    text-align: justify;
}

.priceDescription h2, .discounts h2 {
    font-size: 18px;
    text-align: center;
}







        /*      Radio Buttons     */
/* Customize the label (the container) */
.container {
    display: flex;
    align-items: center;
/*    justify-content: center;*/
    position: relative;
    padding-left: 50px;
    margin-bottom: 12px;
    cursor: pointer;
    font-size: 22px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}
/* Hide the browser's default radio button */
.container input {
    position: absolute;
    opacity: 0;
}
/* Create a custom radio button */
.checkmark {
    position: absolute;
    left: 0;
    height: 35px;
    width: 35px;
    border: solid #999 1px;
}
/* On mouse-over, add a grey background color */
.container:hover input ~ .checkmark {
    background-color: #ccc;
}
/* When the radio button is checked, add a blue background */
.container input:checked ~ .checkmark {
    background-color: #555;
    border: solid #555 1px;
}
/* Create the indicator (the dot/circle - hidden when not checked) */
.checkmark:after {
    content: "";
    position: absolute;
    display: none;
}





/*Select Menu*/
/*the container must be positioned relative:*/
.custom-select {
    position: relative;
    margin-bottom: 10px;
    width: 341px;
    margin: 0 20px 10px auto;
}
.custom-select select {
  display: none; /*hide original SELECT element:*/
}
.select-selected {
  background-color: white;
}
/*style the arrow inside the select element:*/
.select-selected:after {
  position: absolute;
  content: "";
  top: 14px;
  right: 10px;
  width: 0;
  height: 0;
  border: 6px solid transparent;
  border-color: white;
}
/*point the arrow upwards when the select box is open (active):*/
.select-selected.select-arrow-active:after {
  border-color: white;
  top: 7px;
}
/*style the items (options), including the selected item:*/
.select-items div,.select-selected {
  color: #555;
  padding: 8px 16px;
  border: 1px solid transparent;
  border-color: #999;
  cursor: pointer;
}
/*style items (options):*/
.select-items {
  position: absolute;
  background-color: white;
  top: 100%;
  left: 0;
  right: 0;
}
/*hide the items when the select box is closed:*/
.select-hide {
  display: none;
}
.select-items div:hover, .same-as-selected {
  background-color: rgba(0, 0, 0, 0.1);
}


            /*          z-indicies          */
#galleryDisplay {z-index: 9;}
.scrollNav {z-index: 8;}
.reservationTab {z-index: 7;}
.topPhotoText, .middlePhotoText {z-index: 6;}
header {z-index: 4;}
.topPhoto {z-index: 3;}
.reservations {z-index: 2;}
.select-items {z-index: 1;}





@keyframes fadein {
    from {opacity: 0;}
    to {opacity: 1;}
}







