Newer
Older
s4 / examples / common / default / default.css
@HIROSE Yuuji HIROSE Yuuji on 4 Dec 2022 15 KB Keep pjaxview in @all post
/*
 * Default CSS definitions
 */
body {background: #eff; margin: 2px; padding: 6px;}
h2, h3, hr {clear: both;}
*.warn {color: red;}
*.warnbg {background: red;}
*.hidden {visibility: hidden;}
*.border {border: 1px solid #113;}
div.topmenu {
    margin: 0; padding: 0; width: 100%; height: 2em;
}
div.topmenu ul {width: 100%; position: fixed; z-index: 5; margin: 0;
		margin: 0 auto;}
div.topmenu ul li {
    float: left; width: 18%;
    background: rgba(68,255,102,0.8); border: #3e5 2px groove; margin: 0;
    text-align: center; font-size: 80%; list-style: none;
    box-shadow: #242 2px 3px 5px;
    text-shadow: #fff 0px 0px 10px;
}
div.topmenu ul li.worldname {background: #eeeeff;}
div.topmenu ul li:hover {background: #8fa;}
div.topmenu ul a {text-decoration: none;}

ldiv.topmenu + h1 {clear: both; margin-top: 3em;}
pre.list {
    overflow: auto; width: 96%; height: 40%; background: white;
    border: 2px inset;
}
p.copyright {
    border-top: 2px inset #555; text-align: right; clear: both;
    font-size: 50%;
}
p.copyright a, a#reload {text-decoration: none;}

td {padding-left: 0.5ex; padding-right: 0.5ex;}
table.td2r td:nth-child(2) {text-align: right;}
table.td3r td:nth-child(3) {text-align: right;}
table.td3rr td:nth-child(n+3) {text-align: right;}
table.td3evw th:nth-child(2n+4), span.textdigest {
    background: white;
}
table.td4r td:nth-child(4) {text-align: right;}
table.thl th {text-align: left;}
span#reverse {background: white; padding: 0 0 0 0.4ex; border: outset;}

table.form, table.b, table.b tr, table.b td, table.b th {
  border: 1px solid black; border-collapse: collapse;
}
table.b, table.bloghead {
    border-radius: 1ex; box-shadow: rgb(250,222,222) 1px 2px 3px;
}
td.warn {background: #fcc;}
input[type="checkbox"][name="rm"]:checked ~ table {background: red;}
input[type="checkbox"][name="rm"] ~ span {display: none;}
input[type="checkbox"][name="rm"]:checked ~ span {display: inline;}

input[type="radio"][value="replace"] + input.replace[type="file"] {
    visibility: hidden;}
input[type="radio"][value="replace"]:checked +  input.replace[type="file"] {
    visibility: visible;
}
button#morefile {visibility: hidden; background: #fe9;}
label.admin span {border-bottom: 1px solid blue;}
label.admin:after {content: "(ADMIN)"; color: red; text-decoration: none;}

/* keep/edit/rm action selector */
input.action ~ input:not(.action), input.action ~ textarea {
    display: none;
}
input.action[value="edit"]:checked ~ input[class="edit"],
input.action[value="mv"]:checked ~ input[type="text"] {display: inline;}
input.action[value="edit"]:checked ~ textarea {display: block;}
input.action[value="edit"]:checked ~ span,
input.action[value="mv"]:checked ~ span {display: none;}
input.action[value="rm"]:checked ~ span {background: red;}
label.confirm {display: none;}
*.inline,
input.action[value="rm"]:checked ~ label.confirm {
    display: inline;
}

input.hidesub ~ input[type="submit"] {visibility: hidden;}
input.hidesub:focus ~ input[type="submit"],
p:active input[type="submit"]
{visibility: visible;}
input[type=text]:focus {background: #ffa;}

form.replyblog {xxx-margin-bottom: 40%;}
div.blogcomment {
    position: fixed; bottom: 0; left: 0;
    z-index: 2; background-color: rgba(250,222,222,0.6);
}
/* div.blogcomment textarea:focus {background: yellow;
    position: fixed; top: 0; bottom: auto; } Need to consider narrow display */
div.blogcomment * {opacity: 1.0;}
table.bloghead, .bloghead tr, .bloghead td {
    border: 1px solid black; border-collapse: collapse;
    min-width: 30em;
}
table.bloghead tr.preface {
    font-size: 150%; background: yellow; /* text-align: center; */
    white-space: pre-wrap;
}
tr.preface em {color: navy; text-decoration: underline; padding-right: 0.3ex;}
tr.preface strong {color: navy; background: #eea;}
table.bloghead tr.frozen {
    background: #ccf; border: blue thick solid; color: navy;
}

table.bloghead {margin-bottom: 1em;}

table.blog_replies, .blog_replies tr, .blog_replies td {
    border: 1px solid #999; border-collapse: collapse;
    white-space: pre-wrap;
}
table.bloghead tr.preface td ul,
table.bloghead tr.preface td ol,
table.bloghead tr.preface h2,
table.bloghead tr.preface h3,
table.bloghead tr.preface h4,
table.bloghead tr.preface h5,
table.bloghead tr.preface h5,
table.blog_replies video,
table.blog_replies iframe,
table.blog_replies ul, .blog_replies tr ul, .blog_replies td ul,
table.blog_replies ol, .blog_replies tr ol, .blog_replies td ol {
    text-align: left; white-space: normal; margin: 1ex 0;
}
table.bloghead tr.preface h2,
table.bloghead tr.preface h3,
table.bloghead tr.preface h4,
table.bloghead tr.preface h5,
table.bloghead tr.preface h5
{
    display: inline-block;
}
table.blog_replies p.proficon {
    float: right; margin: 0 1ex 0 0;
}
table.blog_replies+p.update_link {margin-top: 0; margin-bottom: 14em;}
.blog_replies td.repl {
    vertical-align: top; min-width: 30em; height: 3em;
    max-width: 50em;
}
.blog_replies td.repl img {max-width: 30%;}
td.repl h2, td.repl h3, td.repl h4 {
    display: inline;	/* Because td.repl's white space is pre-wrap */
    /* text-shadow: blue 0px 1px; */
}
td.repl hr {display: inline-block; width: 95%; color: #cde}
td.repl em {color: #a00; text-decoration: underline; padding-right: 0.3ex;}
td.repl strong {color: white; background: #00a; padding: 0 0.5ex;}
:root {--repl-heading-color: #a22;}
td.repl h2:before {content: "■"; color: var(--repl-heading-color);}
td.repl h3:before {content: "◆"; color: var(--repl-heading-color);}
td.repl h4:before {content: "◎"; color: var(--repl-heading-color);}
td.repl div.atall {
    color: white; background: #66f; padding: 0 0.8ex;
    display: inline-block; border-radius: 0.8ex;
}
td.repl.atall:first-line {font-size: 125%;}

.blog_replies td.repatt {min-width: 12em;}
.blog_replies td.hideauthor {display: none;}
table.blog_replies iframe {
    width: 80%; min-height: 300px; max-width: 50em; max-height: 80vw;
    padding: 0; border: 0;
}
table.blog_replies td.new {	/* New Article from last visit */
    background: white
}
table.mini, table.mini tr, table.mini th, table.mini td {
    margin: 0; border-width: 0;
    border-collapse: collapse;
    vertical-align: top; width: auto; height: 1em;
}
table.mini th {background: #cee;}
table.mini tr {border-bottom: solid 1px #bcc;}
table.mini th, table.mini td {text-align: justify;}
table.mini td, table.mini th {padding: 1px 0.5ex; min-width: 1em;}
table.mini {margin-left: 1em; border-left: 2px solid #686;}
div.pjaxview, div.pjaxview2 {
    position: fixed; top: 1ex; left: 0; width: 9vw; height: 9vh;
    background: #ffffee; border: 1px double navy; border-radius: 2em;
    z-index: 7;
}
div.pjaxview2 {
    width: 100vw; height: 98vh; transition: 0.5s;
}
div.pjaxview iframe {
    width: 98%; height: 90%; object-fit: scale-down;
}
div.pjaxview p {
    padding: 0.5ex; text-align: left; margin: 0 2em;
    white-space: nowrap; overflow: hidden;
}
div.pjaxview p button { font-size: large; padding: 0 1em;}
div.pjaxview p button { background: #eeeee0; }
div.pjaxview p button:focus { background: #fffff8; }

/* "visibility: collapse" not working on chromium browser */
div.noprofimg tr.profimg {visibility: collapse; display: none;}
div.noprofimg tr:hover + tr.profimg, div.noprofimg tr:active + tr.profimg,
div.noprofimg tr.profimg:hover, div.noprofimg tr.profimg:active {
    visibility: visible; display: table-row;}

/* Used for overlapping image */
img.overlap {position: absolute; top: 40px; left: 50px; z-index: 2;}

/* Used in user's home page */
p.profimg {float: left; max-width: 50%; max-height: 400px;
	   overflow: hidden; margin: 0 1em 1ex;
	   padding: 0; border: white 1px solid; box-shadow: 2px 3px 4px
	  }
p.profimg img {max-width: 400px;}
div.home+* {clear: both;}
body.grouphome p.groupimg {
    float: right; margin: 0 1em 1ex;
    overflow: hidden;}
body.grouphome p.groupimg img {
    max-width: 380px; max-height: 380px;}

div.fold {margin-top: 1em; border-top: 1px solid black; padding-top: 1em;}
div.noborder {border: 0px; margin: 0;}
div.fold > div {
    xxdisplay: none; max-height: 80%; overflow: auto;
    height: 0px; opacity: 0; padding: 0 1ex;
}
div.fold input[type="checkbox"]:checked ~ div,
div.fold input[type="radio"]:checked ~ div {
    display: block; background: #fadede;
    height: auto; opacity: 1.0; transition: 1s;
}
input.fold + label + *.folded {opacity: 0; display: none; hight: 0;}
input[type="checkbox"].fold:checked + label + *.folded {
    opacity: 1.0; transition: 2s;
}
input[type="checkbox"].fold:checked + label + div.folded {
    display: block; hight: auto; transition: 2s;
}

/* fold2!! */
div.foldtabs {
    position: relative; height: 5em; margin-top: 1em;
    border-top: 1px solid black; padding-top: 1em;
}
div.foldtabs > div {
    position: absolute; top: 2.5em; opacity: 0.0; background: pink;
    margin: 2px; overflow: auto;
}
div.foldtabs input[type="radio"] {display: none;}
div.foldtabs input[type="radio"]:checked + label + div {
    display: block; opacity: 1.0; transition: 0.2s; width: 100%;
    margin: 0; z-index: 2;
}
div.foldtabs > label {
    border: 1px outset #ddd; background: #ddd; xbackground: pink;
    border-top-left-radius: 0.8em; border-top-right-radius: 0.8em;
    margin: 0;
    padding: 0.2ex 0.5em; height: 3em;
}
div.foldtabs > input:active + label {background: white;}
div.foldtabs input:checked + label {
    background: pink; border: pink 1px solid; border-bottom-width: 6px;
}
div.foldtabs input:checked + label:last-of-type {border-width: 1px;}
input[type="checkbox"] + label + input[type="submit"] {display: none;}
input[type="checkbox"]:checked + label + input[type="submit"] {
    display: inline;}
div.foldtabs p {margin: 0;}

/* ToDo List CheckBox inspired by https://cultureacademia.jp/webcreate/303/ */
input.s4-checkbox {display: none;}	/* Do not show real checkbox */
input.s4-checkbox + label {
    position: relative; padding-left: 0.8em; margin-right: 1em;
}
input.s4-checkbox + label:before,
input.s4-checkbox + label:after {
    content: ""; display: block;	/* Mimic Checkbox by absolute box */
    position: absolute; top: 0; left: 0; margin: 0;
}
input.s4-checkbox + label:before {		/* checkbox frame */
    width: 0.8em; height: 0.8em; border: 1px solid #aaa; border-radius: 20%;
    background: #ddd;
}
input.s4-checkbox:checked + label:before {	/* checked frame bg */
    background: pink;
}
input.s4-checkbox:checked + label {		/* checked text */
    /* text-shadow: red 1px 1px;	*/
}
input.s4-checkbox:checked + label:after {	/* checked mark */
    width: 0.6em; height: 0.4em; top: 0.05em; left: 0.1em;
    border-bottom: 3px solid navy;
    border-left: 3px solid navy;
    transform: rotate(-40deg);
}
/* ---------------------------------------------------- */

div.dumptable {max-height: 70vw; overflow: auto;}
div.dumptable tr:hover {background-color: #fee;}
table.dumpblogs td,
div.lcto td {	/* LINK + CTIME + TITLE + OWNER + something... */
    white-space: nowrap; overflow: hidden;}
table.dumpblogs td:nth-child(4),
div.lcto td:nth-child(2) {max-width: 8em;}
table.dumpblogs td:nth-child(5), /* team */
table.dumpblogs td:nth-child(6), /* title */
table.dumpblogs td:nth-child(7), /* heading */
div.lcto td:nth-child(3),	 /* title */
div.lcto td:nth-child(4)	 /* owner */
	 {max-width: 14em;}
/* https://curecode.jp/tech/css-table-position-sticky-with-background-border-vanished/ */
div.dumptable table.dumpblogs th {
    position: sticky; top: 0; z-index: 0; background: #fcf0f0;
    border: 1px solid black; border-collapse: collapse;
    background-clip: padding-box;
}

table.dumpblogs tr.凍結 td:nth-child(n+2) {opacity: 0.5;}
table.dumpblogs tr.凍結 td:last-child {opacity: 1.0; color: blue;}
*.frozen, *.凍結 {color: blue;}

/*
table.dumpblogs td:nth-child(4) {
    max-width: 7.6em; overflow: hidden;}
table.dumpblogs td:nth-child(5),
table.dumpblogs td:nth-child(6) {
    max-width: 12em; overflow: hidden;}
table.dumpblogs td:nth-child(7) {
    min-width: 5em; overflow: hidden;}
*/

/********************* icon list *********************/
div.iconlist {
    text-align: center; float: left; margin: 1ex 1em;
    border: dotted #dfd 2px; padding: 1ex;
}
div.iconlist p {margin: 0; padding: 0;}
div.iconlist p.tag {background: #ffa; border-radius: 4em;}
div.iconlist p._temp	{background: cyan;}
div.iconlist p._lecture	{background: pink;}
div.iconlist p._admin	{background: yellow;}
div.iconlist p._friend	{background: fuchsia;}
div.iconlist p._fellows	{background: #9f9;} /* light green */
div.iconlist p._club	{background: #4bb;} /* light teal */
div.iconlist p._event	{background: maroon; color: white;}
div.iconlist p._misc	{background: purple; color: white;}
div.iconlist p._record	{background: red; color: white;}
div.iconlist p._info	{background: #eff;} /* light cyan */
div.iconlist p._support	{background: #ffe;} /* light yellow */
div.iconlist p._test	{background: #ffb6c1;} /* light pink */
input#ismembtn:checked ~ div.iconlist,
input#isadmbtn:checked ~ div.iconlist {display: none;}
input#ismembtn:checked ~ div.iconlist.Member,
input#isadmbtn:checked ~ div.iconlist.ADMIN,
input#ismembtn:checked ~ div.iconlist.ADMIN {display: block;}
div.xy120x120 {min-width: 120px; min-height: 140px;}
div.xy96x96 {min-width: 96px; min-height: 116px;}
div.xy96x96 img {max-width: 96px;}
div.xy50x50 {min-width: 50px; min-height: 70px;}
div.xy50x50 img {max-width: 50px;}
div.moderated {background: rgba(255, 215, 0, 0.3);}		/* gold */
body.moderated {background: #fffec4;} /* #faed8a */
body.ismember, div.ismember {border-top: 4px red solid; margin-top: 0;}
div.right, div.search {clear: both; float: right;}
*.clear {clear: both;}
div.search input[type="text"] {
    border: solid 1px #bbb; border-radius: 0.5ex; min-height: 20px;
    margin: 1em; padding: 0 0.5ex; padding-left: 18px;
    background: url("../../img/loupe.png") left center no-repeat
		   rgba(242,240,240,0.7);
    position: relative;
}
div.search div.fr, *.relative {position: relative;}
div.search p.help, textarea + p.help {display: none;}
div.search input:focus + p.help,
textarea:focus + p.help {
    display: block; background: white;
    position: absolute; right: 15em; white-space: pre;
    border: 1px solid #888; border-radius: 1em; padding: 1ex;
    box-shadow: #555 2px 2px;
}
textarea:focus + p.help {
    position: fixed;
    top: 0em; left: 0;
}
form.summary input[type=submit],
input[type="submit"].all, button.all {
    background: #cfc; padding: 0.4ex 2ex;
}
input[type="reset"] {margin-left: 4em;}

/*
 * World List
 */
li.casmenu div {display: none; position: relative; width: 200%;
		min-width: 80%; margin-right: 0;}
li.casmenu div table {
    background: white; position: absolute; top: 0em; border: 3px solid navy;
    max-width: 100%;
}
li.casmenu div table td {text-align: left; padding: 0.5ex 1em;}
li.casmenu:hover div, li.casmenu:active div,
li.casmenu div:hover, li.casmenu div:active
{display: block;}
span.pre {white-space: pre;}

/*
 * Frozen toggle button
 */
td.稼動状態 {text-align: center;}
button.toggle-frozen {
    padding: 0 1emex;
    background: #fdb585;
    border-radius: 1ex;
    border-bottom: solid 2px #d27d88;
    box-shadow: inset 0 2px 0 rgba(255,255,255,0.2), 0 2px 2px rgba(0,0,0, 0.19);
    background: linear-gradient(#fdeaea, #fdb2b2); // ffc8a8
}
.凍結 button.toggle-frozen, .凍結 button.toggle-frozen::before {
    background: linear-gradient(#d8e2ea, #83bbea);
}
.凍結 button.toggle-frozen::before {
    content: attr(frozen-marker); color: blue;
}
.toggle-frozen::before {
    content: attr(running-marker);
}
.info-tooltip {
    position: absolute; padding: 1ex;
    background: ivory;
    border-radius: 1em; border: double 5px blue;
    min-width: 10em; right: 0; bottom: 0;
}
.dissolving {opacity: 0; transition: 3.0s;}
.emerging {opacity: 1; transition: 3s;}
button#c, button#reload  {display: inline-block;}
span.loading, button#c:disabled, button#reload:disabled  {
    visibility: visible; transform: rotateX(3600deg); transition: 30s;
}
span.loading {padding: 0 1em;}
input.aux {margin-left: 10em; transform: scale(0.7);}

/*
 * PR Web
 */
body.pr {font-size: 200%;}
body.pr h1 {
    text-align: center; width: 80%; padding: 3ex 0; margin: 0 auto;
    background: #ffefef; border: double 5px navy;
}