/* main_layout.css */
/*  */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
html {
  font-size: 13px;
}

body {
  background: #fff;
  color: #000;
  font-family: Helvetica, sans-serif;
  font-size: 13px;
}

a,
a:visited {
  color: #369;
  text-decoration: none;
}

a:hover {
  color: #5af;
}

*:focus {
  outline: none;
}

#body-wrapper {
  position: relative;
  height: 100vh;
  width: calc(100vw - 0px);
  z-index: 1;
}

#top-bar {
  position: relative;
  padding: 0 100px;
  z-index: 3;
}

#top-row {
  display: flex;
  justify-content: space-between;
  padding: 10px 0;
  flex-wrap: wrap;

  background: linear-gradient(to bottom, rgba(255,255,255,1) 0%, rgba(255,255,255,0.85) 100%);
}

#top-row > * {
  display: flex;
  flex-direction: row;
  align-items: center;
}

#Breadcrumbs {
  background: rgba(255,255,255,0.85);
}

#Breadcrumbs a:not([href]) {
  color: #000;
}

#site-menu {
  font-size: 16px;
}

#site-menu > a {
  /*border: 1px dashed darkslateblue;*/
  /*font-weight: lighter;*/
  color: #0a001f;
  padding: 0 20px;
  align-self: center;
  border-right: 1px solid;
  font-variant: small-caps;
}

#site-menu > a:last-child {
  border-right: none;
}

#site-menu a.menu-dropdown {
  display: none;
}

#user-menu {
  display: flex;
}

#user-menu > span:first-of-type {
  align-self: center;
  display: flex;
  position: relative;
}

#user-menu > span:first-of-type > * {
  align-self: center;
}

#user-menu >
  span:first-of-type >
  span:first-of-type {
  margin-right: 0.25em;
}

#user-menu >
  span:first-of-type >
  i {
  cursor: pointer;
}


#user-menu ul {
  list-style: none;
  position: absolute;
  border-top: 2px solid #ff9c00;
  top: 32px;
  right: 0;
  padding: 3px;
  box-shadow: 6px 6px 15px 0 rgba(0,0,0, 0.2);
  background: #fff;
  display: block;
}

#user-menu ul::before {
	position: absolute;
	width: 0;
	height: 0px;
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	border-bottom: 8px solid #ff9c00;
	top: -9px;
	right: 2px;
	content: "";
}

#user-menu li {
  white-space: nowrap;
  padding: 2px 5px;
}

#user-menu ul.hidden {
  display: none;
}

#content-outer {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: center;
}

#content-wrapper {
  width: 100%;
  margin: 1rem 100px 0 100px;
}

#content-wrapper.no-content-margin {
  margin: 1rem 0 0 0;
}

#content-wrapper.no-content-margin .edit-controls {
  margin: 0 100px;
}

#fixed-content {
  position: fixed;
  width: 100%;
}

.text-content {
  margin-top: 1rem;
}

#status-message {
  font-weight: bold;
  text-align: center;
  padding: 13px;
  border: 1px solid #fff;
  background: #fff;
  box-shadow: 6px 6px 15px 0 rgba(0,0,0, 0.2);
  margin-bottom: 6px;
  position: relative;
}

#status-message::before {
  font-family: "Font Awesome 5 Free";
  content: "\f129"; /* fas fa-info */
  color: #ff9c00;
  padding: 0 1rem;
  font-size: 1.5em;
}

#main-footer {
  background: #fff;
  text-align: center;
}

@media all and (max-width: 1024px){
  #content-wrapper.no-content-margin .edit-controls,
  #content-wrapper {
    margin: 0 5px;
  }
  #top-bar {
    padding: 5px;
  }
}

@media all and (min-width: 1024px) and (max-width: 1280px) {
  #content-wrapper.no-content-margin .edit-controls,
  #content-wrapper {
    margin: 0 calc((100vw - 1080px)/2);
  }

  #top-bar {
    padding: 0 calc((100vw - 1080px)/2);
  }
}

/* Content tabs */
.contentTabs {
  border-bottom : 2px solid #ff9c00;
  border-collapse: collapse;
  white-space: nowrap;
  padding-left: 1em;
  margin-top: 2px;
}

.contentTabs li, .additionalTabs li {
  display: inline;
  font-size: 13px;
}

.contentTabs a,
.contentTabs a:visited {
  background-color: #fff;
  color: #369;
  margin-right: 0.5em;
  padding: 0 1em;
  border-left : 1px dashed #ff9c00;
  border-top : 1px dashed #ff9c00;
  border-right : 1px dashed #ff9c00;
  /*border-radius:7px 7px 0 0;*/
}

.contentTabs a:hover, .contentTabs a:active {
  background-color: #ff9c00;
  color: #369;
}

.contentTabs .selected a,
.contentTabs .selected a:visited,
.contentTabs .selected a:hover {
  border-left : 2px solid #ff9c00;
  border-right : 2px solid #ff9c00;
  border-top : 2px solid #ff9c00;
  border-bottom : 3px solid #fff;
  color: #369;
  background-color : #fff;
}

.additionalTabs {
  padding-right : 2em ;
  text-align : right ;
  margin : 0 ;
}

.additionalTabs a, .additionalTabs a:visited {
  color: #369;
  padding: 0 1em;
  border-left : 1px dashed #ff9c00;
}

.additionalTabs .selected a {
  background-color : #ff9c00;
}


/* Batched navigation */

.listingBar {
  background-color: #fff;
  font-size: 13px;
  border: 1px solid #ddd;
  padding: 0em 1em;
  margin:1em 0;
  text-align: center;
  vertical-align: top;
}

.listingBar a,
.listingBar a:link,
.listingBar a:visited,
.listingBar a:active {
	color : #369;
}

.listingBar a:hover {
	color : #5af;
}

.listingBar a.previous {
    text-align: left;
    float: left;
}

.listingBar a.next {
    text-align: right;
    float: right;
}

/* tree view */

.tree-view > div {
  overflow: hidden;
}

.tree-view i {
  font-size: 25px;
  transition: all 0.5s ease-out;
}

.tree-view i.closed{
  transform: rotate(0deg);
  }

.tree-view i.opened {
  transform: rotate(90deg);
}

.tree-view a.toggle {
  display: inline-block;
  width: 16px;
  padding-left: 3px;
}

.tree-view i.sp {
  display: inline-block;
  width: 16px;
}

/* convenients classes */

.hidden {
  visibility : hidden;
  display : none;
}

.rel-anchor {
  position: relative;
}

.rel-anchor > * {
  position: absolute;
}

.searchfield-wrapper {
  position: relative;
  z-index: 1;
}

.searchfield-wrapper input {
  outline: none;
  border: 2px solid #e0e1e0 !important;
  border-radius: 10px;
  width: 300px;
  z-index: 2;
}

.searchfield-wrapper input {
  background: #ffffffb5 !important;
  font-size: 14px;
  padding-left: 10px;
  padding-right: 25px;
  position: relative;
}

.searchfield-wrapper i {
  z-index: 1;
  position: absolute;
  right: 10px;
  top: 0px;
}

/*  */


/* site_edit_panel.css */
/*  */
#site-edit-panel {
  position: fixed;
  width: 300px;
  left: -300px;
  height: 100vh;
  background: #484848;
  padding: 5px;
  z-index: 4;
}

#site-edit-panel > .handle {
  position: absolute;
  right: -65px;
  top: 35px;
  font-size: 35px;
}

#site-edit-panel > .handle a,
#site-edit-panel > .handle a:hover {
  color: #ff9c00;
}

#site-edit-panel > div.content {
  height: 100vh;
  overflow: scroll;
}

#site-edit-panel a {
  color: #a7d3ff;
}

#site-edit-panel a:hover {
  color: #f1f8ff;
}

/*  */

/* history.css */
/*  */
.comparison th {
  background:#ddd;
}
.comparison .mid {
  background:#f0f0f0;
}
.comparison .insert .left,
.comparison .insert .right {
  background:#dfd;
}

.comparison .replace .left,
.comparison .replace .right {
  background:#fe9;
}

.comparison .delete .left,
.comparison .delete .right {
  background:#fdd;
}

.revision_context {
  border:1px solid #ff9c00;
  background: #f0f0f0;
  padding:0 0.5em;
}
/*  */


/* plinn folder */

/*  */

.listing {
  font-size: 13px;
  border-collapse: collapse;
}

.listing th {
  background-color: #ddd;
  text-align: left;
  padding: 2px 0 1px 4px;
}

.listing th a,
.listing a:link,
.listing a:visited,
.listing a:active {
  color: #369;
}

.listing th a:hover {
	color: #5af;
}

.listing td {
  padding : 2px ;
  vertical-align : middle ;
}

.listing .odd {
  background-color: #fff;
}
.listing .even {
  background-color: #f0f0f0;
}

.listing span.upload-progress {
  display: block;
  position:absolute;
  background:#ef8e32;
  height:4px;
  border-radius:2px;
  width:0;
  top:3px;
}
/*  */

/* Portfolio */
/*
*/
/* Photo / Portfolio */
.photo_viewer {
  width:100%;
  margin-bottom:1px;
  display: flex;
  justify-content: space-between;
}

.image-wrapper {
  width: 100%;
  position: relative;
}

.image-wrapper img {
  position: absolute;
}

.image-wrapper.selected {
  background: unset;
}

.photo_viewer .metadata_bar {
  background: #fff;
  width:20em;
  vertical-align: top;
  position: relative;
}

.image_metadata {
  padding: 0 1em 1em 1em;
  height: calc(100% - 38px); /* 38px: #image_toolbar height */
  overflow: scroll;
}

.photo_viewer .photographer {
  color: unset;
}

.photo_viewer .title_summary {
  color: unset;
}

.photo_viewer .description {
  padding-top:1.5em;
  max-height:22em;
  overflow-y:hidden;
}

.photo_viewer .description:hover {
  max-height:none;
}

.photo_viewer ul.keywords {
  margin: 1em 0;
  list-style: none;
}

.photo_viewer .keywords li {
  position: relative;
  display: inline;
  white-space: nowrap;
  text-align: left;
}

.photo_viewer .keywords li:before {
  content: "#";
  color: #369;
  margin-right: -4px;
}
.photo_viewer .keywords li:hover:before {
  color: #5af;
}


.photo_viewer .keywords li:first-child {
  /*padding-left:0;*/
  /*background:none;*/
}


table.metadata_category {
  color: #9da097;
  background: #3e3e3e;
  font-size: 11px;
  margin-top:1px;
}

table.metadata_category th {
  text-align:right;
  vertical-align:top;
  font-weight:normal;
}

table.metadata_category tr.last td,
table.metadata_category tr.last th {
  padding-bottom:4px;
}

table.metadata_category tr.name td,
table.metadata_category tr.name th {
  margin-top: 4px;
  border-top:1px solid #484848;
  text-align:left;
  padding: 4px 0 2px 10px;
}

table.metadata_category td {
  padding:1px 8px;
}


table.metadata_category input,
table.metadata_category textarea,
table.metadata_category select {
  width:100%;
  color:#d9d9d9;
  font-size:11px;
  font-family: Arial,Helvetica,Geneva,Swiss,SunSans-Regular,sans-serif;
  border:1px solid #3a3a3a;
  background: #3a3a3a;
}

table.metadata_category input:hover,
table.metadata_category textarea:hover,
table.metadata_category select:hover {
  background: #4c4c4c;
}

table.metadata_category input:focus,
table.metadata_category textarea:focus,
table.metadata_category select:focus {
  background: #fff;
  color: #000;
  border: 1px solid #313131;
}

div.portfolio_lightbox {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.portfolio_lightbox a {
  background: #fff;
  color: #000;
  display:block;
  width: 278px;
  /*height: 380px;*/
  text-align:center;
  overflow:hidden;
  margin: 5px;
  border: thin dotted transparent;
  transition: all 0.25s;
}

.portfolio_lightbox a:hover {
  border: thin dotted #5af;
  color: #5af;
}

.portfolio_lightbox h3 {
  text-align: center;
  border-bottom: thin solid #000;
  padding: 2px;
  transition: all 0.25s;
}

.portfolio_lightbox a:hover,
.portfolio_lightbox a:hover h3 {
  background:#fff;
  color: #5af;
}

.portfolio_lightbox img {
  border:none;
}


.portfolio_lightbox div {
  /*padding:0 8px;*/
  text-align:left;
  font-size: 13px;
}

#lightbox_toolbar {
	text-align: right;
}

.lightbox {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.lightbox img {
  display: block;
}

.lightbox > div {
  /* slide square */
  display: flex;
  width: 288px;
  height: 288px;
  justify-content: center;
  align-items: center;
  transition: width 1s, opacity 0.5s;
}

.lightbox .zero_opacity {
	opacity:0;
}

.lightbox .zero_width {
	width:0;
}

.lightbox > div > span {
  /* photo narrow  wrapper */
  position: relative;
}

.lightbox > div > span > span {
  /* photo buttons */
  position: absolute;
  font-size: 20px;
  display: flex;
  width: 100%;
}

.lightbox > div > span.portrait > span {
  /* photo buttons on left side of the img */
  top:0;
  left: -23px;
  flex-direction: column;
}

.lightbox > div > span.landscape > span {
  /* photo buttons on top of the img */
  top: -23px;
  left: 0;
  flex-direction: row;
}

.lightbox > div > span > span > a {
  color: #ff9c00;
}

/* buttons */

.lightbox .button {
  display: none;
}

.lightbox > div:hover .button {
  display: block;
}

.lightbox .portrait .button {
  margin-bottom: 4px;
}

.lightbox .landscape .button {
  margin-right: 4px;
}


.lightbox .selected a.button.selection {
  display: block;
}

.lightbox a.button.selection i::before {
  content: "\f024"; /* far fa-flag */
  font-weight: 400;
}

.lightbox .selected a.button.selection i::before {
  content: "\f024"; /* fas fa-flag */
  font-weight: 900;
}

.lightbox input.button.cb {
  display: none;
}

.lightbox input.button.cb + label.fa {
    color: #ff9c00;
    font-size: 25px;
    width: 25px;
    height: 25px;
    cursor: pointer;
}

.lightbox input.button.cb + label.fa:before {
  content: "\f0c8"; /* far fa-square */
  font-weight: 400;
}


.lightbox input.button.cb:checked + label.button.fa:before {
  content: "\f14a"; /* far fa-check-square */
  font-weight: 400;
}

.lightbox input.button.cb:checked + label.button.fa {
  display: block;
}

/*div.lightbox {*/
  /*!* The lightbox itself.*/
     /*Force this div to fit grid*/
     /*effective height.*/
  /**!*/
  /*overflow:hidden; */
/*}*/

.photo-drop-target.empty {
  background: url('https://photo.plinn.org/image-upload-dd-target.png') no-repeat center center;
  min-height:300px;
}


.image_toolbar {
  white-space: nowrap;
  padding: 3px 0;
  border-top: 1px solid silver;
  border-bottom: 1px solid silver;
  display: flex;
  justify-content: space-around;
  opacity: 1;
  transition: opacity 500ms;
  background: rgba(255,255,255, 0.85);
  z-index: 1;
  position: relative;
  top: 0;
  left: 0;
}

#lightbox_toolbar.image_toolbar {
  justify-content: flex-end;
}

.image_toolbar > * {
  /*border: 1px solid red;*/
  display: inline-block;
  align-self: center;
}

.image_toolbar i.fas {
  font-size: 30px;
  padding: 0 5px;
}
.image_toolbar button i.fas {
  color: #ff9c00;
}

.image_toolbar button {
  background: none;
  border: none;
  cursor: pointer;
}

.image_toolbar .sep {
  display: inline-block;
  /*position: relative;*/
  height: 24px;
  border-left: 1px solid silver;
}

.film_bar {
  background: #fff;
  overflow: hidden;
  position: fixed;
  bottom: 0;
  width: 100%;
}

.film_bar > div {
  white-space: nowrap;
  display: inline-flex;
}

.film_bar > div > span {
  display: block;
}

.film_bar a {
  width: 149px;
  height: 149px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.film_bar a:hover,
.film_bar a.selected {
  background: #e8e8e8;
}

.film_bar a.displayed {
  background: #bfbfbf;
}

/* drag and drop */
.lightbox img,
.lightbox a {
	user-drag: none;
	-moz-user-select: none;
	-webkit-user-drag: none;
}

*[draggable=true] {
	-moz-user-select:none;
	-khtml-user-drag: element;
	-webkit-user-drag: element;
	-khtml-user-select: none;
	-webkit-user-select: none;
}

.lightbox > .dragover {
/*  width: 278px;*/
	border-right: 10px solid #ff9c00;
}

.lightbox > div.placeholder {
  border: 1px dotted #c6c6c6;
  position: relative;
}

.lightbox > div.placeholder .filename {
  position: absolute;
}

.lightbox > div.placeholder .progressbar {
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  border-bottom: 2px solid #ff9c00;
}

body.pt-portfolio #DesktopTitle,
body.pt-portfolio #DesktopDescription {
  text-align: center;
}

body.pt-portfolio #DesktopTitle > span {
  position: relative;
}

body.pt-portfolio #DesktopTitle > span::before {
	display: block;
	position: absolute;
	content: "";
	width: 50%;
	left: 25%;
	top: 1.2em;
	border-bottom: 2px solid #484848;
}

#header_portfolio_presentation_template #DesktopTitle,
#header_portfolio_presentation_template #DesktopDescription,
#header_folder_contents_template #DesktopTitle,
#header_folder_contents_template #DesktopDescription {
  text-align: left;
}

body.pt-photo #content-wrapper {
  margin-top: 0;
}


/* fullscreen */
:-moz-full-screen {
  background: #000;
  background: radial-gradient(ellipse at center, rgb(59, 59, 59) 0%,rgb(0,0,0) 60%);
}

:-moz-full-screen .metadata_bar {
  position: fixed;
  right: 0;
  top: 0;
  width: unset;
  background: transparent;
}

:-moz-full-screen .image_metadata {
  display: none;
}

:-moz-full-screen .image_toolbar {
  padding: 0 5px;
  background: rgba(0, 0, 0, 0.60);
}

:-moz-full-screen .image_toolbar.zero_opacity {
  opacity: 0;
}

:-moz-full-screen .image_toolbar.zero_opacity:hover {
  opacity: 1; /* yeah :-) */
}

:-webkit-full-screen {
  height: 100%;
  width: 100%;
  background: #000;
  background: radial-gradient(ellipse at center, rgb(59, 59, 59) 0%,rgb(0,0,0) 60%);
}

:-webkit-full-screen .metadata_bar {
  position: fixed;
  right: 0;
  top: 0;
  width: unset;
  background: transparent;
}

:-webkit-full-screen .image_metadata {
  display: none;
}

:-webkit-full-screen .image_toolbar {
  padding: 0 5px;
  background: rgba(0, 0, 0, 0.60);
}

:-webkit-full-screen .image_toolbar.zero_opacity {
  opacity: 0;
}

:-webkit-full-screen .image_toolbar.zero_opacity:hover {
  opacity: 1; /* yeah :-) */
}


.fakefullscreen #content-outer {
  z-index: 3;
}

.fakefullscreen .photo_viewer {
  position: fixed;
  top:0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  background: radial-gradient(ellipse at center, rgb(59, 59, 59) 0%,rgb(0,0,0) 60%);
  z-index: 4;
}

.fakefullscreen .image_toolbar i.fa {
  font-size: 40px;
  padding: 0 10px;
}


.fakefullscreen .metadata_bar {
  position: fixed;
  right: 0;
  bottom: 5px;
  width: unset;
  background: transparent;
}

.fakefullscreen .image_metadata {
  display: none;
}

.fakefullscreen .image_toolbar {
  padding: 0 5px;
  background: rgba(0, 0, 0, 0.60);
}

.fakefullscreen .image_toolbar.zero_opacity {
  opacity: 0;
}


@media all and (max-width: 800px) {
  body.pt-photo #content-outer {
    z-index: 3;
  }

  .photo_viewer {
    position: fixed;
    top:0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    background: radial-gradient(ellipse at center, rgb(59, 59, 59) 0%,rgb(0,0,0) 60%);
    z-index: 4;
  }

  .image_toolbar i.fa {
    font-size: 40px;
    padding: 0 10px;
  }


  .photo_viewer .metadata_bar {
    position: fixed;
    right: 0;
    bottom: 5px;
    width: unset;
    background: transparent;
  }

  .image_metadata {
    display: none;
  }

  body.pt-photo .image_toolbar {
    padding: 0 5px;
    background: rgba(0, 0, 0, 0.60);
  }

  .image_toolbar.zero_opacity {
    opacity: 0;
  }

  #image_toolbar a[name="full_screen"] {
    display: none;
  }
}

/*
*/



/* forms */
/*  */

input[type=text],
input[type=password]{
  color: #000;
  background: #fff;
  font-size: 13px;
  border: none;
  border-bottom: 2px solid #ff9c00;
  outline: none;
}

input[type=submit] {
  color: #000;
  background: transparent;
  border: 1px solid #ff9c00;
  font-size: 13px;
  padding: 3px 5px;
  cursor: pointer;
}

textarea {
  color: #000;
  background: #fff;
  font-family: Helvetica, sans-serif;
  padding: 2px;
  border:none;
  border-top: 1px dashed #ff9c00;
  border-bottom: 2px solid #ff9c00;
}

table.TwoColumnForm {
  color: #000;
  background-color: #fff;
  padding : 4px ;
  border-radius: 7px;
  border-collapse: collapse;
}

.config td,
.config th {
  vertical-align: top;
}

table.TwoColumnForm td.ListDefinition {
  font-style: italic }

table.TwoColumnForm th {
  font-weight: normal;
  text-align: right;
  padding-right: 5px;
  padding-bottom: 7px; /* belongs to input border-bottom + td.padding-bottom */
  vertical-align: top;
}

table.TwoColumnForm td {
  padding-bottom: 5px;
}

table.TwoColumnForm td.ListName {
  color: #fff;
  font-weight: bold;
  background-color: #369;
  vertical-align: middle }

table.TwoColumnForm tr {
/*  background-color: #ddd;*/
  vertical-align: top
}

table.TwoColumnForm tr td.TextField {
  vertical-align: top;
  padding-right: 10px;
  padding-left: 10px }

dl.FieldHelp {
  margin: 3px }

dl.FieldHelp dd {
  font-size : 90% ;
  font-style : italic }

table.FolderFactories th {
  text-align : center ;
}

table.FolderFactories td.ListName {
  color: #000;
  font-weight: bold;
  vertical-align: middle;
  padding : 2px;
}

table.FolderFactories td.spacing {
  height : 8px ;
}

.palette {
  width: 100%;
  margin-bottom: 1rem;
}

.palette .toggle {
  padding-right: 5px;
  vertical-align: top;
}

.palette .toggle a,
.palette .toggle a:hover {
  color: #ff9c00;
  font-size: 25px;
}

.palette .toggle i {
  transition: all 0.25s;
}

.palette .toggle.closed i {
  transform: rotate(0);
}

.palette .toggle.opened i {
  transform: rotate(90deg);
}

.palette .main {
  width: 100%;
}
/*  */

/* content_style.css */
/*  */

@font-face {
  font-family: "Coda Caption";
  src: url(https://photo.plinn.org/fonts/CodaCaption-ExtraBold.ttf);
}

h1, h2, h3, h4, h5, h6 {
  color: #000;
  font-size: 18px;
  font-weight: lighter;
  margin: 1em 0 0.5em 0;
}

h1 {
  text-transform: uppercase;
}

h2 {
  font-style: italic;
}

.article-wrapper {
  width: 100%;
  background: transparent;
}

article {
  text-align: justify;
  margin: 0 auto;
  background: #fff;
  min-height: 100vh;
  max-width: 1080px
  /*border: 2px solid orange;*/
}

.layereddocument article {
  margin-top: 50vh;
}

.layereddocument article {
  padding: 10px 10px 0 10px;
}

.slideshow {
  position: relative;
}
.slideshow > img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  /*transition: opacity 1s;*/
}

.flex {
  display: flex;
  flex-wrap: wrap;
}

.img-grid {
  text-align: center;
  max-width: 1200px;
  margin: 0 auto;
}

.img-grid img {
  margin: 0 15px 15px 0;
  display: inline-block;
  height: 270px;
  width: auto;
}

.captioned-img {
  display: inline-block;
  margin: 0 15px 15px 0;
  width: 400px;
  height: 350px;
  position: relative;
}

.captioned-img img {
  width: 400px;
  height: auto;
}

.captioned-img h1 {
  font-weight: bold;
  text-transform: none;
  margin: 0;
}


.layer-selector {
  margin: 10px 0;
}

.rounded-corners {
  border-radius: 7px;
  padding: 7px;
}

.std-border {
  border: 2px solid #ff9c00;
}

.std-background {
  color: #fff;
  padding: 7px;
  background: #ff9c00;
}

.std-background a,
.std-background a:link,
.std-background a:visited,
.std-background a:active {
  color:#ae1b1b;
}

.std-background a:hover {
  color:#f40909;
}

.std-focusbox {
  background: #ff9c00;
  color: #369;
  padding: 7px;
}

.std-focusbox a,
.std-focusbox a:link,
.std-focusbox a:visited,
.std-focusbox a:active {
  color:#f28c18;
}

.std-focusbox a:hover {
  color:#f2ae61;
}

.half-underline {
  position: relative;
}

.half-underline::before {
	display: block;
	position: absolute;
	content: "";
	width: 50%;
	left: 25%;
	top: 1.2em;
	border-bottom: 2px solid #484848;
}


.letter-spacing-plus {
  letter-spacing: 0.4em;
}

.coda {
  font-family: 'Coda Caption', sans-serif;
}

.alt-navbar {
  display: flex;
  justify-content: space-around;
  margin: 10px 0;
}

.alt-navbar a {
  /*border: 1px dashed orange;*/
  border-right: 2px solid #ff9c00;
  text-align: center;
  display: block;
  width: 100%;
  font-size: 18px;
  color: #ff9c00;
}

.alt-navbar a:hover {
    color: #ff9c00;
}

.alt-navbar a:last-child {
  border-right: none;
}

.grid-3-cols {
  display: grid;
  grid-template-columns: 33.333333% 33.333333% 33.333333%;
}

.grid-3-cols > div {
  padding: 1em;
}

.grid-3-cols > div > *:first-child {
  margin-top: 0;
}
/* */
