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

img { border: 0; }

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

.clearfix, ul.social, footer#page-footer .container { zoom: 1; }
.clearfix:before, ul.social:before, footer#page-footer .container:before { content: ""; display: table; }
.clearfix: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, nav#nav li, #fp-nav ul li figure, 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, ul.social, footer#page-footer .container { zoom: 1; }
.clearfix:before, ul.social:before, footer#page-footer .container:before, .clearfix:after, ul.social:after, footer#page-footer .container:after { content: ""; display: table; }
.clearfix: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, nav#nav li, #fp-nav ul li figure { font-family: DefaultFont, Garamond, Baskerville, "Baskerville Old Face", "Hoefler Text", "Times New Roman", serif; }

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

body.bg-dark .footer-logo svg path { fill: white; }

body.bg-light.gallery_index section.galleries a h1, body.bg-light.gallery_index section.galleries p { color: #fff; }

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; 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; }
@media (min-width: 486px) { body.color-scheme-brown:not(.homepage):not(.gallery_show) .container-fluid.page-header { background: rgba(249, 242, 240, 0.9); } }

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

body.color-scheme-dark-gray { background: #262626; color: #d1d1d1; }
body.color-scheme-dark-gray a { color: #d1d1d1; transition: color 0.5s ease; }
body.color-scheme-dark-gray a:hover { color: #ebebeb; transition: color 0s ease; }
body.color-scheme-dark-gray .container-frame { position: relative; z-index: 100; }
body.color-scheme-dark-gray .container-fluid { box-sizing: border-box; width: 100%; }
body.color-scheme-dark-gray input[type="text"], body.color-scheme-dark-gray input[type="password"], body.color-scheme-dark-gray textarea { background: #fff; color: #555; }
body.color-scheme-dark-gray input[type="submit"] { background: #74b923; color: #fff; }
body.color-scheme-dark-gray .password-form { border: solid 1px #aaa; }
body.color-scheme-dark-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-dark-gray .gallery article.item .details-wrapper .item-details a { color: #232323; }
body.color-scheme-dark-gray span.gc-cs-link { color: #ccc; }
@media (min-width: 486px) { body.color-scheme-dark-gray:not(.homepage):not(.gallery_show) .container-fluid.page-header { background: rgba(38, 38, 38, 0.9); } }

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

body.color-scheme-navy { background: #2C3E50; color: #ECF0F1; }
body.color-scheme-navy a { color: #ECF0F1; transition: color 0.5s ease; }
body.color-scheme-navy a:hover { color: #fbfcfc; transition: color 0s ease; }
body.color-scheme-navy .container-frame { position: relative; z-index: 100; }
body.color-scheme-navy .container-fluid { box-sizing: border-box; width: 100%; }
body.color-scheme-navy input[type="text"], body.color-scheme-navy input[type="password"], body.color-scheme-navy textarea { background: #fff; color: #555; }
body.color-scheme-navy input[type="submit"] { background: #74b923; color: #fff; }
body.color-scheme-navy .password-form { border: solid 1px #aaa; }
body.color-scheme-navy .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-navy .gallery article.item .details-wrapper .item-details a { color: #232323; }
body.color-scheme-navy span.gc-cs-link { color: #444; }
@media (min-width: 486px) { body.color-scheme-navy:not(.homepage):not(.gallery_show) .container-fluid.page-header { background: rgba(44, 62, 80, 0.9); } }

#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; 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; }
@media (min-width: 486px) { body.color-scheme-light-gray:not(.homepage):not(.gallery_show) .container-fluid.page-header { background: rgba(241, 241, 241, 0.9); } }

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

body.color-scheme-cream { background: #FBF7F3; color: #424242; }
body.color-scheme-cream a { color: #424242; transition: color 0.5s ease; }
body.color-scheme-cream a:hover { color: #424242; transition: color 0s ease; }
body.color-scheme-cream .container-frame { position: relative; z-index: 100; }
body.color-scheme-cream .container-fluid { box-sizing: border-box; width: 100%; }
body.color-scheme-cream input[type="text"], body.color-scheme-cream input[type="password"], body.color-scheme-cream textarea { background: #fff; color: #555; }
body.color-scheme-cream input[type="submit"] { background: #74b923; color: #fff; }
body.color-scheme-cream .password-form { border: solid 1px #aaa; }
body.color-scheme-cream .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-cream .gallery article.item .details-wrapper .item-details a { color: #232323; }
body.color-scheme-cream span.gc-cs-link { color: #444; }
@media (min-width: 486px) { body.color-scheme-cream:not(.homepage):not(.gallery_show) .container-fluid.page-header { background: rgba(251, 247, 243, 0.9); } }

#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; 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; }
@media (min-width: 486px) { body.color-scheme-white:not(.homepage):not(.gallery_show) .container-fluid.page-header { background: rgba(255, 255, 255, 0.9); } }

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; 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; }
@media (min-width: 486px) { body.color-scheme-black:not(.homepage):not(.gallery_show) .container-fluid.page-header { background: rgba(17, 17, 17, 0.9); } }

.loading-indicator { padding-top: 50px; text-align: center; }

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

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; font-weight: bold; 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; }

.container-fluid.page-header { position: fixed; top: 0; z-index: 10; }
@media (min-width: 486px) { .container-fluid.page-header { -webkit-backdrop-filter: blur(5px); } }

@media (min-width: 486px) { .page-header { padding: 0 30px !important; } }
@media (max-width: 485px) { .page-header { padding: 0 10px !important; } }
.page-header header { align-items: center; box-sizing: border-box; display: flex; padding: 20px 0; width: 100%; }
.page-header header a { text-decoration: none; }
@media (min-width: 486px) { .page-header header > a { flex: 0 auto; } }
@media (max-width: 485px) { .page-header header > a { flex: 1; } }
.page-header header > * h1 { font-size: 36px; line-height: 1em; }
.page-header header > * h2 { font-size: 20px; line-height: 1em; }
.page-header header .logo img { max-height: 80px; }
.page-header header nav { display: flex; }
@media (min-width: 486px) { .page-header header nav { flex: 1; } }
@media (max-width: 485px) { .page-header header nav { flex: 0 auto; } }
.page-header header nav > * { display: inline-block; }
.page-header header nav ul { display: flex; padding-left: 0; }
@media (max-width: 485px) { .page-header header nav ul { flex-direction: column; flex-wrap: wrap; } }
.page-header header nav ul li { list-style: none; margin: 0 10px; }
.page-header header nav ul.navigation li a { display: block; padding: 7px 5px 5px; white-space: nowrap; }
@media (min-width: 769px) { .page-header header nav { justify-content: flex-end; text-align: right; }
  .page-header header nav .menu { display: none; } }
@media (max-width: 768px) { .page-header header nav { text-align: center; }
  .page-header header nav > .menu { font-size: 24px; padding: 20px; }
  .page-header header nav ul.navigation { background: rgba(0, 0, 0, 0.8); left: 0; overflow: auto; position: fixed; right: 0; transition: all 0.5s ease; }
  .page-header header nav ul.navigation .menu { padding: 30px 30px 10px 10px; text-align: right; }
  .page-header header nav ul.navigation .menu svg { fill: #fff; opacity: 0.5; }
  .page-header header nav ul.navigation:not(.menu-active) { top: 100%; }
  .page-header header nav ul.navigation.menu-active { bottom: 0; top: 0px; }
  .page-header header nav ul.navigation a { color: #fff; margin-right: 0; } }

.gallery_index section.galleries { box-sizing: border-box; display: grid; grid-gap: 30px; justify-content: center; }
.gallery_index section.galleries.square a, .gallery_index section.galleries.square a .background-image { background-position: 20% center; }
.gallery_index section.galleries.landscape a, .gallery_index section.galleries.landscape a .background-image { background-position: 10% center; }
.gallery_index section.galleries.portrait a, .gallery_index section.galleries.portrait a .background-image { background-position: top center; }
@media (max-width: 512px) { .gallery_index section.galleries.square { grid-template-columns: repeat(1, calc(100vw - 60px)); grid-auto-rows: calc(100vw - 60px); }
  .gallery_index section.galleries.landscape { grid-template-columns: repeat(1, calc(100vw - 60px)); grid-auto-rows: 62.5vw; }
  .gallery_index section.galleries.portrait { grid-template-columns: repeat(1, calc(100vw - 60px)); grid-auto-rows: 132.5vw; } }
@media (min-width: 513px) and (max-width: 767px) { .gallery_index section.galleries.square { grid-template-columns: repeat(2, calc(50vw - 45px)); grid-auto-rows: calc(50vw - 45px); }
  .gallery_index section.galleries.landscape { grid-template-columns: repeat(2, calc(50vw - 45px)); grid-auto-rows: 30vw; }
  .gallery_index section.galleries.portrait { grid-template-columns: repeat(2, calc(50vw - 45px)); grid-auto-rows: 55vw; } }
@media (min-width: 768px) and (max-width: 999px) { .gallery_index section.galleries.square { grid-template-columns: repeat(3, calc(33.3vw - 33.25px)); grid-auto-rows: calc(33.3vw - 33.25px); }
  .gallery_index section.galleries.landscape { grid-template-columns: repeat(2, calc(50vw - 45px)); grid-auto-rows: 28vw; }
  .gallery_index section.galleries.portrait { grid-template-columns: repeat(3, calc(33vw - 44px)); grid-auto-rows: 38vw; } }
@media (min-width: 1000px) and (max-width: 1399px) { .gallery_index section.galleries.square { grid-template-columns: repeat(4, calc(25vw - 37.5px)); grid-auto-rows: calc(25vw - 37.5px); }
  .gallery_index section.galleries.landscape { grid-template-columns: repeat(3, calc(33.3vw - 40px)); grid-auto-rows: calc(25vw - 37.5px); }
  .gallery_index section.galleries.portrait { grid-template-columns: repeat(4, calc(25vw - 37.5px)); grid-auto-rows: 30vw; } }
@media (min-width: 1400px) and (max-width: 1799px) { .gallery_index section.galleries.square { grid-template-columns: repeat(5, calc(20vw - 36px)); grid-auto-rows: calc(20vw - 36px); }
  .gallery_index section.galleries.landscape { grid-template-columns: repeat(4, calc(25vw - 37.5px)); grid-auto-rows: 15vw; }
  .gallery_index section.galleries.portrait { grid-template-columns: repeat(5, calc(20vw - 36px)); grid-auto-rows: 25vw; } }
@media (min-width: 1800px) { .gallery_index section.galleries.square { grid-template-columns: repeat(6, calc(16.66vw - 35px)); grid-auto-rows: calc(16.66vw - 35px); }
  .gallery_index section.galleries.landscape { grid-template-columns: repeat(5, calc(20vw - 36px)); grid-auto-rows: 11vw; }
  .gallery_index section.galleries.portrait { grid-template-columns: repeat(6, calc(16.66vw - 35px)); grid-auto-rows: 20vw; } }
.gallery_index section.galleries:after { content: ""; flex: auto; }
.gallery_index section.galleries a { background-repeat: no-repeat; background-size: cover; border-radius: 5px; display: flex; overflow: hidden; position: relative; text-decoration: none; }
.gallery_index section.galleries a .background-image { background-repeat: no-repeat; background-size: cover; bottom: -10px; filter: blur(10px); left: -10px; opacity: 0; position: absolute; right: -10px; top: -10px; transition: opacity 0.5s ease; }
.gallery_index section.galleries a aside { align-items: center; display: flex; flex-direction: column; justify-content: center; opacity: 0; padding: 20px; position: relative; text-align: center; transition: opacity 0.5s ease; width: 100%; }
.gallery_index section.galleries a aside svg { fill: currentColor; margin-bottom: 0.75em; }
.gallery_index section.galleries a aside h1 { font-size: 1.5em; line-height: 1em; justify-content: center; text-shadow: 0 0 20px rgba(0, 0, 0, 0.5); }
.gallery_index section.galleries a:hover .background-image { opacity: 1; transition: opacity 0.25s ease; }
.gallery_index section.galleries a:hover aside { opacity: 1; transition: opacity 0.25s ease; }

body.custom article, body.contact article { padding: 1em 0; }
body.custom section h1, body.contact section h1 { padding-bottom: 0.25em; }
body.custom h2, body.custom h3, body.custom h4, body.custom h5, body.custom h6, body.custom p, body.custom ul, body.custom ol, body.contact h2, body.contact h3, body.contact h4, body.contact h5, body.contact h6, body.contact p, body.contact ul, body.contact ol { padding-bottom: 1rem; }
body.custom ul, body.custom ol, body.contact ul, body.contact ol { padding-left: 2rem; }
body.custom p, body.custom li, body.contact p, body.contact li { line-height: 150%; }
body.custom li, body.contact li { list-style: disc; }
@media (min-width: 486px) { body.custom .page-contents, body.contact .page-contents { margin: 0 auto; width: 800px; }
  body.custom figure, body.contact figure { float: right; margin: 0 0 10px 20px; } }
@media (max-width: 485px) { body.custom figure, body.contact figure { margin-bottom: 20px; } }
body.custom .contents article, body.contact .contents article { margin-bottom: 40px; }
body.custom .bio-photo, body.contact .bio-photo { border-radius: 4px; }
@media (min-width: 769px) { body.custom .bio-photo, body.contact .bio-photo { max-height: 400px; max-width: 200px; } }
@media (max-width: 768px) { body.custom .bio-photo, body.contact .bio-photo { max-height: 60vh; max-width: 100%; } }

ul.social { margin-bottom: 5px; padding-left: 0; }
ul.social li { display: inline-block; height: 24px; list-style: none; width: 24px; }
ul.social li:not(:first-child) { margin-left: 5px; }
ul.social li svg { height: 24px; width: 24px; }
ul.social li a { background-size: 24px 24px; display: inline-block; height: 24px; transition: opacity 0.25s ease; width: 24px; }
ul.social li a:hover { transition: opacity 0s ease; }

.wide-column { width: 70%; }

.password-form { align-items: center; border-radius: 20px; display: flex; min-height: 400px; flex-direction: column; justify-content: center; margin: 20px; padding: 20px; }

article.contact .field { padding-top: 10px; width: 100%; }
article.contact label { display: block; padding-bottom: 3px; }
article.contact .g-recaptcha { margin-top: 10px; }
article.contact input[type=text], article.contact textarea { border-radius: 3px; font-size: 20px; padding: 8px 12px; width: 100%; }
article.contact textarea { height: 100px; }
article.contact input[type=submit] { font-size: 18px; }

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

body.bg-dark ul.social li a { opacity: 0.5; }
body.bg-dark ul.social li a:hover { opacity: 0.75; }

body.bg-light ul.social li a { opacity: 0.75; }
body.bg-light ul.social li a:hover { opacity: 1; }

body:not(.contact) ul.social { text-align: center; }

.fp-tableCell img { margin-top: 50px; max-height: calc(100vh - 100px); max-width: 100%; position: relative; }

.section { margin: 0 10px; }
.section img { border-radius: 5px; }
.section figure.video-container { height: 100vh; }
.section aside { bottom: 20px; color: #fff; left: 30px; position: absolute; text-align: left; width: 300px; }
.section aside h1 { line-height: normal; }
.section aside p.caption { display: inline; font-size: 15px; line-height: normal; padding-bottom: 0; }

body.has-background-blur .section { position: relative; }
body.has-background-blur .section img { box-shadow: 0 0 50px rgba(0, 0, 0, 0.5); }
body.has-background-blur .section .background-image { background-position: center center; background-size: cover; filter: blur(10px); height: 102%; left: -1%; opacity: 0.5; position: absolute; top: -1%; width: 102%; }

body.contact .global-social { display: none; }

footer#page-footer { padding-bottom: 80px; }
footer#page-footer .container { margin-top: 30px; padding: 20px !important; text-align: center; }
footer#page-footer .container .footer-logo { background: none; display: inline-block; height: auto; opacity: 0.25; transition: opacity 0.25s ease; width: auto; }
footer#page-footer .container .footer-logo svg { margin: 0 auto; width: 108.5px; height: auto; }
footer#page-footer .container .footer-logo:hover { opacity: 0.4; transition: opacity 0.1s ease; }
footer#page-footer .container .copyright { font-size: 12px; opacity: 0.5; padding-top: 10px; }

.wrap { margin-left: auto; margin-right: auto; width: 960px; position: relative; }

.section { text-align: center; }

.twitter-share-button { position: fixed; z-index: 99; right: 149px; top: 9px; }

#download { margin: 10px 0 0 0; padding: 15px 10px; color: #fff; text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #49afcd; background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4); background-image: -ms-linear-gradient(top, #5bc0de, #2f96b4); background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4)); background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4); background-image: -o-linear-gradient(top, #5bc0de, #2f96b4); background-image: linear-gradient(top, #5bc0de, #2f96b4); background-repeat: repeat-x; filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#5bc0de', endColorstr='#2f96b4', GradientType=0); border-color: #2f96b4 #2f96b4 #1f6377; border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); -webkit-border-radius: 6px; -moz-border-radius: 6px; border-radius: 6px; vertical-align: middle; cursor: pointer; display: inline-block; -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); }
#download a { text-decoration: none; color: #fff; }
#download:hover { text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); background-color: #2F96B4; background-position: 0 -15px; -webkit-transition: background-position 0.1s linear; -moz-transition: background-position 0.1s linear; -ms-transition: background-position 0.1s linear; -o-transition: background-position 0.1s linear; transition: background-position 0.1s linear; }

#infoMenu { height: 20px; color: #f2f2f2; position: fixed; z-index: 70; bottom: 0; width: 100%; text-align: right; font-size: 0.9em; padding: 8px 0 8px 0; }
#infoMenu ul { padding: 0 40px; }
#infoMenu li { display: inline-block; position: relative; }
#infoMenu li a { display: block; margin: 0 22px 0 0; color: #333; }
#infoMenu li a:hover { text-decoration: underline; }

html.fp-enabled, .fp-enabled body { margin: 0; padding: 0; overflow: hidden; -webkit-tap-highlight-color: transparent; }

#superContainer { height: 100%; position: relative; -ms-touch-action: none; touch-action: none; }

.fp-section { position: relative; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }

.fp-slide { float: left; height: 100%; display: block; }

.fp-slidesContainer { height: 100%; display: block; }

.fp-slides { z-index: 1; height: 100%; overflow: hidden; position: relative; -webkit-transition: all 0.3s ease-out; transition: all 0.3s ease-out; }

.fp-section.fp-table, .fp-slide.fp-table { display: table; table-layout: fixed; width: calc(100% - 20px); }

.fp-tableCell { display: table-cell; vertical-align: middle; width: 100%; height: 100%; }

.protect { height: 100%; left: 0; position: absolute; top: 0; width: 100%; }
.protect.has-meta-info:before { background-image: linear-gradient(20deg, rgba(0, 0, 0, 0.5) 0%, transparent 35%, transparent 100%); bottom: 0; content: ""; left: 0; position: absolute; }
@media (max-width: 768px) { .protect.has-meta-info:before { height: 75vh; width: 100vw; } }
@media (min-width: 769px) { .protect.has-meta-info:before { height: 75vh; width: 75vw; } }

.fp-slidesContainer { float: left; position: relative; }

.fp-controlArrow { -webkit-user-select: none; -moz-user-select: none; -khtml-user-select: none; -ms-user-select: none; position: absolute; z-index: 4; top: 50%; cursor: pointer; width: 0; height: 0; border-style: solid; margin-top: -38px; -webkit-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
.fp-controlArrow.fp-prev { left: 15px; width: 0; border-width: 38.5px 34px 38.5px 0; border-color: transparent #fff transparent transparent; }
.fp-controlArrow.fp-next { right: 15px; border-width: 38.5px 0 38.5px 34px; border-color: transparent transparent transparent #fff; }

.fp-scrollable { overflow: hidden; position: relative; }

.fp-scroller { overflow: hidden; }

.iScrollIndicator { border: 0 !important; }

.fp-notransition { -webkit-transition: none !important; transition: none !important; }

#fp-nav { position: fixed; z-index: 100; margin-top: -32px; top: 50%; opacity: 1; -webkit-transform: translate3d(0, 0, 0); }
#fp-nav.right { right: 17px; }
#fp-nav.left { left: 17px; }

.fp-slidesNav { position: absolute; z-index: 4; left: 50%; opacity: 1; -webkit-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
.fp-slidesNav.bottom { bottom: 17px; }
.fp-slidesNav.top { top: 17px; }

#fp-nav ul, .fp-slidesNav ul { margin: 0; padding: 0; }
#fp-nav ul li a, .fp-slidesNav ul li a { background: #fff; border-radius: 50%; cursor: pointer; display: block; height: 8px; opacity: 0.5; position: relative; text-decoration: none; transition: all 0.2s ease; width: 8px; z-index: 1; }
#fp-nav ul li a.active, .fp-slidesNav ul li a.active { height: 12px; width: 12px; margin: -2px 0 0 -2px; border-radius: 100%; opacity: 1; }
#fp-nav ul li a span, .fp-slidesNav ul li a span { border-radius: 50%; position: absolute; z-index: 1; border: 0; left: 50%; top: 50%; margin: -2px 0 0 -2px; -webkit-transition: all 0.1s ease-in-out; -moz-transition: all 0.1s ease-in-out; -o-transition: all 0.1s ease-in-out; transition: all 0.1s ease-in-out; }
#fp-nav ul li a:hover, .fp-slidesNav ul li a:hover { opacity: 1; height: 12px; width: 12px; margin: -2px 0 0 -2px; border-radius: 100%; }
#fp-nav ul li a:hover.active span, .fp-slidesNav ul li a:hover.active span { height: 12px; width: 12px; margin: -2px 0 0 -2px; border-radius: 100%; }

#fp-nav ul li { display: block; position: relative; }

.fp-slidesNav ul li { display: block; margin: 12px 7px; position: relative; display: inline-block; }

#fp-nav ul li .fp-tooltip { position: absolute; top: -2px; color: #fff; font-size: 14px; white-space: nowrap; max-width: 220px; overflow: hidden; display: block; opacity: 0; width: 0; cursor: pointer; }
#fp-nav ul li:hover .fp-tooltip { -webkit-transition: opacity 0.2s ease-in; transition: opacity 0.2s ease-in; width: auto; opacity: 1; }
#fp-nav.fp-show-active a.active + .fp-tooltip { -webkit-transition: opacity 0.2s ease-in; transition: opacity 0.2s ease-in; width: auto; opacity: 1; }
#fp-nav ul li .fp-tooltip.right { right: 20px; }
#fp-nav ul li .fp-tooltip.left { left: 20px; }

.fp-auto-height.fp-section, .fp-auto-height .fp-slide, .fp-auto-height .fp-tableCell { height: auto !important; }

.fp-responsive .fp-auto-height-responsive.fp-section, .fp-responsive .fp-auto-height-responsive .fp-slide, .fp-responsive .fp-auto-height-responsive .fp-tableCell { height: auto !important; }

#fp-nav { align-items: center; display: flex; margin-top: 0 !important; position: fixed; right: 20px; height: 100%; top: 0; }
#fp-nav ul li { color: #000; font-size: 0; padding-bottom: 8px; position: relative; text-transform: uppercase; }
#fp-nav ul li figure { background: #fff; border-radius: 3px; box-shadow: 0 5px 10px rgba(0, 0, 0, 0.15); color: #000; display: none; font-size: 16px; padding: 5px; position: absolute; right: 22px; text-align: center; top: -3px; }
#fp-nav ul li figure:before { background: #fff; border-radius: 2px; content: ""; height: 10px; position: absolute; right: -5px; top: 7px; transform: rotate(45deg); width: 10px; z-index: -1; }
#fp-nav ul li:hover span { border-radius: 100%; height: 8px; margin: -4px 0 0 -4px; opacity: 1; width: 8px; }
#fp-nav ul li:hover figure { display: block; }
#fp-nav ul li.active span { border-radius: 100%; height: 8px; margin: -4px 0 0 -4px; opacity: 1; width: 8px; }
