/******************************************************************

     ██████╗ ██████╗ ██╗      ██████╗ ██╗   ██╗██████╗ ███████╗
    ██╔════╝██╔═══██╗██║     ██╔═══██╗██║   ██║██╔══██╗██╔════╝
    ██║     ██║   ██║██║     ██║   ██║██║   ██║██████╔╝███████╗
    ██║     ██║   ██║██║     ██║   ██║██║   ██║██╔══██╗╚════██║
    ╚██████╗╚██████╔╝███████╗╚██████╔╝╚██████╔╝██║  ██║███████║
     ╚═════╝ ╚═════╝ ╚══════╝ ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚══════╝

 ******************************************************************/



    :root, 
    .small {
        --red                     : 202,  28,  37;
        --green                   : 183, 191,  29;
        --blue-light              : 241, 249, 255;
        --blue                    :  42, 171, 225;
        --blue-dark               :   0,  23,  64;
        --white                   : 255, 255, 255;
        --gray-light              : 198, 198, 198;
        --gray-light-x            : 200, 200, 200;
        --gray                    :  91,  91,  91;
        --black                   :   0,   0,   0;
        --orange                  : 194, 132,  95;

        --color-red               : rgb(var(--red));
        --color-green             : rgb(var(--green));
        --color-blue-light        : rgb(var(--blue-light));
        --color-blue              : rgb(var(--blue));
        --color-blue-dark         : rgb(var(--blue-dark));
        --color-white             : rgb(var(--white));
        --color-gray-light        : rgb(var(--gray-light));
        --color-gray-light-x      : rgb(var(--gray-light-x));
        --color-gray              : rgb(var(--gray));
        --color-black             : rgb(var(--black));
        --color-orange            : rgb(var(--orange));

        --color-text              : var(--color-gray); 
        --color-text-link         : var(--color-blue); 
        --color-text-selection    : var(--color-white); 
        --color-text-selection-bg : var(--color-blue); 
    }



/***************************************************************************

    ██╗   ██╗ █████╗ ██████╗ ██╗ █████╗ ██████╗ ██╗     ███████╗███████╗
    ██║   ██║██╔══██╗██╔══██╗██║██╔══██╗██╔══██╗██║     ██╔════╝██╔════╝
    ██║   ██║███████║██████╔╝██║███████║██████╔╝██║     █████╗  ███████╗
    ╚██╗ ██╔╝██╔══██║██╔══██╗██║██╔══██║██╔══██╗██║     ██╔══╝  ╚════██║
     ╚████╔╝ ██║  ██║██║  ██║██║██║  ██║██████╔╝███████╗███████╗███████║
      ╚═══╝  ╚═╝  ╚═╝╚═╝  ╚═╝╚═╝╚═╝  ╚═╝╚═════╝ ╚══════╝╚══════╝╚══════╝
                                                                        
 ****************************************************************************/


   
    :root,
    .small {
        --font-scale          : 1.1;    /* How the headings font size scales up */
        
        --root-font-size      : 10px;   /* The root element, ie HTML, font size */
        --base-font-size      : 1.4rem; /* The body element base font size */
        --base-line-height    : 1.5;    /* The default line height of all elements */
        --text-line-height    : 1.5;    /* The line height of block text elements */
        --heading-line-height : 1.3;    /* The line height of heading elements */

        --text-rhythm         : 2rem;   /* Vertical margins between text elements */
        --grid-gutter         : 1.5rem;   /* Paddings between columns, the grid gutters */
        --vertical-rhythm     : 3rem;   /* Vertical margins between major grid sections */

        --panel-width         : 1350px; /* The width of the panel element */
        --panel-narrow-width  : 900px;  /* The width of the narrow panel element */
    }

    .tablet {
        --font-scale          : 1.125;  /* How the headings font size scales up */
        --base-font-size      : 1.5rem; /* The body element base font size */
        --base-line-height    : 1.5;    /* The default line height of all elements */
        --text-line-height    : 1.6;    /* The line height of block text elements */
        --heading-line-height : 1.25;   /* The line height of heading elements */

        --text-rhythm         : 3rem;   /* Vertical margins between text elements */
        --grid-gutter         : 1.8rem; /* Paddings between columns, the grid gutters */
        --vertical-rhythm     : 4rem;   /* Vertical margins between major grid sections */
    }

    .laptop {
        --font-scale          : 1.15;   /* How the headings font size scales up */
        --base-font-size      : 1.7rem; /* The body element base font size */
        --base-line-height    : 1.5;    /* The default line height of all elements */
        --text-line-height    : 1.7;    /* The line height of block text elements */
        --heading-line-height : 1.2;    /* The line height of heading elements */

        --text-rhythm         : 5rem;   /* Vertical margins between text elements */
        --grid-gutter         : 2rem;   /* Paddings between columns, the grid gutters */
        --vertical-rhythm     : 5rem;   /* Vertical margins between major grid sections */
    }



/*******************************************************************************************************

     ██████╗ ██████╗ ██╗██████╗     ███████╗███████╗████████╗████████╗██╗███╗   ██╗ ██████╗ ███████╗
    ██╔════╝ ██╔══██╗██║██╔══██╗    ██╔════╝██╔════╝╚══██╔══╝╚══██╔══╝██║████╗  ██║██╔════╝ ██╔════╝
    ██║  ███╗██████╔╝██║██║  ██║    ███████╗█████╗     ██║      ██║   ██║██╔██╗ ██║██║  ███╗███████╗
    ██║   ██║██╔══██╗██║██║  ██║    ╚════██║██╔══╝     ██║      ██║   ██║██║╚██╗██║██║   ██║╚════██║
    ╚██████╔╝██║  ██║██║██████╔╝    ███████║███████╗   ██║      ██║   ██║██║ ╚████║╚██████╔╝███████║
     ╚═════╝ ╚═╝  ╚═╝╚═╝╚═════╝     ╚══════╝╚══════╝   ╚═╝      ╚═╝   ╚═╝╚═╝  ╚═══╝ ╚═════╝ ╚══════╝

 ********************************************************************************************************/



    /* Columns and rows */

    [class*="column"] {
        padding-left: var(--grid-gutter);
        padding-right: var(--grid-gutter);
    }

    [class*="column"] .row {
        margin-left: calc(-1 * var(--grid-gutter)); 
        margin-right: calc(-1 * var(--grid-gutter)); 
    }



    /* The panel that restrains contents to a maximum width */

    .panel {
        max-width: var(--panel-width);
    }

    .panel-narrow {
        max-width: var(--panel-narrow-width);
    }

    .panel-full {
        width: 100%;
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
    }



/********************************************************************************************

    ████████╗██╗   ██╗██████╗  ██████╗  ██████╗ ██████╗  █████╗ ██████╗ ██╗  ██╗██╗   ██╗
    ╚══██╔══╝╚██╗ ██╔╝██╔══██╗██╔═══██╗██╔════╝ ██╔══██╗██╔══██╗██╔══██╗██║  ██║╚██╗ ██╔╝
       ██║    ╚████╔╝ ██████╔╝██║   ██║██║  ███╗██████╔╝███████║██████╔╝███████║ ╚████╔╝
       ██║     ╚██╔╝  ██╔═══╝ ██║   ██║██║   ██║██╔══██╗██╔══██║██╔═══╝ ██╔══██║  ╚██╔╝
       ██║      ██║   ██║     ╚██████╔╝╚██████╔╝██║  ██║██║  ██║██║     ██║  ██║   ██║
       ╚═╝      ╚═╝   ╚═╝      ╚═════╝  ╚═════╝ ╚═╝  ╚═╝╚═╝  ╚═╝╚═╝     ╚═╝  ╚═╝   ╚═╝

 ********************************************************************************************/



    /* Main fonts */

    :root,
    .small {
        --font-serif: 'Noto Serif Display', serif;
        --font-sans-serif: 'Inter', sans-serif;
        --font-monospace: Consolas, 'Courier New', monospace;
        --font-icons: 'Responsiville icons';
    }



    /* Global base stylings */

    html {
        font-size: var(--root-font-size);
    }

    body {
        font-family: var(--font-sans-serif);
        font-size: var(--base-font-size);
        color: var(--color-text);
    }

    h1, h2, h3, h4, h5, h6 {
        font-family: var(--font-serif);
    }

    h1 {
        font-size: calc(var(--base-font-size) * var(--font-scale) * var(--font-scale) * var(--font-scale) * var(--font-scale) * var(--font-scale) * var(--font-scale));
    }

    h2 {
        font-size: calc(var(--base-font-size) * var(--font-scale) * var(--font-scale) * var(--font-scale));
    }

    h3 {
        font-size: calc(var(--base-font-size));
    }

    h4, h5, h6 {
        font-size: calc(var(--base-font-size) * var(--font-scale) * var(--font-scale) * var(--font-scale));
    }

    .vanilla-layout h2 a {
        color: var(--color-black);
    }

    /* Uppercase (not only) Greek */

    .uppercase {
        text-transform: uppercase;
    }



    /* Input fields */

    input,
    select,
    textarea {
        color: var(--color-text);
    }


    /* Links, global */

    a {
        color: var(--color-text-link);
    }

    /* Links, inside text */

    .text a {
        border-bottom-width: 0;
        border-bottom-style: solid;
    }

    .text a:hover {
        border-bottom-width: 0;
        border-bottom-style: solid;
    }

    .text .button,
    .text .button:hover,
    .text .gallery a,
    .text .gallery a:hover,
    .text .wp-caption a,
    .text .wp-caption a:hover {
        border-bottom-width: 0;
    }


    .text ul li,
    .text ol li,
    .text dl dd {
        padding-bottom: 0.1rem;
    }

/***************************************************************

    ██╗███╗   ███╗ ██████╗ ██╗      ██████╗  █████╗ ██████╗
    ██║████╗ ████║██╔════╝ ██║     ██╔═══██╗██╔══██╗██╔══██╗
    ██║██╔████╔██║██║  ███╗██║     ██║   ██║███████║██║  ██║
    ██║██║╚██╔╝██║██║   ██║██║     ██║   ██║██╔══██║██║  ██║
    ██║██║ ╚═╝ ██║╚██████╔╝███████╗╚██████╔╝██║  ██║██████╔╝
    ╚═╝╚═╝     ╚═╝ ╚═════╝ ╚══════╝ ╚═════╝ ╚═╝  ╚═╝╚═════╝

 ***************************************************************/


    .imgloaded-not-yet {
        opacity: 0;
    }

    .imgloaded-complete {
        transition: opacity 0.5s ease-in-out;
    }