/* --- Demo hero styles (you can remove/replace) --- */
:root { --hero-font: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji", "Segoe UI Emoji"; }
body { margin: 0; font-family: var(--hero-font); color: #0f172a; background: linear-gradient(180deg,#ffffff,#f8fafc); }
.hero { min-height: 70vh; display: grid; place-items: center; text-align: center; padding: 5rem 1.25rem; }
.eyebrow { font-size: .95rem; letter-spacing: .12em; text-transform: uppercase; color: #475569; margin-bottom: .75rem; }
h1 { font-weight: 800; line-height: 1.05; font-size: clamp(2rem, 5vw + 1rem, 4.25rem); margin: 0; }
p.sub { font-size: clamp(1rem, 1.2vw + .9rem, 1.35rem); color: #334155; max-width: 65ch; margin: 1rem auto 0; }


/* --- Rotator core styles --- */
.rotator {
display: inline-grid; /* Keeps width equal to the widest phrase */
position: relative;
isolation: isolate; /* Ensure z-index context for smoother fades */
}
.rotator .word {
grid-area: 1 / 1;
white-space: nowrap; /* Keep endings on one line */
opacity: 0;
transform: translateY(.25em);
transition: opacity 320ms ease, transform 320ms ease;
will-change: opacity, transform;
}
.rotator .word.is-visible {
opacity: 1;
transform: translateY(0);
position: relative;
z-index: 1;
}


/* Optional styling for the dynamic words */
.rotator .word { 
    color: inherit;
    text-align: center;
    font-size: 1.5em;
    text-shadow: 0 0 4px black; } /* accent: sky-500 */


/* Respect reduced motion preferences */
@media (prefers-reduced-motion: reduce) {
.rotator .word { transition: none; }
}









hr {
    margin: 0.8em;
}

th {
    color: black;
}

a.text_link {
    color: black !important;
}

section.module-cover.parallax.text-center.fullscreen {
    z-index: 1;
}

#five_dreamy {
            font-size: 1.6em;
        }

.team-wrap {
    display: none;
}

.wrapper {
	max-width: 100%;
}
 
#header_logo {
	max-height: 9em !important;
	margin-top: 4em !important;
}

.overlay-background {
		visibility: hidden;
	}

#splash {
	box-shadow: 0 0 50px black;
}

h1, strong, .strong {
    font-weight: 800;
    font-family: dejanire-text;
    margin-top: -1em;
}

p {
	font-family: 'adobe-text-pro';
	font-size: 1.8em;
}

#locwhiteletters {
    width: 1px;
}

button#book_now {
    border: none;
    background: darkgreen;
    width: 12em;
    border-radius: 6px;
    height: 3em;
}

#book_your_stay {
    background: #e6ffe6;
    border: none;
    border-radius: 5px;
    padding: 0.5em;
    font-family: "adobe-text-pro";
    font-size: 1.6em;
    color: black;
    float: right;
    padding: 0.3em 1em;
}

p#search_button_text {
    color: white;
    font-size: 1.5em;
}

.header.header-transparent .inner-nav > ul > li > a::after {
	background: none;
}

.header.header-transparent {
	border: none;
}

.header, .header.header-small {
    background: #dadad2;
}

p.copyright {
    color: white;
    opacity: 0.5;
    font-size: 1em;
}

p.address {
    color: white;
    opacity: 0.5;
    font-size: 1em;
}


/*** Hostaway Booking Widget ***/

#hostaway-booking-widget {
    width: 57em !important;
    position: relative !important;
    margin: 0 auto !important;
}

.hsbw {
    background-color: rgba(218, 218, 210, 0.5) !important;
}

a.hsbw-main-button {
    background-color: darkgreen;
    box-shadow: 0px 0px 50px 1px #dadad2;
}

button.hsbw-button.hsbw-calendar-clear {
    color: black;
}

.hsbw-calendar-day {
    color: black;
}

.hsbw-label {
	color: black !important;
}

.hsbw-value {
    color: black !important;
    font-size: 1.1em !important;
}

.hsbw-popup_inner {
    color: black !important;
}

.hsbw-button {
    display: inline-block;
    text-decoration: none;
    border: none !important;
    padding: 2px 7px;
    border-radius: 80px;
    background: #fff;
    outline: none;
    cursor: pointer;
}

.hsbw-grid_buttons {
    width: 12em !important;
}

/**** REMOVING DATE AND # GUEST FIELDS FROM WIDGET ****/

.hsbw-dates {
    display: none !important;
    width: 0px !important;
}

.hsbw-guests {
    display: none !important;
    width: 0px !important;
}

.hsbw-grid {
    display: contents !important;
}

.hsbw-field {
    display: none !important;
}

.hsbw-grid_buttons {
    display: block;
    margin: 0 auto;
}

.hsbw {
    background-color: transparent !important;
}

/*** end Hostaway Booking Widget ***/



hr {
    border: none;
    margin-bottom: -0.3em;
}

#our_cabins_container {
	max-height: 60em;
}

#cabins_feature {
	margin: 3em 0 1em 0;
}

ul#cabin_features {
    text-align: center;
    font-size: 1.7em;
    font-family: 'adobe-text-pro';
    color: black;
    opacity: 0.85;
}

.header-shadow {
    box-shadow: 0px 0px 10px black !important;
}

#our_cabins {
    display: block;
    max-height: 240em;
    background-color: #dadad2;
    padding-left: 1%;
    padding-right: 1%;
    padding-top: 20em;
    position: relative;
    overflow: hidden;
}

p.amenities {
    margin: 1em -6em 4em;
    color: black;
    opacity: 0.65;
    font-size: 1.75em;
}

.filters {
	font-family: 'poynter-oldstyle-text';
	font-style: normal;
	font-weight: 100;
}

.filters a {
	font-size: 2em;
	color: black;
}

.portfolio-item-img {
    position: relative;
    margin: 0 auto;
    text-align: center;
}

.portfolio-item-img img {
	border-radius: 1.25em;
	box-shadow: 0 0 9px gray;
}

.portfolio-item-title {
	font-family: 'adobe-text-pro';
}

.portfolio-item-img {
	padding: 2% 0;
}

.filters a:active {
	opacity: 1;
	border-bottom: 2px solid black;
	color: black;
}

.filters a:hover, .filters a.current {
    opacity: 1;
    border-bottom: 2px solid black;
    color: black;
}

p.cabin_name {
    font-size: 3em;
    font-family: 'adobe-text-pro';
    text-align: right;
    color: black;
    opacity: 0.8;
}

p.cabin_name {
    font-size: 3em;
    font-family: 'POYNTER-OLDSTYLE-TEXT';
    text-align: center;
    color: darkred;
    font-weight: 800;
    /* letter-spacing: 0.03em; */
    opacity: 0.75;
    border-bottom: 1px dotted black;
    padding-bottom: 0.3em;
    /* text-transform: uppercase; */
    text-align: left !important;
}

.portfolio-item.marmot.cabin_desc_div {
    background: white;
    border-radius: 2em;
}

.row-portfolio[data-columns="3"] .portfolio-item {
    padding: 1%;
}

.cabin_desc_div {
	border: none !important;
    padding: 1.5em 2em !important;
    border-radius: 2em;
    background-color: white;
    padding: 1em;
}

.cabin_desc_div p {
	text-align: left;
}

.team-item img {
    padding: 20%;
}

.team-item {
	box-shadow: none;
}

#featured_by {
    background-color: #dadad2;
    box-shadow: 0 0 40px black;
    padding-top: 20em;
    position: relative;
    z-index: 4;
}

#rainier {
	background-image: url("rainier.webp") !important; /* The image used */
  	background-color: #cccccc; /* Used if the image is unavailable */
  	height: 1500px; /* You must set a specified height */
  	background-position: center; /* Center the image */
  	background-repeat: no-repeat; /* Do not repeat the image */
  	background-size: cover; /* Resize the background image to cover the entire container */
  	position: relative;
}

#about_packwood {
	background-image: url("usgs_background.jpg") !important; /* The image used */
  	background-color: #cccccc; /* Used if the image is unavailable */
  	height: 1100px; /* You must set a specified height */
  	background-position: center; /* Center the image */
  	background-repeat: no-repeat; /* Do not repeat the image */
  	background-size: cover; /* Resize the background image to cover the entire container */
  	position: relative;
  	box-shadow: 0px 0px 40px black;

}

#about_packwood h1 {
    margin-bottom: 2em;
    margin-top: 1em;
    opacity: 0.85;
}

#pwl {
	background-image: url("patriarchs.webp") !important; /* The image used */
  	background-color: #cccccc; /* Used if the image is unavailable */
  	height: 900px; /* You must set a specified height */
  	background-position: center; /* Center the image */
  	background-repeat: no-repeat; /* Do not repeat the image */
  	background-size: cover; /* Resize the background image to cover the entire container */
  	height: 1000px
  	margin-bottom: -2em;
}

#email form {
    position: relative;
    margin: 0 auto;
    padding-top: 4em;
}

section#email {
    box-shadow: 0 0 30px black;
    height: 800px;
}

form.seva-form.formkit-form {
    background-color: #dadad2 !important;
    margin-bottom: 10em !important;
    border: none !important;
}

.formkit-header {
    font-family: 'dejanire-text';
    font-size: 3em !important;
    font-weight: 800 !important;
}

.formkit-subheader {
    color: black !important;
    font-size: 1.6em !important;
    margin-bottom: 2em !important;
}

footer {
    background-color: #404040;
    min-height: 10em;
    padding-bottom: 15em;
}

footer p {
	text-align: center;
}

div#footer_right img {
    margin-bottom: 3em;
}

#social {
    background: #404040;
    height: 10em;
    text-align: center;
    padding-top: 1.8em;
}

#social a {
    margin: 0 1em;
    font-size: 2.2em;
    color: #dadad2;
}

.address-block {
    display: block;
    float: right;
    width: 100%;
}

.address-block {
	padding-bottom: 2em;
	}

.address-block p {
	text-align: right; 
	margin: 0; 
	padding-right: 5%;
}

#locwa {
	max-width: 15em;
	display: block; 
	float: right;
	margin-bottom: 1em;
	padding-right: 5%;
	opacity: 0.8;
}

.footer-center   {
    padding-top: 1em;
}

.footer-center ul {
    list-style-type: none;
    padding-left: 0;
}

a.footerlink {
    color: white;
    display: block;
    text-align: center;
    font-family: 'adobe-text-pro';
    font-size: 1.2em;
    margin: 1em 0em;
    opacity: 0.7;
}

#footer_left img {
    max-width: 12em;
    display: block;
    margin-left: 7%;
    margin-bottom: 1.8em;
    opacity: 0.8;
}

#footer_left p {
    text-align: left;
    margin: 0;
    margin-left: 7%;
}


#footer_container {
	max-width: 95%;
}



/****** CONTACT *********/

#faq h1 {
    font-size: 2.3rem;
    color: black;
    opacity: 0.8;
}

p.faqheading {
    font-family: 'poynter-oldstyle-text';
    font-weight: 800;
    color: #1f3d7a;
    margin-top: 3rem;
    opacity: 0.85;
    font-size: 1.4rem;
    margin-bottom: 0.3rem;
}

p.cabindesc {
    color: black;
    opacity: 0.75;
}

.header {
    border-bottom: none;
}

#faq h1 {
    font-size: 2.3rem;
    color: black;
    opacity: 0.8;
    padding: 3em 0;
}

#faq {
    margin-top: 15em;
    text-align: left;
    background: #f4f4f1;
    margin-top: -20em;
    padding: 30em 12%;
    text-align: left;
}

.backpage_headline {
    font-size: 3em !important;
}

p.image_caption {
    padding: 0 3.5%;
    margin-top: -2rem;
    margin-bottom: 2em;
    font-family: helvetica;
    font-size: 1.2em;
}


/**** BLOG ****/


p.blog_title {
    font-family: 'poynter-oldstyle-text';
    font-weight: 800;
    color: #1f3d7a;
    opacity: 0.85;
    font-size: 1.6rem;
    margin-bottom: 0.3rem;
}

p.blog_post_date {
    color: black;
    opacity: 0.6;
    text-transform: uppercase;
}

.blog_lead {
    border-bottom: 1px dotted black;
    padding: 7em 0;
}

.blog_lead ul {
    font-family: 'adobe-text-pro';
    font-size: 1.6em;
    list-style-type: disc;
    padding: 1em 2em;
    color: black;
    opacity: 0.75;
}

p.subheading {
    font-family: helvetica;
    font-size: 1.4em;
    border-bottom: 1px dotted black;
    padding-bottom: 2em;
    margin-bottom: 4em;
}

.blog_post_heading {
    font-family: 'poynter-oldstyle-text';
    font-weight: 800;
    color: #1f3d7a;
    opacity: 0.85;
    font-size: 2.5rem;
    margin-bottom: 0.3rem;
    margin: 1em 0 0.5em 0;
    line-height: normal;
    border-top: 1px dotted black;
    padding-top: 1em;
}

.blog_lead img {
    max-width: 95%;
    position: relative;
    display: block;
    margin: 0 auto;
    margin-top: 1em;
    margin-bottom: 3rem;
    border-radius: 1em;
    margin-top: 4rem;
}

.blog_hero {
    max-height: 50em;
}

.tall_blog_hero {
    max-height: 80em;
}

.blog_container {
    padding-top: 0;
    padding-bottom: 4em;
}

.blog_container ul {
    font-family: 'adobe-text-pro';
    font-size: 1.6em;
    list-style-type: disc;
    padding: 1em 2em;
    color: black;
    opacity: 0.75;
}

.blog_container img {
    max-width: 95%;
    position: relative;
    display: block;
    margin: 0 auto;
    margin-top: 1em;
    margin-bottom: 3rem;
    border-radius: 1em;
    margin-top: 4rem;
}

.blog_container li {
    padding: 0.5em 0;
}

#first_blog_lead {
    padding-top: 0;
}

/**************** MEDIA QUERIES ******************/

@media screen and (min-width: 1400px) {
    section.module-cover.parallax.text-center.fullscreen {
    height: 110em !important;
    }

    #pwl {
        background-image: url(patriarchs.webp) !important;
        background-color: #cccccc;
        height: 1400px;
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
        height: 1000px margin-bottom: -2em;
    }
}



@media screen and (min-width: 1200px) and (max-width: 1399.999px) {
    
    section.module-cover.parallax.text-center.fullscreen {
    height: 85em !important;
    }

    .backpage_headline {
        padding: 0 3em;
    }
}

/**** accordion menu overrrides ***/

[class*=" ti-"], [class^=ti-] {
    font-family: themify;
    speak: none;
    font-style: normal;
    font-weight: 400;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    color: white;
    -moz-osx-font-smoothing: grayscale;
}

.inner-navigation.collapse.show {
    display: block;
    background-color: rgba(0,0,0,0.15);
}

.inner-navigation.collapsing {
    display: block;
    background-color: rgba(0,0,0,0.15);
}



@media screen and (min-width: 991.999px) {
	.inner-header, .extra-nav {
        visibility: hidden;
	}
}


@media screen and (max-width: 992px) {
	/**** removing logo from accordion menu ****/
    .logo_as_li {
        display: none !important;
    }

    #our_cabins {
        max-height: 300em;
    }


section.module-cover.parallax.text-center.fullscreen {
	    height: 60em;
	}

    .inner-nav {
        text-align: right;
        background-color: rgba(0,0,0,0.15);
    }

	#header_logo li {
		visibility: hidden;
	}

	p.amenities {
    	margin: 3em 0 3em 0;
	}

	section.module-cover.parallax.text-center.fullscreen {
		margin-top: -6em;
        height: 90em;
	}

	header.header-small {
        display: none;
	}

	.header.header-transparent {
	    border: none;
	    background-color: rgba(0,0,0,0);
	}

    .extra-nav > ul > li:first-child {
        border: none;
    }

    .header.header-transparent .extra-nav > ul > li > a {
        color: white;
    }

    i.ti-menu {
        font-size: 1.7em;
        padding: 0.2em;
    }

    .inner-brand {
        max-width: 750px;
    }

    div#footer_container img {
        max-width: 8em;
    }
}

@media screen and (min-width: 899px) and (max-width: 990.99999px) {
    .inner-brand img {
            max-width: 40%;
    }

    .filters {
        margin-top: 5em;
    }

    .header-dark {
        background-color: #545445;
    }

}

@media screen and (max-width: 899.9999px) {
	
		#hostaway-booking-widget {
			max-width: 35em;
		}

		.hsbw-calendar {
		    max-width: 50%;
		    margin: 0 auto;
		    margin-top: 13em;
		}

		.hsbw-grid_buttons {
    		width: 12em !important;
    		margin: 0 auto;
    		margin-bottom: 0.5em;
		}

        #our_cabins {
            max-height: 600em;
            padding-bottom: 3em;
        }

		.hsbw-grid_buttons {
		    margin-top: -4em;
		    margin-right: 3em;
		    z-index: 10000;
	   }
       .inner-brand {
            max-width: 650px;
        }
        strong {
            font-size: 0.8em;
        }
        #five_dreamy {
            font-size: 1em;
            font-weight: 100;
            opacity: 0.9;
        }
        #rainier {
            height: 900px
        }

        #pwl {
            height: 900px;
        }
        
        .header-dark {
            background-color: #545445;
        }

        .blog_lead img {
            max-width: 100%;
        }

        .blog_container img {
            max-width: 100%;
        }

        .blog_container ul {
            margin: 0;
            padding: 0 5%;
        }

}


@media screen and (min-width: 830px) and (max-width: 899.999px) {
        .inner-brand img {
            max-width: 50%;
        }
        #our_cabins {
            max-height: 350em;
        }
}


@media screen and (max-width: 829.9999px) {
    .inner-brand {
            max-width: 550px;
        }

        .header-dark {
            background-color: #545445;
        }
}


@media screen and (min-width: 768px) and (max-width: 829.9999px){
    .inner-brand img {
        max-width: 60%;
    }
}


@media screen and (max-width: 767.9999px) {
	.inner-brand {
            max-width: 450px;
        }
    
    .team-image {
        max-width: 25em;
        margin: 0 auto;
    }

    #rainier {
        height: 800px;
    }

    div#footer_left p {
        position: relative;
        display: block;
        text-align: center;
        padding: none;
        padding: 0;
        margin: 0;
    }

    div#footer_left img {
        position: relative;
        display: block;
        margin: 0 auto;
    }

    #footer_left {
        border-bottom: 1px dotted gray;
        padding-bottom: 3em;
        border-top: 1px dotted gray;
        padding-top: 3em;
    }

    #footer_center {
        border-bottom: 1px dotted gray;
        padding-bottom: 3em;
        padding-top: 3em;
    }

    #footer_right {
        padding-bottom: 3em;
        padding-top: 3em;
    }

    #footer_right img {
        position: relative; 
        display: block; 
        margin: 0 auto;
    }

    #footer_right p {
        position: relative;
        display: block;
        text-align: center;
        padding: none;
        padding: 0;
        margin: 0;
    }

    img#locwa {
        margin: 0;
        padding: 0;
        display: block;
        margin: 0 auto;
        position: relative;
        float: none;
        max-height: 15em;
        width: auto;
    }
}


@media screen and (min-width: 576px) and (max-width: 769.9999px) {
    .inner-brand img {
        width: 70%;
    }

    #rainier, #pwl {
        height: 550px;
    }
}

@media screen and (min-width: 576px) {
    .mobile_book {
        display: none !important;
    }
}

@media screen and (max-width: 575.9999px) {
    #hostaway-booking-widget {
        display: none;
    }

    .inner-brand {
        max-width: 250px;
    }

    section.module-cover.parallax.text-center.fullscreen {
        height: 65em;
    }

    #social a {
        margin: 0 1em;
        font-size: 1.8em;
        color: #dadad2;
    }

    #social {
        height: 7em;
        padding-top: 0; 
        margin-top: 10em;
    }

    #faq h1 {
        font-size: 1.5rem;
        padding-top: 1em;
        padding-bottom: 1.5em;
    }

    .mobile_book {
        display: block;
    }

    .desktop_book {
        display: none !important;
    }

    #faq {
        padding-left: 1.5em;
        padding-right: 1.5em;
    }

    .blog_lead img {
        max-width: 100%;
    }

    .tall_blog_hero {
        max-height: 30em;
    }
}


@media screen and (max-width: 400px) {
    .inner-brand {
            max-width: 200px;
        }
}

a.text_link {
    border-bottom: 1px dotted gray;
}