/* FUTURE */ /* END FUTURE */ /* NOTES */ /* - 1024x768 = most common screen size - @media rule introduced in css 2 (1998). - https://stackoverflow.com/questions/8549529/what-is-the-difference-between-screen-and-only-screen-in-media-queries https://www.w3.org/TR/css3-mediaqueries/#media0 The keyword 'only' can also be used to hide style sheets from older user agents. User agents must process media queries starting with 'only' as if the 'only' keyword was not present. - need this line in for the @media screen rule to work: https://developer.mozilla.org/en-US/docs/Mozilla/Mobile/Viewport_meta_tag - web safe colours: http://websafecolors.info/color-chart - more colours: http://www.tayloredmktg.com/rgb - word breaking: -- https://stackoverflow.com/questions/1795109/what-is-the-difference-between-word-break-break-all-versus-word-wrap-break/ - color palette: http://clrs.cc/ - color picker: https://www.w3schools.com/colors/colors_picker.asp - https://www.w3schools.com/tags/ref_colornames.asp */ /* Useful links: https://meyerweb.com/eric/tools/css/reset/ https://css-tricks.com/centering-css-complete-guide/ Hover is "sticky" on touch devices. Buttons don't unpress. https://css-tricks.com/solving-sticky-hover-states-with-media-hover-hover/ */ /* link colors: #6D7EAB; Trilema link light blue. #279ae1; Twitter hashtag blue. #26a8ee; balajis.com category blue. #0687f5; bandcamp embedded player title blue. #0093df; solid blue. */ /* To ensure that on iPhone the website cannot shift along the x-axis, need to be careful to make sure that all content wraps well. */ /* END NOTES */ /* Variables */ :root { --foo: blue; --faded_white: #FDFDFD; /* Less-bright white. */ /* Alternative faded white: #fefefe */ --solid_blue: #0c6cf2; --darker_solid_blue: #144699; --trilema_link_blue: #6D7EAB; /* trilema link color */ --bandcamp_link_blue: #0687f5; --twitter_hashtag_blue: #279ae1; --heading_orange: #FAEBD7; /* original heading background colour for edgecase v1 */ --light_orange: #f2b883; /* Alternative light orange: #f4bf93 */ --light_grey: #f1f3f4; --heading_background: #57bbf1; /* 86c5e7, 57bbf1 */ --commercial_background: #e7e9ea; /* daf2fb, c0eeff */ --commercial_link: #1437f0; /* #0349d0, #1437f0 */ --preface_background: #e7e9ea; --postface_background: #e7e9ea; --backlinks_background: #e7e9ea; } /* ==================================================== */ /* RULESET 1 */ /* ==================================================== */ /* NOTES: - This is the default ruleset. - We apply this to screens smaller than 1024x768. Well, narrower than 1024 pixels, anyway. */ body { background-color: var(--faded_white); margin: 0; } .thin_border2 { /* set this class name to .thin_border to turn on borders */ border-width: 1px; border-style: solid; } #container { -webkit-text-size-adjust: 100%; /* -webkit-text-size-adjust prevents Safari on iOS from bumping up the font sizes of various small divs. https://stackoverflow.com/questions/6210788/how-to-avoid-ios-automatic-font-size-adjustment */ } #header_section { height: 120px; width: 100%; background-color: black; } #datafeed_name { height: 100%; width: 100%; display: table; text-align: center; } #datafeed_name_text { display: table-cell; vertical-align: middle; color: var(--faded_white); font-family: Arial ; font-size: 2.8em; font-weight: bold; } /* The minimal_link_styling class is used for the hyperlink around the #datafeed_name_text. */ .minimal_link_styling:link { color: inherit; cursor: auto; text-decoration: inherit; } .minimal_link_styling:visited { color: inherit; cursor: auto; text-decoration: none; } .minimal_link_styling:hover { cursor: pointer; text-decoration: underline; } /* Light links is declared early, so that it can be overridden later by link styling that is more specific. */ .light_links a, a.visited { text-decoration: none; color: var(--trilema_link_blue); } .light_links a:hover { text-decoration: underline; } /* These buttons are only visible in the small screen size */ @media only screen and (max-width: 1024px) { .button_section_wrapper { width: 100%; } .button_section { padding-top: 20px; padding-bottom: 10px; } #button_section_1 { width: 90%; /* same width as navigation_panel div */ margin: auto; } .button_sometimes_visible a, a.visited { display: inline-block; /* Converts the anchor into a block-like element, so that the parent will expand to completely contain it. */ background-color: var(--solid_blue); text-decoration: none; color: var(--faded_white); font: 600 0.85rem Arial; border-radius: 4px; padding: 8px 15px; } @media (hover: hover) { .button_sometimes_visible a:hover { text-decoration: none; background-color: var(--darker_solid_blue); transition: 0.3s; } } .button_navigation_panel.button_sometimes_visible a:before { /* This psuedo-element adds this text to the anchor, but only for ruleset 1 screen sizes. This avoids adding a line break for larger screen sizes (I think). */ content: "Explore"; } .button_top.button_sometimes_visible a:before { content: "Back to Top"; } } /* These buttons are always visible, in all screen sizes. */ .button_section_always_visible { padding: 10px 0px; } #button_section_3 { width: 100%; } #button_section_4 { width: 90%; margin: auto; margin-bottom: 50px; } .button_always_visible a, a.visited { display: inline-block; /* Converts the anchor into a block-like element, so that the parent will expand to completely contain it. */ background-color: var(--solid_blue); text-decoration: none; color: var(--faded_white); font: 600 0.85rem Arial; border-radius: 4px; padding: 8px 15px; } @media (hover: hover) { .button_always_visible a:hover { text-decoration: none; background-color: var(--darker_solid_blue); transition: 0.3s; } } .button_top.button_always_visible a:before { content: "Back to Top"; } #main_section { /* overflow:hidden causes the parent to expand to contain floating children. https://www.w3.org/TR/CSS21/visuren.html#block-formatting */ overflow: hidden; width: 100%; border-color: blue; margin-top: 50px; } #display_panel { float: left; width: 100%; border-color: green; padding-left: 0 5; line-height: 1.3em; font-size: 1.2em; margin-bottom: 100px; } #navigation_panel_wrapper { float: left; border-color: orange; width: 100%; } #navigation_panel { width: 90%; margin: auto; font-size: 1.2em; } #initial_quote { /* margin-top is 0px because the main_section already has a margin-top. */ margin-top: 0px; margin-bottom: 70px; /* this pushes down the title etc */ } #title { width: 95%; margin: 0 auto; font-family: Arial; font-weight: bold; font-size: 1.6em; line-height: 1.3em; text-align: center; } #title a, a.visited { text-decoration:none; color: black; } #title a:hover { text-decoration: underline; } #title_line { width: 90%; margin-left: auto; margin-right: auto; margin-top: 1em; margin-bottom: 1.5em; border-bottom: 4px solid black; } #item_metadata { margin-top: 10px; margin-bottom: 10px; width: 100%; } #item_metadata div { font-family: Arial; font-size: 0.8em; text-align: left; color: grey; width: 90%; margin: 0 auto; } #item_metadata span.metadata_author_name { /* Concession to the aesthetics of having all article author names be bold. */ text-decoration:none; color: black; font-weight: bold; } #item_metadata a, a.visited { text-decoration:none; color: black; font-weight: bold; } #item_metadata a:hover { text-decoration: underline; } #preface { width: 90%; margin: 2em auto; } .preface_content { border: 1px solid black; border-radius: 10px; font-size: 0.9em; padding: 10px; background-color: var(--preface_background); } #postface { width: 90%; margin: 2em auto; } .postface_content { border: 1px solid black; border-radius: 10px; font-size: 0.9em; padding: 10px; background-color: var(--postface_background); } #commercial { width: 90%; margin: 2em auto; } .commercial_content { border: 1px solid black; border-radius: 10px; font-size: 0.9em; padding: 10px; background-color: var(--commercial_background); } .commercial_content a, a.visited { text-decoration: none; color: var(--commercial_link); font-variant: all-small-caps; font-size: 1.1em; } .commercial_content a:hover { text-decoration: underline; } #content_wrapper { width: 90%; margin: auto; } .content { text-align: left; text-justify: inter-word; overflow-wrap: break-word; /* how portable is this? */ } .content div { display: inline-block; /* goal: within , don't add a
automatically after each
*/ } .content table { font-size: inherit; /* tables do not automatically inherit font size properties */ display: inline-block; /* goal: don't add a
automatically after each */ margin-top: 1em; margin-bottom: 1em; } .content th, td { padding: 0px 10px; } #backlinks { width: 90%; margin: 2em auto; } #backlinks_content { border: 1px solid black; border-radius: 10px; font-size: 0.9em; padding: 10px; background-color: var(--postface_background); } #comments { width: 90%; margin: auto; } .comment { border: 1px solid black; padding: 1em; margin-top: 1em; font-size: 0.8em; border-radius: 10px; } .comment_metadata a, a.visited { font-family: Arial; text-decoration: none; color: black; font-weight: bold; } .comment_metadata a:hover { text-decoration: underline; } #navigation_panel_main { margin: 10px; border: 1px solid black; border-radius: 10px; font-family: Arial; line-height: 1.3em; overflow-wrap: break-word; /* overflow-wrap: This is for long asset filenames in the Download list. e.g. 20170812_stjohn_piano_jordan_peterson_on_speech_truth_thinking_and_attention_raw_transcript.txt */ } #navigation_panel ul { margin-left: 0px; margin-right: 0px; margin-top: 10px; margin-bottom: 20px; padding-left: 10px; padding-right: 0px; } #navigation_panel ul:last-child { margin-bottom: 10px; } #navigation_panel li { margin-top: 3px; margin-left: 15px; list-style-type: disc; list-style-position: outside; } #navigation_panel .section_title { font-size: 1em; font-weight: bold; border-bottom: 1px solid; margin: 10px; } #navigation_panel .section { margin-right: 10px; } #navigation_options_list_next, #navigation_options_list_prev { min-height: 3.3em; /* Some longer titles will take up more height than this */ line-height: 1.1em; } #footer_section { height: 100px; width: 100%; background-color: black; } /* Misc styles */ .bold { font-weight: bold; } .italic { font-style: italic; } .no_italic { font-style: normal; } .small_capitals { font-variant: all-small-caps; font-size: 1.1em; } .quote { text-align: left; width: 90%; margin: auto; } .section_separator { width: 100%; text-align: center; font-style: italic; } .heading { font-family: Arial; font-size: 1.4em; line-height: 1.2em; text-align: center; width: 80%; font-weight: bold; /* background-color: var(--heading_background); */ border-bottom: 4px solid black; /* border-radius: 20px; */ padding: 15px; margin: 10px; } .heading2 { font-size: 1.2em; border-bottom: 0px; padding: 0px; margin-top: 10px; margin-bottom: 0px; } /* BEGIN list section */ /* Prevent ordered_list (
    ) having an extra line break afterwards, by wrapping it in an inline div. */ .ordered_list { display: inline; margin: 0 0; } ol { margin-top: 0; margin-bottom: 0; padding-left: 1.2em; /* border: 1px solid black; */ /* testing */ } /* Add a little extra padding between bullet and text. */ li { padding-left: 5px; } /* Prevent unordered_list (
      ) having an extra line break afterwards, by wrapping it in an inline div. */ .unordered_list { display: inline; margin: 0 0; } ul { margin-top: 0; margin-bottom: 0; padding-left: 1.2em; /* border: 1px solid black; */ /* testing */ list-style-type: disc; } /* END list section */ .embedded_video { width: 340px; height: 255px; /* 340.0 / 480 * 360 = 255px */ } .datablock { display: block; width: 100%; border: 1px solid black; padding-left: 5px; padding-right: 5px; /* By default, padding is added to the box _after_ the width is checked. To change this, use: box-sizing: border-box; http://stackoverflow.com/questions/22564756/css-how-to-make-max-width-fixed-when-adding-padding/22564800 */ -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */ -moz-box-sizing: border-box; /* Firefox, other Gecko */ box-sizing: border-box; /* Opera/IE 8+ */ font-family: Courier, monospace; font-size: 1em; text-align: left; overflow-wrap: break-word; /* In contrast to {word-break: break-all}, overflow-wrap will only create a break if an entire word cannot be placed on its own line without overflowing. With long words involved, wrapping might be a bit strange. */ } .preserve_whitespace { white-space: pre-wrap; /* preserve whitespace (spaces, tabs, newlines). Text will wrap when necessary, and on line breaks. http://www.w3schools.com/cssref/pr_text_white-space.asp */ tab-size: 4; /* The tab character (unicode U+0009) is typically converted to spaces (unicode U+0020) by the white space processing rules and then collapsed so that only one space in a row is displayed in the browser. Therefore the tab-size property is only useful when the white space processing rules do not apply, namely inside a
       tag and when the white-space property of an element is set to pre-wrap.
        The default value for the tab-size property is 8 space characters, and it can accept any positive integer value.
        https://css-tricks.com/almanac/properties/t/tab-size/
        */
        word-break: break-all; /* needed for handling e.g.:
        root@trb1:~/trb# wget -O asciilifeform.asc http://wot.deedbot.org/17215D118B7239507FAFED98B98228A001ABFFC7.asc
        this: {overflow-wrap: break-word;} will still cause wrapping and word position shifting if long words are involved, so it's not suitable for e.g. bash output display.
        */
      
      }
      
      .base64_data, .gpg_signature, .gpg_public_key {
        text-align: left;
        font-family: Courier, monospace;
        font-size: 0.9em;
        -webkit-text-size-adjust: none; /* for safari on iphone */
      }
      
      
      .code {
        font-family: Courier, monospace;
        font-size: 0.9em;
        background-color: lightgrey;
        line-height: 1.2em;
        padding-left: 0.2em;
        padding-right: 0.2em;
        padding-top: 0.2em;
        text-align: left;
        max-width: 100%;
        border-radius: 6px;
      }
      
      /* By default, prevent forms from changing layout. */
      form {
        margin: 0px;
        padding: 0px;
        display: inline;
      }
      
      
      .footnotes {
        width: 100%;
        text-align: left;
        text-justify: inter-word;
      }
      
      
      .lined_code table {
        width: 100%;
        table-layout: fixed;
        font-family: Courier, monospace;
        font-size: 0.8em;
        border-spacing: 0px; /* aka "cellspacing" */
      }
      
      /* https://danoc.me/blog/css-prevent-copy/ */
      /* https://codepen.io/danoc/pen/ByGKZv */
      .lined_code [data-pseudo-content]::before,
      [data-pseudo-content--before]::before,
      [data-pseudo-content--after]::after {
        content: attr(data-pseudo-content);
        /* Content displayed on a page using the CSS content property is never added to the DOM. This prevents the text from being selected or copied without the use of (-prefix-)user-select: none. */
      }
      
      .lined_code td {
        border-left: 0px;
        border-top: 0px;
        border-bottom: 1px solid #777777;
        border-right: 1px solid #777777;
        padding-top: 5px;
        padding-bottom: 5px;
      }
      
      .lined_code tr:first-child td {
        border-top: 1px solid #777777;
      }
      
      .lined_code tr td:first-child {
        border-left: 1px solid #777777;
      }
      
      .lined_code td.line_number {
        text-align: right;
        width: 10%;
        background-color: #b0e0e6;
        padding-left: 5px;
        padding-right: 10px;
      }
      
      .lined_code td.code_line {
        background-color: #faf0e6; /* Pale Turquoise http://www.tayloredmktg.com/rgb */
        padding-left: 10px;
        padding-right: 10px;
      }
      
      .lined_code td.code_line pre {
        text-align: left;
        overflow-wrap: break-word;
        word-wrap: break-word; /* needed for firefox, which doesn't appear to handle overflow-wrap: break-word; */
        border-left-color: red;
        white-space: pre-wrap; /* preserve whitespace (spaces, tabs, newlines) */
        tab-size: 4; /*
        The tab character (unicode U+0009) is typically converted to spaces (unicode U+0020) by the white space processing rules and then collapsed so that only one space in a row is displayed in the browser. Therefore the tab-size property is only useful when the white space processing rules do not apply, namely inside a 
       tag and when the white-space property of an element is set to pre-wrap.
        The default value for the tab-size property is 8 space characters, and it can accept any positive integer value.
        https://css-tricks.com/almanac/properties/t/tab-size/
        */
      }
      
      .lined_code_heading_container {
        text-align: center;
        width: 100%;
      }
      
      .lined_code_heading {
        text-align: center;
        width: 80%;
        background-color: #faf0e6;
        border: 1px solid black;
        padding: 10px;
        margin-top: 10px;
        margin-bottom: 10px;
      }
      
      .lined_code_heading .code_title {
        font-weight: bold;
        word-break: break-all; /* for long code file names in small windows */
      }
      
      .lined_code_heading .code_language {
      
      }
      
      .indented_section {
        padding-left: 30px;
      }
      
      
      
      /* SPECIFIC COMBINATION STYLE CLASSES FOR TABLE CELLS */
      .monospace.align_center {
        text-align: center;
        font-family: Courier, monospace;
        font-size: 0.8em;
        overflow-wrap: break-word;
        max-width: 100%;
      }
      
      /* SPECIFIC NUMERIC VALUES */
      
      .font_size_1_2em {
        /* used in /articles/ed_seykota_the_jademaster */
        font-size: 1.2em;
      }
      
      
      
      .underline {
        text-decoration: underline;
      }
      
      .double_underline {
        border-bottom: 3px double;
      }
      
      .align_left {
        text-align: left;
      }
      
      div.align_left {
        width: 100%;
      }
      
      .align_center {
        text-align: center;
      }
      
      div.align_center {
        width: 100%;
      }
      
      .align_right {
        text-align: right;
      }
      
      div.align_right {
        width: 100%;
      }
      
      .align_top {
        vertical-align: top;
      }
      
      div.align_top {
        width: 100%;
      }
      
      .invisible {
        visibility: hidden;
      }
      
      
      
      
      /* interface_manage_ip_addresses */
      
      #interface_manage_ip_addresses {
        width: 100%;
      }
      
      .ip_address_slot {
        width: 100%;
      }
      
      .ip_address_slot input[type=submit] {
        float: right;
      }
      
      /* end interface_manage_ip_addresses */
      
      
      /* interface_browse_articles */
      
      #interface_browse_articles {
        width: 100%;
        position: relative;
      }
      
      #interface_browse_articles_previous {
        float: left;
      }
      
      #interface_browse_articles_next {
        float: right;
      }
      
      /* end interface_browse_articles */
      
      
      
      
      
      img {
        width: 90%;
      }
      
      .image {
        text-align: center;
      }
      
      .image_caption {
        padding-top: 10px;
      }
      
      
      .bash, .repl {
        width: 100%;
        padding-left: 5px; padding-right: 5px;
        font-family: Courier, monospace;
        font-size: 0.8em;
        padding: 10px;
        /* By default, padding is added to the box _after_ the width is checked. To change this, use:
        box-sizing: border-box;
        http://stackoverflow.com/questions/22564756/css-how-to-make-max-width-fixed-when-adding-padding/22564800
        */
        -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */
        -moz-box-sizing: border-box;    /* Firefox, other Gecko */
        box-sizing: border-box;         /* Opera/IE 8+ */
        border: 1px solid #777777;
        border-left: 3px solid #777777;
        text-align: left;
        background-color: #ffe4b5; /* http://www.tayloredmktg.com/rgb Moccasin */
        margin-top: 10px;
        margin-bottom: 10px;
        word-break: break-all; /* needed for handling e.g.:
        root@trb1:~/trb# wget -O asciilifeform.asc http://wot.deedbot.org/17215D118B7239507FAFED98B98228A001ABFFC7.asc */ /* note: this will break small words wherever they hit the max-width. */
      }
      
      .bash .input, .repl .input {
        font-size: 1em;
        font-weight: bold;
      }
      
      .warning {
        font-weight: bold;
        background-color: red;
        border: 4px solid black;
        border-radius: 20px;
        padding: 10px;
        margin-top: 10px;
        margin-bottom: 10px;
      }
      
      .warning a, a.visited {
        /* inherits from .content a settings */
        color: darkblue;
      }
      
      /* Test: Single and nested blockquotes appear in:
      http://edgecase.pro/articles/notes_on_the_security_of_p2sh_multisignature_addresses
      */
      blockquote {
        margin-top: 0px;
        margin-bottom: 0px;
        margin-left: 10px;
        margin-right: 10px;
        padding-left: 10px;
        padding-right: 10px; /* Without this, the text moves slightly over the right-hand side on iPhone */
        border-left: 2px solid #666666; /* trilema blockquote border color */
        display: inline-block; /* goal: don't add a 
      automatically after each
      */ /* By default, padding is added to the box _after_ the width is checked. This means that the box will move out past the right side of the page. To change this, use: box-sizing: border-box; http://stackoverflow.com/questions/22564756/css-how-to-make-max-width-fixed-when-adding-padding/22564800 */ -webkit-box-sizing: border-box; /* Safari/Chrome, other WebKit */ -moz-box-sizing: border-box; /* Firefox, other Gecko */ box-sizing: border-box; /* Opera/IE 8+ */ } .divider { margin-top: 10px; margin-bottom: 10px; border-bottom: 2px solid #000000; width: 50%; } .file { padding-top: 10px; padding-bottom: 10px; padding-right: 10px; /* to force a margin onto the .file .data item when its width is 100% */ } .file_heading_container { text-align: center; width: 100%; } .file_heading { text-align: center; width: 80%; background-color: lightblue; border: 1px solid black; padding: 10px; margin-top: 10px; margin-bottom: 10px; } .file_heading .filename { font-weight: bold; } .file .data { width: 100%; border: 1px solid black; padding-left: 5px; padding-right: 5px; margin-top: 10px; margin-bottom: 10px; margin-right: 5px; /* seems to have no effect if width is 100% */ text-align: left; background-color: lightblue; font-family: Courier, monospace; font-size: 0.8em; white-space: pre-wrap; /* preserve whitespace (spaces, tabs, newlines) */ tab-size: 4; /* future: overflow-wrap: break-word; - will this work ok with {white-space: pre-wrap} */ } .chat_content { border: 1px solid black; padding: 1em; } /* ==================================================== */ /* END RULESET 1 */ /* ==================================================== */ /* ==================================================== */ /* RULESET 2 */ /* ==================================================== */ /* NOTES: - The rules here apply to screen sizes that are at least 1024 px wide. - These are changes / updates / alterations to the default ruleset. */ @media only screen and (min-width: 1024px) { #container { } #datafeed_name_text { font-size: 3.5em; } #main_section { width: 1024px; margin-left: auto; margin-right: auto; } #display_panel { /* With width = 580px, and font-size = 1.1 em, and the horizontal padding, we get about 70-80 chars per line, which is very readable. */ width: 580px; font-size: 1.1em; float: left; padding-left: 10px; padding-right: 20px; padding-top: 5px; /* causes the initial quote / page title to be slightly below the Navigation menu title. */ line-height: 1.3em; } #navigation_panel_wrapper { float: left; border-color: orange; width: 325px; } #navigation_panel { width: 100%; font-size: 0.9em; padding-right: 5px; padding-left: 5px; } #title { width: 100%; margin: 0; text-align: left; font-size: 2em; } #title_line { width: 100%; margin-left: 0; margin-right: 0; } #item_metadata div { width: 100%; } #content_wrapper { width: 100%; } .heading { font-size: 1.8em; } .heading2 { font-size: 1.4em; } #comments { width: 100%; } #button_section_4 { width: 100%; padding-left: 10px; } .embedded_video { width: 580; height: 435; /* 580.0 / 480 * 360 = 435 */ } } /* ==================================================== */ /* END RULESET 2 */ /* ==================================================== */ /* ==================================================== */ /* RULESET 3 */ /* ==================================================== */ /* NOTES: - The rules here apply to screen sizes that are at least 1366 px wide. - These are changes / updates / alterations to the previous rulesets. */ @media only screen and (min-width: 1366px) { /* Goal: Increase text size. Increase line length to ~100 chars. */ #main_section { width: 1366px; margin-left: auto; margin-right: auto; border-color: blue; } #display_panel { width: 900px; font-size: 1.3em; float: left; padding-left: 10px; padding-right: 20px; line-height: 1.3em; } #navigation_panel { width: 400px; font-size: 1em; } .embedded_video { width: 900; height: 506; /* 900.0 / 16 * 9 = 506.25 */ } } /* ==================================================== */ /* END RULESET 3 */ /* ==================================================== */