/* Shared Variables. */
:root {
  --layout-max-width: 960px;
  --side-nav-width: 200px;
  --main-bg: #cdcdcd;
  --main-bg-dark: #181818;
  --main-padding: 8px;  /* Default padding LEFT & RIGHT */

  --head-bg: #968d7b;  /* Fancy header background /w fancy 3D text! */
  --head-bg-dark: #46433d;

  --blog-bg: #e0e0e0;
  --blog-bg-dark: #282828;
}

/* Body Formatting. */
body {
  background: #b0b0b0;  /* Fallback 1. */
  background:
    linear-gradient(180deg, #00000070 45px, #00000000 51px),
    linear-gradient(180deg, #00000080 45px, #00000000 100px),
    url('bg-scene.png') no-repeat top 45px center, #b0b0b0;
  background-attachment: fixed;
  color: #181818;
  font-size: 19px;
  font-family: Open Sans, Arial, Arial, serif;
}
body.dark-theme  {
  background: #303030;
  background:
    linear-gradient(180deg, #00000070 45px, #00000000 51px),
    linear-gradient(180deg, #00000080 45px, #00000000 100px),
    url('bg-scene.png') no-repeat top 45px center,
    linear-gradient(180deg, #202020, #404040);
  color: #d0d0d0;
}

/* Scrollbar: otherwise not properly visible somehow due to background-attachment that is fixed!? */
body::-webkit-scrollbar {
	width: 1em;
	background: #d0d0d0;
}
body::-webkit-scrollbar-track {
	-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
	background: #d0d0d0;
}
body::-webkit-scrollbar-thumb {
	-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3);
	background: #555;
}

/* Header Formatting. */
h1, h2 {
  font-family: Verdana, Arial, Tahoma, sans-serif;
}
h1 {
	color: #303030;
	margin-top: 8px;
  padding-top: 6px;    /* IMPORTANT: do NOT use margin, as it messes with layout! */
	padding-bottom: 6px;  /* IMPORTANT: do NOT use margin, as it messes with layout! */
  margin-bottom: 8px;
	font-weight: 900;
	font-size: 24px;
  line-height: 110%;
  scroll-margin-top: 48px;  /* Prevents scrolling too far for anchors! */
}
h2 {
	color: 303030;
	margin-top: 7px;
  padding-top: 5px;    /* IMPORTANT: do NOT use margin, as it messes with layout! */
	padding-bottom: 5px;  /* IMPORTANT: do NOT use margin, as it messes with layout! */
  font-weight: 900;
  font-size: 24px;
  line-height: 110%;
  scroll-margin-top: 42px;  /* Prevents scrolling too far for anchors! */
}
.dark-theme h1 {
  color: #f14f00;
}
.dark-theme h2 {
  color: #f1a300;
}

/** Block Formatting. */
p {
  padding-top: 6px;     /* IMPORTANT: do NOT use margin, as it messes with layout! */
  padding-bottom: 6px;  /* IMPORTANT: do NOT use margin, as it messes with layout! */
  line-height: 130%;
}
blockquote {  /* Line Breaks NOT Preserved. */
  padding: 5px 10px 5px 10px;
  display: block;
  margin-top: 5px;
  margin-bottom: 5px;
  border-left: 5px solid #606060;
  line-height: 120%;
}
pre {  /* Line Breaks Preserved. */
  tab-size: 2;
  padding-bottom: 8px;
  display: block;
  margin-bottom: 5px;
  padding: 10px;
  border: 2px dashed #999999;
  line-height: 110%;
}
pre:has(code) {
  padding: 0px;
  border: 2px solid #e0e0e0;
}
.dark-theme pre:has(code) {
  border: 2px solid #505050;
}
pre code {  /* Using: https://highlightjs.org/ -- see include in <HEAD>! */
  display: block;
  font-size: 16px;
  line-height: 100%;
}
blockquote, pre, pre code {
  background: #c0c0c0;
}
.dark-theme blockquote,
.dark-theme pre,
.dark-theme pre code {
  background: #303030;
}
code {  /* Monospaced Font. */
  background: #c8c8c8;
  font-family: Consolas, Monaco, monospace;
  font-weight: 200;
}
.dark-theme code {
  background: #383838;
}

/* For address information. */
address {
  background: #c0c0c0;
  border: 2px dashed #a0a0a0;
  line-height: 120%;
  padding: 10px 16px 10px 16px;
  display: block;
}
.dark-theme address {
  background: #20262e;
  border: 2px dashed #505f7a;
}
address .logo {
  width: 100%;
  height: 140px;
  background: url(fg-company-banner.jpg) no-repeat;
  background-size: var(--layout-max-width);
  background-position: left top;
}

/* List Formatting. */
ol {
	list-style-type: decimal;
	list-style-position: outside;
	padding-left: 30px;
}
ul {
	list-style-type: disc;  /* filled circle */
	list-style-position: outside;
	padding-left: 30px;
}
ol li,
ul li {
  padding: 2px;
	line-height: 24px;
	text-decoration: none;
  list-style-position: outside;
  overflow-wrap: anywhere;  /* Otherwise long links won't break! */
}

/* Text Formatting. */
b, strong {
	font-weight: bold;
	filter: brightness(1.10);
}
i, em {
	font-style: italic;
}
small {
  font-size: 15px;
}

/* Link Formatting. */
a { color: #0085bd; overflow-wrap: anywhere; }
a:visited { color: #0076a7; }
a:hover { color: #bd0000; }
.dark-theme a { color: #00aeef; }
.dark-theme a:visited { color: #0098f2; }
.dark-theme a:hover { color: #ff5400; }

a[href$='.zip']:not(.download) {
  background:transparent url(interface/compress.png) center right no-repeat;
  display: inline-block;
  padding-right: 25px;
}
a[href^="mailto:"],
a[href^="mailto:"]:visited {
  color: #d24500;
  background:transparent url(interface/email.png) center left no-repeat;
  display: inline-block;
  padding-left: 30px;
}
a[href^="mailto:"]:hover {
  color: #ffffff;
}
.dark-theme a[href^="mailto:"],
.dark-theme a[href^="mailto:"]:visited {
  color: #ffe400;
  background:transparent url(interface/email-dark.png) center left no-repeat;
}
.dark-theme a[href^="mailto:"]:hover {
  color: #ffffff;
}

/* ------------------------------------------------------------------------------------------------------------------ */

/* Page Header. NOTE: now its own tag! */
header {
  position: fixed; /* Set the navbar to fixed position */
  z-index: 99;
  top: 0;
  width: 100%;
  padding: 0px;
  background: linear-gradient(180deg, #444, #333);
  font-size: 40px;
  font-weight: bold;
  border-bottom: solid 1px #000000;
}

/* Page Content. NOTE: this is the tag! */
main {
  display: table;      /* for <aside>. */
  table-layout: fixed; /* for <aside>. */
  background: var(--main-bg);
  max-width: var(--layout-max-width);
  min-height: 800px;
  margin: auto;
  margin-top: 45px;  /* Needs to match header height. */
  width: 100%;
}
.dark-theme main {
  background: var(--main-bg-dark);
}

/* Article for e.g. showcasing or such. */
article {

}

/* Page Content with padding left and right. */
section {
  padding-left: var(--main-padding);
  padding-right: var(--main-padding);
}
section > h1 {
  text-transform: uppercase;
  background: #c0c0c0;
}
section > h1::first-letter {
  color: #f0f0f0;
  background: #808080;
  padding-left: 5px;
  padding-right: 4px;
  margin-right: 3px;
}
.dark-theme section > h1 {
  background: none;
  background: #202020;
}
.dark-theme section > h1::first-letter {
  color: #fff200;
  background: #303030;
}

/* Page Side Menu (if any). */
aside {
  width: var(--side-nav-width);
  height: 100%
  z-index: 100;
  background: #404040;
  background: linear-gradient(180deg, var(--head-bg) 100px, #a0a0a0 1200px);  /* OLD: #4d4f51 | ALT-Gray: #4e4e4e */
  display: table-cell; /* Make elements inside the container behave like table cells */
  vertical-align: top;
}
.dark-theme aside {
  background: linear-gradient(180deg, var(--head-bg-dark) 100px, var(--blog-bg-dark) 800px);
}
aside nav {
  position: fixed;
  display: block;
  width: var(--side-nav-width);
}
aside nav i {
  display: block;
  color: #00000080;
  padding: 8px;
  padding-top: 12px;
  padding-bottom: 12px;
  font-style: normal;
  font-size: 20px;
  font-weight: 800;
  text-align: center;
  /* Text Emboss */
  text-shadow: 1px 1px 1px #ffffff40;
  background: linear-gradient(180deg, #000000ff, #00000000 4px);  /* Needs to match .spotlight TOP-SHADOW. */
}
.dark-theme aside nav i {
  color: #ffffffb0;
  text-shadow: 0px -1px 1px #00000080;
}
aside nav ul {
	list-style-type: none;
	list-style-position: outside;
  padding: 0px;
  width: 100%;
}
aside nav ul li {
  width: 100%;
  padding-left: 0px;
  padding-right: 3px;
  padding-top: 1px;
  padding-bottom: 1px;
  margin: 0px;
}
aside nav ul li a,
aside nav ul li a:visited {
  display: inline-block;
  width: 100%;
  margin: 0px;
  padding: 6px;
  padding-left: 11px;
  text-decoration: none;
  background: #00000020 !important;
  color: #d0d0d0 !important;
  border-left: 5px solid #ffffff60;
}
aside nav ul li a:hover {
  background: #b0b0b0 !important;
  color: #202020 !important;
}
aside nav ul li a:hover {
  color: #202020 !important;
}

aside nav ul li ul {
  padding-top: 1px;
  padding-bottom: 1px;
}
aside nav ul li ul li {
  padding-right: 0px;
  padding-top: 1px;
  padding-bottom: 1px;
}
aside nav ul li ul li a,
aside nav ul li ul li a:visited {
  display: inline-block;
  padding-left: 11px;
  width: 100%;
  text-decoration: none;
  background: #00000060 !important;
  font-size: 17px;
  border-left: 5px solid #00000040;
}
aside nav ul li ul li a:hover {
  background: #ffffff20 !important;
  color: #ffffff !important;
}

/** Small Screen. */
@media screen and (max-width: 780px) {
  aside {
    display: none;  /* We just hide it for now! */
  }
}

/* Page Footer. NOTE: now its own tag! */
footer {
  width: 100%;
  background: #484848;
}
footer nav {
  overflow: hidden;
  width: 100%;
  max-width: var(--layout-max-width);
  margin: auto;
  background: #202020;
  border-top: solid 1px #000000;
  padding: 16px;
  padding-top: 6px;
  font-size: 18px;
  line-height: 23px;
  color: #a0a0a0;
}
footer nav .column {
  font-weight: 100;
  color: #707070;
  padding-top: 10px;
}
footer ul,
footer li {
  padding: 0px;
  margin: 0px;
  text-decoration: none;
  font-size: 18px;
  line-height: 23px;
}
footer ul {
	list-style-type: none;
}

footer .company {
  position: relative;
  height: 80px;
}
footer .company .logo {
  position: relative;
  width: auto;
  height: 48px;
  margin-left: 200px;
  background: url(fg-company.png) no-repeat;
  background-size: 48px;
}
footer .company p {
  position: absolute;
  font-size: 18px;
  line-height: 23px;
  top: 6px;
  left: 0px;
}

footer a { color: #c0c0c0 !important; }
footer a:visited { color: #c0c0c0 !important; }
footer a:hover { color: #f0f0f0 !important; }

/* ------------------------------------------------------------------------------------------------------------------ */

/* Image will shrink as needed. */
.responsive {
  width: 100%;
  height: auto;
}

/* Fixes the layout for e.g. right-floating images. See: https://www.w3schools.com/howto/howto_css_clearfix.asp */
.clearfix::after {
  content: "";
  clear: both;
  display: table;
}
.clearfix-right {
  float: right;
  margin-top: 10px;
  margin-left: 10px;
  margin-bottom: 10px;
}

/* Create 2 equal columns that floats next to each other */
.row {
  display: table;  /* Make the container element behave like a table (so 'cells' have same height!) */
  table-layout: fixed;
  margin: 0 auto;
  width: 100%;
}
.row:after {
  content: "";
  display: table;
  clear: both;  /* Clear floats after the columns */
}
.column {
  width: 50%;
  display: table-cell; /* Make elements inside the container behave like table cells */
  vertical-align: top;
}
.column img {
  width: 100%;  /* Image will expand or shrink as needed. */
  height: auto;
}
@media screen and (max-width: 700px) {  /* Stacks the columns on top for narrow screens. */
  .column  {
    display: block;
    width: 100%;
  }
}

/* ------------------------------------------------------------------------------------------------------------------ */

.triangle-left {
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 11px 8px 0;
  border-color: transparent currentcolor transparent transparent;
}
.triangle-right {
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 0 8px 11px;
  border-color: transparent transparent transparent currentcolor;
}
.triangle-up {
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 8px 11px 8px;
  border-color: transparent transparent currentcolor transparent;
}
.triangle-down {
  display: inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 11px 8px 0 8px;
  border-color: currentcolor transparent transparent transparent;
}

/* ------------------------------------------------------------------------------------------------------------------ */

/* Special Spotlight. */
.spotlight {
  position: relative;
  background: #141E30;
  background:
    linear-gradient(180deg, #000000ff, #00000000 4px),   /* Needs to match <aside> TOP-SHADOW. */
    linear-gradient(90deg, var(--head-bg), #202020 65%);  /* horizontal... */
  z-index: 0;
  text-align: center;
  padding-top: 10px;
  padding-bottom: 18px;
  overflow: hidden;  /* otherwise: gradients might go too far! */
}
.spotlight:after { /* Zig Zag Border */
  background-image: linear-gradient(-45deg, var(--main-bg) 6px, transparent 0), linear-gradient(45deg, var(--main-bg) 6px, transparent 0);
  background-position: left-bottom;
  background-repeat: repeat-x;
  background-size: 12px 12px;
  content: " ";
  display: block;
  position: absolute;
  bottom: 0px;
  left: 0px;
  width: 100%;
  height: 12px;
}
.dark-theme .spotlight {
  background:
    linear-gradient(180deg, #000000ff, #00000000 4px),   /* Needs to match <aside> TOP-SHADOW. */
    linear-gradient(90deg, var(--head-bg-dark), #202020 65%);  /* horizontal... */
  padding-bottom: 8px;  /* Less padding as we don't have zig-zag */
}
.dark-theme .spotlight:after {
  background: none;  /* Zig-Zag not needed for Dark-Theme! */
}
.spotlight .column {
  vertical-align: middle;
  text-align: center;
  padding-left: 10px;
  padding-right: 10px;
}
.spotlight .column:not(:first-child) {
  padding: 10px 20px 10px 20px;
}

.spotlight h1 {
  font-family: Lato, Verdana, Arial, Tahoma, sans-serif;
  font-size: 52px;
  font-weight: 800;
  line-height: 110%;
  letter-spacing: .15em;
  text-align: center;
  text-transform: uppercase;
  text-rendering: optimizeLegibility;
  margin: 0 auto 0 auto;
  padding-top: 0px;
  padding-bottom: 5px;
  /* SEE: https://codepen.io/jeromevanoverbeke/pen/zYRZmz */
  color: #89959d;
  text-shadow:
    -1px -1px 1px #efede3,  /* top/left 3D. */
     0px  1px  0 #505050,
     0px  2px  0 #4b4b4b,
     0px  3px  0 #464646,
     0px  4px  0 #424242,
     0px  5px  0 #404040,
     2px  10px 5px rgba(0, 0, 0, 0.9),
     5px  13px 5px rgba(0, 0, 0, 0.3),
     8px  17px 8px rgba(0, 0, 0, 0.5),
     8px  18px 35px rgba(0, 0, 0, 0.9);
}

.spotlight p {
  font-size: 24px;
  font-weight: 400;
  padding-bottom: 0px;
  margin-top: 14px;
  margin-bottom: 8px;
  color: #c0c0c0;
  text-rendering: optimizeLegibility;
  text-shadow:
    0px 1px 1px #00000080,
    0px 2px 2px #00000080;
}

/* Special Showcase. */
.showcase {
  padding-left: var(--main-padding);
  padding-right: var(--main-padding);
  padding-top: 8px;
}
.showcase:last-of-type {
  padding-bottom: 6px;
}
.showcase .column:first-child {
  background: var(--main-bg);
  padding: 20px;
}
.showcase .column:not(:first-child) {
  background: var(--main-bg);
  padding-top: 10px;
  padding-left: 30px;
  padding-right: 30px;
  padding-bottom: 30px;
}
.dark-theme .showcase .column:first-child {
  background: #202020;
  padding: 0px;
}
.dark-theme .showcase .column:not(:first-child) {
  background: #282828;
}
.showcase h1 {
  color: #404040;
}
.dark-theme .showcase h1 {
  color: #ffd300;
}

.showcase a {
  display: table-cell; /* Make elements inside the container behave like table cells */
  background: #f0f0f0 !important;
  color: #202020 !important;
  border-right: 1px solid #808080 !important;
  border-bottom: 1px solid #808080 !important;
  margin-top: 50px;
  padding-left: 20px;
  padding-right: 20px;
  height: 50px;
  font-size: 20px;
  font-weight: 800;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  width: 1%;             /* Forces the minimum width. */
  white-space: nowrap;   /* Forces the minimum width. */
  border: none;
}
.showcase a:hover {
  background: #404040 !important;
  color: #e0e0e0 !important;
}
.dark-theme .showcase a {
  background: #404040 !important;
  color: #e0e0e0 !important;
  border: none !important;
}
.dark-theme .showcase a:hover {
  color: #303030 !important;
  background: #ffbd00 !important;
}

.showcase img {
  border: 1px solid #000000;
  border-radius: 16px;
  box-shadow: 5px 5px 15px #00000080;
}
.dark-theme .showcase img {
  border: none;
  border-radius: 0px;
  margin: 0px;
}

/* Portrait for a member with text. */
.portrait {
  display: flex;
  margin-top: 8px;
  margin-bottom: 8px;
  background: #c0c0c0;
}
.dark-theme .portrait {
  background: #282828;
}
.portrait img {
  display: inline;
  margin-right: 8px;
  object-fit: contain;
  background: #a0a0a0;
}
.dark-theme .portrait img {
  background: #323232;
}
.portrait p {
  display: inline;
  font-style: italic;
  padding-right: 8px;
}
.portrait i {
  display: inline;
  font-style: normal;
  font-weight: 800;
}
.portrait i:after {  /* Add line break like <br> after! */
  content:"\a\a";
  white-space: pre;
}

/* Screenshot section. */
.screenshots {
  background: #c0c0c0;
  padding: 5px;
  margin-bottom: 5px;
}
.screenshots img {
  padding: 5px;
  object-fit: none;  /* Shows a cropped view! */
  width: 100%;
  height: auto;
}
.dark-theme .screenshots {
  background: #202020;
}
.TL {
  object-position:   0%   0%;  /* Top    & Left. */
}
.ML {
  object-position:   0%  50%;  /* Middle & Left. */
}
.BL {
  object-position:   0% 100%;  /* Bottom & Left. */
}
.TC {
  object-position:  50%   0%;  /* Top    & Center. */
}
.MC {
  object-position:  50%  50%;  /* Middle & Center. */
}
.BC {
  object-position:  50% 100%;  /* Bottom & Center. */
}
.TR {
  object-position: 100%   0%;  /* Top    & Right. */
}
.MR {
  object-position: 100%  50%;  /* Middle & Right. */
}
.BR {
  object-position: 100% 100%;  /* Bottom & Right. */
}

/* Webapp Button. */
.webapp,
.webapp:visited {
  width: 220px;
  height: 75px;
  float: none;
  display: inline-block;
  border-radius: 8px;
  position: relative;
  cursor: pointer;
  margin: 2px;
  background: #b72ab4;
  border: 2px solid #ff4dd4;
  color: #ffe3fe !important;
}
.webapp i {
  position: absolute;
  top: 50%;
  left: 15px;
  transform: translateY(-50%);
  font-size: 40px;
  text-decoration: none;
}
.webapp:hover {
  color: #f0f0f0 !important;
  background: #a2149f !important;
  border: 2px solid #ffffff;
}
.webapp .inf,
.webapp .src {
  position: absolute;
  left: 70px;
}
.webapp .inf {
  top: 15px;
  font-size: 10px;
  line-height: 10px;
}
.webapp .src {
  top: 30px;
  font-size: 18px;
}

/* Download Button. */
.download,
.download:visited {
  width: 220px;
  height: 75px;
  float: none;
  display: inline-block;
  border-radius: 8px;
  position: relative;
  cursor: pointer;
  margin: 2px;
  background: #ee4433;
  border: 2px solid #ffad3c;
  color: #ffffff !important;
}
.download.legacy,
.download.legacy:visited {
  background: #505050 !important;
  border: 2px solid #808080;
}
.download i {
  position: absolute;
  top: 50%;
  left: 15px;
  transform: translateY(-50%);
  font-size: 40px;
  text-decoration: none;
}
.download:hover,
.download.legacy:hover {
  color: #f0f0f0 !important;
  background: #005fb3 !important;
  border: 2px solid #ffffff;
}
.download .inf,
.download .src {
  position: absolute;
  left: 70px;
}
.download .inf {
  top: 15px;
  font-size: 10px;
  line-height: 10px;
}
.download .src {
  top: 30px;
  font-size: 18px;
  text-decoration: underline;
}
.download.store {
  background: #202020 !important;
  border: 2px solid #f0f0f0 !important;
}
.download.store:hover {
  background: #e0e0e0 !important;
  color: #000000 !important;
  border: 2px solid #000000;
}
.download.store .src {
  text-decoration: none !important;
}

/* Download advertisement. */
.download-ref {
  display: inline-block;
  width: 100%;
  position: relative;
  background: #fe6f1b !important;
  min-height: 90px;
  padding: 22px 20px 10px 22px;
  margin-top: 10px;
  margin-bottom: 5px;
  line-height: 140%;
}
.download-ref a {
  padding-left: 39px;
  padding-top: 20px;
  display: inline-block;
  font-size: 36px;
  text-align: left;
  vertical-align: top;
  color: #f0f0f0 !important;
}
.download-ref a:hover {
  color: #000000 !important;
}

.download-ref-icon {  /* Icon: see https://css.gg/software-download */
  display: inline-block;
  color: #f0f0f0;
  box-sizing: border-box;
  position: relative;
  transform: scale(var(--ggs,1));
  width: 54px;
  height: 24px;
  border: 8px solid;
  border-top: 0;
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
  margin-top: 40px
}
.download-ref-icon::after {
  content: "";
  display: inline-block;
  box-sizing: border-box;
  position: absolute;
  width: 32px;
  height: 32px;
  border-left: 8px solid;
  border-bottom: 8px solid;
  transform: rotate(-45deg);
  left: 3px;
  bottom: 16px
}
.download-ref-icon::before {
  content: "";
  display: inline-block;
  box-sizing: border-box;
  position: absolute;
  width: 8px;
  height: 40px;
  background: #f0f0f0;
  left: 15px;
  bottom: 20px
}

/* User Testimonials. */
.testimonial {
  display: block;
  position: relative;
  background: #3ea9f5;
  padding: 20px;
  margin-top: 6px;
  margin-bottom: 5px;
  line-height: 130%;
}
.testimonial:before {
  content: '"';
  font-size: 162px;
  color: #f0f0f0;
  position: absolute;
  padding-top: 21px;
}
.testimonial i {
  padding-left: 95px;
  display: block;
  font-size: 24px;
  line-height: 125%;
  text-align: left;
  color: #f0f0f0;
}
.testimonial b {
  display: block;
  text-align: right;
  font-size: 24px;
  font-weight: 800;
  color: #f0f0f0;
  padding-top: 10px;
}
.testimonial b:before {
  content: "\2014";
}

/* Warning, e.g. for BETA-version download. */
.warning {
  color: #d21a00;
  background: #d21a0010;
  padding-top: 6px;
  padding-bottom: 6px;
  border-top: 2px dashed #d21a00;
  border-bottom: 2px dashed #d21a00;
}
.dark-theme .warning {
  color: #ff2000 !important;
  background: #ff200010;
  border-top: 2px dashed #ff2000;
  border-bottom: 2px dashed #ff2000;
}

/* ------------------------------------------------------------------------------------------------------------------ */

/* Image Container which shows the ALT-label underneath the image. */
.img-container {
  position: relative;
  max-width: 600px;
  text-align: center;
  margin: 0 auto;
  font-size: 12px;
  padding: 2px;
}
.img-container img {
  max-width: 100%;
  width: auto;
  height: 100%;
  margin: auto;
  padding: 4px;
  padding-bottom: 18px;
  background: #d4d4d4;
  border: 1px solid #c0c0c0;
  border-radius: 8px;
}
.img-container i {
  position: absolute;
  bottom: 0px;
  left: 50%;
  transform: translate(-50%, -8px);
  font-style: normal;
  color: #606060;
}
.dark-theme .img-container img {
  background: #202020;
  border: 1px solid #181818;
}

/* Popup Image. */
.modal-image {
  border: 1px solid rgba(0,0,0,0);
  border-radius: 5px;
  cursor: pointer;
  transition: 0.3s;
}
.modal-image:hover {
  border: 1px solid #ffffff !important;
  opacity: 0.8;
}

/* Container for videos. See: https://stackoverflow.com/questions/35814653/automatic-height-when-embedding-a-youtube-video */
.video-container {
  display: block;
  position: relative;
  height: 0;
  padding-bottom: 56.25%; /* creates a 16:9 aspect ratio */
}
.video-container iframe,
.video-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  max-width: 100%;
  height: 100%;
}
@media only screen {
 iframe{width: 50%;}
}

.blog .video-container iframe,
.blog .video-container embed {
  padding: 4px;
  background: #d4d4d4;
  border: 1px solid #c0c0c0;
  border-radius: 8px;
}
.dark-theme .blog .video-container iframe,
.dark-theme .blog .video-container embed {
  background: #202020;
  border: 1px solid #181818;
}

/* Popup Movie. */
.modal-movie {
  position: relative;
  display: block;
}
.modal-movie div {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  height: 100%;
  width: 100%;
  background: rgba(0, 0, 0, 0.2); /* Black see-through */
  color: #202020;
  text-shadow: 0 0 40px #ffffff, -1px 0 #ffffff, 0 1px #ffffff, 1px 0 #ffffff, 0 -1px #ffffff;
  font-size: 90px;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: .3s ease;
}
.modal-movie:hover div {
  background: none; /* no BG */
  color: #ffffff;
  text-shadow: 0 0 30px #aaa, -1px 0 #aaa, 0 1px #aaa, 1px 0 #aaa, 0 -1px #aaa;
}
.modal-movie img {
  border: solid 2px #f0f0f0;
  width: 100%;
  height: 100%;
}
.dark-theme .modal-movie div {
  background: rgb(0, 0, 0);
  background: rgba(0, 0, 0, 0.4); /* Black see-through */
  color: #202020;
  text-shadow: 0 0 30px #aaa, -1px 0 #aaa, 0 1px #aaa, 1px 0 #aaa, 0 -1px #aaa;
}
.dark-theme .modal-movie:hover div {
  background: none; /* no BG */
  color: #ffffff;
  text-shadow: 0 0 40px #000000, -1px 0 #000000, 0 1px #000000, 1px 0 #000000, 0 -1px #000000;
}

