/*
    ICoS Font from: https: //www.babelstone.co.uk/Fonts/Maritime.html
    Published under SIL Open Font License 1.1
*/

@font-face {
    font-family: 'BabelStoneMaritime';
    src: url('BabelStoneMaritime.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: block;
}

.m-flag {
    font-family: 'BabelStoneMaritime' !important;
    display: inline-block;
    line-height: 1;
    font-style: normal;
    vertical-align: middle;
    /* This makes the flag scale with text size */
    font-size: 1.5rem;
    text-shadow: -1px -1px #000, 1px -1px #000, -1px 1px #000, 1px 1px #000;
}


/* 1. Flag Letters (International Code of Signals) */
.mf-alfa::before     { content: "a"; }
.mf-bravo::before    { content: "b"; }
.mf-charlie::before  { content: "c"; }
.mf-delta::before    { content: "d"; }
.mf-echo::before     { content: "e"; }
.mf-foxtrot::before  { content: "f"; }
.mf-golf::before     { content: "g"; }
.mf-hotel::before    { content: "h"; }
.mf-india::before    { content: "i"; }
.mf-juliet::before   { content: "j"; }
.mf-kilo::before     { content: "k"; }
.mf-lima::before     { content: "l"; }
.mf-mike::before     { content: "m"; }
.mf-november::before { content: "n"; }
.mf-oscar::before    { content: "o"; }
.mf-papa::before     { content: "p"; }
.mf-quebec::before   { content: "q"; }
.mf-romeo::before    { content: "r"; }
.mf-sierra::before   { content: "s"; }
.mf-tango::before    { content: "t"; }
.mf-uniform::before  { content: "u"; }
.mf-victor::before   { content: "v"; }
.mf-whiskey::before  { content: "w"; }
.mf-xray::before     { content: "x"; }
.mf-yankee::before   { content: "y"; }
.mf-zulu::before     { content: "z"; }

/* 2. ICS Pennant Numbers (0-9) */
.mf-pennant-0::before { content: "0"; }
.mf-pennant-1::before { content: "1"; }
.mf-pennant-2::before { content: "2"; }
.mf-pennant-3::before { content: "3"; }
.mf-pennant-4::before { content: "4"; }
.mf-pennant-5::before { content: "5"; }
.mf-pennant-6::before { content: "6"; }
.mf-pennant-7::before { content: "7"; }
.mf-pennant-8::before { content: "8"; }
.mf-pennant-9::before { content: "9"; }

/* 3. NATO Signal Flags (Numbers mapped to @ and A-I) */
.mf-nato-0::before { content: "@"; }
.mf-nato-1::before { content: "A"; }
.mf-nato-2::before { content: "B"; }
.mf-nato-3::before { content: "C"; }
.mf-nato-4::before { content: "D"; }
.mf-nato-5::before { content: "E"; }
.mf-nato-6::before { content: "F"; }
.mf-nato-7::before { content: "G"; }
.mf-nato-8::before { content: "H"; }
.mf-nato-9::before { content: "I"; }

/* 4. Naval Maneuvering Flags (mapped to J-Z and symbols) */
.mf-ans::before     { content: "J"; } /* Code/Answer Pennant */
.mf-prep::before    { content: "K"; } /* Preparatory */
.mf-int::before     { content: "L"; } /* Question */
.mf-negat::before   { content: "M"; } /* Negation */
.mf-desig::before   { content: "N"; } /* Designation */
.mf-corpen::before  { content: "O"; } /* Course Pennant */
.mf-turn::before    { content: "P"; } /* Turn */
.mf-screen::before  { content: "Q"; } /* Screen */
.mf-speed::before   { content: "R"; } /* Speed */
.mf-station::before { content: "S"; } /* Station */
.mf-port::before    { content: "T"; } /* Port */
.mf-stbd::before    { content: "U"; } /* Starboard */
.mf-form::before    { content: "V"; } /* Formation */
.mf-div::before     { content: "W"; } /* Division */
.mf-squad::before   { content: "X"; } /* Squadron */
.mf-prompt::before  { content: "Y"; } /* Prompt */
.mf-emerg::before   { content: "Z"; } /* Emergency */
.mf-subdiv::before  { content: "%"; } /* Subdivision */
.mf-flot::before    { content: "&"; } /* Group/Flotilla */

/* 5. Substitutes & Miscellaneous */
.mf-sub-1::before  { content: "!"; } /* 1st Substitute */
.mf-sub-2::before  { content: '"'; } /* 2nd Substitute */
.mf-sub-3::before  { content: "#"; } /* 3rd Substitute */
.mf-sub-4::before  { content: "$"; } /* 4th Substitute */

.mf-diver::before  { content: "*"; } /* Diver Down */
.mf-redcross::before { content: "+"; }
.mf-jollyroger::before { content: "~"; } /* Skull and Crossbones */
.mf-whiteflag::before  { content: "_"; }
.mf-blackflag::before  { content: "^"; }