/* CSS Document for Screens */

@import url('https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,700;1,400;1,700&display=swap');

body {font-family: 'Lora', serif; font-size: 16px; font-weight: 400; color: #000; margin: 0; padding: 0;}

#page {max-width: 1200px; margin: 0 auto; position: relative; }

/* Text */

h1 { margin: 0 0 1em 0; font-size: 2.8em; font-weight: 700; }
h2 { margin: 0 0 .5em 0; font-size: 1.6em; font-weight: 700; line-height: 1.1em; }
h3 { margin: 0 0 .5em 0; font-size: 1.3em; font-weight: 700; }
h4 { margin: 0 0 1.5em 0; font-size: 1em; font-weight: 700; }

p { margin: 0 0 1em 0; }

a { color: #007eff; }
a:visited { color: #65b1ff; }

a.btn { font-size: 1.2em; text-decoration: none; color: #fff; border: 1px solid #fff; padding: 4px 15px; transition: background-color .5s;}
a.btn:hover { background-color: rgba(0,0,255,0.30); }

/* Header */

header { height: 430px; background: #587abc url("../images/blogheader.jpg")no-repeat center bottom; position: relative; }

header.abt { height: 430px; background: #587abc url("../images/about_header.jpg")no-repeat center bottom; position: relative; }
header.serv { height: 430px; background: #587abc url("../images/services_header.jpg")no-repeat center bottom; position: relative; }
header.covid { height: 430px; background: #587abc url("../images/covid_header.jpg")no-repeat center bottom; position: relative; }
header.contact { height: 430px; background: #587abc url("../images/contact_header.jpg")no-repeat center bottom; position: relative; }
header.jobs { height: 430px; background: #587abc url("../images/jobs_header.jpg")no-repeat center bottom; position: relative; }

header a.logo {
    z-index: 1;
    position: absolute; 
    display: block; width: 160px; height: 68px;
    background: url("../images/32west_logo_corner.svg") no-repeat 0 0; background-size: contain;
    top: 15px; left: 20px;

}

header a.logo span { display: none;}

header div.hero { position: absolute; width: 36%; top: 130px; left: 55%; }
header div.hero h1 {line-height: 1em; margin: 0 0 30px 0; color: #FFF;}
header div.hero h2 {line-height: 1em; margin: 0 0 30px 0; color: #FFF;}
header div.hero h3 {line-height: 1em; margin: 0 0 30px 0; color: #FFF;}
header div.hero h5 {line-height: 1em; margin: 0 0 30px 0; color: #FFF;}
header div.hero ul {list-style-type: none; line-height: 1.5em; color: #FFF; padding: 0;}


/* All */

section { padding: 0 30px; }
section::after { content: ''; display: block; clear: both; }

/* Main */

section.main { margin-top: 20px; margin-bottom: 30px; padding: 0; }
section.main aside { width: 33%; float: left; text-align: center;}

section.main page-wrap { margin-top: 20px; margin-bottom: 30px; padding: 0; }
.page-wrap h2 { margin: 1em 1em 1em 0; font-size: 1.8em;}
.page-wrap p { margin: 30px 0px; }
section.main .content { margin: 15px; background: no-repeat center top; background-size: 75px 75px; padding-top: 85px; }

section.main aside h3 a {color: #000000; text-decoration: none;}
section.main aside h3 a:hover { text-decoration: underline;}

section.main aside .content.instagram { background-image: url("../images/icon_insta.svg"); }
section.main aside .content.find-it { background-image: url("../images/icon_marker.svg"); }
section.main aside .content.facebook { background-image: url("../images/icon_fb.svg"); }
section.main aside .content.phone { background-image: url("../images/icon_phone.svg"); }
section.main aside .content.email { background-image: url("../images/icon_email.svg"); }
section.main aside .content.twitter { background-image: url("../images/icon_twitter.svg"); }
section.main aside .content.tiktok { background-image: url("../images/icon_tiktok.svg"); }

/* Section break */

section.break { padding: 0;}
section.mission { margin: 40px; padding: 0; }

/*map */

section.map { background-color: #587abc; padding-top: 30px; padding-bottom: 30px; color: #fff;}

section.atmosphere { background-color: #587abc; padding-top: 30px; padding-bottom: 30px; color: #fff;}

section.atmosphere article { padding: 0 20px 20px 515px; background: url(../images/paul.jpg) no-repeat 0 5px; min-height: 220px;}

/* Atmosphere aka Services */

section.services { background-color: #587abc; padding-top: 30px; padding-bottom: 30px; color: #fff;}

section.services article { padding: 0 20px 20px 515px; background: url(../images/photo_stations.jpg) no-repeat 0 5px; min-height: 220px;}

/*headline */
section.headline { background-color: #587abc; padding-top: 30px; padding-bottom: 30px; color: #fff;}

section.headline article { padding: 0 20px 20px 20px;}
section.headline article .content { padding: 30px 30px 20px 0; }


/*posts */
section.posts {padding: 0 20px 20px 20px; background-color:#F5F5F5;}
section.posts article .content { padding: 50px 100px 20px 100px; }
section.posts article .content h2 { display: inline-block; color: #587abc; font-weight: 700;}
section.posts article .content ul { list-style: none; border-bottom: 1px solid #888;}
section.posts article .content li { padding-bottom: 20px;}
/* about */

section.about {background-color: #eee9d9; position: relative; }

section.about aside { width: 30%; float: left; margin-right: 10px; }

section.about aside .content { padding: 30px 30px 20px 0; }

section.about aside .content img { display: block; margin-bottom: 15px; width: 70%; }

section.about aside .content h4 { margin-bottom: 0; }
section.about aside .content p { margin-bottom: .5em; }
section.about aside .content a { display: inline-block; color: #587abc; font-weight: 700; }

section.about  blockquote { 
    margin: 0; width: 32%; 
    color: #444; 
    background-color: #fff; 
    position: absolute; bottom: 0; right: 4%;
}

section.about blockquote p { margin: 30px 30px 20px 50px; }

section.about blockquote p.quote { font-style: italic; font-size: 1.2em; }

section.about blockquote p.credit {
    color: #777;
    font-size: .9em; margin-top: 0; padding-left: 20px; line-height: 1.3em;
    position: relative;
}

section.about blockquote::before {content: '\201c'; color: #d2bd65;
position: absolute;
    top: 10px; left: 8px;
    font-size: 5em;
    font-family: serif;
}

section.about blockquote p.quote::after {content: '\201d'; font-family: serif;}

section.about blockquote p.credit::before { content: '\2014'; position: absolute; top: -1px; left: 0;}

/* closer */

section.closer { position: relative; }

section.closer aside { width: 30%; float: left; margin-right: 10px; }

section.closer aside .content { padding: 30px 30px 20px 0; font-size: .9em;}
section.closer aside .content ul {list-style: none; margin: 0; padding: 0px;}
section.closer aside .content ul li {padding:.1em;}
section.closer aside .content ul li a:visited { color: #000;}
section.closer aside .content p { margin-bottom: .5em; }
section.closer aside .content a { display: inline-block; color: #000; }
section.closer aside .content a:visited { color: #000; }


/* navigation */

nav {
    
    background-color: rgba(0,0,0,.65);
    position: absolute;
    top: 0px; left: 0px;
    padding: 50px 0 0 0;
    width: 100%;
    
}

nav::after {content: ''; display: block; clear: both;}

nav ul {list-style: none; margin: 0; padding: 0;}

nav ul li:hover { background-color: #030d2b; }
nav ul li:hover > ul { display: block; }

nav ul li a {
    display: inline-block;
    color: #FFFFFF;
    padding: 10px 20px;
    text-decoration: none;
    width: 125px;
    position: relative;
}

nav ul li a:visited { color: #fff; }

nav ul li a:hover { background-color: #587abc; }

nav ul ul { position: absolute; top: 100%; background-color: #030d2b; display: none; }

nav ul ul li { position: relative; }

nav ul ul ul { left: 100%; top: 0px; }

nav a[aria-haspopup="true"]::after {
    content: '';
    display: block; width: 0px; height: 0px;
    position: absolute;
    top: 16px; right: 15px;
    /*border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 4px solid #fff;*/
}

nav > ul > li > a[aria-haspopup="true"]::after {
    /*border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 4px solid #fff;*/
    left: 20px; right: auto;
    bottom: 6px; top: auto;
    
}

/* top-level */

nav > ul { padding-left: 200px; }
nav > ul > li { float: left; }
nav > ul > li > a { width: auto; padding: 10px 20px 15px 20px; }










/* footer */

footer { font-size: .8em; margin: 40px; color: #999; }
footer .content { display: inline; }
footer a { margin-left: 30px; color: #777; }
footer a:visited { color: #777; }
footer a:hover { color: #000; }


/* Media Queries */

@media screen and (max-width: 1000px) {
    
    h1 { font-size: 2.4em; }
    
    /* header */
    
    header div.hero { left: 56%; }
    header div.hero h1 { margin-bottom: 20px; }
    
    /* Section Atmosphere */
    section.services article {padding-left: 400px; background-size: 375px auto;}
     section.atmosphere article {padding-left: 400px; background-size: 375px auto;}
    
    
}

@media screen and (max-width: 825px) {
 
    h1 { font-size: 2.2em; }
    
    /* header */
    
    header { height: 300px; background-image: url("../images/banner_825.jpg"); }
    header div.hero { top: 120px; left: 48%; }
    
    /* Section Atmosphere */
    section.services article {padding-left: 325px; background-size: 300px auto;}
    section.atmosphere article {padding-left: 325px; background-size: 300px auto;}
    
     /* Section about */
    
    section.about blockquote p.quote { font-size: 1.1em; line-height: 1.2em;}
    section.about blockquote p.credit { font-size: .85em;}
	
	/* Secton Closer */
	section.closer aside .content {font-size: .8em;}
}

@media screen and (max-width: 760px) {
    
    h1 { font-size: 1.8em; }
    h2 { font-size: 1.4em; }
    h3 { font-size: 1.1em; }
    a.btn { font-size: 1em; }
    
    /* header */
    
    header a.logo {width: 145px; height: 60px;}
    header div.hero { top: 140px; left: 48%; }
    
    /* Section main */
    section.main { margin-top: 10px; margin-bottom: 10px;}
    section.main aside div.content { background-size: 55px 55px; padding-top: 60px; }
    
    /* section about */
    section.about aside div.content img { width: 85%;}
	
	/* Secton Closer */
	section.closer aside .content {font-size: .6em;}
    
    /*navigation */
    nav {padding-top: 80px;}
    nav > ul { padding-left: 10px;}
}

@media screen and (max-width: 625px) {
    
    h1 { font-size: 1em; }
    h3 { margin-bottom: 0px; }
    a.btn { font-size: .9em;}
    
    /* header */    
    header {height: 160px; background-image: url("../images/banner_625.jpg"); background-position: left top;}
    header a.logo {
        
        width: 100%; height: 66px;
        left: 0px; top: 0px;
        background-color: rgba(0,0,0,.65);
        background-size: 112px 46px;
        background-position: 20px center;
    }
    header div.hero { width: 300px; top: 85px; left: 250px; }
    header div.hero h1 { margin-bottom: 10px; }
    
    /* main */
    section.main aside { width: 100%; float: none; text-align: left;}
    
    section.main aside div.content {
       margin: 8px 20px 8px 0;
        padding: 5px 0px 10px 85px;
        background-size: 50px 50px;
        background-position: 20px 5px;
    
    }
    
    /* services */
    section.services article { padding: 160px 20px 0px 0px; background-size: 300px auto; min-height: initial; }
     section.atmosphere article { padding: 160px 20px 0px 0px; background-size: 300px auto; min-height: initial; }
    
    /* about */
    
    section.about aside {width: 100%; float: none; margin: 0; position: relative; }
    section.about aside div.content { padding: 20px 20px 20px 150px;}
    section.about aside div.content p {font-size: .9em;}
    section.about aside div.content img {
        
        display: inline-block;
        width: 125px;
        position: absolute;
        top: 30px; left: 0px;
        
    }
    
    
    section.about blockquote {
        margin: 0 20px 0 40px;
        width: 90%;
        padding: 1px 0px 20px 0px;
        position: relative;
        
    }
    
    section.about blockquote p.credit { margin-bottom: 0px;}
	

    	/* Secton Closer */
	 section.closer aside {width: 100%; float: none; margin: 0; position: relative; }
    section.closer aside div.content { padding: 20px 20px 20px 100px;}
    section.closer aside div.content  {font-size: 1em;}

   
    /* navigation */
    
    nav { position: static; width: auto; padding: 20px 15px; background-color: #4b0a0c;}
    
    nav ul,
    nav ul ul,
    nav ul ul ul { display: block; position: static; }
    
    nav > ul { padding: 0px; }
    nav > ul > li { float: none; margin-top: 25px;}
    
    nav ul li:hover {background: none;}
    
    nav ul li a { 
    width: auto;
        display: block;
        margin: 8px 10px;
        padding: 8px 15px;
       /* border: 1px solid rgba(255,255,255,.25); */
    
    }
    nav ul li a:hover {background-color: rgba(255,255,255,.2); }   
    
    nav ul ul { background: none; }
    
    nav ul ul li a { margin-left: 30px; }
    nav ul ul ul li a { margin-left: 60px; }
    
    nav a[aria-haspopup="true"]::after{display: none;}
    
    footer div.content {display: block; margin-right: 15px;}
    
    footer div.content a{ margin: 0 20px 0 0; }
}

@media screen and (max-width: 425px) {
    
    header { height: 152px; background-image: url("../images/banner_425.jpg");}
    
    header a.logo { 
    height: 36px; background: rgba(0,0,0,.65) url("../images/32logo_small.svg") no-repeat center;
        background-size: 126px 17px;
    
    }
    
    header div.hero { width: 100%; left:0px; top: 46px; text-align: center;}
    header div.hero h1 { font-size: 1em; margin: 10px;}
    header div.hero a.btn { padding: 2px 30px; font-size: .8em; }
    
    section.about aside div.content {padding: 140px 20px 20px 0px; }
    section.about aside div.content img {width: auto; height: 100px; top:30px;}
    section.about blockquote { margin: 10px 40px 0px 20px;}
	
    /* Secton Closer */
	 section.closer aside {width: 100%; float: none; margin: 0; position: relative; }
    section.closer aside div.content { padding: 20px 20px 20px 50px;}
    section.closer aside div.content  {font-size: .7em;}
	
    footer::after{ content: ''; display: block; clear: both;}
    
    footer div.content a { 
    display: inline-block; margin: 0 0 10px 0;
        float: left;
        clear: both;
    }
}.home {
}

/* menu */
.menu h2 { margin: 30px 0px 0px 0px;
    
}
.menu {
    font-style: italic;
	width:auto;
	list-style: none;
	margin: 0 0 50 2em;
	padding: 0 50px;
	font: 150%/100%;
}
.menu li {
	clear: both;
	margin: 0;
	padding: 0 0 1.8em 0;
	position: relative;
	border-bottom: dotted 2px #999;
    
    }
.menu li.item {
	clear: both;
	margin: 0px;
	padding: 0 0 1.8em 0;
	position: relative;
	border-bottom: hidden;
}

.menu li.tab {
	clear: both;
	margin-left: 20px;
	padding: 0 0 1.8em 0;
	position: relative;
	border-bottom: dotted 2px #999;
}
.menu strong {
	background: #fff;
	padding: 0 10px 0 0;
	font-weight: normal;
	position: absolute;
	bottom: -.3em;
	left: 0;
}


.menu em {
	background: #fff;
	padding: 0 0 0 5px;
	font: 110%/100% Georgia, "Times New Roman", Times, serif;
	position: absolute;
	bottom: -.2em;
	right: 0;
}
.menu span {
	font-size: 80%;
	color: #666;
	margin-left: 3px;
}