﻿/*____________________________________________________________________________________________
|                                                                                             |
|                                                                                             |
|   CSS for https://www.robertgaskins.com/home.htm                                            |
|   located at https://www.robertgaskins.com/css/home.css                                     |
|                                                                                             |
|_____________________________________________________________________________________________*/

/*____________________________________________________________________________________________
|                                                                                             |
|                                                                                             |
|  This CSS implements a custom responsive design, without using a framework like Bootstrap.  |
|                                                                                             |
|  The principles it is important to know when editing the CSS are these:                     |
|                                                                                             |
|   All the content appears one and only one time in the HTML.                                |
|   The page consists of a <header>, a <main>, and a <footer>, one of each in order.          |
|   The <main> contains 3 html columns, but all the content appears in col-1 only.            |
|   The <body> is max-width at 1920px, so the layout becomes fixed at that max.               |
|   The CSS below has @media queries for breakpoints, of which 2 are used: 897px and 1601px.  |
|   At each queried viewport width, display properties are assigned to each col: flex or none.|
|   Below 897px ("CSS pixels", := 96ppi), there is one column. (Phones, small/mid tablets.)   |
|   Between 897px and 1600px, there are two columns. (Tablets, laptops, small desktops.)      |
|   At or above 1601px, there are three columns. (Larger desktop monitors.)                   |
|   These breakpoints are trivially changed, and several more are already implemented.        |
|   The content to be distributed among the <main> columns is divided into 16 <section>'s.    | 
|   When the page is loaded, any calculated data is inserted in header, col-1, or footer.     |
|   Then, the entire content of the 16 <section>'s in col-1 is cloned into col-2 AND col-3.   |
|   And, for each visible col, display is assigned to each <section>: block or none.          |
|   These are set so that, at each of 1,2,3 cols, only 1 instance of a <section> is visible.  |
|   Different visible <sections> are assigned to cols 1,2, or 3 depending on viewport width.  |
|   At present, for any number of cols, visible sections appear in HTML text order.           |
|   However, to change this, each section can be given a flex-order to achieve any sequence.  |
|   Hence, at every width, each <section> can be shown in any column and any order in column. |
|   This is greater and easier flexibility in layout than standard frameworks offer.          |
|   There is some overhead, but performance is very good on phones/tablets 4-5 years old.     |
|   And, the overhead is for a tailored solution, not a heavy general-purpose framework.      |
|   Responsiveness within <section>'s is mostly accomplished by display=flex CSS items.       |
|   Because of the cloning step, it is not possible to use #IDs (unique) within <main>.       |
|   This is not a problem, just use a .class assigned to a single element.                    |
|   To operate on all three instances of that .class after cloning, just select the .class.   |
|   To operate on the uniquely visible one, just select .class:visible using jQuery filter.   |
|   This is how links to on-page anchors are simulated, see details in js file.               |
|   Most on-page links used are in <nav> in header; "back" can be used to return to <nav>.    |
|                                                                                             |
|_____________________________________________________________________________________________*/

/*____________________________________________________________________________________________
|                                                                                             |
|                                                                                             |
|   CSS for the Meyer Reset, v2.0  2011-01-26, adapted                                        |
|                                                                                             |
|_____________________________________________________________________________________________*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
    box-sizing: border-box;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, main, menu, nav, section {
    display: block;
}

body {
    line-height: 1;
}

ol, ul {
    list-style: none;
}

blockquote, q {
    quotes: none;
}

    blockquote:before, blockquote:after,
    q:before, q:after {
        content: '';
        content: none;
    }

table {
    border-collapse: collapse;
    border-spacing: 0;
}

/*____________________________________________________________________________________________
|                                                                                             |
|                                                                                             |
|   CSS for DijkstraRegular fontface (ewd handwriting), embedded version contains entire font |
|                                                                                             |
|_____________________________________________________________________________________________*/

@font-face {
    font-family: DijkstraRegular;
    src: url('https://www.robertgaskins.com/fonts/dijkstra-2013.eot');
}

@font-face {
    font-family: DijkstraRegular;
    src: url(data:application/font-woff2;charset=utf-8;base64,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) format('woff2'), 
    url(data:application/font-woff;charset=utf-8;base64,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) format('woff'), 
    url('https://www.robertgaskins.com/fonts/dijkstra-2013.ttf') format('truetype'), 
    url('https://www.robertgaskins.com/fonts/dijkstra-2013.svg#dijkstraregular') format('svg')
}

/*____________________________________________________________________________________________
|                                                                                             |
|                                                                                             |
|   CSS for Big-O-Symbol fontface (single U+004F char), embedded version contains entire font |
|                                                                                             |
|_____________________________________________________________________________________________*/

@font-face {
    font-family: Big-O-Symbol;
    src: url('https://www.robertgaskins.com/fonts/Big-O-Symbol.eot');
}

@font-face {
    font-family: Big-O-Symbol;
    src: url(data:application/font-woff2;charset=utf-8;base64,d09GMgABAAAAAAPUAA8AAAAACCAAAAN2AAEAQQAAAAAAAAAAAAAAAAAAAAAAAAAAP0ZGVE0cGh4GYACCWggEEQgKgxCCUgE2AiQDGAsOAAQgBYUcB0U/d2ViZgYbygYR1ZvfyH4c2DHhK+xwkcEw2QhFI0Xv9qBQGzZrO8CPgFClO8kBYMQ2sRT+OhO1pBkxTUtpE9fk32hYIPWFuzn9r4oqtCiigRpoXNh53jSx4Wg3xqFtGLu4jKcAAnjS8GgvgAslrgXwtHvqowiIBpIBBiFCEE7tD9ZMM2cIwZlZLg19mAwUlAFDuEVL8B8HNOhWtQsZiMka2Ay+BLaRvQBoggOz19wGMqAWDgukiZGhiVTs5xwlgEjCMRhiyED9rIH3IEX5eP/ZH30V0Y6vWRRKQiWziiRUShPNEv5UBzgpoxmJkPfEARAKnHJ3B/QEJq9LmW9/ego519ZFhcS4Ztb5I3svj5qddGnSlTl2lLhR5kmTJ++dOe82nZ38eunT5c/nX536ebNVuXYV25ZkSY4dBVYk2VNlib/nrGTbUi/Pf7n88+bHi18vebPgypRPm2zI02zWa0vksWLHSj1rtkoTUz9vrv+F7SFxLjbjqohV3zNcb3G9uerMwsioRluiEjTLVCmsb/FKCRolH1upaetHqEbEgMHffhmbtp8wK+OwXM1fdXe86Pz4n/Dt8QHdD6fr2KBhqozhBUpXi3hXo3qz1GsXDJh0+t/b2rE1EjbYML782DnN+1cZGvs5+4NcwfiaJRK1b5s5a82Eg5p1rt9ucLGWnNF2AuCgyF/mUJjjb6GDoSFvApI1eg7aLEKI9VBYqAJRKvG7BIiK93aFFraPKxMfnt7+gFcVjv9vR5kL6PYK7txrGgUVwM4CsKPuLAcQqj5klNUVsVrSCq/NW0AobXsZbwAhoAL58LpolmGRiwD2QagTaVgeBA2x3AItTXgBOvIoDxhCBrUAQ0mjEeANkmkJeJMC2gXeIlyvWLeJ1Ke9XlpS6Q/VYcmWfC4ENhHIcJ5jgYcUckc22A4Br7Fii5W6mJxBLEO8NSD0Ax2atGnS09EsQA3p7pQWMWFvIgRNon5NbLNFrcoGO5lPqVafzi2AHkCAe5/aQLD4IOvQjglmi7vlvjKnRsC0F16pc4cODXpma7q0aTOsnyIu/eynIdDmIEVr3ti4mwX0/0q8vN+8NvLvyRiuUW+GDn0b3WXKgLGjxwTM1LnDCEPSpe7aeTNIOMHgpxdpPjZL5r/S1IcWQts9FGRksRQSE9rdzFy1ExbZWhtI9u6AbtHjjiBbbowVAAA=) format('woff2'), 
    url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAAAXEAA8AAAAACCAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAABWAAAABwAAAAcafGYHEdERUYAAAF0AAAAHAAAAB4AJwAMT1MvMgAAAZAAAABNAAAAYFxfC5FjbWFwAAAB4AAAAFMAAAFaS/zhhGN2dCAAAAI0AAAABAAAAAQAIQJ5Z2FzcAAAAjgAAAAIAAAACAAAABBnbHlmAAACQAAAAVgAAAGQ5gD6/WhlYWQAAAOYAAAANgAAADb4TiaGaGhlYQAAA9AAAAAdAAAAJAbN/9FobXR4AAAD8AAAABgAAAAYCP8AYWxvY2EAAAQIAAAADgAAAA4BHAEObWF4cAAABBgAAAAfAAAAIABKAI5uYW1lAAAEOAAAAUkAAAKcFmpdUXBvc3QAAAWEAAAANQAAAEX4AciId2ViZgAABbwAAAAGAAAABmtAWUEAAAABAAAAANRRtWoAAAAAwDjG/AAAAADVZxu1eNpjYGRgYOABYjEgZmJgBEJWIGYB8xgAA9UANHjaY2BmamPaw8DKwMLUBaQZGB9AaCAwZGRiYGBi4GBmgAEECwgC0lxTGBQYeFX/MCv8twBKBjEfAAozNrAAda1lOg1kKzAwAgBDRAxNAAAAeNpjYGBgZoBgGQZGBhAIAfIYwXwWBgsgzcXAwcAEhLwMCgz+qn/+/weKwdn/v/5//H/rLU6oXihgZGOACzAyAQkmBlTACLGSBMDCMMQAAG1HDqMAACECeQABAAH//wAPeNpFUE1OwmAQne/7+kMplnyttAhNsVRawaRAq1BNE0nQKK40JsLCRBfGtYlGExfcwAvgKegaE3dcwgO4MV5Aoq0EnZdJZt57M4sHGEwAVMMjIMCDO0ZQDyOegQ9vzLFvYURwPMKYJDSb0BHPoa8wQgnvU5M6PrVMJLxPp3g0uzbxIH4Hne9P8ohf4TxeWr6nqZrKc3Mks+a1Wws4doKFmqDs2P/yr/3v2LLn9q3NuYqe02mRExFWlUrTCWi+qxr+gZAK6lXLVgWhvCEtF11NEmVDT/G6x3NcgVCGyZlur1+rBdWwJLFZWcx3nm7uS45rNdaPFI6V+8d3Kn7BhM1QTVHybvd0eKYrJkKMlivbDVp8GBSVFYFhiGwENLWWxQhjgWacnfqhLiGk6LuG3jtpNoaD/SyDxKXV7UvDqhRury7a6TifuPAET+LMIY7QxJPZXtIAP4WxQrEAAQAAAAEAQd5DMpFfDzz1AB8D6AAAAADAOMb8AAAAANVnG7UAAP/vA3oCwAABAAgAAgAAAAAAAHjaY2BkYGAO+uMAJLsYgIC5ioGRARWwAQBGhgKkAAAAAWwAIQAAAAABTQAAAAAAAAOKAEACvAAAAAAAKgAqACoAKgC6AMgAAHjaY2BkYGBgY4hlYGIAARDJyAASc2DQAwkAAA0EANkAeNqFkUsyQ0EUhv+WUChlaKAyuAvIzc3DewFUqcqIEtOEkJAbJFeFiVUoizCwDmIDGBpbhO92d4oYRJ3qPv95/31a0oIelJHJzkl64jhslMNyeEqLGnqc0b7ePM4qb/IeTyswhx7PKGduPH7Wkrn3+EVF8+jxULPmw+NXzZtPh98zWjZf2lFTXU5PdSXoYwU6wbpQDKriSYhsY3dBgRpqo2N8l9a65Y6pSGyHI/IDlVRQkVNB8tgtogn5W4qQgZUCuX3ua6RA7w6ROzLr4IHlFP3pG9HpjJqqZdpSiDeGQR8OJeaNWyPGqe7p9BevAB6TO7mMEhLyglBlfEWt/VMzbh/YnfbZVsojsB3c/FRPnl+jtsHbRzt3dTX/O7tsrGu9K/Yuw3ZVG9wVbeIp2wnrOie/ydbT9zsWP7+4pyu6tIn0yOl8A0k+Y80AAAB42mNgYgCD/2wMRgzYABsDAyMTIzMDM4MRIwtbek5lQYYhe2lepoGBgQuINjJ1cwYApe4IRgAAAAABWUFrPwAA) format('woff'), 
    url('https://www.robertgaskins.com/fonts/Big-O-Symbol.ttf') format('truetype'), 
    url('https://www.robertgaskins.com/fonts/Big-O-Symbol.svg#jBig-O-Symbol') format('svg');
}

/*____________________________________________________________________________________________
|                                                                                             |
|                                                                                             |
|   CSS for Heartsymbol fontface (single U+2665 char), embedded version contains entire font  |
|                                                                                             |
|_____________________________________________________________________________________________*/

@font-face {
    font-family: Heartsymbol;
    src: url('https://www.robertgaskins.com/fonts/Heartsymbol.eot');
}

@font-face {
    font-family: Heartsymbol;
    src: url(data:application/font-woff2;charset=utf-8;base64,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) format('woff2'), 
    url(data:application/font-woff;charset=utf-8;base64,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) format('woff'), 
    url('https://www.robertgaskins.com/fonts/Heartsymbol.ttf') format('truetype'), 
    url('https://www.robertgaskins.com/fonts/Heartsymbol.svg#Heartsymbol') format('svg');
}

/*____________________________________________________________________________________________
|                                                                                             |
|                                                                                             |
|   CSS for magnify.js, for magnifying glass zoom over photo                                  |
|                                                                                             |
|_____________________________________________________________________________________________*/

html.magnifying > body {
    overflow-x: hidden !important;
}

.magnify {
    position: relative;
    display: inline-block;
    max-width: 100%;
}

    .magnify .magnify-lens {
        /* Create the magnifying lens */
        position: absolute;
        width: 200px;
        height: 200px;
        border-radius: 100%;
        /* Multiple box shadows to achieve the glass lens effect */
        -webkit-box-shadow: 0 0 0 7px rgba(255, 255, 255, 0.85), 0 0 7px 7px rgba(0, 0, 0, 0.25), inset 0 0 40px 2px rgba(0, 0, 0, 0.25);
        box-shadow: 0 0 0 7px rgba(255, 255, 255, 0.85), 0 0 7px 7px rgba(0, 0, 0, 0.25), inset 0 0 40px 2px rgba(0, 0, 0, 0.25);
        /* Hide the mouse pointer */
        cursor: none;
        /* Hide the lens by default */
        display: none;
        /* Place the lens on top of other elements */
        z-index: 100;
    }

        .magnify .magnify-lens.loading {
            background: #333 !important;
            opacity: 0.8;
        }

            .magnify .magnify-lens.loading:after {
                /* Loading text */
                position: absolute;
                top: 45%;
                left: 0;
                width: 100%;
                color: #fff;
                content: 'Loading...';
                font: italic normal 16px/1 Calibri, sans-serif;
                text-align: center;
                text-shadow: 0 0 2px rgba(51, 51, 51, 0.8);
                text-transform: none;
            }

/*____________________________________________________________________________________________
|                                                                                             |
|                                                                                             |
|   CSS for rounded-corner container classes, formerly constructed by scores of my CSS rules  |
|                                                                                             |
|_____________________________________________________________________________________________*/

/* set rounding for any one, two, or all four corners in any combination */
/* the nine classes to trigger rounding are: .rall, .rtop, .rbot, .rlft, .rrgt, .rtl, .rtr, .rbr, .rbl */

.rall {
    border-radius: 0.9375em;
}

.rtop {
    border-top-left-radius: 0.9375em;
    border-top-right-radius: 0.9375em;
}

.rbot {
    border-bottom-left-radius: 0.9375em;
    border-bottom-right-radius: 0.9375em;
}

.rlft {
    border-top-left-radius: 0.9375em;
    border-bottom-left-radius: 0.9375em;
}

.rrgt {
    border-top-right-radius: 0.9375em;
    border-bottom-right-radius: 0.9375em;
}

.rtl {
    border-top-left-radius: 0.9375em;
}

.rtr {
    border-top-right-radius: 0.9375em;
}

.rbr {
    border-bottom-right-radius: 0.9375em;
}

.rbl {
    border-bottom-left-radius: 0.9375em;
}
/* set "rfilled" to fill the rounded box with background-color */
.cs1 .rfilled {
    background-color: #f2f2f2;
}
/* or set "rdarkfill" to fill the rounded box with border-color */
.cs1 .rdarkfill {
    background-color: #556666;
    border-color: #556666;
}
/* and/or set "rborder" to add a narrow border of border-color (filled/darkfilled or not) */
.rborder {
    border-style: solid;
    border-width: 0.125em;
}

.cs1 .rborder {
    border-color: #556666;
}
/* and/or set "rtwide" for wide border at top of border-color */
.rtwide {
    border-top-style: solid;
    border-top-width: 0.5em;
}

.cs1 .rtwide {
    border-top-color: #556666;
}
/* and/or set "rbwide" for wide border at bottom of border-color  */
.rbwide {
    border-bottom-style: solid;
    border-bottom-width: 0.5em;
}

.cs1 .rbwide {
    border-bottom-color: #556666;
}
/* upper-left-corner titles to fit into "rtwide" panels up against the wide top, with rounded lower right corner -- note DIFFERENT from .rbtitle (below) for thin tops */
h2.rwtitle {
    font-size: 0.9375em;
    position: relative; /* to keep from a gap */
    top: -0.125em; /* opening above this */
}

.rwtitle {
    display: inline-block;
    margin: 0;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    font-style: italic;
    font-weight: bold;
    font-family: "Segoe UI","Trebuchet MS",Tahoma,Arial,sans-serif;
    border-bottom-right-radius: 0.9375em;
    border-top-left-radius: 0.5em;
    padding-top: 0.25em;
    padding-right: 0.75em;
    padding-bottom: 0.75em;
    padding-left: 0.75em;
}

.cs1 .rwtitle {
    color: #f2f2f2;
    background-color: #556666;
}

/* upper-left-corner titles to fit into "rborder" panels up against the narrow top, with rounded lower right corner -- note DIFFERENT from .rwtitle (above) for wide tops */
h2.rbtitle {
    font-size: 0.9375em;
}

.rbtitle {
    display: inline-block;
    margin: 0;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    font-style: italic;
    font-weight: bold;
    font-family: "Segoe UI","Trebuchet MS",sans-serif;
    border-bottom-right-radius: 0.9375em;
    border-top-left-radius: 0.625em;
    padding-top: 0.5em;
    padding-right: 0.75em;
    padding-bottom: 0.75em;
    padding-left: 0.75em;
}

.cs1 .rbtitle {
    color: #f2f2f2;
    background-color: #556666;
}

/* spacer to insert at the top of rounded panels with rbtitles or rwtitles, to clear */
.rtspacer {
    margin-top: 0.75em;
}


/* Special upper right corner title for date at top of page */
h4.rdheaddate {
    align-items: center;
    text-align: center;
    margin: 0;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    font-style: italic;
    font-weight: bold;
    font-family: "Segoe UI","Trebuchet MS",Tahoma,Arial,sans-serif;
    border-bottom-left-radius: 0.9375em;
    padding-top: 0.25em;
    padding-right: 0.75em;
    padding-bottom: 0.75em;
    padding-left: 0.75em;
}

.cs1 h4.rdheaddate {
    color: #f2f2f2;
    background-color: #556666;
}

/*____________________________________________________________________________________________
|                                                                                             |
|                                                                                             |
|   CSS for styles for <body> and .logical-page                                               |
|                                                                                             |
|_____________________________________________________________________________________________*/

body {
    font-family: Verdana,"Lucida Grande","Lucida Sans Unicode",Geneva,sans-serif;
    font-style: normal;
    line-height: 1.4;
    font-size: 16px;
    /* 1px=0.0625em 2px=0.125em 3px=0.1875em 4px=0.25em
       5px=0.3125em 6px=0.375em 7px=0.4375em 8px=0.5em
       9px=0.5625em 10px=0.625em 11px=0.6875em 12px=0.75em
       13px=0.8125em 14px=0.875em 15px=0.9375em 16px=1.0em
    */
    background-image: url("data:image/gif;base64,R0lGODlhUABQAJEAANjY2Onp6fLy8gAAACH5BAAAAAAALAAAAABQAFAAAAL1FCKGmtfrmIwU2ofn1bzX/HlbSI6LCaJiyq4u0JaxKr80Uuf3zNv+r+sFJTtgcYgUHpfKJpJpbHKeUmqUWIVat9nulbrVip3jb7l2TntJa7WZFW7Lp+74G3u36yHzfR9XF9jll+cmWLj2p/hG2DjmuGh1CAkUOclEmbmjadlz2fkCyrkyWnphKrrxiVjJikq6+uogG3uSejuBS+tay7PLm9EL7KErPGvc+zuKrFvsrPwJDco8TOFcfUrNKT2sHXuNyg0pfugtCp5sDky+qJ6JfsuOKE/oPgmPna//QW+I/76PWT85A+/Yi/Qv2sF5C+slRBiwWAEAOw");
    /*
       At 120em = 1920px responsiveness stops, replaced with fixed 3-col layout centered;
       that limit is set here, not by the @media queries which control responsiveness below W=120em.
    */
    width: 100%;
    max-width: 120em;
    margin-right: auto;
    margin-left: auto;
}

.cs1 { /* .cs1 is "colour scheme one" for this page */
    color: #001111;
    background-color: transparent;
    border-color: #556666;
}

/* apparent page with borders and near-white background */

div.logical-page { /* header and main, ex footer */
    font-size: 0.9375em;
    border-top: solid 0.75em;
    border-left: solid 0.0625em;
    border-right: solid 0.0625em;
    border-bottom: solid 0.75em;
    border-color: #556666;
    background-color: #fffff9;
    margin-top: 2.0%;
    margin-right: 2.0%;
    margin-bottom: 0;
    margin-left: 2.0%;
    display: flex;
    flex-flow: column;
}

header {
    display: flex;
    flex: auto;
    flex-flow: column;
}

main {
    display: flex;
    flex: auto;
    flex-flow: row nowrap
}

div.col {
    /* display:flex or display:none for each col is set in @media queries */
}

/*____________________________________________________________________________________________
|                                                                                             |
|                                                                                             |
|   CSS for styles for elements shared in header, main, footer                                |
|                                                                                             |
|_____________________________________________________________________________________________*/

/* img */

img {
    max-width: 100%;
    height: auto;
    /* box shadow works poorly; so all images contain their own shadows */
}

/* Links */

a, a:focus, a:link, a:visited, a:hover, a:active {
    text-decoration: underline;
    font-weight: bold;
    font-family: "Segoe UI","Trebuchet MS",Tahoma,Arial,sans-serif;
}

.cs1 a:focus {
    color: #119999;
    border-color: #119999;
    background-color: transparent;
}

.cs1 a, .cs1 a:link {
    color: #007777;
    border-color: #007777;
    background-color: transparent;
}

    .cs1 a:visited {
        color: #335555;
        border-color: #116666;
        background-color: transparent;
    }

    .cs1 a:hover {
        color: #007777; /* #ee3300; #112222; #009999; */
        text-decoration: underline;
        border-color: #112222;
        background-color: transparent;
    }

    .cs1 a:active {
        color: #007777; /*#119999 */
        text-decoration: underline;
        border-color: #119999;
        background-color: transparent;
    }

.like-a-link {
    text-decoration: none;
    font-weight: bold;
    font-family: "Segoe UI","Trebuchet MS",Tahoma,Arial,sans-serif;
    color: #007777;
    border-color: #007777;
    background-color: transparent;
}

.not-like-a-link {
    text-decoration: none;
    font-weight: normal;
    font-family: Verdana,"Lucida Grande","Lucida Sans Unicode",Geneva,sans-serif;
    color: black;
    background-color: transparent;
    border-color: #556666;
}

/*____________________________________________________________________________________________
|                                                                                             |
|                                                                                             |
|   CSS for styles for <header>                                                               |
|                                                                                             |
|_____________________________________________________________________________________________*/

header { /* whole page is header, main, footer; header is a flex column, holding div.date-wrapper and div.head-wrapper */
    width: 100%;
    display: flex;
    flex-flow: column;
    justify-content: space-around;
}

.date-wrapper { /* wrapper div just for the single h4.rdheaddate item, no flex */
    width: 20%;
    margin-left: auto;
    display: inline-block;
    position: relative; /* to keep from a gap */
    top: -0.125em; /* opening above this */
}

.head-wrapper { /* wrapper div for .topwrapper h1 and nav (left stacked) and headphoto (right) in a row */
    width: 95%;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-flow: row wrap-reverse;
    align-items: center;
    justify-content: space-around;
}

.top-wrapper { /* wrapper div for h1 and nav stacked in a column */
    width: 65%;
    display: flex;
    flex-flow: column;
    flex: initial;
    justify-content: center;
}

    .top-wrapper h1 { /* page title in Dijkstra font */
        font-size: 2.0em;
        font-weight: bold;
        flex: none;
        text-align: center;
    }

    .top-wrapper nav { /* holds ul/li's with links to major "sections" */
        width: 90%;
        flex: none;
        margin-bottom: 1.875em;
        margin-top: 1.875em;
        margin-left: auto;
        margin-right: auto;
    }

    .top-wrapper ul.top-navigation { /* class on all ul's contained in nav */
        display: flex;
        flex-flow: row wrap;
        align-items: baseline;
        justify-content: space-around;
        text-align: center;
        width: 100%;
        margin-left: auto;
        margin-right: auto;
        font-weight: bold;
        font-family: "Segoe UI", "Trebuchet MS", Tahoma, Arial, sans-serif;
    }

    .top-wrapper li { /* such an li will be child of a ul.top-navigation */
        flex: auto;
        text-align: center;
        display: inline;
        margin-top: 0.5em;
        margin-bottom: 0.5em
    }

        .top-wrapper li a {  /* the go-links in <nav> to go to <sections> of the page */
            margin-top: 0.25em;
            margin-bottom: 0.25em;
            margin-left: 0.75em;
            margin-right: 0.75em;
            text-align: center;
        }

.headphoto { /* div.headphoto to hold the single item img.rgphoto */
    flex: initial;
    margin-left: 0.9375em;
    margin-right: 0.9375em;
}

/*____________________________________________________________________________________________
|                                                                                             |
|                                                                                             |
|   CSS for styles for column layout media queries                                            |
|                                                                                             |
|_____________________________________________________________________________________________*/

/*  media-query width breakpoints, to trigger 1, 2, or 3 columns (values in "css pixels" := 96/inch).
    Some "natural" breakpoints (from clustering of display sizes) are around 600, 900, 1200, and 1800.
    So we have breakpoints at 896 (from 1 column to 2 columns) and 1600 (from 2 columns to 3 columns).  
    Breakpoints are defined and implemented at 319, 576, 768, 1200, and 2800, but are not currently used.
    Note (below) that a different mechanism "freezes" expansion and centers beyond width of 120em (1920px).

            SS: 0-319px (0-20em)         really too small (below iPhone 4)--not targeted
            XS: 320px-576px (20-36em)    e.g., W320, W360, W412
            SM: 577-768px (36-48em)      e.g., W600
            MD: 769-896px (48-56em)      e.g., W768, W800
            LG: 897-1200px (56-75em)     e.g., W1024
            XL: 1201-1600px (75-100em)   e.g., W1280, W1366 
            XX: 1601-2800px (100-175em)  e.g., W1680, W1920, W2560, W2736
            XM: 2801px plus (175em plus) e.g., W3840, W7680, ... 

            single column (100% width):       on sizes SS, XS, SM, MD  (0-896px)     --phones, small tablets
            double column (60% / 40%):        on sizes LG, XL    (897px-1600px )     --pro tablets, laptops
            triple column (20% / 45% / 35%):  on sizes XX, XM    (1601px-1920px)     --mostly large desktops

            single column: col-1 = 0-896px;
            double column: col-1 = 538px-960px, col-2 = 358-640px;
            triple column: col-1 = 320px-384px; col-2 = 720px-864px; col-3 = 560px-672px;

            The ONLY adjustment to media size is the number and relative size of columns;
            all column content is internally responsive and can appear in any column.
            Browser scaling/zooming does NOT change these "CSS pixel" numbers.

            Each column is a "flex item" (in the main row) and a "flex container";
            each contains a "flex container" called "sections-wrapper";
            each section is a "flex item" within that.

            "Section" flex items have their order of appearance controlled by "flex order";
            default flex order is set in CSS, and is the same as HTML textual order (that is,
            no use is currently made of the ability to change flex order, but it is implemented. 
            All "sections" are marked either "block" or "none" based on @media width queries.

            Finer changes could be made for every breakpoint, e.g. change the percent-widths
            of the columns without changing the layout or number of columns.

            There are NO @media queries outside this block of CSS
            (except that YouTube embeds add some queries of its own).
*/
/*
            NOTE ALSO: <body> is set to max-width:120em; [= 1920px], and margin-left, margin-right: auto; .
            This means that after the layout goes to 3 cols at 100em [=1600px], the columns widen only
            up to 120em [=1920em] not including scrollbar; at that point, the column widths all "freeze" 
            and the now-fixed layout remains the same size, centered on a wider viewport.  This "freeze" 
            at 120em is not achieved by @media queries, and the queries here know nothing about it; it is 
            purely in the CSS for <body>.

            If much wider layouts are needed, then more columns should be defined at higher breakpoints, 
            so that individual line lengths for columns don't get too wide for comfortable reading.

            ADDED 2017-10oct-20: a media-query has been added, not to CSS, but to JavaScript; when 
            preparing the date string to be inserted into the top-of-page date tab, a test is made 
            for width at least 600 pixels (use long month names) or less than 600 pixels (use short
            month abbreviations). This test is made once, then the content is cloned, and is not 
            tested again, so the date-spelling does not change if a tablet is turned from portrait to 
            landscape, nor if a window is resized (though the line breaks will change if needed).
*/

@media all and (min-width: 0), 
    all and (min-width: 320px), 
    all and (min-width: 577px), 
    all and (min-width: 769px) { /* SS, XS, SM, MD: single column below 56em (897px) */

    .col-1 {
        width: 100%;
        display: flex;
        flex: auto;
        flex-flow: column;
    }

        .col-1 .about {
            display: block;
        }

        .col-1 .contact {
            display: block;
        }

        .col-1 .ppt30 {
            display: block;
        }

        .col-1 .ppt25 {
            display: block;
        }

        .col-1 .ppt20 {
            display: block;
        }

        .col-1 .press {
            display: block;
        }

        .col-1 .hist {
            display: block;
        }

        .col-1 .dbppt {
            display: block;
        }

        .col-1 .bkgnd {
            display: block;
        }

        .col-1 .resume {
            display: block;
        }

        .col-1 .educ {
            display: block;
        }

        .col-1 .notes {
            display: block;
        }

        .col-1 .videos {
            display: block;
        }

        .col-1 .humor {
            display: block;
        }

        .col-1 .web {
            display: block;
        }

        .col-1 .rot {
            display: block;
        }

    .col-2 {
        width: 0;
        display: none;
    }

    .col-3 {
        width: 0;
        display: none;
    }
}

@media all and (min-width: 897px), 
       all and (min-width: 1201px) {       /* LG, XL: double columns beetween 56em (896px) and 100em (1601px) */

    .col-1 {
        width: 60%;
        display: flex;
        flex: auto;
        flex-flow: column;
    }

        .col-1 .about {
            display: none;
        }

        .col-1 .contact {
            display: none;
        }

        .col-1 .ppt30 {
            display: block;
        }

        .col-1 .ppt25 {
            display: block;
        }

        .col-1 .ppt20 {
            display: block;
        }

        .col-1 .press {
            display: none;
        }

        .col-1 .hist {
            display: none;
        }

        .col-1 .dbppt {
            display: none;
        }

        .col-1 .bkgnd {
            display: block;
        }

        .col-1 .resume {
            display: block;
        }

        .col-1 .educ {
            display: block;
        }

        .col-1 .notes {
            display: block;
        }

        .col-1 .videos {
            display: block;
        }

        .col-1 .humor {
            display: none;
        }

        .col-1 .web {
            display: none;
        }

        .col-1 .rot {
            display: none;
        }

    .col-2 {
        width: 40%;
        display: flex;
        flex: auto;
        flex-flow: column;
    }

        .col-2 .about {
            display: block;
        }

        .col-2 .contact {
            display: block;
        }

        .col-2 .ppt30 {
            display: none;
        }

        .col-2 .ppt25 {
            display: none;
        }

        .col-2 .ppt20 {
            display: none;
        }

        .col-2 .press {
            display: block;
        }

        .col-2 .hist {
            display: block;
        }

        .col-2 .dbppt {
            display: block;
        }

        .col-2 .bkgnd {
            display: none;
        }

        .col-2 .resume {
            display: none;
        }

        .col-2 .educ {
            display: none;
        }

        .col-2 .notes {
            display: none;
        }

        .col-2 .videos {
            display: none;
        }

        .col-2 .humor {
            display: block;
        }

        .col-2 .web {
            display: block;
        }

        .col-2 .rot {
            display: block;
        }

    .col-3 {
        width: 0;
        display: none;
    }
}

@media all and (min-width: 1601px), 
       all and (min-width: 2801px) {        /* XX, XM: triple columns above 100em (1600px) */

    .col-1 {
        width: 20%;
        display: flex;
        flex: auto;
        flex-flow: column;
    }

        .col-1 .about {
            display: none;
        }

        .col-1 .contact {
            display: none;
        }

        .col-1 .ppt30 {
            display: none;
        }

        .col-1 .ppt25 {
            display: none;
        }

        .col-1 .ppt20 {
            display: none;
        }

        .col-1 .press {
            display: block;
        }

        .col-1 .hist {
            display: none;
        }

        .col-1 .dbppt {
            display: none;
        }

        .col-1 .bkgnd {
            display: none;
        }

        .col-1 .resume {
            display: none;
        }

        .col-1 .educ {
            display: none;
        }

        .col-1 .notes {
            display: none;
        }

        .col-1 .videos {
            display: none;
        }

        .col-1 .humor {
            display: none;
        }

        .col-1 .web {
            display: none;
        }

        .col-1 .rot {
            display: none;
        }

    .col-2 {
        width: 45%;
        display: flex;
        flex: auto;
        flex-flow: column;
    }

        .col-2 .about {
            display: block;
        }

        .col-2 .contact {
            display: block;
        }

        .col-2 .ppt30 {
            display: none;
        }

        .col-2 .ppt25 {
            display: none;
        }

        .col-2 .ppt20 {
            display: none;
        }

        .col-2 .press {
            display: none;
        }

        .col-2 .hist {
            display: none;
        }

        .col-2 .dbppt {
            display: none;
        }

        .col-2 .bkgnd {
            display: block;
        }

        .col-2 .resume {
            display: block;
        }

        .col-2 .educ {
            display: block;
        }

        .col-2 .notes {
            display: block;
        }

        .col-2 .videos {
            display: block;
        }

        .col-2 .humor {
            display: none;
        }

        .col-2 .web {
            display: none;
        }

        .col-2 .rot {
            display: none;
        }

    .col-3 {
        width: 35%;
        display: flex;
        flex: auto;
        flex-flow: column;
    }

        .col-3 .about {
            display: none;
        }

        .col-3 .contact {
            display: none;
        }

        .col-3 .ppt30 {
            display: block;
        }

        .col-3 .ppt25 {
            display: block;
        }

        .col-3 .ppt20 {
            display: block;
        }

        .col-3 .press {
            display: none;
        }

        .col-3 .hist {
            display: block;
        }

        .col-3 .dbppt {
            display: block;
        }

        .col-3 .bkgnd {
            display: none;
        }

        .col-3 .resume {
            display: none;
        }

        .col-3 .educ {
            display: none;
        }

        .col-3 .notes {
            display: none;
        }

        .col-3 .videos {
            display: none;
        }

        .col-3 .humor {
            display: block;
        }

        .col-3 .web {
            display: block;
        }

        .col-3 .rot {
            display: block;
        }
}

/*____________________________________________________________________________________________
|                                                                                             |
|                                                                                             |
|   CSS for styles for cmain, cols, sections                                                  |
|                                                                                             |
|_____________________________________________________________________________________________*/

main {     /* main is a flex container, row nowrap (row of three columns */
    margin-left: 0.9375em;
    margin-right: 0.9375em;
}

div.col {
    /* display:flex or display:none for each .col is set in @media queries */
}

.sections-wrapper { /* the flex-container within each column */
    display: flex;
    flex-flow: column;
    flex: auto;
    margin-left: 0.9375em;
    margin-right: 0.9375em;
}

section { /* sections are flex-items, within sections-wrapper flex-containers */
    width: 100%;
    margin-bottom: 0.9375em;
    /* and marked as flex items below, individually */
}

/* class-names used as "#ID's" for the sections:
       about, contact, ppt30, ppt25, ppt20, hist, press,
       dbppt, bkgnd, resume, educ, notes, videos, humor,
       web, rot
*/


/* default order is set here, but may be over-ridden by adding
        "order:n" values within media queries below (more-specific selectors)
        values can be negative (but not 0) and need not be compact
*/

.about {
    flex: initial;
    order: 10;
}

.contact {
    flex: initial;
    order: 20;
}

.ppt30 {
    flex: initial;
    order: 30;
}

.ppt25 {
    flex: initial;
    order: 40;
}

.ppt20 {
    flex: initial;
    order: 50;
}

.press {
    flex: initial;
    order: 60;
}

.hist {
    flex: initial;
    order: 70;
}

.dbppt {
    flex: initial;
    order: 80;
}

.bkgnd {
    flex: initial;
    order: 90;
}

.resume {
    flex: initial;
    order: 100;
}

.educ {
    flex: initial;
    order: 110;
}

.notes {
    flex: initial;
    order: 120;
}

.videos {
    flex: initial;
    order: 130;
}

.humor {
    flex: initial;
    order: 140;
}

.web {
    flex: initial;
    order: 150;
}

.rot {
    flex: initial;
    order: 160;
}

/* containers in sections with borders get special treatment
       -- does not include press or humor or dbppt which are
       structured as ul's (different left and right spacing),
       set below
*/
section .about-container,
section .hist-container,
section .web-container,
section .rot-container {
    padding-top: 0;
    padding-right: 0.9375em;
    padding-left: 0.9375em;
    padding-bottom: 0;
}

/* immediate descendants (p's and divs's) of all sections
                and of all div.content's which are immediate descendent
                for every section
*/

section > p,
section > div,
section .content > p,
section .content > div,
section .content > div > p,
section .content > div > div {
    margin-bottom: 0.9375em;
}

.rborder > p, /* blocks inside borders/fills need top margin */
.rborder > div,
.rfilled > p,
.rfilled > div,
.rdarkfill > p,
.rdarkfill > div {
    margin-top: 0.9375em;
}

.rborder.item > p, /* different treatment inside "items" (titles) */
.rborder.item > div {
    margin-top: 0;
}

section div.title-only { /* sections with titles only, no borders get padding
                            so that "fill" is sufficiently deep to be visible 
                            below the title panel */
    padding-bottom: 0.9375em;
}

section ul {
    width: 100%;
    padding-left: 1.875em;
    padding-right: 0.9375em;
}

section li {
    list-style-type: square;
    margin-top: 0.9375em;
    margin-bottom: 0.9375em;
}

    section li.nobullet {
        list-style-type: none;
    }

section div.rborder {   /* a bordered panel IN a section needs inside padding*/
    padding: 0.9375em;
}

section div.double-pad {   /* should follow above rule */
    padding: 1.875em;
}

/*____________________________________________________________________________________________
|                                                                                             |
|                                                                                             |
|   CSS for styles for typography                                                             |
|                                                                                             |
|_____________________________________________________________________________________________*/

/* Typographic well (use instead of entities except as listed):

             figure dash: ‒
             en dash: –
             em dash: —
             left single quote: ‘
             right single quote: ’
             left double quote: “
             right double quote: ”
             horizontal ellipsis: …
             solid heart: ♥ (u+2665, "Black Heart Suit", &#x2665; or &hearts;  )
             big-O: O (u+004F, "Latin Capital Letter O", jsMath-cmbsy10 font)
             section sign: §
             copyright: ©
             "No" ligature: №

             But:
             non-breaking space: &nbsp;
             thinspace: &thinsp;
             space: &#x20;
             ampersand: &amp;
             left angle bracket: &lt;
             right angle bracket: &gt;
*/

.indent {
    margin-left: 0.9375em;
}

.close {
    margin-top: 0.3125em;
}

.air {
    margin-bottom: 0.5em;
}

.clear {
    clear: both;
}

.right {
    text-align: right;
}

.center {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}

.hanging {
    text-indent: -1.875em;
    margin-left: 1.875em;
}

.nowrap {
    white-space: nowrap;
}

.nobreak {
    white-space: nowrap;
}

.invis {
    display: none;
}

.barely-smaller {
    font-size: 95%;
}

.crammed {
    font-size: 94%;
}

.smaller {
    font-size: 90%;
    line-height: 1.2;
}

.plus-smaller {
    font-size: 85%;
    line-height: 1.2;
}

.barely-still-smaller {
    font-size: 80%;
    line-height: 1.2;
}

.still-smaller {
    font-size: 75%;
    line-height: 1.2;
}

.still-still-smaller {
    font-size: 64%;
    line-height: 1.2;
}

.larger {
    font-size: 110%;
}

.still-larger {
    font-size: 120%;
}

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

span.raised { /* replacement for <sup> */
    position: relative;
    top: -0.6em;
    font-size: 80%;
    line-height: 0;
    margin-left: 0.1em;
}

.nudged-up {
    vertical-align: -0.10em;
}

.underlined {
    text-decoration: underline;
}

.no-overflow { /* for containers of long URLs that don't break on phones, just hide */
    overflow: hidden;
}

.ewd { /* special typography for Dijkstra handwriting font (h1 title) */
    font-family: 'DijkstraRegular',Verdana,sans-serif;
}

.ewd-shadowed { /* shadow not currently used; implementations are buggy */
    text-shadow: 0.125em 0.125em 0.1875em rgba(47, 79, 79, 0.5); /* = #2f4f4f = darkslategray */
}


blockquote { /* use blockquote for special indented and left-dotted sections within sub-col panels */
    margin-top: 0.35em;
    border-left: 0.125em dotted;
    padding-left: 0.5em;
    text-indent: 0;
    border-color: #007777;
}

    blockquote p,
    blockquote .follow-on { /* p within a blockquote */
        margin-left: 0.5em;
        width: 90%;
        margin-top: 0.5em;
        margin-bottom: 0.5em;
    }

.appleii { /* special typography for Apple ][ */
    font-family: Verdana,Arial,Helvetica,"Lucida Grande","Lucida Sans Unicode",Geneva,sans-serif;
    font-size: 0.85em;
    vertical-align: 0.2em;
    letter-spacing: 0.1em;
    white-space: nowrap;
    font-weight: bold;
}

.texfont { /* special typography for TeX logo */
    font-family: Verdana,Arial,Helvetica,"Lucida Grande","Lucida Sans Unicode",Geneva,sans-serif;
    white-space: nowrap;
}

.closeup {
    letter-spacing: -0.1em;
}

.dropped-e {
    vertical-align: -0.30em;
    text-transform: uppercase;
    line-height: 0;
}

.big-o { /* special typography for Big-O notation */
    font-family: Big-O-Symbol,jsMath-cmbsy10,Verdana,sans-serif;
    line-height: 0; /* font has funny line spacing */
    font-weight: normal; /* already bold */
    font-style: normal; /* already oblique */
}

.heart { /* special typography for red heart and same-color heart */
    font-family: Heartsymbol,Verdana,"Lucida Grande","Lucida Sans Unicode",Geneva,sans-serif;
    font-weight: normal; /* regular looks crisper than bold */
    font-style: normal; /* upright looks better than slanted */
}
/* ♥ character is u+2665 "black heart suit", &#x2665; or &hearts; */

.red { /* sample usage: <span class="red heart">♥</span> */
    color: #ee3300;
    background-color: transparent;
}

/* ------------

            The "font-family: 'Heartsymbol' " is a special font subsetted from
            Lucida Sans Unicode, edited using FontSquirrel; it consists of the
            single code-point U+2665, formatted as base-64 encoded data
            contained within the CSS definition, requiring no font download.
            This is required in order to avoid having the text character
            always rendered as a stylized red emoji.

            The ♥ character is U+2665 "black heart suit", &#x2665; or &hearts; .
            (Another ❤ character is unicode "heavy black heart" &#x2764, U+2764.)
            Both code points are mostly used for a "red heart love emoji",
            rendered in a red color (always) and in a cartoon style.)

            There is a work-around to render U+2764 or U+2665 as text, not an emoji;
            that is to add character "U+FE0E, VARIATION SELECTOR-15, text style"
            following U+2764 or U+2665 in order to force interpretation of preceding
            character as text, rather than emoji.

            U+FE0E : HTML entity, &#xfe0e;   CSS escaped character, "\00FE0E"

            Unfortunately, doesn't seem to work in Android
            Chrome where it is needed, and not in iOS Chrome nor iOS Safari.

            That following "variation selector" character could be added
            automagically by using CSS ::after selector for the .heart class:

              .heart::after {
                content: "\00FE0E" ;
                }

            but that doesn't seem to work either.  Adding the "variation
            selector" explicitly after the ♥ character also fails to work.

            <span class="heart">♥&#xfe0e;</span>
            <span class="heart">♥</span>&#xfe0e;

            --both fail.

            All that, plus adding explicit color CSS, also fails:

            .cs1 .title-gray
                color: #f2f2f2;
            }

           .cs1 .border-blue-green {
               color: #556666;
           }

           The only idea that DOES work is to specify a special font that has
           the text for U+2764 or U+2665.

           The CSS for class .heart explicitly specifies a @font-family with
           a single text glyph for that code position. To be sure to have it
           on all platforms, the single-glyph font is base64 encoded and
           actually included with the CSS, above.

           On iOS, adding &#xfe0e; after the heart from the new special
           font is not recognized, and results in a hollow box on screen
           following the heart symbol, but with this font solution there's
           no need for the "variation selector" character--the correct variant
           is provided.

           There's no good way to use the old "symbol" font (char #169),
           and both U+2665 and U+2764 are shown as red cartoonish emojis,
           and the "variation selector" does not work broadly.

           => So, seems simplest to just use U+2665, include the special font
            which works on Android and iOS, and accept that if the font goes
            wrong, somehow, on Android and iOS it will not look as sophisticated
            as it ought to (but will still be a red heart).

            (The U+2665 character appears in the HTML four times: once in
            <nav> within <header>, thrice in <section> .dbppt.
            There's also a copy of it in the CSS typography comments as a convenient
            source to copy the character, and of course several copies above
            in this CSS comment, along with copies of the UNused alternate heart.)

--------------- */

.gold { /* special typography for gold 50th anniversary text */
    font-size: 1.125em;
    text-decoration: none;
    white-space: nowrap; /* important */
    font-weight: bold;
    font-family: "Segoe UI","Trebuchet MS",Tahoma,Arial,sans-serif;
    color: #eebb00;
}
/* now an image (to get script font), but above would be the fallback */

.sunwjava { /* special typography for SUNW joke error message */
    font-family: Consolas,"Courier New","Lucida Console","Comic Sans MS",Verdana,Arial,Helvetica,sans-serif;
    font-weight: bold;
    font-size: 0.75em;
    letter-spacing: 0.1em;
    line-height: 1.1em;
}

.purple {  /* also for SUNW joke error message */
    color: #630000;
    background-color: transparent;
}

/*____________________________________________________________________________________________
|                                                                                             |
|                                                                                             |
|   CSS for styles for about section                                                          |
|                                                                                             |
|_____________________________________________________________________________________________*/


.about {
    width: 100%;
}

/*____________________________________________________________________________________________
|                                                                                             |
|                                                                                             |
|   CSS for styles for contact section                                                        |
|                                                                                             |
|_____________________________________________________________________________________________*/

.contact {
    width: 100%;
    font-family: "Segoe UI","Trebuchet MS",Tahoma,Arial,sans-serif;
}

.contact-columns-wrapper { /* row of two cols*/
    display: flex;
    flex-flow: row wrap;
    justify-content: space-around;
}

    .contact-columns-wrapper div.location { /* each col is one of these */
        flex: auto;
        display: flex;
        flex-flow: column;
        margin-bottom: 0;
    }

    .contact-columns-wrapper .city { /* city names top of each col */
        flex: none;
        text-align: center;
        font-size: 1.25em;
        font-weight: bold;
        color: #556666;
        margin-top: 0.125em;
        margin-bottom: 0.3125em;
    }

    .contact-columns-wrapper .location > p { /* rest of each col under city */
        flex: none;
        text-align: center;
        margin-left: auto;
        margin-right: auto;
    }

/*____________________________________________________________________________________________
|                                                                                             |
|                                                                                             |
|   CSS for styles for ppt30 section                                                          |
|                                                                                             |
|_____________________________________________________________________________________________*/

.zoom-container { /* div around img to be magnified */
    width: 100%;
}

img.zoom { /* the img to be magnified */
    width: 100%;
    height: auto;
    min-width: 0;
    max-width: 738px;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

div.magnify { /* created by zoom js, see code */
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.ppt3team-pic-caption { /* parent is zoom-container */
    text-align: center;
}

.photolinks { /* col to contain text and row of pics */
    display: flex;
    flex-flow: column;
    justify-content: space-around;
}

.sandhill-album { /* row of pics, can wrap */
    flex: auto;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-around;
}

.sandhill-pic { /* for pics within that row */
    flex: none;
    display: block;
    margin-bottom: 0.5em;
}

/*____________________________________________________________________________________________
|                                                                                             |
|                                                                                             |
|   CSS for styles for ppt25 section                                                          |
|                                                                                             |
|_____________________________________________________________________________________________*/

section div.reunion25 { /* top, full width with reunion picture */
    /* requires detailed selector */
    margin-bottom: 1.875em;
}

.wrapper-chez-panisse { /* div around img */
    width: 100%;
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: space-around;
}

img.chez-panisse { /* the img */
    width: 100%;
    height: auto;
    min-width: 0;
    max-width: 646px;
    flex: auto;
    margin-bottom: 0.9375em;
}

.chez-panisse-pic-caption { /* within wrapper */
    height: auto;
    min-width: 0;
    flex: auto;
    text-align: center;
}

.wrapper-new-book-shirt { /* row for 2 sub-cols */
    display: flex;
    flex-flow: row wrap;
    justify-content: space-around;
    align-items: stretch;
}

    .wrapper-new-book-shirt .book { /* sub-col left */
        flex: none;
        width: 47.5%;
        min-width: 225px;
        display: flex;
        flex-flow: column nowrap;
        margin-bottom: 0;
    }

    .wrapper-new-book-shirt .sales-img { /* all img's in both columns */
        margin-left: auto;
        margin-right: auto;
        display: block;
    }

.book .buybuttons1 { /* at bottom of left col */
    flex: auto;
    display: flex;
    flex-flow: row wrap;
    align-content: flex-start;
    margin-top: 0.9375em;
    margin-bottom: 0;
}

.buybuttonbook,
.buybuttonbook2 {
    flex: auto;
    margin-left: 0.5em;
    margin-right: 0.5em;
    margin-bottom: 0;
}

/* changes src img of three buy-buttons on hover */
img[src="https://www.robertgaskins.com/images/button_0.png"]:hover {
    content: url("https://www.robertgaskins.com/images/button_1.png");
}
/* another way to select those three buttons,
                   if the src= selector proves inefficient:
                .buybuttonbook2 img:hover,
                .buybuttonshirt2 img:hover,
                .buybuttontote2 img:hover {
                    content: url("https://www.robertgaskins.com/images/button_1.png");
                }
                */
.wrapper-new-book-shirt .shirt { /* sub-col right */
    flex: none;
    width: 47.5%;
    min-width: 225px;
    display: flex;
    flex-flow: column nowrap;
    margin-bottom: 0;
}

.shirt .t-shirt { /* top of right column */
    flex: auto;
    width: 100%;
    display: flex;
    flex-flow: column nowrap;
    margin-bottom: 0;
}

.shirt .silhouette {
    margin-bottom: 0.9375em;
}

.shirt .shirt-design {
}

.shirt .totebag { /* bottom of right column */
    flex: initial;
    width: 100%;
    display: flex;
    flex-flow: column nowrap;
    margin-bottom: 0;
}


.shirt .buybuttons2 { /* in middle of right col */
    flex: auto;
    display: flex;
    flex-flow: row wrap;
    align-content: flex-start;
    margin-top: 0.9375em;
    margin-bottom: 0;
}

.totebag .buybuttons3 { /* at bottom of right col */
    flex: auto;
    display: flex;
    flex-flow: row wrap;
    align-content: flex-start;
    margin-top: 0.9375em;
    margin-bottom: 0;
}

.buybuttonshirt,
.buybuttonshirt2 {
    flex: auto;
    align-self: flex-start;
    margin-left: 0.9375em;
    margin-right: 0.9375em;
    margin-bottom: 0;
}

.buybuttontote,
.buybuttontote2 {
    flex: auto;
    align-self: flex-start;
    margin-left: 0.9375em;
    margin-right: 0.9375em;
    margin-bottom: 0;
}

.bookhead,
.shirthead,
.totehead {
    margin-top: 0.9375em;
    margin-bottom: 0.9375em;
}

p.booklink,
p.shirtlink,
p.totelink {
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    margin-right: auto;
}


.bookplate { /* full-width below book/shirt */
}

/*____________________________________________________________________________________________
|                                                                                             |
|                                                                                             |
|   CSS for styles for ppt20 section                                                          |
|                                                                                             |
|_____________________________________________________________________________________________*/

/* .wallstjhd, */
.msft20hd,
.cacm20hd {
    margin-top: 1.875em;
}

/*____________________________________________________________________________________________
|                                                                                             |
|                                                                                             |
|   CSS for styles for hist section                                                           |
|                                                                                             |
|_____________________________________________________________________________________________*/

.hist li.reference { /* ref's have long URLs, stick out on phones < 400px, don't need to be seen */
    overflow: hidden;
}

/*____________________________________________________________________________________________
|                                                                                             |
|                                                                                             |
|   CSS for styles for press section                                                          |
|                                                                                             |
|_____________________________________________________________________________________________*/

blockquote .press-img {
    padding-left: 0.5em;
}

.press-img {
    margin-top: 0.5em;
    margin-bottom: 0;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    flex-flow: column nowrap;
    justify-content: space-around;
    align-items: center;
}

    .press-img img {
        margin-left: auto;
        margin-right: auto;
        flex: none;
        display: inline-block;
    }

    .press-img .caption {
        flex: none;
        margin-left: auto;
        margin-right: auto;
        text-align: center;
        max-width: 250px;
    }

.press .wsj {
    font-size: 100%;
    font-weight: bold;
    text-transform: uppercase;
    font-family: "Times New Roman",Times,Cambria,serif;
    word-spacing: -0.1em;
}

/*____________________________________________________________________________________________
|                                                                                             |
|                                                                                             |
|   CSS for styles for dbppt section                                                          |
|                                                                                             |
|_____________________________________________________________________________________________*/

.dbppt-container ul li p { /* paragraphs in list items in dbppt */
    margin-bottom: 0.9375em;
}

/*____________________________________________________________________________________________
|                                                                                             |
|                                                                                             |
|   CSS for styles for bkgnd section                                                          |
|                                                                                             |
|_____________________________________________________________________________________________*/

.summarytable {
    width: 100%;
    display: flex;
    flex-flow: column;
    justify-content: space-around;
}

    .summarytable .summaryrow {
        flex: auto;
        display: flex;
        flex-flow: row wrap;
        justify-content: space-around;
        align-items: center;
    }

    .summarytable .dates {
        flex: none;
        width: 20%;
        font-size: 110%;
        font-weight: bold;
        font-family: "Segoe UI","Trebuchet MS",Tahoma,Arial,sans-serif;
        margin-right: auto;
        padding-right: 0.5em;
    }

    .summarytable .actions {
        flex: none;
        width: 80%;
        margin-left: auto;
        padding-left: 0.5em;
    }

/*____________________________________________________________________________________________
|                                                                                             |
|                                                                                             |
|   CSS for styles for shared by resume, educ, notes, videos                                  |
|                                                                                             |
|_____________________________________________________________________________________________*/

/* "item" round-rect headers throughout resume, education, footnotes, and videos sections */

.item {
    margin-top: 1.875em;
    margin-bottom: 0.9375em;
    clear: both;
    width: 100%;
    font-weight: bold;
    font-family: "Segoe UI","Trebuchet MS",Tahoma,Arial,sans-serif;
}

    .item .title {
        display: flex;
        align-items: center;
        width: 100%;
        font-weight: bold;
        margin-top: 0;
        margin-bottom: 0;
    }

        .item .title .left {
            margin-right: auto;
            margin-bottom: 0;
            padding-right: 0.5em;
        }

        .item .title .right {
            margin-left: auto;
            margin-bottom: 0;
            padding-left: 0.5em;
        }

.pic-float { /* pictures floated right in text column */
    padding-top: 0.9375em;
    padding-right: 0.5em;
    padding-bottom: 0;
    padding-left: 0.9375em;
    float: right;
    clear: both;
}

.pic-float-caption {
    line-height: 1.3;
    text-align: center;
}

.pic-caption {
    text-align: center;
}

/*____________________________________________________________________________________________
|                                                                                             |
|                                                                                             |
|   CSS for styles for resume section                                                         |
|                                                                                             |
|_____________________________________________________________________________________________*/

.website-list { /* format for list of websites, in main col item */
    margin-left: 0.9375em;
    margin-top: 0.9375em;
    margin-bottom: 0.9375em;
}

    .website-list li {
        list-style-type: square;
        margin-top: 0.9375em;
    }

/* special format for the newspaper column and its photo */

.timestable { /* row for 2 sub-cols */
    display: flex;
    flex-flow: row wrap;
    justify-content: space-around;
    align-items: center;
}

    .timestable .newsprint { /* sub-col left */
        flex: none;
        width: 47.5%;
        min-width: 225px;
        display: flex;
        flex-flow: column nowrap;
        align-items: center;
    }

    .timestable .sobrante { /* sub-col right */
        flex: none;
        min-width: 225px;
        max-width: 47.5%;
        display: flex;
        flex-flow: column nowrap;
        align-items: center;
        margin-top: 0.9375em;
        margin-bottom: 0.9375em;
    }

    .timestable div.times-col {
        flex: none;
        max-width: 225px;
        border-left: solid 0.0625em;
        border-right: solid 0.0625em;
        padding-left: 0.75em;
        padding-right: 0.75em;
    }

    .timestable .sobrante img.tiltup {
        display: block;
        flex: none;
        margin-bottom: 0.9375em;
    }

    .timestable .sobrante p {
        flex: none;
    }

    .timestable p.times,
    .timestable p.times-subhd,
    .timestable p.times-hd,
    .timestable p.times-sect {
        font-family: Cambria,"Times New Roman",Times,serif;
    }

    .timestable p.times {
        line-height: 1.2;
        font-weight: normal;
        text-align: justify;
        word-spacing: normal;
        text-indent: 1.0em;
    }

    .timestable p.times-sect {
        font-size: 0.9375em;
        line-height: 1.2;
        font-weight: normal;
        text-align: left;
        font-style: normal;
        font-variant: small-caps;
        word-spacing: normal;
        text-indent: 0;
        margin-bottom: 0.25em;
    }

    .timestable p.times-subhd {
        font-size: 0.9375em;
        line-height: 1.2;
        font-weight: normal;
        text-align: center;
        font-style: italic;
        font-variant: small-caps;
        word-spacing: normal;
        text-indent: 0;
        margin-bottom: 0.5em;
    }

    .timestable p.times-hd {
        font-size: 1.25em;
        line-height: 1.2;
        font-weight: bold;
        text-align: left;
        word-spacing: normal;
        text-indent: 0;
        margin-bottom: 0.25em;
    }

.cs1 .timestable p.times,
.cs1 .timestable p.times-subhd,
.cs1 .timestable p.times-hd,
.cs1 .timestable p.times-sect {
    color: #191919;
    background-color: transparent;
}

.timestable .sobrante {
    text-align: right;
    padding-right: 0.5em;
}

    .timestable .sobrante p {
        width: 100%;
        line-height: 1.4;
        font-style: italic;
        font-weight: normal;
        font-family: "Segoe UI","Trebuchet MS",Tahoma,Arial,sans-serif;
    }

/*____________________________________________________________________________________________
|                                                                                             |
|                                                                                             |
|   CSS for styles for educ section                                                           |
|                                                                                             |
|_____________________________________________________________________________________________*/

.scottkim { /* hackers logo looks too close to right margin */
    margin-right: 0.9375em;
}

/* Amazon.com links to old pubs, educ */

.ucpubs {
    width: 100%;
    font-weight: bold;
    font-family: "Segoe UI","Trebuchet MS",Tahoma,Arial,sans-serif;
    margin-bottom: 0;
}

    .ucpubs .publist { /* outer column, contains rows */
        display: flex;
        flex-flow: column;
        justify-content: flex-start;
    }

    .ucpubs .pub { /* one row, text left and buttons right */
        width: 100%;
        flex: auto;
        display: flex;
        flex-flow: row wrap;
        justify-content: space-between;
        align-items: center;
        margin-left: 0.9375em;
        margin-bottom: 0.9375em;
    }

    .ucpubs .publeft {
        flex: none;
        width: 75%;
        text-align: left;
        margin-bottom: 0;
    }

    .ucpubs .pubright { /* contains only the button list column */
        flex: none;
        width: 25%;
        min-width: 115px;
        text-align: center;
        margin-bottom: 0;
        font-size: 0.75em;
        font-weight: normal;
        margin-left: auto;
        margin-right: auto;
    }

    .ucpubs .button-list { /* col: text, button1, button 2 */
        display: flex;
        flex-flow: column;
        justify-content: space-around;
        align-items: center;
        margin-top: 0.9375em;
    }

    .ucpubs .pubright a {
        text-decoration: none;
    }

.phd-exams {
    display: block;
}

img.w50th { /* 2-part img for wedding script, so that it wraps */
    height: 30px;
}

/*____________________________________________________________________________________________
|                                                                                             |
|                                                                                             |
|   CSS for styles for notes section                                                          |
|                                                                                             |
|_____________________________________________________________________________________________*/

/* notes */

/*____________________________________________________________________________________________
|                                                                                             |
|                                                                                             |
|   CSS for styles for videos section                                                         |
|                                                                                             |
|_____________________________________________________________________________________________*/

.youtube-container { /* row for 2 sub-cols */
    display: flex;
    flex-flow: row wrap;
    justify-content: space-around;
}

.youtube-desc { /* sub-col left */
    flex: none;
    width: 45%;
    min-width: 225px;
}

.youtube-embed { /* sub-col right */
    flex: none;
    width: 52.5%;
    min-width: 225px;
}

.youtube-desc p.youtube-paragraph {
    margin-right: 0.9375em;
}

.youtube-spacer,
.chronicles-89-dtp1-obj,
.chronicles-89-dtp2-obj,
.chronicles-90-dtp3-obj,
.makingmarketshare-obj,
.powerpointballad-obj,
.hownottouseppt-obj,
.chickenchicken-obj,
.turingcomplete-obj,
.flatlandslide93-obj {
    display: block;
    margin-left: auto;
    margin-right: auto;
    max-width: 300px;
    max-height: 150px;
    overflow: hidden;
}

/*____________________________________________________________________________________________
|                                                                                             |
|                                                                                             |
|   CSS for styles for humor section                                                          |
|                                                                                             |
|_____________________________________________________________________________________________*/

.cartoon,
.pptrangerpatch {
    margin-left: auto;
    margin-right: auto;
}

.yes,
.patchparts {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

/*____________________________________________________________________________________________
|                                                                                             |
|                                                                                             |
|   CSS for styles for web section                                                            |
|                                                                                             |
|_____________________________________________________________________________________________*/

div.citations {
}

    div.citations p {
        margin-bottom: 0.25em;
        margin-left: 1.875em;
        text-indent: -1.875em;
        padding-right: 1.875em; /* padding because inside border */
    }

/*____________________________________________________________________________________________
|                                                                                             |
|                                                                                             |
|   CSS for styles for rot section                                                            |
|                                                                                             |
|_____________________________________________________________________________________________*/

/* rot */

/*____________________________________________________________________________________________
|                                                                                             |
|                                                                                             |
|   CSS for styles for footer                                                                 |
|                                                                                             |
|_____________________________________________________________________________________________*/

footer { /* whole page is header, main, footer; footer is a single flex column */
    font-size: 80%;
    background-color: transparent;
    margin-left: 2%;
    margin-top: 0;
    margin-right: 2%;
    margin-bottom: 2%;
    display: flex;
    flex-flow: column;
    justify-content: space-around;
}

.page-translate {
    width: 85%;
    margin-left: auto;
    margin-right: auto;
    flex: auto;
    display: flex;
    flex-flow: column;
    justify-content: space-around;
}

    .page-translate p {
        width: 60%;
        font-weight: bold;
        margin-left: auto;
        margin-right: auto;
        margin-top: 1.875em;
        margin-bottom: 0.9375em;
        text-align: center;
    }

    .page-translate li.translator {
        font-weight: bold;
    }

    .page-translate ul {
        display: flex;
        flex-flow: row wrap;
        justify-content: center;
        margin-bottom: 0.9375em;
    }

    .page-translate li {
        flex: none;
        display: inline;
    }

        .page-translate li a {
            padding: 0.25em 0.75em;
        }

#google_translate_element {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.colophon {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
}

    .colophon p {
        font-weight: bold;
        text-align: center;
        margin-top: 0.9375em;
    }

        .colophon p.ewd {
            font-size: 1.25em;
        }
/*____________________________________________________________________________________________
|                                                                                             |
|                                                                                             |
|   CSS end                                                                                   |
|                                                                                             |
|_____________________________________________________________________________________________*/