:root {
	--main-bg-color: 251, 249, 246;

	--main-fg-dark-color: 216, 226, 235; /* fillerbox border */
	--main-fg-color: 234, 240, 245; /* fillerbox background */
	--main-fg-light-color: 224, 241, 255; /* related background */
	
	--emphsis-color: 223, 210, 238;
	
	
	--color-ppo-publish: 0, 128, 0; /* green */
	--color-ppo-unlisted: 128, 128, 128; /* teal */
	--color-ppo-friends: 0, 180, 255; /* teal */
	--color-ppo-private: 255, 0, 0; /* red */
	
	--image-no-user: "/images/nouser.gif";
	--image-working: "/images/loading.gif";
}

body {
	margin: 0 0.25em;
	font: 16px/22px 'Trebuchet MS', Verdana, Arial;
}

/* Link colors */
.fakelink, a:link{cursor: pointer; color: #4545e5; text-decoration: none}
.fakelink:visited, a:visited{ color: #4545e5; text-decoration: none}
.fakelink:active, a:active{ color: #4545e5; font-weight: none} 
.fakelink:hover, a:hover{ color: #4F4FeF; text-decoration: underline}

p, h1, h2, h3, form{border:0; margin:0; padding:0;}

img{border:0}



.errorbox {
	position: relative;
	background: rgba(255, 208, 208, 0.8);
	
	border: 2px solid rgba(255, 208, 208, 1);
	
	border-radius: 0.75em;
	padding: 0.5em 0.5em;
}

.goodbox {
	position: relative;
	background: rgba(157, 249, 163, 0.6);
	
	border: 2px solid rgba(113, 242, 122, 0.8);
	
	border-radius: 0.75em;
	padding: 0.5em 0.5em;
}

.goldbox {
	border-radius: 7px;
	padding: 2px;
	background-color:rgba(255,255,0,0.35);
	border: 2px solid rgba(255,255,0,0.5) !important;
}

.roundBorder {
	-moz-border-radius: 7px;
	border-radius: 7px;
}
/* ------------------------------------ */

@keyframes aniFlashLine-red {
	0%  {background-color: inherit; }
	100%  {background-color: rgba(255, 208, 208, 0.8);}
}
 /* - - - - -*/

.flashRed {
	animation-name: aniFlashLine-red;
	animation-duration: 0.2s;
	animation-iteration-count: infinite;
	animation-direction: alternate;
}

/* fillerbox  ------------------------------------------------ */
.fillerbox {
	background-color: rgb(var(--main-fg-color));
	padding: 3px;
	
	border: 2px solid rgb(var(--main-fg-dark-color));
	-moz-border-radius: 7px;
	border-radius: 7px;
}

.fillerbox:hover {
	/*border: 2px solid #CCC !important;*/
}

/* flexParent  ------------------------------------------------ */
.flexParent {
	display: flex;
	justify-content: space-around;
	flex-flow: row wrap;
	overflow: hidden;
}

/* fancy background images  ------------------------------------------------ */
.tImgBG {
	position: absolute;
	opacity: 0.3;
	z-index: 1;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	
	filter: blur(0.1rem);
	
	background: no-repeat center center;
	background-size: cover;
	
	cursor: pointer;
}

.tImgFG {
	position: absolute;
	z-index: 2;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	
	background: no-repeat center center;
	background-size: contain;
	
	cursor: pointer;
}

/* Easylink  ------------------------------------------------ */
.easylink {
	position: relative;
	
	font-weight: bold;
	font-size: 14px;
	text-align: left;
	font-variant: small-caps;
	font-style: italic;
	margin: 0.3em;
	
	padding: 0.125em 0.180em;
	
	background-color: #ebc3cb;

	border-radius: 0.5em;
	
	display: flex;
	justify-content: space-between;
	white-space: nowrap;
}

.easylink input {
	font-variant: normal;
	font-size: 0.8em;
	text-align: center;
	font-weight: normal;
	padding: 0;
	margin: 0.25em;
	margin-left: 1em;
	
	min-width: 17em;
	
	border:none;
	
	flex-basis: 80%;
	border-radius: 0.5em;
	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}

.easylink input:hover {
	border: 1px solid blue;
}

.easylink-copied {
	background-color: #ccFFcc !important;
	font-style: italic;
	font-size: 0.8em;
	font-weight: bold !important;
}

/* "loading" overlay ----------------------------------------------- */

.loading {
	position: absolute;
	display: none;
	top: 0px;
	left: 0px;
	
	height: 100%;
	width: 100%;
	background: #fff url("/images/loading.gif") no-repeat center;
	
	z-index: 1005;
}

/* bigImgOverlay  ------------------------------------------------ */
#bigImgOverlay {
	position: relative;
	
	height: 100%;
	width: 100%;
	
	z-index: 1000;
}

#bigImgOverlay .bioLoadContainer {
	
}

#bigImgOverlay .bioContent {
	display: none;
	
	height: 100%;
	width: 100%;
}

#bigImgOverlay .bioContent {
	
}

#bigImgOverlay .bioLoading {
	width: 100%;
	height: 100%;
	background-image: url('/images/load-tbounce-25.gif') !important;
	background-size: 90px 60px !important;
	
	background-repeat:no-repeat !important;
	background-position: center center !important;
	
	background-color: rgba(0,0,0, 0.1) !important; 
}


/* modal noticebox  ------------------------------------------------ */
.mobsetCaptionMsg {
	min-width: 40em;
	
	line-height: 1.3em;
	
	display: flex;
}

#noticeBox {
	padding: 0.5em;
}

#noticeBox .mdlNewCaption {
	flex-grow: 1;
	margin-left: 0.5em;
	
	font-size: 1.3em;
}

#noticeBox .header {
	font-weight: bold;
	font-variant: small-caps;
	font-size: 1.2em;
	
	border-bottom: 2px solid rgba(0,0,0,0.4);
	
	margin-bottom: 0.5em;
	width: auto;
	overflow: hidden;
}

#noticeBox .message {
	position: relative;
	width: auto;
	overflow: hidden;
	text-align: center;
	margin: 0.25em;
	padding: 0.5em;
	font-size: 1.1em;
}

#noticeBox .buttonBox {
	display: flex;
	align-items: center;
	justify-content: space-around;
	flex-flow: row wrap;
	font-weight: bold;
	font-variant: small-caps;
	margin-top: 1em;
}

#noticeBox .buttonBox  > * {
	padding: 0.5em;
}
#noticeBox .buttonBox  > *:not(:first-child) {

}

#noticeBox .buttonBox > *:hover {
	background-color:rgba(255,255,255,0.8);
}

#noticeBox .buttonBox .yes:hover {
	background-color:rgba(255,255,0,0.35);
}

#confirm-container a.modal-close,
#confirm-container a.modal-close:link,
#confirm-container a.modal-close:active,
#confirm-container a.modal-close:visited {
	display: none;
	position:absolute;
	right:10px;
	top:2px;
	
	text-decoration:none;
	font-weight:bold;
	color:#CCC;
}
#confirm-container a.modal-close:hover {color:#000;}


/*  ------------------------------------------------ */
/* simplemodal modal used by noticeBox -------------- */
#simplemodal-overlay { 
	background-color:#000;
	cursor: wait;
	z-index: 1000;
}

/* Container */
#simplemodal-container {
	min-width: 350px;
	min-height: 150px;
}

#simplemodal-data {
	box-shadow: 0px 0px 75px rgba(0,0,0,0.8);
	border-radius: 3px;
	z-index: 1001;
}

/* SubFooter ------------------------------------------------ */
#subfooter {
	position: relative;
	clear: both;

	text-align: center;
	font-weight: normal;
	line-height: 1em;
	
	margin: 0.25em auto;

	padding: 0.125em;
	
	z-index: 1;
}

#subfooter li {
	list-style-type: none;
}

#subfooter .upper {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

#subfooter .sfDelEdit {
	font-weight: bold;
	font-variant: small-caps;
	font-size: 1.1em;
	
}

#subfooter .lower {
	display: flex;
	justify-content: space-between;
	font-size: 0.75em;
	align-items: center;
	
	margin-top: 0.5em;
}

/* --- */

#subfooter .boxSFText {
	position: relative;
	
	flex-grow: 1;
	display: flex;
	flex-direction: column;

	font-size: 0.7em;
	text-align: left;
}

#subfooter .boxSFText > * {
	flex-grow: 1;
}
/* --- */

#subfooter .boxSFRightSide {
	flex-grow: 1;
	flex-basis: 20%;
	
	display: flex;
	flex-direction: column;
}

#subfooter .boxRTA {
	position: relative;
	text-align: center;
}

#subfooter .boxRTA span {
	display: block;
	letter-spacing: -1px;
	
	font-weight: bold;
	font-variant: small-caps;
	font-size: 1em;
}

/* --- */

#subfooter .boxMobileSelection {
	
}

#subfooter .boxDisableFX {
	position: relative;
	text-align: left;
}

#subfooter .boxDisableFX input {
	height: 0.8em;
}

#subfooter .boxGenTime {
	position: relative;
	font-size: 0.85em;
	font-style: italic;
}

#subfooter .boxLinkTrade {
	position: relative;
	font-size: 0.7em;
	margin-bottom: 1em;
	flex-grow: 1;
	
	display: flex;
	align-items: center;
	justify-content: space-around;
	flex-flow: row wrap;
}

#subfooter .boxLinkTrade li {
	/*border-left: 1px solid #CCC;*/
	line-height: 0.9em;
	margin: 0.25em .5em 0.25em -.5em;
	padding: 0 .5em 0 .5em;
}

@media only screen and (min-device-width: 480px){
	#subfooter .boxLinkTrade li {
		border: none;
	}
}

#subfooter .boxLinkTrade a:visited {
	color: blue;
}

#subfooter .boxLinkTrade a {
	display: inline-block;
	margin: 0.125em;
}




/* ^^^  SUBFOOTER --- */

/* The switch - the box around the slider  -------------------------------------- */
.switch {
  position: relative;
  display: inline-block;
  width: 30px;
  height: 17px;
}

/* Hide default HTML checkbox */
.switch input {display:none;}

/* The slider */
.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  -webkit-transition: .4s;
  transition: .4s;
}

.slider:before {
  position: absolute;
  content: "";
  height: 13px;
  width: 13px;
  left: 2px;
  bottom: 2px;
  background-color: white;
  -webkit-transition: .4s;
  transition: .4s;
}

input:checked + .slider {
  background-color: #2196F3;
}

input:focus + .slider {
  box-shadow: 0 0 1px #2196F3;
}

input:checked + .slider:before {
  -webkit-transform: translateX(13px);
  -ms-transform: translateX(13px);
  transform: translateX(13px);
}

/* Rounded sliders */
.slider.round {
  border-radius: 17px;
}

.slider.round:before {
  border-radius: 50%;
}

/* icoPrivacyStatusIndicator --------------------------------------------------------------- */
.icoPrivacyStatusIndicator {
	//background-color: black;
	padding: 0.33em;
	border-radius: 1em;
}
	
.ppo-publish {
	background-color: rgb(var(--color-ppo-publish));
}

.ppo-unlisted {
	background-color: rgb(var(--color-ppo-unlisted));
}

.ppo-friends {
	background-color: rgb(var(--color-ppo-friends));
}

.ppo-private {
	background-color: rgb(var(--color-ppo-private));
}

/* RATE10 --------------------------------------------------------------- */
.snsRate10 {
	position: relative;
}

.snsRate10 h1 {
	position: relative;
	
	text-align: center;
	font-size: 0.8em;
}

.snsR10curRated,
.snsR10curCount {
	font-weight: bold;
	font-size: 1.1em;
}

.rate {
	position: relative;
	display: flex;
	justify-content: space-around;
	align-items: center;
}

.rate span {
	flex-basis: 14%;
}

.rateValueBtns {
	display: flex;
	
	flex-grow: 1;
	
	justify-content: space-around;
}

.snsRate10 .rItems:hover {
	cursor:pointer;
	cursor:hand;
}

.snsRate10 .rItems {
	position: relative;
	border: 1px solid #d8e2eb;
	padding: 0.75em;
	font-size: 1.5em;
	
	font-weight: bold;
	
	margin: auto 0.125em
}

#rate .usrRated {
	font-size: 0.8em;
}


.rateInstructions {
	position: relative;
	
	text-align: center;
	
	font-size: 0.8em;
	font-weight: bold;
}
/* ---------- */
/* ---------- */

.snsR10ShowScore {
	font-variant: small-caps;
}

.snsR10VoteMsg {
	display: none;
}

.snsR10CurRating {
	position: relative;
	display: flex;
	align-items: center;
	/*justify-content: space-around;*/
}

.snsR10compactCurRating {
	font-size: 0.8em;
}

.snsR10boxCurRating {
	flex-grow: 1;
}	

.snsR10valCurRating {
	position: relative;
	top: 0.25em;
	font-size: 1.2em;
}

.snsR10valCurRating::first-letter {
	font-size: 2.8em;
}

.snsR10CurCount {
	flex-basis: 60%;
	font-size: 0.8em;
	flex-shrink: 1;
}
.snsR10CurCount .snsR10valCurCount {
	font-size: 2em;
	font-weight: bold;
}

.snsR10UserValRate,
.snsR10UserRatedMsg .ctxtimenumber {
	font-weight: bold;
	font-size: 1.2em;
}

.snsR10UserRatedMsg .ctxtimenumber {
		font-weight: normal;
}

.favmsg {}

.favmsg:hover {
	cursor: pointer;
}

/* Login Prompt --------------------------------------------------------------- */

.boxLoginPrompt {
	position: relative;
	
	display: flex;
}

.boxLoginPrompt li {
	list-style-type: none;
	display: flex;
	align-items: center;
}

.boxLoginPrompt .boxLoginVals {
	flex-grow: 1;
}

.boxLoginPrompt .usernameFuckery > div {
	font-size: 0.8em;
}

.boxLoginPrompt .fmtText {
	font-size: 1.1em;
	font-weight: bold;
	font-variant: small-caps;
	
	flex-basis: 33%;
	text-align: right;
	
	padding-right: 0.5em;
	
	min-width: 10em;
}

.boxLoginPrompt .boxLoginVals input {
	width: 100%;
	font-size: 1.1em;
	padding: 0.125em;
}

.boxLoginPrompt .btnDoLogin {
	margin-left: 0.75em;
	min-width: 4em;
	font-size: 1.2em;
}

.boxLoginPrompt .btnisBusy {
	background: url('/images/load-tbounce-25.gif'), buttonface;
	
	background-repeat:no-repeat;
	background-position: center center;
}

/* selAlbum --------------------------------------------------------------- */

.selAlbumContainer {
	position: relative;
	z-index: 10;
	//background-color: rgb(var(--main-fg-dark-color));

	overflow: auto;
	max-height: 15em;
	display: flex;
}

.selAlbumOptions {
	display: flex;
    flex-direction: column;
	margin-right: 0.25em;
	margin-left: 0.25em;
}

.selAlbumOptions .selOption {
	
}

.selOptionStyle {
	display: flex;
	justify-content: space-between;
	align-items: center;
	
	margin-top: 0.25em;
	margin-bottom: 0.25em;

	width: calc(100% - 0.5em);
	min-width: 12em;
	
	font-size: 1.1em;
	padding-top: 0.25em;
	padding-bottom: 0.25em;
	
	background-color: rgb(var(--main-fg-dark-color));
	border: 0.25rem solid rgba(255,255,255, 0.75);
	border-radius: 0.3rem;
}

.selOptionStyle:first-of-type {
	margin-top: 0;
}

.selOptionStyle:last-of-type {
	margin-bottom: 0;
}
/* --- */

.selAlbumOptions .selected {
	font-weight: bold;
}

/* --- */

.selAlbumOptions .icoPrivacyStatusIndicator {

	margin-right: 0.3em;

	font-size: 1.2em;

	box-shadow:
		1px 1px 0 rgba(255,255,255,0.4),
		-1px -1px 0 rgba(255,255,255,0.4),  
		1px -1px 0 rgba(255,255,255,0.4),
		-1px 1px 0 rgba(255,255,255,0.4),
		1px 1px 0 rgba(255,255,255,0.4);
}

/* --- */

.selAlbumOptions .selNewAlbum {
	//display: flex;
	flex-direction: column;
	margin: 0;
	margin-top: 0.25em; 
}

.selAlbumOptions .selNewAlbum .txtNewAlbumName  {
	display: none;
	margin-bottom: 0;
	flex-direction: column;
}

.selAlbumOptions .selNewAlbum .txtNewAlbumName input {
	display: block;
	text-align: center;
	font-weight: bold;
	font-size: 1.1em;
	width: calc(100% - 0.5em);
}

.selAlbumOptions .selNewAlbum .selNewAlbPriv {
	display: flex;
	width: calc(100% - 0.5em);
	
	margin-top: 0.33em;
}

.selAlbumOptions .selNewAlbum .selNewAlbPriv span {
	flex-shrink: 1;
	font-size: 0.8rem;
	font-weight: normal;
	font-style: italiac;
	
	border-top-right-radius: 0.33em;
	border-bottom-right-radius: 0.33em;
}

.selAlbumOptions .selNewAlbum .selNewAlbPriv select {
	border-top-left-radius: 0.33em;
	border-bottom-left-radius: 0.33em;
}

.selAlbumOptions .selNewAlbum > * {
	//display: flex;
	justify-content: center;
}

.selAlbumOptions .selNewAlbum > button {
	font-weight: bold;
	font-style: italic;
}
/* ^^ --------------------------------------------------------------- */

#bigImgOverlay .shareContainer {
	position: relative;
	min-height: 2em;
	z-index: 1001;

    display: flex;
	justify-content: center;
	
	opacity: 0.6;
	
	width: 10em;

	margin: auto 1em auto 0.25em;
	
	overflow: hidden;
	cursor: pointer;

	background-color: #EEEEED;
	border-radius: 1em;
	border: 0.125em solid black;

	padding: 0 0.33em;

	will-change: transform;
	transition: all .2s ease-in-out;
}

#bigImgOverlay .shareContainerOverlay {
    opacity: 0.75;
}

#bigImgOverlay .shareContainer * {
	margin: 0;
    padding: 0;
}

#bigImgOverlay .shareContainer .fab {
    opacity: 0;

	display: flex;
	justify-content: center;
	align-items: center;

    font-size: 1em;
	text-align: center;
	line-height: 0.8em;
	
	
    color: #1F1E1E;
	
	border: 0.125em solid #CCC;
	border-radius: 0.5em;
	
	width: 5em;
	min-height: 1.8em;

	margin: 0.125em 0.5em;
	padding: 0.15em 0.2em;
	
    will-change: transform;
	transform: scale(.1);
    transition: all .3s ease;
}

#bigImgOverlay .shareContainer span {
    position: absolute;
    z-index: 1002;
	width: 100%;
	height: 100%;
	
	
	border: 0.125em solid #1F1E1E;
    border-radius: 0.9em;
	
    font-size: 1.5em;
    text-align: center;
    line-height: 1.3em;
    letter-spacing: 0.015em;
	
    color: #EEEEED;
    background-color: #1F1E1E;
	
    padding: 0 0.2em;

    transition: all 1.2s ease;
}

#bigImgOverlay .shareContainer .container {
	display: flex;
	justify-content: space-evenly;
	align-items: stretch;
	
	border-radius: 5em;
}

#bigImgOverlay .shareContainer .container .fab:nth-of-type(1) {
	transition-delay: 1.2s;
}

#bigImgOverlay .shareContainer .container .fab:nth-of-type(2) {
	transition-delay: 1.0s;
}

#bigImgOverlay .shareContainer .container .fab:nth-of-type(3) {
	transition-delay: .8s;
}

#bigImgOverlay .shareContainer .container .fab:nth-of-type(4) {
	transition-delay: .5s;
}

#bigImgOverlay .shareContainer:hover {
	//transform: scale(1.1);
	transition-delay: .45s;
	width: auto;
	opacity: 1;
}

#bigImgOverlay .shareContainer:hover .container {
	flex-wrap: wrap;
}

#bigImgOverlay .shareContainer:hover span {
	transition-delay: .20s;
	transform: translateX(-101%);
	transition-duration: 0.2s;
}

#bigImgOverlay .shareContainer:hover .fab {
    opacity: 1;
	transform: scale(1);
}

#bigImgOverlay .shareContainer:hover .fab:hover {
	color: blue;
	border-color: blue;
	transition: all 0s;
	transition-delay: 0s;
	transition-duration: 0s;
}

/* ---- */
