* { padding: 0; margin: 0; }
*:focus { outline: none; }

img { border: 0; }

.clear { clear: both; font-size: 5px; }

.clearfix, header, header nav ul, .gallery article.item, ul.social, footer#page-footer .container { zoom: 1; }
.clearfix:before, header:before, header nav ul:before, .gallery article.item:before, ul.social:before, footer#page-footer .container:before { content: ""; display: table; }
.clearfix:after, header:after, header nav ul:after, .gallery article.item:after, ul.social:after, footer#page-footer .container:after { content: ""; display: table; clear: both; }

.left { float: left; }

.right { float: right; }

.text-left { text-align: left; }

.text-right { text-align: right; }

.center { text-align: center !important; }

.justify { text-align: justify; }

.uppercase { text-transform: uppercase; }

.small { font-size: .9rem !important; }

.xsmall { font-size: .825rem; }

.xxsmall { font-size: .75rem; line-height: normal; }

.xxxsmall { font-size: .675rem; }

.normal { font-weight: normal; }

.big { font-size: 1.3rem; }

.bigger { font-size: 1.5rem; }

.relative { position: relative; }

.flex-even { display: flex; }
@media (max-width: 768px) { .flex-even { flex-direction: column; } }
@media (min-width: 769px) { .flex-even > * { flex: 0 0 50%; } }

.opacity-9 { opacity: .9; }

.opacity-75 { opacity: .75; }

.opacity-67 { opacity: .67; }

.opacity-66 { opacity: .66; }

.opacity-50 { opacity: .5; }

.opacity-33 { opacity: .33; }

.opacity-25 { opacity: .25; }

.opacity-1 { opacity: .1; }

.darkgray { color: #333; color: #555; }

.strong { font-weight: bold; }

.absolute-right { position: absolute; top: 0; right: 0; }

.inline { display: inline !important; }

.inline-block { display: inline-block !important; }

.link { background: none; border: none; cursor: pointer; font-family: Helvetica Neue, Helvetica, Arial; text-decoration: underline; }

.link-btn { background: none; border: none; color: #0432FE; cursor: pointer; display: inline-block; font-weight: bold; text-decoration: none; }
.link-btn.small { font-size: 13px; }

.white { color: #fff; }

.red2 { color: #da5959; }

.highlight { background: #f8ffc0; display: inline; }

.highlight2 { background: #edea13; display: inline; padding: 2px; }

.highlight-gray { background: #eee; padding: 10px 15px 5px; }

.no-padd { padding: 0 !important; }
.no-padd.no-ul li { padding-top: 0; }

ul { padding-left: 0; }
ul.list { padding-left: 0; }
ul.list li { list-style: none; padding-left: 0; }
ul.list.floated li { float: left; }
ul li { list-style: none; }

.hide { display: none; }

fieldset { border: none; }

header { display: block; }

hgroup { display: block; }

footer { display: block; }

aside { display: block; }

nav { display: block; }

article { display: block; }

section { display: block; }

.red { color: #c00; }

.mediumgray { color: #969696; }

.lightgray { color: #828486; }

p { line-height: 1.5em; padding-bottom: 10px; }

.modal-basic { bottom: 0; display: table; height: auto; left: 0; margin: auto; overflow: auto; position: absolute; right: 0; top: 0; width: 50%; }

.valign-middle * { display: inline-block; vertical-align: middle; }

.sub * { display: inline-block; vertical-align: sub; }

.top > * { display: inline-block; vertical-align: top; }

a.no { text-decoration: none; }

ol.form { padding-left: 0; }
ol.form li { list-style: none; padding-left: 0; }
ol.form.floated li { float: left; }

@media only screen and (-webkit-min-device-pixel-ratio: 1.3), only screen and (-o-min-device-pixel-ratio: 13 / 10), only screen and (min-resolution: 120dpi) { body { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; } }
* { padding: 0; margin: 0; }

.font { font-family: Calibre, -apple-system, BlinkMacSystemFont, "Roboto", "Helvetica", "Arial", sans-serif !important; }
@media only screen and (-webkit-max-device-pixel-ratio: 1.2), only screen and (-webkit-max-device-pixel-ratio: 1.23958), only screen and (max-resolution: 119dpi) { .font { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; } }

.system-font { font-family: -apple-system, BlinkMacSystemFont, "Roboto", "Helvetica", "Arial", sans-serif; }
@media only screen and (-webkit-max-device-pixel-ratio: 1.2), only screen and (-webkit-max-device-pixel-ratio: 1.23958), only screen and (max-resolution: 119dpi) { .system-font { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; } }

.sf { font-family: -apple-system, BlinkMacSystemFont, Roboto, Helvetica, Arial, sans-serif; font-weight: 300; }

.box-shadow { box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05); }

.rounded-corners { border-radius: 5px; }

.border-radius { border-radius: 5px; }

ul.list { padding-left: 25px; }
ul.list li { list-style: disc; }
ul.list li:not(:first-child) { padding-top: .5em; }

.inline-flex { align-items: center; display: inline-flex; justify-content: space-between; }

.flex { display: flex; }
.flex > *:first-child { flex: 1; }
.flex.reversed { flex-direction: row-reverse; }
@media (max-width: 767px) { .flex.reversed { flex-direction: column-reverse; } }
@media (min-width: 768px) { .flex.reversed aside { margin-right: 2em; } }
.flex:not(.baseline) { align-items: center; }
.flex.baseline { align-items: baseline; }
.flex.top { align-items: flex-start; }

@media (min-width: 768px) { body:not(.fluid) .flex:not(.reversed) aside { margin-left: 2em; } }

.flex-even { display: flex; }

.font-smoothing, .sf, body, input[type=text], input[type=submit], textarea, label, h1, h2, header nav, footer#page-footer .container .copyright { -moz-osx-font-smoothing: grayscale; -webkit-font-smoothing: antialiased; }

.font-smoothing-none { -moz-osx-font-smoothing: auto; -webkit-font-smoothing: auto; }

.clearfix, header, header nav ul, .gallery article.item, ul.social, footer#page-footer .container { zoom: 1; }
.clearfix:before, header:before, header nav ul:before, .gallery article.item:before, ul.social:before, footer#page-footer .container:before, .clearfix:after, header:after, header nav ul:after, .gallery article.item:after, ul.social:after, footer#page-footer .container:after { content: ""; display: table; }
.clearfix:after, header:after, header nav ul:after, .gallery article.item:after, ul.social:after, footer#page-footer .container:after { clear: both; }

body, input[type=text], input[type=submit], textarea, label { font-family: BodyFont, Garamond, Baskerville, "Baskerville Old Face", "Hoefler Text", "Times New Roman", serif; }

h1, h2, header nav { font-family: DefaultFont, Garamond, Baskerville, "Baskerville Old Face", "Hoefler Text", "Times New Roman", serif; }

input[type=submit] { appearance: none; }

.crumb { margin-bottom: 2em; }

body.color-scheme-brown { background: #f9f2f0; color: #524a47; }
body.color-scheme-brown a { color: #524a47; transition: color 0.5s ease; }
body.color-scheme-brown a:hover { color: #524a47; transition: color 0s ease; }
body.color-scheme-brown .container-frame { position: relative; z-index: 100; }
body.color-scheme-brown .container-fluid { box-sizing: border-box; padding: 0 20px; width: 100%; }
body.color-scheme-brown input[type="text"], body.color-scheme-brown input[type="password"], body.color-scheme-brown textarea { background: #fff; color: #555; }
body.color-scheme-brown input[type="submit"] { background: #74b923; color: #fff; }
body.color-scheme-brown .password-form { border: solid 1px #555; }
body.color-scheme-brown .gallery article.item .details-wrapper .item-details { background-image: linear-gradient(rgba(241, 241, 241, 0.9) 0%, rgba(241, 241, 241, 0.5) 60%, rgba(255, 255, 255, 0) 100%); color: #ccc; }
body.color-scheme-brown .gallery article.item .details-wrapper .item-details a { color: #ccc; }
body.color-scheme-brown span.gc-cs-link { color: #ccc; }

#holder_holder a img { max-width: 100%; }

body.color-scheme-light-gray { background: #f1f1f1; color: #444; }
body.color-scheme-light-gray a { color: #444; transition: color 0.5s ease; }
body.color-scheme-light-gray a:hover { color: #111; transition: color 0s ease; }
body.color-scheme-light-gray .container-frame { position: relative; z-index: 100; }
body.color-scheme-light-gray .container-fluid { box-sizing: border-box; padding: 0 20px; width: 100%; }
body.color-scheme-light-gray input[type="text"], body.color-scheme-light-gray input[type="password"], body.color-scheme-light-gray textarea { background: #fff; color: #555; }
body.color-scheme-light-gray input[type="submit"] { background: #74b923; color: #fff; }
body.color-scheme-light-gray .password-form { border: solid 1px #aaa; }
body.color-scheme-light-gray .gallery article.item .details-wrapper .item-details { background-image: linear-gradient(rgba(241, 241, 241, 0.9) 0%, rgba(241, 241, 241, 0.5) 60%, rgba(255, 255, 255, 0) 100%); color: #232323; }
body.color-scheme-light-gray .gallery article.item .details-wrapper .item-details a { color: #232323; }
body.color-scheme-light-gray span.gc-cs-link { color: #444; }

#holder_holder a img { max-width: 100%; }

body.color-scheme-white { background: #fff; color: #333; }
body.color-scheme-white a { color: #333; transition: color 0.5s ease; }
body.color-scheme-white a:hover { color: #111; transition: color 0s ease; }
body.color-scheme-white .container-frame { position: relative; z-index: 100; }
body.color-scheme-white .container-fluid { box-sizing: border-box; padding: 0 20px; width: 100%; }
body.color-scheme-white input[type="text"], body.color-scheme-white input[type="password"], body.color-scheme-white textarea { background: #eee; color: #555; }
body.color-scheme-white input[type="submit"] { background: #74b923; color: #fff; }
body.color-scheme-white .password-form { border: solid 1px #aaa; }
body.color-scheme-white .gallery article.item .details-wrapper .item-details { background-image: linear-gradient(rgba(241, 241, 241, 0.9) 0%, rgba(241, 241, 241, 0.5) 60%, rgba(255, 255, 255, 0) 100%); color: #232323; }
body.color-scheme-white .gallery article.item .details-wrapper .item-details a { color: #232323; }
body.color-scheme-white span.gc-cs-link { color: #444; }

body.color-scheme-black { background: #111; color: #fff; }
body.color-scheme-black header a { text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.25); }
body.color-scheme-black a { color: #fff; transition: color 0.5s ease; }
body.color-scheme-black a:hover { color: #fff; transition: color 0s ease; }
body.color-scheme-black .container-frame { position: relative; z-index: 100; }
body.color-scheme-black .container-fluid { box-sizing: border-box; padding: 0 20px; width: 100%; }
body.color-scheme-black input[type="text"], body.color-scheme-black input[type="password"], body.color-scheme-black textarea { background: #eee; color: #555; }
body.color-scheme-black input[type="submit"] { background: #74b923; color: #fff; }
body.color-scheme-black .password-form { border: solid 1px #aaa; }
body.color-scheme-black .gallery article.item .details-wrapper .item-details { background-image: linear-gradient(rgba(241, 241, 241, 0.9) 0%, rgba(241, 241, 241, 0.5) 60%, rgba(255, 255, 255, 0) 100%); color: #232323; }
body.color-scheme-black .gallery article.item .details-wrapper .item-details a { color: #232323; }
body.color-scheme-black span.gc-cs-link { color: #fff; }

#holder_holder a img { max-width: 100%; }

.buttons .arrow-left-1, .buttons .arrow-right-1 { cursor: pointer; display: inline-block; height: 30px; position: absolute; opacity: 0.75; top: 48%; transition: opacity 0.5s ease; width: 30px; }
.buttons .arrow-left-1:hover, .buttons .arrow-right-1:hover { opacity: 1; transition: opacity 0s ease; }
.buttons .arrow-left-1 { left: 30px; z-index: 10; }
.buttons .arrow-right-1 { right: 30px; z-index: 11; }

input[type="text"], input[type="password"], textarea { border: none; box-sizing: border-box; padding: 5px; }

input[type=submit] { border-radius: 2px; border: none; box-sizing: border-box; cursor: pointer; font-size: 16px; padding: 8px 14px; }

a { text-decoration: underline; }

.container { box-sizing: border-box; margin: 0 auto; padding: 0 20px; width: 100%; z-index: 1; }

h1, h2 { font-weight: normal; }

header { padding: 20px 0; }
header a { text-decoration: none; }
header hgroup { display: inline-block; margin-right: 20px; vertical-align: middle; }
header hgroup h1 { font-size: 36px; }
header hgroup h2 { font-size: 18px; }
header .logo img { max-height: 80px; }
header nav { display: inline-block; vertical-align: middle; }
header nav ul { padding-left: 0; }
header nav ul li { float: left; list-style: none; margin-right: 20px; }
header nav ul li a { display: block; padding: 5px; }

.search-wrapper { margin-top: -2px; position: relative; z-index: 10; }
.search-wrapper .search-toggle { border-radius: 2px; cursor: pointer; display: block; margin-top: 3px; padding: 4px 5px 1px; }
.search-wrapper .search-toggle svg { opacity: 0.6; }
.search-wrapper .search-toggle svg:hover { opacity: 0.8; }
.search-wrapper aside.search { background: #fff; border-radius: 2px; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15); min-width: 300px; position: absolute; right: 0; top: 100%; }
.search-wrapper aside.search header { padding: 1em 1em 0; }
.search-wrapper aside.search .search-close { cursor: pointer; opacity: 0.6; }
.search-wrapper aside.search .search-close:hover { opacity: 0.8; }
.search-wrapper aside.search input.gsc-search-button, .search-wrapper aside.search input.gsc-search-button:hover, .search-wrapper aside.search input.gsc-search-button:focus { background: #3C82FC; }
.search-wrapper aside.search .cse input.gsc-search-button, .search-wrapper aside.search input.gsc-search-button { border: solid 1px #3C82FC; }
.search-wrapper aside.search .gsc-control-searchbox-only { padding: 1em; }
.search-wrapper .gsc-control-* { min-width: 300px; }
.search-wrapper span.gscb_a { margin-top: 4px; }

.homepage #holder { position: relative; }
.homepage #holder_holder { text-align: center; }
.homepage #holder_holder a img { width: auto !important; }

.protect { bottom: 0; height: 100%; left: 0; position: absolute; right: 0; top: 0; width: 100%; }

.gallery { padding-bottom: 50px; }
.gallery hgroup { border-bottom: solid 1px #ccc; margin-bottom: 30px; padding-bottom: 10px; }
.gallery h1 { font-size: 24px; padding-bottom: 10px; }
.gallery article.item { padding-bottom: 20px; position: relative; }
.gallery article.item figure { float: right; overflow: hidden; position: relative; width: calc(100% - 320px); }
.gallery article.item figure .image-container { display: inline-block; overflow: hidden; position: relative; }
.gallery article.item figure .video-container { height: 44vw; }
.gallery article.item aside { float: left; margin-right: 20px; width: 290px; }
.gallery article.item aside h1 a { text-decoration: none; }
.gallery article.item aside p.caption { line-height: 1.5em; }
.gallery .item .pdf object, .gallery .item .pdf .pdf-plugin-missing { min-height: 80vh; width: 100%; height: 100%; }
.gallery .item .pdf .pdf-plugin-missing p { position: relative; top: 50%; transform: translateY(-50%); }
.gallery .item img { max-width: 100%; }

body.show-titles ul.galleries li a:before { background-image: linear-gradient(rgba(0, 0, 0, 0.4), transparent 100%); content: ""; height: 100%; position: absolute; top: 0; width: 100%; z-index: 2; }
body.show-titles ul.galleries li a h1, body.show-titles ul.galleries li a p { opacity: 1; text-shadow: 1px 1px 5px rgba(0, 0, 0, 0.25); }
body.show-titles ul.galleries li a h1 { top: 0; z-index: 4; }
body.show-titles ul.galleries li a p { z-index: 3; }

ul.galleries { margin-right: -5px; padding-left: 0; padding-bottom: 60px; }
ul.galleries li { box-sizing: border-box; float: left; height: 280px; list-style: none; margin: 0 15px 10px 0; overflow: hidden; position: relative; transition: width 0.3s ease, height 0.3s ease; width: 280px; }
ul.galleries li.privacy-password:before { border: solid 1px #fff; border-radius: 3px; bottom: 5px; content: ""; height: 18px; left: 5px; opacity: 0.5; padding: 4px 5px; position: absolute; transition: opacity 0.2s linear; width: 18px; z-index: 10; }
ul.galleries li:hover.privacy-password:before { opacity: 1; transition: opacity 0s linear; }
ul.galleries li a { background: #000; display: block; height: 100%; opacity: 1; position: relative; text-decoration: none; width: 100%; transition: background 0.05s ease; }
ul.galleries li a figure { background-position: center center; background-size: cover; display: block; height: 100%; left: 0; opacity: 1; position: absolute; top: 0; width: 100%; transition: opacity 0.3s ease; transition-delay: 0s; }
ul.galleries li a:hover { transition: background 0.2s ease; transition-delay: 0s; }
ul.galleries li a:hover figure { opacity: 0.4; transition: opacity 0.2s ease; }
ul.galleries li a:hover h1 { opacity: 1; top: 0; transition: top 0.2s ease, opacity 0.2s ease; transition-delay: 0s; }
ul.galleries li a:hover p { opacity: 1; top: 0 !important; transition: opacity 0.25s ease-in; transition-delay: 0.05s; }
ul.galleries li a h1 { color: #fff; text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.4); font-size: 20px; opacity: 0; padding: 20px 20px 10px; position: relative; transition: top 0.5s ease, opacity 0.2s ease; top: -8px; }
ul.galleries li a p { box-sizing: border-box; color: #fff; height: 40px; opacity: 0; padding: 0 20px; position: relative; transition-delay: 0.25s; width: 100%; transition: opacity 0.1s ease-out; }
ul.galleries li a p br { display: none; }

.password-form { border-radius: 5px; margin: 40px auto; padding: 30px 30px 40px; text-align: center; width: 400px; }
.password-form input[type="text"] { border-radius: 2px; font-size: 18px; padding: 7px; position: relative; top: 1px; width: 200px; }

.notice { background: #66982c; border-radius: 4px; color: #fff; padding: 10px; }

.errors { background: #c00; border-radius: 4px; color: #fff; padding: 10px; }

section.custom { max-width: 800px; margin: 0 auto; }
section.custom p img { max-width: 100%; }
section.custom iframe { max-width: 100%; }

body.contact aside { text-align: right; }
body.contact .contents section { margin-bottom: 40px; }
body.contact .bio-photo { border-radius: 200px; max-height: 200px; max-width: 100%; }

.wide-column { width: 70%; }

article.contact .field { padding-top: 10px; width: 300px; }
article.contact label { display: block; }
article.contact input[type=text], article.contact textarea { font-size: 16px; width: 100%; }
article.contact textarea { height: 100px; }
article.contact section.form, article.contact section.ancillary { float: left; width: 50%; }

.external-site { display: inline-block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; width: 250px; }

ul.social { padding-left: 0; }
ul.social li { float: left; height: 24px; list-style: none; margin-left: 5px; width: 24px; }
ul.social li:first-child { margin-left: 0; }

.gallery-description { margin-top: -10px; }

#fotomotoWidget input { color: #000; }

footer#page-footer { padding-bottom: 80px; }
footer#page-footer .container { margin-top: 100px; padding: 20px !important; }
footer#page-footer .container .footer-logo { float: left; opacity: 0.5; transition: opacity 0.25s ease; }
footer#page-footer .container .footer-logo:hover { opacity: 1; transition: opacity 0s ease; }
footer#page-footer .container .copyright { font-family: "Helvetica Neue", Helvetica, Arial; font-size: 12px; float: right; opacity: 0.5; padding-top: 3px; text-align: right; width: calc(100% - 100px); }

@media (max-width: 350px) { ul.galleries li { width: 100%; } }
@media (min-width: 351px) and (max-width: 1080px) { ul.galleries li { width: 49%; width: calc(50% - 15px); } }
@media (min-width: 1081px) and (max-width: 1445px) { ul.galleries li { width: 33%; width: calc(33% - 15px); } }
@media (min-width: 1446px) and (max-width: 1810px) { ul.galleries li { width: 24%; width: calc(25% - 15px); } }
@media (min-width: 1811px) and (max-width: 2175px) { ul.galleries li { width: 19%; width: calc(20% - 15px); } }
@media (min-width: 2176px) { ul.galleries li { width: 16%; width: calc(16.66% - 15px); } }
@media (min-width: 769px) { body.contact .gallery article.item aside { min-width: 50px; max-width: 200px; }
  body.contact .gallery article.item figure { margin-right: 50px; } }
@media (max-width: 1024px) { body.contact article.item.contact { margin-left: 20px; }
  body.contact article.item.contact figure, body.contact article.item.contact aside { float: none; width: 100%; } }
@media (max-width: 945px) { .container { width: 100%; }
  .gallery .item img { max-width: 100% !important; } }
@media (max-width: 768px) { .gallery_show .gallery article.item { padding-bottom: 30px; }
  .gallery_show .gallery article.item aside { float: none; width: 100%; }
  .gallery_show .gallery article.item aside p.caption { font-size: 1em; }
  .gallery_show .gallery article.item figure { float: none; margin-left: -20px; margin-bottom: 15px; text-align: center; width: 100%; width: calc(100% + 40px); }
  body.contact .about aside, body.contact .about figure { float: none; text-align: left; width: 100%; }
  body.contact .gallery { padding-right: 10px; }
  body.contact article.item.contact { margin-left: 0; }
  body.contact section.form, body.contact section.ancillary { float: none; width: 100%; } }
@media (max-width: 500px) { header hgroup { display: block; margin-right: 0; text-align: center; }
  header hgroup a { display: inline-block; }
  header nav { display: block; }
  header nav ul { text-align: center; }
  header nav li { display: inline-block; float: none !important; }
  header nav li:last-child { margin-right: 0; }
  ul.galleries li { width: 100%; } }
body.bg-dark .search-wrapper .search-toggle:hover { background: rgba(255, 255, 255, 0.25); }
body.bg-dark .search-wrapper .search-toggle svg g, body.bg-dark .search-wrapper .search-toggle svg path { fill: white; }
body.bg-dark .search-wrapper h2 { color: rgba(0, 0, 0, 0.75); }

body.bg-light .search-wrapper .search-toggle:hover { background: #ddd; }
body.bg-light .search-wrapper .search-toggle svg g, body.bg-light .search-wrapper .search-toggle svg path { fill: black; }
