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

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

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



    :root, 
    .small {
        --white                   : 255, 255, 255;
        --gray-1                  : 240, 240, 240;
        --gray-2                  : 210, 210, 210;
        --gray-3                  : 180, 180, 180;
        --gray-4                  : 150, 150, 150;
        --gray-5                  : 120, 122, 122;
        --gray-6                  :  90,  92,  92;
        --gray-7                  :  60,  62,  62;
        --gray-8                  :  31,  31,  31;
        --gray-9                  :  13,  15,  15;
        --black                   :   0,   0,   0;
        --orange-light            : 221, 182,  108;
        --orange                  : 191, 152,  82;
        --orange-dark             : 164, 128,  63;

        --color-white             : rgb(var(--white));
        --color-gray-1            : rgb(var(--gray-1));
        --color-gray-2            : rgb(var(--gray-2));
        --color-gray-3            : rgb(var(--gray-3));
        --color-gray-4            : rgb(var(--gray-4));
        --color-gray-5            : rgb(var(--gray-5));
        --color-gray-6            : rgb(var(--gray-6));
        --color-gray-7            : rgb(var(--gray-7));
        --color-gray-8            : rgb(var(--gray-8));
        --color-gray-9            : rgb(var(--gray-9));
        --color-black             : rgb(var(--black));
        --color-orange-light      : rgb(var(--orange-light));
        --color-orange            : rgb(var(--orange));
        --color-orange-dark       : rgb(var(--orange-dark));
        
        --color-background        : var(--color-gray-9); 
        --color-text              : var(--color-white); 
        --color-text-link         : var(--color-orange); 
        --color-text-selection    : var(--color-gray-2); 
        --color-text-selection-bg : var(--color-gray-8); 
    }



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

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


   
    :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.6rem; /* 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         : 1rem;   /* Paddings between columns, the grid gutters */
        --vertical-rhythm     : 3rem;   /* Vertical margins between major grid sections */

        --panel-width         : 1280px; /* The width of the panel element */
        --panel-narrow-width  : 768px;  /* The width of the narrow panel element */
    }

    .tablet {
        --font-scale          : 1.125;  /* How the headings font size scales up */
        --base-font-size      : 1.8rem; /* 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.25;   /* The line height of heading elements */

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

    .laptop {
        --font-scale          : 1.2;    /* How the headings font size scales up */
        --base-font-size      : 2rem;   /* 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.2;    /* The line height of heading elements */

        --text-rhythm         : 3rem;   /* 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: Georgia, serif;
        --font-sans-serif: Manrope, Arial, sans-serif;
        --font-monospace: Consolas, 'Courier New', monospace;
        --font-icons: 'Responsiville icons';
    }



    /* Global base stylings */

    * {
        font-weight: 300;
    }

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

    body {
        font-family: var(--font-sans-serif);
        font-style: normal;
        font-size: var(--base-font-size);
        background-color: var(--color-background);
        color: var(--color-text);
    }
    
    h1, h2, h3, h4, h5, h6 {
        font-family: var(--font-sans-serif);
        font-style: normal;
        font-weight: 200;
    }

    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));
        color: var(--color-orange);
        text-align: center;
    }

    h2 {
        font-size: calc(var(--base-font-size) * var(--font-scale) * var(--font-scale) * var(--font-scale) * var(--font-scale) * var(--font-scale));
        color: var(--color-orange);
        text-align: center;
    }

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

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



    /* Uppercase (not only) Greek */

    .uppercase {
        text-transform: uppercase;
    }



    /* Input fields */

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


    /* Links, global */

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

    /* Links, inside text */

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

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



    /* Strong text */

    strong * {
        font-weight: 700;
    }



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

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

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


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

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