/* CMS and Theme by IO200 CMS (https://www.io200.com) */
@import "_base.css?v=2.10.4a";


/*#########################################################*/
/*##########LAYOUT#########################################*/
/*#########################################################*/
:root{--website-background:#fff;} 
@media (min-width:1000px){html{margin-left:calc(100vw - 100%);}}
body {font-size:15.2px;font-family:'Open Sans', sans-serif;color:#464646;background:var(--website-background);}
main h1,main h2,main h3,main h4,main h5,main h6{color:#222222;}

/*----------DESKTOP----------------------------------------*/
@media (min-width:1000px){
  div#container{width:100%;max-width:1360px;margin:0 auto;padding:2rem 3rem;box-sizing:border-box;}
  header, main, footer{width:100%;}
  header{display:flex;gap:0.2em 2em;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;}
  main{padding:1rem 0;}
  footer{margin-top:0.5rem;clear:both;}
}
/*header*/
@media (min-width:1000px){
  header span.website-title{color:#222222;font-size:2.3em;font-weight:400;font-family:'Roboto Condensed', sans-serif;display:inline-block;}
  header span.website-title:hover{cursor:pointer;}
  header span.website-tagline{margin-top:0.1rem;font-size:0.92em;display:block;}
}
/*nav*/
@media (min-width:1000px){  
  header nav {font-size:1.1em;width:100%;}
  header nav ul{display:flex;flex-wrap:wrap;gap:0.5em 1.5em;list-style:none;}
  header nav ul li{position:relative;}
  header nav ul li a, header nav ul li span{color:#343434;text-decoration:none;letter-spacing:0.025em;font-weight:300;}
  header nav li a:hover, header nav li.active > a{color:#aaaaaa;}
  header nav > ul > li > ul {font-size:0.96em;z-index:100;display:none;position:absolute;margin-left:-0.4em;padding:0.4em;background:var(--website-background);box-shadow:0 0 0.25em 0 rgba(0,0,0,0.1);box-sizing:border-box;}
  header nav > ul > li:hover ul{display:block;}
  header nav > ul > li > ul li{line-height:2em;padding:0 0.2em 0.2em 0.2em;white-space:nowrap;}
  header nav > ul > li > ul li:last-child{padding-bottom:0;}
}
/*footer*/
@media (min-width:1000px){
  footer nav ul.secondary li{font-size:0.96em;display:inline-block;}
  footer nav ul.secondary li:after, footer nav ul.secondary ul:before{content:"\00a0/\00a0";color:#383838;}
  footer nav ul.secondary li:last-child:after{content:"";}
  footer p.footer-info{font-size:0.8em;}
}

/*----------MOBILE----------------------------------------*/
@media (max-width:999px){
  div#container{padding:0 1rem;width:100%;box-sizing:border-box;}
  header, main, footer{width:100%;box-sizing:border-box;}
  header{margin-top:0.2em;padding:1.2rem 36px 1.2rem 0;background-image:url(../img/menu_light.png);background-position:center right;background-repeat:no-repeat;background-size:16px 12px;}
  header.shownav{background-image:url(../img/menu-close_light.png);background-size:16px 16px;}
  body::after{position:absolute;width:0;height:0;overflow:hidden;z-index:-1;content:url(../img/menu-close_light.png);} /*preload image*/
  main{padding-top:1rem;padding-bottom:1rem;}
  footer{margin-bottom:1.2rem;}
}
/*header*/
@media (max-width:999px){
  header div.title-container{display:flex;align-items:center;justify-content:space-between;}
  header span.website-title{color:#222222;line-height:1em;font-weight:400;font-family:'Roboto Condensed', sans-serif;display:inline-block;}
  header span.website-title:hover{cursor:pointer;}
  header span.website-tagline{display:none;}
}
@media (max-width:999px){header span.website-title{font-size:2.8em;}}
@media (max-width:600px){header span.website-title{font-size:2.6em;}}
@media (max-width:540px){header span.website-title{font-size:2.4em;}}
@media (max-width:500px){header span.website-title{font-size:2.2em;}}
@media (max-width:480px){header span.website-title{font-size:2.0em;}}
@media (max-width:440px){header span.website-title{font-size:1.8em;}}
@media (max-width:400px){header span.website-title{font-size:1.6em;}}
@media (max-width:360px){header span.website-title{font-size:1.4em;}} 
/*nav (modern)*/
@media (max-width:999px){
  header nav {position:static;}
  header nav ul {line-height:1.6em;list-style:none;}
  header nav > ul{margin-top:1.2rem;text-align:center;z-index:1000;display:none;position:absolute;left:0;width:100%;border:0;background:var(--website-background);box-shadow:0 6px 8px rgba(0, 0, 0, 0.2);border-top:1px solid #f4f4f4;}
  header.js-nav.shownav nav > ul, header:not(.js-nav):hover nav > ul, header:not(.js-nav):active nav > ul{display:block;}
  header nav > ul > li{padding:0.3rem;}
  header nav > ul li{border-right:0;width:100%;box-sizing:border-box;}
  header nav > ul li:first-child{border-left:none;margin-left:0;}
  header nav > ul li > a, header nav > ul li > span{color:#222222;font-size:1.2em;font-weight:700;padding:0.4rem 0.6rem;width:100%;display:inline-block;box-sizing:border-box;text-align:left;text-decoration:none;letter-spacing:0.04em;}
  header nav > ul li a:hover, header nav > ul li a:active{text-decoration:underline;}
  header nav > ul ul{margin-top:-0.4rem;}
  header nav > ul ul li a, header nav > ul ul li span{font-size:1em;font-weight:600;padding:0.3rem 0.6rem 0.3rem 1.6rem;}
}
@media (max-width:999px){
  body.shownav header nav > ul {height:calc(100vh - 1.2rem - 2.6rem - 1rem + 1rem);overflow:auto;}
  body.shownav header nav > ul > *:last-child{margin-bottom:6rem;}
  body.shownav{overflow:hidden;}
}
@media (max-width:999px){ 
  header:not(:has(nav ul li)) nav {display:none;}
  header:not(:has(nav ul li)){background-image:none!important;}
}
/*footer*/
@media (max-width:999px){
  footer, footer nav, footer nav ul{justify-content:center;flex-basis:100%;text-align:center;}
  footer nav ul.secondary{font-size:0.96em;line-height:1.8em;}
  footer nav ul.secondary li{display:inline-block;}
  footer nav ul.secondary li:after, footer nav ul.secondary ul:before{content:"\00a0\00a0\2022\00a0\00a0";}
  footer nav ul.secondary li:last-child:after{content:"";}
  footer p.footer-info{font-size:0.8em;text-align:center;}
}




/*#########################################################*/
/*##########CUSTOM#########################################*/
/*#########################################################*/
@media (min-width:1000px){main.template-photoshowcase{margin-top:-0.5rem;margin-bottom:-1rem;}}
@media (max-width:999px){main.template-photoshowcase, main.template-photo{margin-top:-1rem;}}


/*---Flavor:LAYOUT_CENTER---*/
@media (min-width:1000px){
  div#container{max-width:1420px;}
  div#container main{padding-top:1em;margin-top:1.5em;}
  header{row-gap:0;}
  header div.title-container{width:100%;text-align:center;}
  header nav {margin:1em auto 0 auto;max-width:60em;}
  header nav ul{justify-content:center;}
  footer{justify-content:center;}
  footer nav ul{flex-basis:100%;justify-content:center;text-align:center;}
  footer nav ul.secondary li:after, footer nav ul.secondary ul:before{content:"\00a0\00a0\2022\00a0\00a0";}
  footer nav ul.secondary li:last-child:after{content:"";}
  footer p.footer-info{text-align:center;}
}
/*---Flavor:BASE_CENTER---*/
@media (min-width:1000px){
  div#container main.template-page:not(.page-fullwidth):not(.frontpage), 
  div#container main.template-contact{max-width:56rem;margin-left:auto;margin-right:auto;}
  div#container main.template-phototimeline{max-width:72rem;margin-left:auto;margin-right:auto;}
  div#container main.template-blog section.blog-article:not(.style-classic) article div.content >*.template-tag {margin-left:auto;margin-right:auto;max-width:76rem;}
  div#container main.template-blog section.blog-article:not(.style-classic) article div.content >*:not(.template-tag) {margin-left:auto;margin-right:auto;max-width:60rem;display:block;}
  div#container main.template-blog:has(section.layout-grid) .sectioncontainer.layout-flat aside.sectionaside,
  div#container main.template-blog .sectioncontainer.layout-flat.view-article aside.sectionaside{width:auto;}
  div#container main.template-blog section.blog-article:not(.style-classic) article div.content > ul:not(.template-tag),
  div#container main.template-blog section.blog-article:not(.style-classic) article div.content > ol:not(.template-tag){padding-left:1.5em;box-sizing:border-box;}
  main.template-set > .collection-description, main.template-album > .collection-description, main.template-albums > .collection-description{max-width:64rem;margin-left:auto;margin-right:auto;}
  div#container main.template-photoshowcase{max-width:78rem;margin-left:auto;margin-right:auto;}
  main h1, main h2 {text-align:center;}
  main form.form-inline, main form.form-inline p{text-align:center;}
  main span.pretitle{display:none;}
  main div.backlink{display:block;}
  main ul.gallery.layout-grid {justify-content:center;}
  main ul.gallery.layout-mosaic{justify-content:center;}
  main ul.gallery.layout-slideshow.gallery-mounted ul.slideshow-navigation.thumbs{margin-left:auto;margin-right:auto;width:min-content;max-width:100%;}
  main ul.gallery.gallery-set.layout-masonry span.info-title{text-align:center;}
  main ul.gallery.gallery-set.layout-masonry span.info-summary{text-align:center;}
  main ul.pagination{text-align:center;}
  main.template-contact p{text-align:center;}
  main.template-set p.collection-description, main.template-album p.collection-description, main.template-albums p.collection-description, main.template-photosearch p, main.template-error404 p{text-align:center;}
  main.template-set div.button-container, main.template-album div.button-container, main.template-albums div.button-container{justify-content:center;}
  main.template-photo div.photo-image img.photo{object-position:center 0;}
  main.template-photo ul.photo-contextphotos.gallery.layout-mosaic{justify-content:flex-start;}
  main.template-photo section.sectionaside > *:not(.photo-caption){text-align:center;justify-content:center;}
  main.template-photoshowcase > :first-child.start-singlephoto{margin-top:0;}
  main.template-photoshowcase div.start-singlephoto img.photo{margin-left:auto;margin-right:auto;}
  main.template-phototags p {text-align:center;}
  main.template-phototags ul.tags {justify-content:center;}
  main.template-phototimeline > *{text-align:center;}
  main.template-phototimeline ul.gallery.gallery-album.layout-wall li.dummy{display:none;}
  main.template-blog .blog-posts.layout-grid {justify-content:center;}
  .sectioncontainer.layout-flat article .header{text-align:center;}
  .sectioncontainer.layout-flat article .content h3, .sectioncontainer.layout-flat article .content h4 {text-align:center;}
  .sectioncontainer.layout-flat article .content table{margin-left:auto;margin-right:auto;}
  .sectioncontainer.layout-flat article .content blockquote{margin-left:auto;margin-right:auto;display:block;width:max-content;max-width:100%;}
  .sectioncontainer.layout-flat article .content ul.gallery.layout-grid{justify-content:center;}
  .sectioncontainer.layout-flat article .content p + ul.gallery.template-tag{margin-top:2em;}
  .sectioncontainer.layout-flat div.article-comments{text-align:center;}
  .sectioncontainer.layout-flat div.article-comments > *{text-align:left;}
  .sectioncontainer.layout-flat aside.sectionaside{text-align:center;}
  article.style-card p.excerpt{text-align:justify;text-align-last:center;}
  article.style-card .header, article.style-card .content{text-align:center;}
  .sectioncontainer.layout-flat div.article-comments{margin-left:auto;margin-right:auto;}
  .sectioncontainer.layout-flat section.blog-archive, 
  .sectioncontainer.layout-flat section.blog-archive p{text-align:center;}
  .sectioncontainer.layout-flat section.blog-archive ul{margin-left:0;list-style:none;}
  .sectioncontainer.layout-flat section.blog-archive ul li{margin-bottom:0.5em;}
  .sectioncontainer.layout-aside section,
  .sectioncontainer.layout-aside section h1,
  .sectioncontainer.layout-aside section h2,
  .sectioncontainer.layout-aside section ul{text-align:left;}
  main.template-basket div.button-container{justify-content:center;}
  main.template-basket span.sharelinikmessage{text-align:center;}
  main.template-basket div.infobox{margin-left:auto;margin-right:auto;text-align:center;}
}

/*---Flavors:PHOTOSITE---*/
/*photo max height*/
@media (min-width:1000px){main.template-photo div.photo-image img.photo{max-height:calc(100vh - 5.5em);}}
/*prev/next links outside*/
@media (min-width:94em){
  main.template-photo p.photo-prevnext{position:fixed;}
  main.template-photo p.photo-prevnext a.previous_photo,
  main.template-photo p.photo-prevnext a.next_photo{opacity:1;transform:scale(1, 2);position:fixed;top:calc(50% - 1em);visibility:hidden;}
  main.template-photo p.photo-prevnext a.previous_photo{left:1rem;}
  main.template-photo p.photo-prevnext a.next_photo{right:1rem;}
  main.template-photo p.photo-prevnext a.previous_photo::before,
  main.template-photo p.photo-prevnext a.next_photo::after{padding:0.2em;font-size:1.5em;font-weight:100;color:#464646;visibility:visible;}
  main.template-photo p.photo-prevnext a.previous_photo::before{content:"<";}
  main.template-photo p.photo-prevnext a.next_photo::after{content:">";}
}
/*mobile styles on desktop*/
@media (min-width:1000px){ /*copy _base mobile*/
  main.template-photo .sectionaside > h4{margin-top:0;margin-bottom:0;}
  main.template-photo dl.photo-exif {display:flex;flex-wrap:wrap;column-gap:1em;}
  main.template-photo dl.photo-exif dt {display:none;}
  main.template-photo dl.photo-exif dd {white-space:nowrap;}
  main.template-photo ul.photo-albums{display:flex;flex-wrap:wrap;column-gap:1em;}
  main.template-photo aside{display:flex;flex-direction:column;}
  main.template-photo aside .photo-contextphotos{order:99;}
}
/*table layout*/
@media (min-width:1000px){
  main.template-photo .sectioncontainer-photo{display:block;}
  main.template-photo .sectionaside-photo{width:100%;}
  main.template-photo aside.sectionaside-photo{margin-top:2em;gap:1em 1em;width:auto!important;display:grid;grid-template-columns:auto 1fr;align-items:baseline;} 
  main.template-photo aside.sectionaside-photo > *{margin:0;line-height:initial;font-size:1em;}
  main.template-photo aside ul.photo-albums li{margin-bottom:0;}
  main.template-photo aside h4.photo-contextphotos{grid-column:1 / 3;font-size:1.1em;margin-top:1em!important;margin-bottom:-0.6em!important;}
  main.template-photo aside ul.photo-contextphotos{grid-column:1 / 3;order:99;}
}
/*max width:center*/
@media (min-width:1000px){
  main.template-photo div.photo-image img.photo{margin-left:auto;margin-right:auto;}
  main.template-photo div.photo-image img.photo.photo-portrait{max-width:64rem;}
  main.template-photo section.sectionaside-photo > *:not(.photo-image){max-width:64rem;margin-left:auto;margin-right:auto;}
  main.template-photo aside.sectionaside-photo{max-width:64rem!important;margin-left:auto;margin-right:auto;}
}
/*contextphotos desktop gallery*/
@media (min-width:1000px){
  main.template-photo ul.photo-contextphotos.gallery.layout-mosaic{width:100%;}
  main.template-photo ul.photo-contextphotos.gallery.layout-mosaic {overflow-x:initial;gap:1em;align-items:self-start;flex-wrap:wrap;}
  main.template-photo ul.photo-contextphotos.gallery.layout-mosaic li {width:calc((100% - 1em * 5) / 6 - 0.1px);margin:0;aspect-ratio:3/2;}  
}
/*contextphotos mobile swipe gallery*/
@media (max-width:999px){	
  main.template-photo ul.photo-contextphotos.gallery.layout-mosaic{width:100%;padding-bottom:0.4em;}
  main.template-photo ul.photo-contextphotos.gallery.layout-mosaic {overflow-x:auto;gap:2%;align-items:self-start;flex-wrap:nowrap;}
  main.template-photo ul.photo-contextphotos.gallery.layout-mosaic li {width:42%;aspect-ratio:3/2;flex-shrink:0;}
  main.template-photo ul.photo-contextphotos.gallery.layout-mosaic li:has(img.photo-portrait) {width:calc(42% / 3 * 2 / 3 * 2);aspect-ratio:2/3;}
}
/*mobile fullsize photo*/
@media (max-width:999px){
  main.template-photo div.photo-image{width:calc(100% + 2rem);margin-left:-1rem;margin-bottom:1rem;}
  main.template-photo{margin-top:0;}
  main.template-photo div.photo-image img.photo{margin-top:-1rem;}
}

/*---Flavor:PHOTOSHOWCASE---*/
/*mobile fullsize*/
@media (max-width:999px){
  main.template-photoshowcase div.start-singlephoto,
  main.template-photoshowcase div.start-slideshow{width:calc(100% + 2rem);margin-left:-1rem;}
}

/*---Flavor:FONT_CrimsonText---*/
/*CrimsonText 400*/
@font-face{
  font-family:'Crimson Text';font-style:normal;font-weight:400;font-display:swap;
  src:local('Crimson Text Regular'),url('../fonts/CrimsonText-Regular.ttf') format('truetype');
}
/*CrimsonText 400italic*/
@font-face{
  font-family:'Crimson Text';font-style:italic;font-weight:400;font-display:swap;
  src:local('Crimson Text Italic'),url('../fonts/CrimsonText-Italic.ttf') format('truetype');
}
/*CrimsonText 600*/
@font-face{
  font-family:'Crimson Text';font-style:normal;font-weight:600;font-display:swap;
  src:local('Crimson Text SemiBold'),url('../fonts/CrimsonText-SemiBold.ttf') format('truetype'); 
}
/*CrimsonText 700*/
@font-face{
  font-family:'Crimson Text';font-style:normal;font-weight:700;font-display:swap;
  src:local('Crimson Text Bold'),url('../fonts/CrimsonText-Bold.ttf') format('truetype'); 
}

@media (min-width:1000px){
  body {font-size:15.5px;}
}
header span.website-title{font-family:'Crimson Text';}
header span.website-tagline{margin-top:-0.1rem;}
@media (min-width:1000px){
  header span.website-title{font-size:2.5em;}
}
@media (max-width:999px){
  header span.website-title a{font-size:1.1em;font-weight:600;}
}
main h1{font-size:2.4em;}
main h2{font-size:1.8em;}
main h3{font-size:1.6em;}
main h4{font-size:1.4em;}
main h5{font-size:1.2em;}
main h6{font-size:1.1em;}
main h1,main h2,main h3,main h4,main h5,main h6{font-family:'Crimson Text';}
@media (min-width:1000px){main.template-photo aside.sectionaside-photo > h4{font-family:'Open Sans'}}
@media (min-width:1000px){
  footer p.footer-info{font-size:0.75em;}
  footer p.footer-info a.footer-link{font-size:0.66rem;}
} 
main.template-photo h2.photo-title {font-size:1.4em;}
article.style-modern .header .header-title h2{font-size:1.8em;font-weight:600;}


/*---Flavor:NAV_UPPERCASE+UNDERLINE---*/
@media (min-width:1000px){
  header nav > ul > li > a, header nav > ul > li > span{display:inline-block;margin-bottom:1px;font-size:0.86em;font-weight:400;line-height:1.8em;text-transform:uppercase;letter-spacing:1.5px;border-bottom:1px solid rgb(0 0 0 / 0%);}
  header nav > ul > li.active:not(:hover) > a, header nav > ul > li.active:not(:hover) > span{color:#343434;border-color:#343434;}
  header nav > ul > li:hover > a, header nav > ul > li:hover > span{color:#343434;}
  header nav > ul > li > a:last-child:hover, header nav > ul > li > span:last-child:hover{border-color:#343434;}
  header nav > ul ul li{text-transform:uppercase;font-size:0.92em;}
  header nav > ul ul a{letter-spacing:1.5px}
}
/*---Flavor:NAV_WIDER2---*/
@media (min-width:1000px){
  header nav ul{column-gap:3em;}
}
/*---Flavor:NAV_COLORED---*/
@media (min-width:1000px){
  header nav > ul > li:hover > a, header nav > ul > li:hover > span{color:#005381;}
  header nav > ul > li > a:last-child:hover, header nav > ul > li > span:last-child:hover{border-color:#005381;} 
  header nav > ul ul li.active a, header nav > ul ul li.active span, header nav > ul ul a:hover{color:#005381;}
}

