/* Písma hostované lokálne (Montserrat, Source Sans 3, Allura)
   ---------------------------------------------------------------------------
   Zámerne sa nenačítavajú z fonts.googleapis.com. Google Fonts z cudzej domény
   odošlú IP adresu návštevníka Googlu hneď pri načítaní stránky - teda skôr, než
   stihne rozhodnúť o súhlase s cookies. Súdy v EÚ to opakovane posudzovali ako
   porušenie GDPR.

   Delenie na `latin` a `latin-ext` je prevzaté od Googlu a musí tu zostať.
   POZOR: `latin-ext` NIE JE nadmnožinou `latin` - obsahuje výhradne rozšírené
   znaky (č, ď, ľ, ň, ŕ, š, ť, ž) a základnú latinku vôbec nemá. Slovenský text
   preto potrebuje obidva súbory a `unicode-range` hovorí prehliadaču, kedy si
   ktorý stiahnuť. (Pri prvom pokuse som orezával len z latin-ext a v písme
   nezostalo ASCII - text sa vykresľoval systémovým písmom a pravé boli iba
   ž, š a spol.)

   Montserrat aj Source Sans 3 sú variabilné písma: jeden súbor nesie os `wght`
   pre všetky hrúbky, preto má každá rodina jediný pár @font-face s rozsahom
   `font-weight`. (Predtým tu bol samostatný blok pre každý rez, ale všetky
   ukazovali na kópie toho istého súboru.)

   Súbory sú orezané na znaky, ktoré web reálne používa: základná latinka,
   slovenská, česká a poľská diakritika, nemecká a maďarská diakritika
   (ä, ö, ü, ß, ő, ű) kvôli menám v tíme, meny, typografické úvodzovky a pomlčky.
   Cyrilika, gréčtina a vietnamčina chýbajú zámerne.

   POZOR pri orezávaní: `unicode-range` nižšie tvrdí prehliadaču, že súbor daný
   znak má. Ak znak v rozsahu je, ale v súbore chýba, prehliadač písmo stiahne,
   glyf nenájde a to jedno písmeno vykreslí systémovým písmom - v slove potom
   vyčnieva. Takto pôvodne vypadávalo ü v mene Füzeková.

   Ako pridať ďalší znak alebo rodinu:
     1. z Google Fonts stiahnuť varianty latin AJ latin-ext,
     2. každý orezať cez python3 -m fontTools.subset (príkaz a zoznam znakov
        sú v ZMENY.md pri zázname o náleze č. 4),
     3. pridať oba @font-face bloky nižšie aj s pôvodným unicode-range,
     4. overiť, že latin + latin-ext spolu pokrývajú všetky použité znaky.

   font-display: swap - text je čitateľný okamžite; kým sa písmo načíta,
   vykreslí sa systémovým a potom sa prekreslí. */

/* Allura 400 - latin */
@font-face {
    font-family: 'Allura';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(/assets/fonts/allura-latin.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Allura 400 - latin-ext */
@font-face {
    font-family: 'Allura';
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url(/assets/fonts/allura-latin-ext.woff2) format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Montserrat 500-800 (variabilné) - latin */
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 500 800;
    font-display: swap;
    src: url(/assets/fonts/montserrat-latin.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Montserrat 500-800 (variabilné) - latin-ext */
@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 500 800;
    font-display: swap;
    src: url(/assets/fonts/montserrat-latin-ext.woff2) format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* Source Sans 3 400-700 (variabilné) - latin */
@font-face {
    font-family: 'Source Sans 3';
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    src: url(/assets/fonts/source-sans-3-latin.woff2) format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Source Sans 3 400-700 (variabilné) - latin-ext */
@font-face {
    font-family: 'Source Sans 3';
    font-style: normal;
    font-weight: 400 700;
    font-display: swap;
    src: url(/assets/fonts/source-sans-3-latin-ext.woff2) format('woff2');
    unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}


/* ---------------------------------------------------------------------------
   Náhradné písma s upravenou šírkou
   ---------------------------------------------------------------------------
   Kým sa stiahne Montserrat a Source Sans 3, text sa vykreslí systémovým písmom
   (font-display: swap). Systémový Arial je ale výrazne užší než Montserrat -
   pri prepnutí sa preto text preskladal a hlavička „preblikla".

   Tieto bloky nevytvárajú nové písmo: berú systémový Arial a cez `size-adjust`
   ho roztiahnu presne na šírku cieľového rezu. Pomery sú odmerané v prehliadači
   (šírka rovnakej vety v Montserrate delená šírkou v Ariale) - preto sú pre
   každú hrúbku iné. Riadkovanie je na webe zadané pomerom k veľkosti písma,
   takže výšku riadkov netreba dorovnávať.

   Ak niekedy pribudne ďalší rez, pomer sa odmeria takto (v konzole prehliadača):
     c = document.createElement('canvas').getContext('2d');
     w = f => { c.font = f; return c.measureText('Agropoistenie 0123456789').width; };
     w('600 100px Montserrat') / w('100px Arial') * 100
   --------------------------------------------------------------------------- */

@font-face { font-family: 'Montserrat Fallback'; font-weight: 500;
    src: local('Arial'), local('Helvetica Neue'), local('Roboto'); size-adjust: 113.1%; }
@font-face { font-family: 'Montserrat Fallback'; font-weight: 600;
    src: local('Arial'), local('Helvetica Neue'), local('Roboto'); size-adjust: 115.1%; }
@font-face { font-family: 'Montserrat Fallback'; font-weight: 700;
    src: local('Arial'), local('Helvetica Neue'), local('Roboto'); size-adjust: 117.3%; }
@font-face { font-family: 'Montserrat Fallback'; font-weight: 800;
    src: local('Arial'), local('Helvetica Neue'), local('Roboto'); size-adjust: 119.6%; }

@font-face { font-family: 'Source Sans 3 Fallback'; font-weight: 400;
    src: local('Arial'), local('Helvetica Neue'), local('Roboto'); size-adjust: 92.9%; }
@font-face { font-family: 'Source Sans 3 Fallback'; font-weight: 600;
    src: local('Arial'), local('Helvetica Neue'), local('Roboto'); size-adjust: 95.7%; }
@font-face { font-family: 'Source Sans 3 Fallback'; font-weight: 700;
    src: local('Arial'), local('Helvetica Neue'), local('Roboto'); size-adjust: 98.3%; }
