:root {
	--bs-info-rgb: 99, 183, 197;
	--bs-success-rgb: 112, 160, 112;
	--bs-warning-rgb:224, 176, 16;
	--bs-danger-rgb: 169, 68, 66;	
	--bs-primary-rgb: 41, 136, 219;
}

.dark {
	--bs-primary: #14468f;
}

body {
	--main-text-color: #606060;
	background-color:#f8f8f8;
	font-family: sans-serif;
	font-size: 1.1rem;
	line-height: 1.3rem;
}

iframe { border: none; }

p {
	/* font-size: 1.1rem; */
	/* line-height: 1.5; */
	margin: 0;
	padding: 0 0 0.5rem 0;
}

/* required for Google Adsense to remove strange green border */
ins {
	border: none;
	background: none;
}

figcaption {
	font-size:0.8rem;
}

textarea {
	tab-size:2;
}

break {
	display:block;
	margin: 0.5rem 0 0 0;	
}

.textimp {
	visibility:hidden;
}

.no-opacity-hover:hover {
	opacity: 1;
}

.bodyoffset {
	background-color: #ffffff;
	padding-top: 60px;
	/* padding-top: 0; */
}

.container {
	position: relative;
	padding:0;
}

.main {
	background-color:#ffffff;
	color: #202020;
	/* line-height: 1.4; */
	/* font-size: 1.1rem; */
	padding: 0;
	margin: 0;
}

.mainpage {
	padding: 1rem 1rem;
}

.mainpagechange {
	margin: 0 -1rem;
	padding: 0 1rem;
	background-color: #e0e0ff;
}

.mainpageopen {
	background-color: #e0efe0;
}

.mainpageclosed {
	background-color: #e0e0ff;
}

small {
	line-height: 1.1;	
}

label {
	font-weight: bold;
	padding-right: 1rem;
	font-size: 80%;
}

.muted {
	opacity: 0.5;
	pointer-events: none;
}

.margin3 {
	margin: 3px;
}

.cookiepopup {
	font-size:80%;
	display: block;
   position: fixed;
   bottom: 0;
	background-color: #ffffffc0;
	backdrop-filter: blur(20px);
	box-shadow: 0 0 380px 100px #000000f0;
	color:#000000;
   padding: 1rem;
   width: 100%;
}
.cookiepopup a {
	color:#000000 !important;
}
.blockquote {
	padding-left: 1rem;
	font-style: italic;
	padding: .5rem 1rem;
	font-size: 1.25rem;
	border-left: 6px solid #d0d0e0;
	margin: 0 1rem 1rem 3rem;
	background-color: #f0f0f8;
	border-radius: 6px;
	box-shadow: 1px 1px 5px rgba(0,0,0,0.25);
}

code {
	font-size: 100%;	
	letter-spacing:-0.06rem;
}

code.text {
	font-size: 90%;	
	color: #b33c3c;
	border: 1px dashed #ccc;
	background-color: #f2f2f2;
	padding: 0 4px;
	border-radius: 4px;
	white-space: nowrap;
}

/* to span a link over all elements */
.spanlink { 
	position:absolute; 
	width:100%;
	height:100%;
	top:0;
	left: 0;
	z-index: 1;
}

em.blue {
	font-style: inherit;
	background-color: #c8e8ff;
    padding: 0.1em 0.2em;
    background: linear-gradient(-0.5deg, rgba(255,255,255,0), rgba(255,255,255,0) 10%, #e0f0ff 15%, #e0f0ff 60%, #c8e8ff 85%, rgba(255,255,255,0) 90%);    
}

p.vcard-info {
	margin: 0.5rem 0 0;
    padding: 0 0 0.5rem 0;
}
a.vcard-info {
	margin: 0 0 1rem 0.5rem;
}

/* can be used for light and dark at the same time */
mark {
	background-color: #ffed90c0;
	background: linear-gradient(-185deg, #f1e295, #ffed90e0, #ffed90d0, #f5e78f);
}

mark.blue {
	background-color: #c0c8ffc0;
	background: linear-gradient(-185deg, #c0c8ff, #c0c8ffe0, #c0c8ffd0, #c0c8ff);
}

mark.red {
	background-color: #ffc0cfc0;
	background: linear-gradient(-185deg, #ffc0cfa0, #ffc0cfc0, #ffc0cfc0, #ffc0cff0);
}

mark.green{
	background-color: #abf9b4c0;
	background: linear-gradient(-185deg, #abf9b4a0, #abf9b4c0, #abf9b4c0, #abf9b4f0);
}

mark.purple {
	background-color: #dcacf5c0;
	background: linear-gradient(-185deg, #dcacf5a0, #dcacf5c0, #dcacf5c0, #dcacf5f0);
}

mark.inactive {
	background-color: none;
	background: none;
	opacity: 0.4;
}

/* used to show pressed keys */
key {
	border: 1px solid #e0e0f0;
	padding: 0.1rem 0.5rem;
	margin: 0.1rem;
	background-color: #e0e0f0;
	border-radius: 6px;
	box-shadow: 1px 1px 1px rgba(0,0,0,.5);
	color:#000000;
}

/* Gradients */
.grad-text {
	background-clip: text !important;
	-webkit-background-clip: text !important;
	-webkit-text-fill-color: transparent;
	background-clip: text !important;
	color: transparent;
}

.grad-text-orange {
	background: linear-gradient(96deg, #ffc000, #ff8000, #ff6020);
}

.disabled {
	pointer-events: none;
    cursor: default;
	text-decoration: none;
}	

/* the typical science APA7 type */
.table-science .thead {
	border-top:2px solid #000000;
	border-bottom:2px solid #000000;
}

.table-science tr {
	border-bottom: 1px solid #000000;
}

/* preset for the tableheader for amp */
.tableheader {
	display:inline;
}

.tableheaderlogo, .tableheadermiddle, .tableheadertext {
	border: none;
}

.table-striped tbody tr:nth-of-type(odd) {
	border-bottom:1px solid #e0e0e0;
}

/* somehow missing in bootstrap */

.row-striped:nth-of-type(odd){
  background-color: none;
}

.row-striped:nth-of-type(even){
  background-color: #f0f0f0;
  border-bottom: 1px solid #e0e0e0;
}

.img-fluid { 
	max-width: 100%;
	width: 100%;
	height: auto;
}

.click-full {
	transition: 0.3s linear;
    position: fixed;
	width: auto;
	height: auto;
	max-width: 100%;
    max-height: 100%;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    z-index: 100;
    overflow-y: auto;
    box-shadow: 0 0 700px 500px rgba(100,100,100,0.9);
}

.tag {
	display:inline-block;
	padding: 0.1rem 0.5rem;
	margin: 0.1rem;
	background-color:#ff8000;
	color: #ffffff;
	border-radius:3px;
}

.blocklang {
	width:50%;
	display:inline-block !important; 
	text-align:center;
	transition: 200ms linear;
}

.blocklang:hover {
	background-color:#ff8000;
	color:#ffffff;
}
.blockmenu {
	float:right;
	text-align:center;
	transition: 200ms linear;
}

.blockmenu:hover {
	background-color:#ff8000;
	color:#ffffff;
}

.newpassword {
	padding: 0.5rem 1rem;
	font-size: 2rem;
	border: 1px solid #808080;
	background-color: #f8f8f8;
}

.firstword {
	font-size: 1.6rem;	
}

li.h2 {
	font-size: inherit;
}
li.h3 {
	font-size: inherit;
	margin-left:1rem;
}
li.h4 {
	font-size: inherit;
	margin-left:2rem;
}
a {
	color: #5050a0;	
	/* padding: 0px 2px 0px 2px; */
	/* margin: 0 0 2px 0; */
	transition: 200ms linear;
	cursor: pointer;
	text-decoration: none;
	border-bottom: none;
}

a:hover {
	/* color: #ffffff; */
	/* background-color: #ff8000; */
	text-decoration: none;
	transition: 200ms linear;
	border-bottom: none;
	/* text-shadow: 2px 2px 3px #a0a0a0; */
	/* border-bottom: 1px solid #ff8000; */
}

/* removed the a. over here */
.link {
	color: #5050a0;	
	padding: 0px 2px 0px 2px;
	margin: 0 0 2px 0;
	transition: 200ms linear;
	cursor: pointer;
	text-decoration: underline;
	/* font-weight: bold; */
}

.link:hover {
	color: #ff8000;
	/* background-color: #ff8000; */
	/* text-decoration: none; */
	transition: 200ms linear;
	/* border-bottom: 1px dashed #808080; */
	/* text-shadow: 2px 2px 3px #a0a0a0; */
}
.videolink {
	color: #a0a0a0;
	text-decoration:none;
	text-align: center;
	display:inline-block;
	padding: 2rem;
	width:100%;
}

/* Highlighting search terms in the blog search */
.highlight {
	background-color:#ffef80;
}

.dark .highlight {
	background-color:#97892c;
}
/* contact form default */

.blockform {
	background-color: #ffefdf;
}

.blockform > h3 {
	background-color:#ff8000;
	color: #ffffff;
	padding: 0.5rem;
}

.blockform > p {
	padding: 1rem;
}

/* contact form with label in input */

.blockformlabel {
	position:relative;
	background-color: #ffefdf;
}

.blockformlabel h3 {
	background-color:#ff8000;
	color: #ffffff;
	padding: 0.5rem;
}

.blockformlabel p {
	padding: 1rem;
}

.blockformlabel label {
	position: absolute;
	/*margin-top:-0.5rem;*/
	padding: 0.2rem 0.5rem;
	font-size: 0.9rem;
	font-weight:normal;
	color:#707070;
	/* pointer events just to make sure that form elements can be clicked even on the label */
	pointer-events: none;
}

.blockformlabel input, .blockformlabel textarea {
	border-radius:3px;
	padding: 1.5rem 0.5rem 0.5rem 0.5rem;
	font-size: 1.2rem;
}

.blockformlabel .inputicon {
	pointer-events: none;
	position: absolute;
	right: 2rem;
	padding:1rem;
	color: silver;
}

::placeholder {
color:#c0c0c0 !important;
font-size:1rem;
}

.menuicon {
	border: 2px solid #ffffff;
	border-radius: 50%;
	padding: 0.5rem;
	background-color: rgba(255, 255, 255,0.3);
}
.menuiconimg img {
	width: 3rem;
    border: 1px solid #ffffff;
    border-radius: 50%;
    margin: 0 1rem;
}

.credit {
	font-size: 80%;
	font-weight: normal;
	float: right;
	color: #a0a0a0;
	margin-top: -0.5em;
}

.footer {
	background-color: #ffa040;
	color: #202020;
	padding: 1em;
}

/* removed a. */
.footer .link {
	color: #202020;	
}

.footer a {
	color: #202020;	
}


/* required for AMP where there is no style */
.float-right {
	float: right;
}

.float-left {
	float: left;
}


h1 {
	font-family: sans-serif;
	color: #404040;
	font-size: 1.5rem;
	font-weight: bold;
	margin:0 0 1rem 0;
}

h2 {
	font-family: sans-serif;
	color: #576d99;
	font-size: 1.25rem;
	font-weight: bold;
	margin:0 0 1rem 0;
}

h3 {
	font-family: sans-serif;
	color: #576d99;
	font-size: 1.15rem;
	font-weight: bold;
	margin:0 0 1rem 0;
}

h4 {
	font-family: sans-serif;
	color: #576d99;
	font-size: 1rem;
	font-weight: bold;
	margin:0 0 1rem 0;
}

/* class for images within the text */
.imginleft40, .imginright40, .imginleft30, .imginright30, .imginleft20, .imginright20 {
	width:100%;
	margin-bottom:1rem;
}

/* removed in 2.0.0
div.headtitle {
	font-size: 1.3rem;
}

div.headtitlesub {
	font-size: 0.8rem;
	text-align: center;
}
*/
.row-bottom {	
	padding-top: 0.5rem;
	padding-bottom: 0.5rem;
}

.row-bottom:hover {	
	background-color: #fcfcfc;
}


/* header formatting */
/* do not set a height on the header */
.header {
	background-color: #fcfcfc;
	position: fixed;
	/* position: relative; */
	overflow: hidden;
	/* to overlap the content with the header */
	z-index: 10;
	width:inherit;
	max-width: inherit;
	margin-right: inherit;
	margin-left: inherit;
	right:0;
	left:0;
	top:0;
	border-bottom:1px solid #b0b0b0;
	box-shadow: 0px 3px 3px 0px rgba(0,0,0,0.1);
	/* -webkit-transition: all 0.5s ease; */
	/* transition: all 0.5s ease; */
}
 
.header ul {
	margin: 0;
	/* remove the scrollbar */
	/* is done in the nav now */
	/* margin-right: -20px; */
	padding: 0;
	list-style: none;
	overflow: hidden;
	background-color: #fff;
}

.header nav {
	margin: 0;
	/* remove the scrollbar */
	margin-right: -20px;
	padding: 0;
	list-style: none;
	overflow: hidden;
	background-color: #fff;
}
 
.header li a, .header li .aspan {
	font-size: 1.2em;
	display: block;
	padding: 20px 20px;
	border-right: 1px solid #f4f4f4;
	border-top: 1px solid #f0f0f0;
	text-decoration: none;
	color: #808080;
}
 
.header li a:hover, .header li .aspan:hover {
  background-color: #90a0c0;
  color: #ffffff;
}
 
.header .logo {
	display:inline-block;
	height: 60px;
	margin: 0;
	padding: 0 10px 0 20px;
	/* display: block; */
	/* float: left; */
	font-size: 2em;
	text-decoration: none;
	padding: 0 10px 0 20px;
}

.header .logoamp {
  display: block;
  float: left;
  font-size: 2em;
  margin: 0.4rem;
  text-decoration: none;
}
 
.header .menu {
  clear: both;
  max-height: 0;
  transition: max-height .5s ease-out;
}

/* subheader */

.dropdown-toggle::before {
    /* display: inline-block; */
    display: none;
    width: 0;
    height: 0;
    margin-right: .25rem;
    margin-left: .25rem;
    vertical-align: middle;
    content: "";
    border-top: .3em solid;
    border-right: .3em solid transparent;
    border-left: .3em solid transparent;
}

.dropdown-toggle::after {
	display: none;
}

/* increase size of dropdown entries */
.dropdown-item {
	padding: 8px 20px;	
}

/* menu icons */ 

.header .menu-icon {
	cursor: pointer;
	display: inline-block;
	position: absolute;
	top: 0;
	right: 0;
	/* float: right; */
	padding: 20px 10px;
	margin: 8px 18px 10px 0;
	/* position: relative; */
	transition: all 0.4s ease;
	background-color: transparent;
}

.header .menu-icon:hover {
	/* background-color:#90a0c0; */
	/* color: #ffffff; */
	background-color: transparent;
}
 
.header .menu-icon .navicon {
	background: #333;
	display: block;
	height: 2px;
	position: relative;
	transition: background .2s ease-out;
	width: 24px;
}
 
.header .menu-icon .navicon:before,
.header .menu-icon .navicon:after {
  background: #333;
  content: '';
  display: block;
  height: 100%;
  position: absolute;
  transition: all .2s ease-out;
  width: 100%;
}

.header .menu-icon .navicon:before {
  top: 6px;
}
 
.header .menu-icon .navicon:after {
  top: -6px;
}

.header .menu-icon:hover .navicon:before {
	top: 9px;	
}

.header .menu-icon:hover .navicon:after {
	top: -9px;	
}

/* colors for the right menu dropdown icon */
.header .menu-icon .navicon,
.header .menu-icon .navicon:before,
.header .menu-icon .navicon:after {
	background: #303030;
}

.header .menu-icon:hover .navicon,
.header .menu-icon:hover .navicon:before,
.header .menu-icon:hover .navicon:after {
	background:#ff8000;
}

/* menu animation */

.header .menu-btn {
  display: none;
}
 
.header .menu-btn:checked ~ .menu {
	/* limit height to height of viewport */
	max-height: 90vh;
	/* allow scrollbars */
	overflow: auto;
}
 
.header .menu-btn:checked ~ .menu-icon .navicon {
  background: transparent;
}
 
.header .menu-btn:checked ~ .menu-icon .navicon:before {
  transform: rotate(-45deg);
}
 
.header .menu-btn:checked ~ .menu-icon .navicon:after {
  transform: rotate(45deg);
}
 
.header .menu-btn:checked ~ .menu-icon:not(.steps) .navicon:before,
.header .menu-btn:checked ~ .menu-icon:not(.steps) .navicon:after {
  top: 0;
}

.hide-small {
	display: none;
	visibility: hidden;
}

/* image portrait round */
.img-pr {
	border-radius: 50%;
    width: 48px;
	height: 48px;
    margin: 0 1rem 1rem 0.5rem;
    float: right;
}

/* used for vcards */
.vcard {
	border-bottom: 1px solid #80808080;
    margin: 0 0 1rem 0;
}

.vcard-hidden {
	opacity:0.5;
}

.vcardsub {
	border-bottom: none;
	border-left: 3px solid #e0e0e0;
	margin-left: 0.5rem;
	padding-left: 0.5rem;
}

/* offset for an internal link */
.aoff {
	padding-top: 80px; 
	margin-top: -80px;
}
/* Wrapping Youtube Videos */

.video-wrapper {
	position: relative;
	padding-bottom: 56.25%; /* 16:9 */
	padding-top: 25px;
	height: 0;
	text-align: center;
	background-color: #f0f0f0;
}
.video-wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
	
/* Modifying some Bootstrap stuff */

.nav-tabs {
	background-color: #f8f8f8;
	border: none;
	border-top: 10px solid #f8f8f8;
	border-radius: 0;
}

.nav-item {
	border-right: 2px solid #ffffff;
}

.nav-link {
	font-size: 1.25rem;
	font-weight: normal;
	color: #808080;
	/* border: none; */
	border-radius: 0;
	padding: 0.75em 1em;

}

.nav-link:hover {
	background-color: #ffffff;	
	border: none;
	border-right: 2px solid #ffffff;
}

.nav-link.active {
	border: none;
	box-shadow: 3px -1px 3px 0px rgba(0,0,0,0.2);
}

.blognoimg {
	width: 100%;
	height: 100%;
	padding: 1rem;
	/* border: 1px solid #d0d0d0; */
	border:1px solid #ffffff10;
	background-color: #f0f0f0;
	border-radius: 1rem;
}

.blogimg {
	border-radius: 1rem;
	border:1px solid #ffffff10;
	transition: all 0.25s ease;
}

a .blogimg:hover {
	box-shadow: 2px 2px 6px rgba(0,0,0,0.5);
	transition: all 0.25s ease;
}

.btnicon {
	transition: all 0.25s ease;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.28), 0 2px 4px rgba(0, 0, 0, 0.14); /* shadow-4 */
}

.btnicon:hover {
	text-shadow: 0 8px 16px rgba(0, 0, 0, 0.28), 0 8px 16px rgba(0, 0, 0, 0.14); /* shadow-16 */
	filter: saturate(150%);
	transition: all 0.25s ease;
}
.btn {
	/* border-radius: .25rem .75rem .25rem .75rem; */
	/* border-radius: .1rem; */	
	-webkit-transition: all 0.5s ease;
	transition: all 0.25s ease;
	/* box-shadow: 1px 1px 2px rgba(0,0,0,0.5); */
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.28), 0 2px 4px rgba(0, 0, 0, 0.14); /* shadow-4 */
	/* color:#ffffff; */
}

.btn:hover {
	/* box-shadow: 2px 2px 6px rgba(0,0,0,0.5); */
	box-shadow: 0 8px 16px rgba(0, 0, 0, 0.28), 0 8px 16px rgba(0, 0, 0, 0.14); /* shadow-16 */
	filter: saturate(150%);
	transition: all 0.25s ease;
	/* transform: translate3d(-2px, -2px, 0px); */
}

.btn:active {
	box-shadow: 1px 1px 4px rgba(0,0,0,0.5);
	transform: none;
}

.btn.disabled {
	opacity:0.5;
	filter: grayscale(80%);
}

.btn-input {
	/* border-radius: .25rem .75rem .25rem .75rem; */
	border-radius: 0;	
	-webkit-transition: all 0.5s ease;
	transition: all 0.25s ease;
	box-shadow: 0px 1px 2px rgba(0,0,0,0.5);
}

.btn-input:hover {
	box-shadow: 0px 2px 6px rgba(0,0,0,0.5);
	/* transform: translate3d(-2px, -2px, 0px); */
}

.btn-success {
	background-color: #70a070;
	border-color: #70a070;
}	

.btn-info {
	background-color: #63b7c5;
	color: #ffffff;
}

.btn-info:hover {
	background-color: #63b7c5;
	color:#ffffff;
}

.btn-warning:hover {
	color:#ffffff;
}

.btn-dark {
	background-color: #808080;
}

.btn-link {
	color: #808080 !important;
	box-shadow:none;
}
.btn-link:hover {
	color: #404040 !important;
	box-shadow:none;
}

.btn-twitter {
	color: #ffffff;
	background-color: #55acee;
	border-color: #55acee;
}

.btn-twitter:hover {
	color: #ffffff;
	background-color: #50a0e0;
}

.btn-instagram {
	color: #ffffff;
	background-color: #f56040;
	border-color: #f56040;
}

.btn-instagram:hover {
	color: #ffffff;
	background-color: #f05838;
}

.btn-linkedin {
	color: #ffffff;
	background-color: #0077b5;
	border-color: #0077b5;
}

.btn-linkedin:hover {
	color: #ffffff;
	background-color: #0070b0;
}

.btn-pinterest {
	color: #ffffff;
	background-color: #e60023;
	border-color: #e60023;
}

.btn-pinterest:hover {
	color: #ffffff;
	background-color: #c6001a;
}

.btn-xing {
	color: #ffffff;
	background-color: #026466;
	border-color: #026466;
}

.btn-xing:hover {
	color: #ffffff;
	background-color: #006060;
}

.btn-xing:visited {
	color: #ffffff;	
}

.btn-animate {
	background-image: linear-gradient(135deg, #f0f0ff00 50%, #f0f0ffa0 58%, #f0f0ffa0 60%, #f0f0ff00 70%);
    background-size: 600% 400%;
    animation: gradientAnimation 3s infinite alternate;
	animation-timing-function: ease-in-out;
}

@keyframes gradientAnimation {
    0% { background-position: 0% 0%; }
    100% { background-position: 100% 100%; }
}

.is-invalid {
	background-color: #fff0f0;
	background: repeating-linear-gradient( -45deg, #fff0f0, #fff0f0 10px, #fff8f8 10px, #fff8f8 20px );
}

/* repeats bootstrap to work in AMP as well*/
.form-control {
    display: block;
    border-radius: 0.25rem;
    border: 1px solid #ced4da;
    font-size: 1rem;
    line-height: 1.5;
}

@-webkit-keyframes pulse {
	25% {
	-webkit-transform: scale(1.1) rotate(4deg);
	}
	75% {
	-webkit-transform: scale(.90) rotate(-4deg);
	}
}

.btn-round {
	color: #ffffff;
    background-color: rgba(0,0,0,0.2);
    border-radius: 50%;
    padding: 0.6rem;
    width: 3rem;
    height: 3rem;
}

.btn-round:hover {
	color: #404040;
    background-color: #ffffff;
}

.btn-light {
	/* overwriting the color of bootstrap */
	background-color:#e0e0e0;
}

.btn-circ {
	width:3rem;
	height:3rem;
	padding:0.6rem; /* removed important for amp but need it to work properly - overwritten in main.css */
}

/* button(s) at the right bottom to edit a page */
.page-edit {
	 position: fixed;
	 right: 1rem;
	 bottom: 1rem;
	 z-index:110;
}

@keyframes pulse {
	25% {
	-ms-transform: scale(1.05) rotate(2deg);
	transform: scale(1.05) rotate(2deg);
	}
	75% {
	-ms-transform: scale(.95) rotate(-4deg);
	transform: scale(.95) rotate(-4deg);
	}
}

.pulse {
	-webkit-transform: translateZ(0);
	-ms-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-animation-name: pulse;
	animation-name: pulse;
	-webkit-animation-duration: 1s;
	animation-duration: 1s;
	-webkit-animation-timing-function: ease-in-out;
	animation-timing-function: ease-in-out;
	-webkit-animation-iteration-count: infinite;
	animation-iteration-count: infinite;
	-webkit-animation-direction: alternate;
	animation-direction: alternate
}

.pulse:hover {
	-webkit-animation-name: none;
	animation-name: none;
}

.facebook {
	background-color: #3b5998;
	color: #ffffff;
}


.google {
	background-color: #dd4b39;
	color: #ffffff;	
}

.twitter {
	background-color: #00aced;
	color: #ffffff;	
}
	
.instagram {
	background-color: #f56040;
	color: #ffffff;	
}

.linkedin {
	background-color: #0077b5;
	color: #ffffff;	
}

.facebook:hover, .google:hover, .twitter:hover, .instagram:hover, .linkedin:hover {
	color: #ffffff;
}

.facebook:active, .google:active, .twitter:active, .instagram:hover, .linkedin:hover {
	color: #ffffff;
}

.img-rect {
	border-radius: 15%;
}

.img-circle {
	border-radius: 50%;
}

.img-portrait {
	border-radius: 15%;
	box-shadow: 0px 0px 2px 0px rgba(0,0,0,0.2);
}

.img-portrait-s {
	width: 32px;
	height: 32px;
}

.img-portrait-m {
	width: 160px;
	height: 160px;
}

.img-gallery {
	display:inline-block;
	max-width: 100%;
	box-shadow: 1px 1px 2px 1px rgba(0,0,0,0.2);
	transition: all 0.4s ease;	
}

.img-gallery:hover {
	box-shadow: 2px 2px 4px 2px rgba(0,0,0,0.5);
	transition: all 0.4s ease;	
}

.img-gallery span {
	border: 1px solid #00ff00;
	display: block;
}

a > .img-portrait {
	border-radius: 15%;
	box-shadow: 2px 2px 4px 1px rgba(0,0,0,0.2);
	transition: all 0.4s ease;
	/* margin:2px 2px 2px 2px; */
}

a > .img-portrait:hover {
	border-radius: 15%;
	/* margin: 1px 3px 3px 1px; */
	box-shadow: 3px 3px 8px 2px rgba(0,0,0,0.2);
	transform: translate3d(-2px, -2px, 0px);
}

/* Just a link without any special styling */
a.none, a.none:hover {
	color: inherit;
	text-decoration: inherit;
	border-bottom: inherit;
	font-weight: inherit;
	background-color: inherit;
	text-shadow: none;
	cursor: text;
}

ul.none, ol.none {
	list-style: none;
}

.fullbox {
	margin:0;
	padding:0;
}

.blockempty {
	clear: both;
	background-color: #ffffff;
}
.blockempty:hover {
	background-color: #ffffff;
}

/* Links for the admin menu - overwriting the normal formatting of menu items*/
.menuadmin {
	background-color: #ffffff80;
	padding: 20px 40px !important;
	font-size: 100% !important; 
}

a.accounttitle {
	display:block;
	padding: 0.3rem;
	border-bottom: 1px solid #f0f0f0;
}

/* container for simple responsive table */
.table-container {
	width: 100%;
	overflow-y: auto;
	margin: 0 0 1em;
}

.table-container-outer { 
	position: relative; 
}

.thead-dark th {
    color: #f0f0f0;
    background-color: #606080;
	border-color: #606080;
}

.copyright {
	font-size: 0.9rem;	
}

.table-container-fade {
	position: absolute;
	right: 0;
	width: 30px;
	height: 100%;
	background: linear-gradient(0deg, rgba(255,255,255,0), rgba(255,255,255,1));
	background: -webkit-linear-gradient(0deg, rgba(255,255,255,0), rgba(255,255,255,1));
}

.guide-toc {
	color: #ffffff;
	padding:1rem;
}
.guide-toc a {
	color: #ffffff;
	font-size: 1rem;
	
}
.guide-toc ul {
	padding: 0 0 0 0.5rem;
}

.guide-div-inner {
	background-color: #90a0c0;
	padding: 1rem;
	color: #ffffff;
	font-size: 0.7rem;
	/* width: 80%; */
	/* height: 100%; */
	/* overflow-y:scroll; */
}

.layout-img-5rem {
	float: right;
	width: 5rem;
}

.mini {
	display: inline;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.alert {
	padding: 15px;
	margin-bottom: 1rem;
	border: 1px solid transparent;
	border-radius: .25rem;
}

.alert-info {
	color: #31708f;
	background-color: #d9edf7;
	border-color: #bcdff1;
}

.alert-success {
	color: #3c763d;
	background-color: #dff0d8;
	border-color: #d0e9c6;
}

.alert-warning {
	color: #8a6d3b;
	background-color: #fcf8e3;
	border-color: #faf2cc;
}

.alert-danger {
	color: #a94442;
	background-color: #f2dede;
	border-color: #ebcccc;
}

.alert-admin {
	display:inline-block;
	color: #d17e11;
	background-color: #ffd596;
	border-color: #ebcccc;
}

.dark .alert-admin {
	display:inline-block;
	color: #ffffff;
	background-color: #c98c32;
	border-color: #c98c32;
}

.alert-admin-off {
	display:none;
}
.bg-success {
	background-color: #70a070;
}

.bg-danger {
	background-color: #d85050;
}

.bg-info {
	background-color: #63b7c5;
}

.dark .bg-info {
	background-color: #49858f;
}

.bg-warning {
	background-color: #e0b010;
}

.dark .bg-warning {
	background-color: #97770e;
}
/*

// requiered only for AMP
.btn {
	display: inline-block;
	padding: .375rem 1rem;
	font-size: 1rem;
	font-weight: normal;
	line-height: 1.5;
	text-align: center;
	white-space: nowrap;
	vertical-align: middle;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	border: 1px solid transparent;
	border-radius: .25rem;
	box-shadow: 1px 1px 2px rgba(0,0,0,0.5);
}
*/
.btn-primary {
	color: #fff;
	background-color: #0275d8;
	border-color: #0275d8;
}

.btn-warning {
	color: #ffffff;
}

.btn-danger {
	color: #fff;
	background-color: #d9534f;
	border-color: #d9534f;
}

.btn-plain {
	outline: none;
	background:none;
	border:none;
	transition: all 0.4s ease;	
}

.btn-plain:hover {
	background-color:#a0a0a0;
	transition: all 0.4s ease;	
}

/* remove the blue outline in button */
.btn-plain:focus {
	outline: 0;
}

#info-header {
	position: fixed;
	width: inherit;
	top: 9rem;
}

.scrolling {
    position: fixed;
    top: 3rem;
}

.box-light {
	border-radius: 1px;
	margin: 0 1rem 0 0;
	box-shadow: 0px 1px 2px 0px rgba(0,0,0,0.5);
	transition: all 0.4s ease;	
}

.box-light:hover {
	box-shadow: 0px 1px 5px 0px rgba(0,0,0,0.75);
	transition: all 0.4s ease;	
}

.box-light-header {
	color: #ffffff;
	background-color: #ff9224 ;
	padding: 1rem 1rem 0.3rem 1rem;
}

.box-light-header h2 {
	color: #ffffff;
}

.box-light-body {
	color: #000000;
	background-color: #ffeddb;
	padding: 1rem;
}

.box-full {
	border-radius: 1px;
	margin: 0 1rem 0 0;
	color: #ffffff;
	background-color: #ff8000;
	box-shadow: 0px 1px 2px 0px rgba(0,0,0,0.5);
	transition: all 0.4s ease;	
}

.box-full:hover {
	box-shadow: 0px 1px 5px 0px rgba(0,0,0,0.75);
	transition: all 0.4s ease;	
}

.box-full-header {
	padding: 1rem 1rem 0.3rem 1rem;
}

.box-full-header h2 {
	color: #ffffff;	
}

.box-full-body {
	background-color: #ffa010;
	padding: 1rem;
}

.input-basic {
	border-radius: 3px;
	width: 90%;	
	color: #444444;
}

/* Navigation Bar */
.nbar ul {
	list-style-type: none;
	margin: 0;
	padding: 0;
	overflow: hidden;
	background-color: #90a0c0;
	border: none;
}

.nbar li {
	float: left;
	border:none;
}

.nbar li.right {
	float: right;
	border:none;
}

.nbar li a {
	display: block;
	color: white;
	text-align: center;
	padding: 8px 16px;
	text-decoration: none;
	border: none;
	border-right: 1px solid #b0bbd2;
	border-left: 1px solid #c0c9db;
}

.nbar li a:hover {
	background-color: #7186af;
}

.infoback {
	border-right: none;
}

.lerntest-icon {
	padding: 0.3rem; 
	border: 1px solid #808080;
	border-radius: 1px;
	width: 3.2rem;
	text-align: center;
	display: inline-block;
	background-color:#f8f8f8;
	transition: all 0.4s ease;	
	box-shadow: 0px 1px 1px 0px rgba(0,0,0,0.25);
}

.lerntest-icon-on {
	background-color:#90a0c0;
}

.lerntest-icon:hover {
	box-shadow: 0px 1px 3px 0px rgba(0,0,0,0.75);
}

.learntest-green {
	display:inline-block;
	width: 1.5rem;
	height: 1.5rem;
	background-color: #3c763d;
	border: 1px solid #ffffff;
}

.learntest-grey {
	display:inline-block;
	width: 1.5rem;
	height: 1.5rem;
	background-color: #f0f0f0;
	border: 1px solid #ffffff;
}

/* Stuff for the sales page */
.sale-top {
	text-align: center;
	color: #333333;
	font-size: 1.4rem;
	font-weight: bold;
}

.sale h1 {
	text-align: center;
	color: #cc0000;
	font-weight: bold;
	font-size: 2.2rem;
	line-height: 2.5rem;
}

.sale h2 {
	text-align: center;
	color: #576d99;
	font-size: 1.3rem;
	line-height: 2rem;
	padding: 1rem;
}

.strike {
	text-decoration: line-through;
}

.sale-price {
	background-color: #e6eaf1;
	border-radius: 3px;
	box-shadow: 1px 1px 5px 0 rgba(0,0,0,0.2);
	border: 1px solid #576d99;
	margin: 1rem;
	transition: all 0.4s ease;	
}

.sale-price:hover {
	box-shadow: 1px 1px 5px 2px rgba(0,0,0,0.4);
}

.sale-price-top {
	background-color: #b5c0d5;
	color: #ffffff;
	text-align: center;
	padding: 0.5rem 1rem;
}

.tabledef th, td {
	padding: 0.5rem 1rem;
}

.tabledef th {
	background-color: #f0f0f0;	
}

.tabledef-border {
	/* border: 1px solid #c0c0c0; */
	border: none;
}

.tabledef-border th, td {
	/* border: 1px solid #c0c0c0; */
	border: none;
}

.tabledef-border th {
	background-color: #f0f0f0;	
	/* border: 1px solid #c0c0c0; */
	border: none;
}

/* to display parts only on mouse over */
.partly {
	display:inline;
}

.partly .partlyoff {
	display:none;
	transition: all 0.4s ease;
}

.partly:hover .partlyoff {
	display:inline;
	transition: all 0.4s ease;
	/* border-left: 3px solid #f0f0f0; */
	background-color: #f8f8ff;
	padding: 0 0 0 1rem;
	margin: 0 0 0 1rem;
}

.partly .partlyon {
	display:inline;
	transition: all 0.4s ease;
}

.partly:hover .partlyon {
	display:none;
	transition: all 0.4s ease;
}

/* unordered lists with proper distance between lines */
ul.listing li {
	padding-bottom: 1rem;
}
ol.listing li {
	padding-bottom: 1rem;
}

/* display of the learning time information in the tests page */
.testtimeblock {
	width:100%;
	height:200px;  
	display: flex;
	overflow-x: auto; /* Enables horizontal scrolling */
	white-space: nowrap; /* Prevent wrapping */
	align-items: flex-end;

}
.dark .testtimeblock {
	background-color: #f0f0f020;
}

.testtimeblockbar {
	position:relative;
	display:flex;
	flex: 0 0 auto;
	width:24px;
	height:100%;
	align-items: flex-end;
	margin-right: 1px;
}
.learntimebar {
	position:relative;
	display: flex;
	flex: 0 0 auto; /* Prevent shrinking or growing */
	margin-right: 1px; /* Gap between divs */
	text-align: center;
	line-height: 100px;
	align-items: flex-end;
	justify-content: center;
	border-radius: 3px 3px 0 0;
}
.learntimebar .day {
	color: #000000;
	position:absolute;
	bottom:3px;
	left:50%;
	transform: translateX(-50%);
	font-size:60%;
}
.dark .learntimebar .day {
	color:#ffffff;
}
.learntimebar .month {
	color: #000000;
	position:absolute;
	bottom:160px;
	left:20%;
	z-index:5;
	font-size:90%;
}
.dark .learntimebar .month {
	color:#ffffff;
}

/* CSS for the blog page */
.blogentry {
	padding: 0;
}

/* #feature: Styling for blocks with the feature enabled - removed should not be done in CSS*/

/* removed because is used by google ads as well
ins {
	border: 1px solid rgb(192,255,192);
	background: rgb(224,255,224);
}

del {
	border: 1px solid rgb(255,192,192);
	background: rgb(255,224,224);
}
*/

/* CSS for forum */

.rrforum {
	position: relative;
	top: 0;
	left: 0;
	background: #ba2332;
	color: #ffffff;
	padding: 16px 16px;
	margin: 8px 0 0 0;
	word-wrap: break-word;
	border-bottom: 1px solid #aa1322;
	transition: all .3s ease;
}

.rrforum:hover {
	position: relative;
	top: -3px;
	left: -3px;
	background: #aa1322;
	transition: all .3s ease;
	box-shadow: 0 1px 5px rgba(0,0,0,.5);
	z-index:5;
}

.rrforumsub {
	position: relative;
	top: 0;
	left: 0;
	background: #ffffff;
	padding: 16px 16px;
	word-wrap: break-word;
	border-bottom: 1px solid #e0e0e0;
	transition: all .3s ease;
}

.rrforumsub:hover {
	position: relative;
	top: -3px;
	left: -3px;
	background: #f8f8f8;
	transition: all .3s ease;
	box-shadow: 0 1px 5px rgba(0,0,0,.5);
	z-index:5;
}

.rrforumsubmark {
	position: relative;
	top: 0;
	left: 0;
	background: #f0f0f0;
	padding: 16px 16px;
	word-wrap: break-word;
	border-bottom: 1px solid #e0e0e0;
	transition: all .3s ease;
}

.rrforumsubmark:hover {
	position: relative;
	top: -3px;
	left: -3px;
	background: #e0e0e0;
	transition: all .3s ease;
	box-shadow: 0 1px 5px rgba(0,0,0,.5);
	z-index:5;
	/* transform: scale(1.02); */
}

.rrforum > a.rrforumtitle {
	color: #ffffff;
	font-weight: bold;
}

.rrforumsub > a.rrforumtitle {
	color: #3c7fb9;
	font-weight: normal;
}

.rrforumsubmark > a.rrforumtitle {
	color: #3c7fb9;
	font-weight: bold;
}

.btnforumoptions {
	position: absolute;
	right: 0;
	bottom: 0;
	padding: 1rem;
}

article.rrforumtopic {
	position: relative;
	top: 0;
	left: 0;
	padding:0;
	margin:0;
	background: #ffffff;
	word-wrap: break-word;
	border-bottom: 1px solid #a0a0a0;
}

article.rrforumtopic > header {
	position: relative;
	background: #ba2332;
	color: #ffffff;
	padding: 1rem;
}

article.rrforumtopic > p {
	font-family: serif;
	background: #ffffff;
	padding: 1rem;
}

article.rrforumpost {
	position: relative;
	top: 0;
	left: 0;
	padding:0;
	margin:0;
	background: #ffffff;
	word-wrap: break-word;
	border-bottom: 1px solid #a0a0a0;
}

article.rrforumpost > header {
	position: relative;
	background: #e0e0e0;
	padding: 1rem;
}

article.rrforumpost > p {
	font-family: serif;
	padding: 1rem;
	font-size: 1.1rem;
}

article.rrforumpostaccept {
	position: relative;
	top: 0;
	left: 0;
	padding:0;
	margin:0;
	background: #f0fff0;
	word-wrap: break-word;
	border-bottom: 1px solid #a0a0a0;
}

article.rrforumpostaccept > header {
	position: relative;
	background: #d0f0d0;
	padding: 1rem;
}

article.rrforumpostaccept > p {
	padding: 1rem;
	font-size: 1.1rem;
}

header.deleted {
	padding: 1rem 0.5rem;
}

article .caret {
    position: absolute;
    bottom: -1.5rem;
    left: 1rem;
	 line-height:0;
    font-size: 3rem;
}

article.rrforumpostaccept .caret {
	color: #d0f0d0;
}

article.rrforumpost .caret {
	color: #e0e0e0;
}

article.rrforumtopic .caret {
	color: #ba2332;
}

.block-light {
	background-color: #f8f8f8;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.14), 0 2px 4px rgba(0, 0, 0, 0.14);
	border-radius: 6px;
}
.forumquote {
	display:block;
	background-color: #fcfcfc;
	border-left: 3px solid #e0e0e0;
	color: #808080;
	margin: 6px 6px 0px 12px;
	padding: 8px 16px;
}

.forumquotebottom {
	background-color: #f8f8f8;
	border-left: 3px solid #e0e0e0;
	color: #808080;
	margin: 0px 6px 6px 12px;
	padding: 6px 16px;
	overflow: hidden;
	font-size: 10px;
}

/* for the tinymce editor */

.editorr {
	position: sticky;
	top: 60px;
	z-index:5;
	border: 1px solid #e0e0e0;
	background-color: #f8f8f8;
	padding: 0.3rem;
	margin: 0 -12px;
	tab-size: 2;
}

.editorr-full-nav {
	position: fixed;
	top: 0;
	z-index: 200;
	width: 100%;
	left: 0;
}
    
.editorr-full-textarea {
	position: fixed;
	width: 100%;
	top: 46px;
	left: 0;
	bottom: 0px;
	z-index: 100;
	overflow-y: auto;
	max-height: 100%;
	tab-size: 2;
}

.btn-editor {
	padding: 0.3rem;
	margin: 0 1px;
	box-shadow: none;
}

.blogintro {
	font-size: 1.5rem;
}

/* required if bootstrap is not here */
.printonly {
	display: none;
}

.printoff {
	display:inherit;
}

/* especially to have the right padding in AMP without bootstrap */
.col {
    padding-right: 15px;
    padding-left: 15px;
}

.showlarge {
	display: none;
}

.text-center {
	text-align: center;
}

.password {
	border: 1px solid #808080;
    display: inline;
    padding: 1rem;
    background-color: #f8f8f8;
}

/* some styling for the online test */
.section-test-your {
	background-color:#e0e0f080;
	margin:0;
	padding:1rem 2rem;
}

.dark .section-test-your {
	background-color:#40406080;
	margin:0;
	padding:1rem 2rem;
}

.testquestion {
	line-height:1.3;
	padding: 1rem;
}

.testanswer {
	position:relative;
	padding:1rem;
	border-top:1px solid #e0e0e0;
	margin: 3px;
	margin-bottom: 12px;
}

.testanswer-none {
	border-left: 2rem solid #d39e00;
	border-top: 1px solid #d39e00;
	border-right: 1px solid #d39e00c0;
	border-bottom: 1px solid #d39e00c0;
}

.testanswer-wrong {
	border-left: 2rem solid #d9534f;
	border-top: 1px solid #d9534f;
	border-right: 1px solid #d9534fc0;
	border-bottom: 1px solid #d9534fc0;
}

.testanswer-right {
	border-left: 2rem solid #70a070;
	border-top: 1px solid #70a070;
	border-right: 1px solid #70a070c0;
	border-bottom: 1px solid #70a070c0;
}
.testanswer-right-simple {
	border-left: 2rem solid #70a07040;
	border-top: 1px solid #70a07040;
	border-right: 1px solid #70a07040;
	border-bottom: 1px solid #70a07040;
}

.testanswer-rightclick {
	border: 3px solid #70a070;
	border-left: 9px solid #70a070;
}

.testanswer-rightnoclick {
	border: 3px solid #759375;
	border-left: 9px solid #759375;
}

.testanswer-wrongclick {
	border: 3px solid #b16664;
	border-left: 9px solid #b16664;
}

.testanswer-wrongnoclick {
	border: 3px solid #b16664;
	border-left: 9px solid #b16664;
}

.testanswer-empty {
	border: 3px solid #d39e00;
	border-left: 9px solid #d39e00;
}

.testanswer-icon {
	position:absolute;
	top:0.5rem;
	left:-1.5rem;
	color:#ffffff;
}

.testexplanation {
	background-color: #e0e0f0;
	color: #202080;
	padding: 0.5rem 0.5rem;
	margin: 0.5rem 0.5rem;
    border-radius: 3px;
}

.testnavbottom {
	padding: 1rem;
	background-color: #f0f0f0;
}
.testcomment {
	padding: 1rem;
	background-color: #e0e0e0;
}

.testnavbar { 
	position: sticky;
	top: 60px;
	z-index: 1;
	overflow:hidden; overflow-x:auto;white-space:nowrap;
	padding:1rem;
	background-color: #f0f0f0;
}

.test-status-empty {
	width:100%;
	border-radius:6px;
	margin:0.5rem 0 1rem 0;
	position:relative;
}

.testtitle {
	background-color: #e0e0e0;
	padding: 0.5rem 1rem 0 1rem;
}

.display-none {
	display:none;
}

.custom-control-label:hover::before {
	background-color: #d0d0f0;
	transition: all 0.25s ease;
}

::-webkit-input-placeholder {
    color: #d0d0d0;
    opacity: 1 !important; /* for older chrome versions. may no longer apply. */
}

:-moz-placeholder { /* Firefox 18- */
    color: #d0d0d0;
    opacity: 1 !important;
}

::-moz-placeholder {  /* Firefox 19+ */
    color: #d0d0d0;
    opacity: 1 !important;
}

:-ms-input-placeholder {  
   color: #d0d0d0;
}

.printfooter {
	display:none;
}

.table-responsive {
	overflow-x: auto;
}
/* formatting for an APA7 table */
.table-apa7 {
	border:none;
}
.table-apa7 caption {
	color:var(--main-text-color);
	caption-side:top;
}
.table-apa7 thead {
	border-top:2px solid var(--main-text-color);
	border-bottom:2px solid var(--main-text-color);
	text-align:center;
}
.table-apa7 thead th {
	padding: 0.5rem 1rem;
}
.table-apa7 .subhead th:not(:empty) {
	font-weight: normal;
	border-top:1px solid var(--main-text-color);
}
.table-apa7 .total {
	border-top: 1px solid var(--main-text-color);
	border-bottom:1px solid var(--main-text-color);
}
.table-apa7 tbody {
	border-bottom:2px solid var(--main-text-color);
	text-align:center;
}
.table-apa7 tfoot {
	font-size: small;
}
/* never displayed, code is used to parse this - or better, not parsed by pdf converter */
.pdfonly {
	display:none;
}

/* Show black/white images */
.show-bw {
	filter: saturate(0);
}

/* Other media options */
@media print {
	body {
		font-size: 13pt !important;
		line-height: 1.2 !important;
		background-color: #ffffff;
	}
	p {
		font-size: 13pt !important;
		line-height: 1.2 !important;
	}
	.testfull-block {
		font-size: 13pt !important;
		line-height: 1.2 !important;
	}
	.printonly {
		display:block;
	}

	.printoff {
		display:none;
	}
	.textimp {
		display: none;
	}
	.nopdf, .pdfno {
		display:none;
	}
	.printfooter {
		position: fixed;
		bottom: 0;
	}
}

@media (min-width: 576px) { /* sm - small */
	.container {
		width: 540px;
		max-width: 100%;
	}

	/* class for images within the text */
	.imginleft40 {
		float: left;
		width: 40%;
		margin-right: 2rem;
		margin-bottom: 1rem;
	}

	.imginright40 {
		float: right;
		width: 40%;
		margin-left: 2rem;
		margin-bottom: 1rem;
	}

	.imginleft30 {
		float: left;
		width: 30%;
		margin-right: 2rem;
		margin-bottom: 1rem;
	}

	.imginright30 {
		float: right;
		width: 30%;
		margin-left: 2rem;
		margin-bottom: 1rem;
	}

	.imginleft20 {
		float: left;
		width: 20%;
		margin-right: 2rem;
		margin-bottom: 1rem;
	}

	.imginright20 {
		float: right;
		width: 20%;
		margin-left: 2rem;
		margin-bottom: 1rem;
	}
}

/* profiler CSS */

.profiler-question {	
	padding: 0.5rem 0;
}
.profiler-item {
	margin: 0 0 2rem 0;
}
.btn-profiler {
	background-color:#f8f8f8;
	color:#000000;
	height: 2.5rem;
	margin-right:0.1rem;
	vertical-align: middle;
}

.btn-profiler-active {
	background:#ff8000c0 !important;
	color:#ffffff;
}

/* add-on for tablets 712px */
@media (min-width: 700px) and (max-width:767px) {
	.container {
		width: 100%;
	}
	.mainpage {
		padding: 2rem 4rem;
	}
	.mainpagechange {
		margin: 0 -4rem;
		padding: 0 4rem;
	}
}

@media (min-width: 768px) { /* md - medium */
	.showlarge {
		display: inherit;
	}
	.blogentry {
		padding: 0 1rem;
	}
	.container {
		width: 720px;
		max-width: 100%;
	}
	.hide-small {
		display: initial;
		visibility: visible;
	}

	.sale-price {
		margin: 1rem 5rem;
	}

	.testtimeblock {
		/* width:95%; */
		/* margin-left:2rem; */
		background-color: #f0f0f080;
	}

}

@media (min-width: 992px) { /* lg - large */
	.container {
		width: 960px;
		max-width: 100%;
	}
	.btn-profiler {
		margin-right:1rem;
	}
}

@media (min-width: 1199px) { /* xl - extra large */
	body {
		font-size: 1rem;
		line-height: 1.5;
	}
	ul, ol {
		/* font-size: 1.1rem; */
		/* line-height: 1.3; */
		margin-left: 1rem;
	}
	
	.img-portrait-m {
		width: 120px;
		height: 120px;
	}

	.container {
		width: 1140px;
		max-width: 100%;
	}
	h1 {
		font-size: 1.5rem;
	}

	h2 {
		font-size: 1.4rem;
	}
	
	h3 {
		font-size: 1.3rem;
	}
	
	.main {
		/* font-size: 1.1rem; */
		padding: 0;
		margin: 0;
	}

	.mainpage {
		padding: 2rem 2rem;
	}
	.mainpagechange {
		margin: 0 -2rem;
		padding: 0 2rem;
	}
	
	.header .logo {
		padding: 0 10px 0 20px;
	}

	div.headtitlesub {
		font-size: 1rem;
		text-align: center;
	}
}

/* dark mode */

body.dark {
	--main-text-color: #d0d0d0;
	background-color:#000000;
}

/* image is inverted in the dark mode */
.dark .dark-invert {
filter:invert();
}

.dark main, .dark .main, .dark .mainpage {
	background-color: #121212;
	color: #d0d0d0;
}

.dark img {
	filter: grayscale(30%) brightness(0.9);
}

.dark .row-striped:nth-of-type(even) {
    background-color: #303030;
}

.dark .bodyoffset {
    background-color: #303030;
	color: #e0e0e0;
}

.dark .header {
	background-color: #202020;
	border-bottom: 1px solid #606060;
}

.dark .testnavbar {
	background-color:#303030;
}

.dark .testnavbottom {
	background-color:#303030;
}

.dark .testcomment {
	background-color: #303030;
}

.dark .form-control {
	background-color: #404040;
	color: #f0f0f0;
	border: 1px solid #808080;
}

.dark .blockempty {
	background-color: #202020;
}

.blockempty:hover {
	background-color: #606060;
}

.dark .menuicon {
	border: 2px solid #a0a0a0;
	color: #f0f0f0;
}

.dark .menuadmin {
	background-color: #303030;
}

.dark .header ul {
	background-color: #202020;
}

.dark .header li a {
	border-top: 1px solid #a0a0a0;
}

.dark .header li a:hover {
	background-color: #909090;
}

.dark .header .menu-icon .navicon:before, .dark .header .menu-icon .navicon, .dark .header .menu-icon .navicon:after {
	background: #e0e0e0;
}


.dark h1 {
	color: #e0e0e0;
}

.dark h2 {
	color: #e0e0e0;
}

.dark h3 {
	color: #e0e0e0;
}

.dark h4 {
	color: #e0e0e0;
}

.dark a {
	color: #f0f0f0;
}

.dark a:hover {
	color: #a0a0f0;
}

.dark .link {
	border-bottom: 1px dotted rgba(255,255,255,0.8);
}

.dark footer {
	background-color: #d88838;
}

.dark .editorr {
	background-color: #303030;
}

.dark .editorentry {
	background-color: #404040;
	color: #f0f0f0;
}

.dark textarea {
	background-color: #404040;
	color: #f0f0f0;
}

.dark .blogimg {
	background-color: #404040;
}

/* the typical science APA7 type */
.dark .table-science .thead {
	border-top:2px solid #a0a0a0;
	border-bottom:2px solid #a0a0a0;
}

.dark .table-science tr {
	border-bottom: 1px solid #a0a0a0;
}

.dark .table {
	color: #f0f0f0;
	--bs-table-striped-color: #f0f0f0;
}

.dark .table td, .dark .table th {
	border-top: 1px solid #404040;
}

.dark .btn-light {
	background-color: #a0a0a0;
}

.dark .alert-primary {
	background-color: #14468f;
	color: #d0d0e0;
}

.dark .alert-success {
	color: #c0e0c0;
	background-color: #608050;
	border-color: #608050;
}

.dark .alert-warning {
	color: #e0e0e0;
    background-color: #806020;
    border-color: #806020;
}

.dark .alert-danger {
    color: #ffe0e0;
    background-color: #804040;
    border-color: #804040;
}

.dark .alert-info {
	color: #e0e0f0;
	background-color: #304080;
	border-color: #304080;
}

.dark .text-danger {
	color: #f87070 !important;
}

.dark .blockformlabel {
	background-color: #505050;
}

.dark .table-striped tbody tr:nth-of-type(odd) {
	background-color: rgba(255,255,255,.1);
	color: #ffffff;
	border-bottom:1px solid #000000;
}

.dark .block-light {
	background-color: #505050;
	background: linear-gradient(150deg,#505050,#404040);
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.14), 0 2px 4px rgba(0, 0, 0, 0.14);
	border-radius: 6px;
}

.dark .blognoimg {
	background-color: #404040;
}
.dark .testtitle {
	background-color: #404040;
}

.dark .testexplanation {
	background-color: #304030;
	color: #e0e0e0;
}

.dark .rrforumsub > a.rrforumtitle {
	color: #4c9fd9;
}

.dark .rrforumsub {
	background: rgba(224, 224, 224, 0.2);
	border-bottom: 1px solid rgba(224, 224, 224, 0.3);
}

.dark .rrforumsub:hover {
	background: rgba(224, 224, 224, 0.3);
}

.dark .rrforumsubmark {
	background: #303030;
	border-bottom: 1px solid #505050;
}

.dark .rrforumsubmark:hover {
	background: #404040;
}

.dark article.rrforumtopic > p, .dark article.rrforumpost {
	background: #303030;
}

.dark article.rrforumtopic > header, .dark article.rrforumpost > header {
	background: #c08030;
}

.dark article.rrforumtopic .caret, .dark article.rrforumpost .caret {
	color: #c08030;
}

.dark .video-wrapper {
	background-color: #404040;
}

.dark .table .thead-light th {
	color: #ffffff;
	background-color: #404040;
	border-color: #808080;
}

.dark .vcardsub {
	border-left: 3px solid #909090;
}

.dark .mainpagechange {
	background-color: #505050;
}

.dark .mainpageopen {
	background-color: #407040;
}

.dark .mainpageclosed {
	background-color: #404070;
}

.dark .modal-content {
	background-color: #505050;
}

.dark .table-container-fade {
	background: linear-gradient(0deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 1));
	background: -webkit-linear-gradient(0deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 1));
}

.dark .custom-control-label:hover::before {
	background-color: #404080;
}

.dark blockquote {
	background-color: #404040;
}

.dark .btn-profiler {
	background-color:#404040;
	color:#000000;
	height: 2.5rem;
	margin-right:1rem;
	vertical-align: middle;
}