/*
	Theme Name: Ollie
	Description: Ollie Resco Custom Theme
	Author: Collective Movement
	
	Version: 3.4.2
	
	Template: genesis
	Template Version: 3.4.2

*/

html { box-sizing: border-box; font-size: 62.5%; line-height: 1.15; -webkit-text-size-adjust: 100%; height: 100%; }
*, *::before, *::after { box-sizing: inherit; }
.clearfix:before, .entry:before, .site-container:before, .site-header:before, .site-footer:before, .site-inner:before, .wrap:before { content: " "; display: table; }
.clearfix:after, .entry:after, .site-container:after, .site-header:after, .site-footer:after, .site-inner:after, .wrap:after { clear: both; content: " "; display: table; }
body { color: #333; font-family: 'Open Sans', sans-serif; font-size: 1.8rem; font-weight: 400; line-height: 1.625; margin: 0; }
body.home { background: transparent; background-image: url(/media/bg.jpg); background-size: cover; background-repeat: no-repeat; background-position: 50% 50%; }

.site-container { display: flex; flex-direction: column; animation: fadein 1s; word-wrap: break-word; position: relative; min-height: 100vh; }
.site-inner { display: flex; align-items: center; justify-content: center; flex: 1; }
.site-footer { padding: 10px 0; text-align: center; }
.site-footer p { color: #7d7d7d; font-family: 'Open Sans', sans-serif; font-size: 1.2rem; font-weight: 600; line-height: 1.4em; margin: 0; }
a { color: #000; text-decoration: none; transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out; }
a:focus, a:hover { color: #333; text-decoration: none; outline-width: 0; }
embed, iframe, img, object, video { max-width: 100%; }
@keyframes fadein { from { opacity: 0; } to { opacity: 1; } }

/* Logo
========================= */
.company-logo { display: block; padding: 0 2em; }
.company-logo img { width: 275px; max-width: 100%; }

/* Portfolio
========================= */
body.portfolio { background: #1a1a1a; overflow: hidden; height: 100%; }
.portfolio .site-container { height: 100%; }
.portfolio.password-protected { overflow: visible; }

/* Vote
========================= */
body.vote { background: #1a1a1a; overflow: hidden; height: 100%; }
.vote .site-container { height: 100%; }

/* Password Protect
========================= */
.password-protected .site-container { animation: none; }
.password-protected .site-inner { padding: 0; }

.password-protect-login { display: flex; justify-content: center; margin: 0 auto; padding: 0 2em; min-height: 350px; max-width: 675px; width: 100%; height: 100vh; }
.password-protect-login-wrapper { display: flex; align-items: center; width: 100%; }
.password-protect-login-form { background: #fff; display: flex; flex-direction: column; justify-content: center; border: 1px solid rgba(32, 32, 32, .2); border-radius: 5px; box-shadow: 4px 8px 8px -4px rgba(0, 0, 0, .2); margin: 0; padding: 1em; max-width: 100%; width: 100%; height: auto; min-height: 225px; }
.password-protect-login-form-inner { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; align-items: center; }
.pass-protected-overview { display: flex; flex-direction: column; width: 45%; }
.pass-protected-logo { display: block; margin: 0 auto; padding: 0 0 1.25em; }
.pass-protected-logo img { max-width: 200px; width: 100%; }
.pass-protected-message { display: flex; flex-direction: column; margin: 0 auto; align-items: center; }
.pass-protected-message span { color: #1a1a1a; font-family: 'Open Sans', sans-serif; font-size: 1.8rem; font-weight: 600; line-height: 1; letter-spacing: -.02em; padding: 0 0 .2em; }
.pass-protected-message span:nth-of-type(2) { font-size: 1.8rem; font-weight: 600; letter-spacing: 0; padding: 0; text-transform: none; }

.protected-post-form { display: flex; flex-direction: column; width: 50%; padding: .5em; }
.protected-post-form .invalid { background: transparent; color: rgba(255, 7, 7, 1); font-family: 'Open Sans', sans-serif; font-size: 1.5rem; font-weight: 400; line-height: 1.2; margin: 0.2em 0 .5em; text-align: center; }

.form-pass { display: block; color: #1a1a1a; background-color: #fff; border-left: 0; border-right: 0; border-top: 0; border-bottom: 1px solid #8c8f94; -webkit-border-radius: 0; font-size: 18px; overflow: hidden; width: 100%; height: 50px; line-height: 1.4; padding: 4px 2px; margin: 0 0 15px; min-height: 40px; max-height: none; }

input.form-pass::placeholder { font-size:14px; }

.form-pass:focus { outline: 2px solid transparent; }
.form-submit { background-color: #31373d; border-color: transparent; border-radius: 3px; border-style: solid; border-width: 2px; color: #fff; cursor: pointer; font-family: 'Open Sans', sans-serif; font-size: 14px; font-weight: 600; letter-spacing: .05em; line-height: 1.4; margin: 10px 0 0; padding: 8px 10px; text-decoration: none; text-transform: uppercase; text-align: center; text-overflow: ellipsis; }

/* Privacy Policy
=================================================== */
.privacy-policy .site-inner { margin: 0; padding: 0; max-width: 100%; }
.privacy-policy .overview { display: flex; flex-direction: column; margin: 0; padding: 2em 2em 4em; width: 100%; }

.privacy-policy .overview .overview-container { display: flex; flex-direction: column; margin: 0 auto; padding: 2em 0 0; max-width: 1480px; width: 100%; }

.privacy-policy .overview .overview-container .overview-details h1 { color: #333; font-family: 'Open Sans'; font-size: 3.2rem; font-weight: 400; line-height: 1; margin: 0 0 .1em; padding: 0; position: relative; text-align: left; text-transform: uppercase; }
.privacy-policy .overview .overview-container .overview-details p { color: #333; font-family: 'Open Sans'; font-size: 1.8rem; font-weight: 400; line-height: 1.4; margin: 0; padding: 1em 0; position: relative; text-align: left; }
.privacy-policy .overview .overview-container .overview-details a { color: #333; }
.privacy-policy .overview .overview-container .overview-details strong { font-weight: 700; line-height: 1.8em; }

/* 404-General
=================================================== */
.not-found .site-inner { display: flex; flex-direction: column; justify-content: center; margin: 0 auto; padding: 0 2em; max-width: 1280px; min-height: 800px; width: 100%; height: 100%; }
.not-found .content { float: none; display: flex; justify-content: center; width: 100%; }
.not-found .entry { display: block; margin-bottom: 1em; padding: 0; overflow: hidden; }
.not-found .entry h1 { color: #000; font-family: 'Open Sans'; font-size: calc(148px + (148 - 18)*((100vw - 420px) /(1920 - 420))); letter-spacing: 0; line-height: 1em; margin: 0; text-align: center; text-shadow: 0 5px 12px rgba(48, 49, 51, 0.1), 0 8px 15px rgba(48, 49, 51, 0.3); }
.not-found .entry p { color: #000; display: block; font-family: 'Open Sans'; font-size: 1.8rem; font-weight: 800; line-height: 1.2em; margin: 0; padding: 1em 0; text-align: center; }
.back-home { display: flex; justify-content: center; }
.back-home-btn { color: #000; background: transparent; border: 1px solid #000; border-radius: 0; font-family: 'Open Sans'; font-size: 1.4rem; font-weight: 600; line-height: 1.4; margin-top: 20px; padding: 14px 18px; position: relative; text-align: center; text-transform: uppercase; text-decoration: none; letter-spacing: 0; }

.back-home-btn:hover { border: 1px solid #7e7e7e; color: #7e7e7e; }

/* Responsive
--------------------------------------------- */
@media only screen and (max-width: 1480px) {
.not-found .site-inner { min-height: 750px; }
}

@media only screen and (max-width: 1280px) {
.pass-protected-logo img { max-width: 190px; }
.privacy-policy .overview .overview-container .overview-details h1 { font-size: 3rem; }
.not-found .site-inner { min-height: 700px; }
.back-home-btn { margin-top: 16px; }
}

@media only screen and (max-width: 1024px) {
.company-logo img { width: 250px; }
.password-protect-login-form { padding: .8em; }
.password-protect-login-form-inner { justify-content: center; }
.pass-protected-overview { margin-left: 0; margin-right: auto; padding-left: .5em; padding-right: 1em; }
.pass-protected-logo { padding: 0 0 1em; }
.privacy-policy .overview { padding: 1.5em 1.5em 4em; }
.privacy-policy .overview .overview-container .overview-details h1 { font-size: 2.8rem; }
.privacy-policy .overview .overview-container .overview-details p { font-size: 1.7rem; }
.not-found .site-inner {  min-height: 650px; }
.back-home-btn { margin-top: 12px; }
}

@media only screen and (max-width: 768px) {
.company-logo img { width: 225px; }
.password-protect-login { max-width: 650px; }
.password-protect-login-form { padding: .5em; }
.pass-protected-logo { padding: 0 0 .8em; }
.pass-protected-logo img { max-width: 180px; }
.pass-protected-message span { font-size: 1.7rem; }
.pass-protected-message span:nth-of-type(2) { font-size: 1.7rem; }
.privacy-policy .overview { padding: 1em 1.5em 3em; }
.privacy-policy .overview .overview-container .overview-details h1 { font-size: 2.6rem; }
.not-found .site-inner { min-height: 600px; padding: 0 1.5em; }
.not-found .entry p { font-size: 1.7rem; }
.back-home-btn { font-size: 1.3rem; padding: 12px 14px; }
}

@media only screen and (max-width: 719px) {
.pass-protected-overview { width: 43%; }
.protected-post-form { width: 52%; }
.privacy-policy .overview .overview-container .overview-details h1 { font-size: 2.4rem; }
}

@media only screen and (max-width: 640px) {
.company-logo img { width: 200px; }
.password-protect-login-form { min-height: 215px; padding: .5em; }
.pass-protected-overview { padding-right: .8em; }
.pass-protected-logo { padding: 0 0 .5em; }
.pass-protected-logo img { max-width: 175px; }
input:placeholder-shown { font-size: 16px; }
.privacy-policy .overview { padding: 1em 1.5em 2em; }
.privacy-policy .overview .overview-container { padding: 1.5em 0 0; }
.privacy-policy .overview .overview-container .overview-details h1 { font-size: 2.2rem; }
.not-found .site-inner { min-height: 550px; }
.not-found .entry p { font-size: 1.6rem; }
.back-home-btn { font-size: 1.3rem; margin-top: 10px; }
}

@media only screen and (max-width: 580px) {
.password-protect-login-form { padding: 1em 1em .8em; }
.password-protect-login-form-inner { flex-direction: column; }
.pass-protected-overview { margin-left: auto; width: 100%; }
.pass-protected-logo { margin: 0 auto; padding: 0 0 .8em; }
.pass-protected-logo img { max-width: 200px; }
.pass-protected-message { align-items: center; }
.protected-post-form { padding: 1em .5em; width: 100%; }
}

@media only screen and (max-width: 480px) {
.company-logo img { width: 175px; }
.password-protect-login { padding: 0 1em; max-width: 450px; }
.password-protect-login-form { padding: .8em 1em .5em; }
.protected-post-form { padding: .8em .5em; }
.privacy-policy .overview .overview-container .overview-details h1 { font-size: 2rem; }
.privacy-policy .overview .overview-container .overview-details p { font-size: 1.6rem; }
.not-found .site-inner { min-height: 500px; padding: 0 1.2em; }
.not-found .entry p { font-size: 1.5rem; }
.back-home-btn { padding: 10px 12px; }
}

@media only screen and (max-width: 420px) {
.company-logo img { width: 175px; }
.not-found .site-inner { min-height: 450px; }
.not-found .entry p { font-size: 1.6rem; }
}