/* General */
* {box-sizing:border-box;}
*:focus {outline: none;}
html {height:100.2%; font-size: 62.5%;}
body {margin:0; padding:0; font-size:1.3rem; line-height:1.5; font-family: Verdana, sans-serif; background-color:white;}
img {border:none;}
p, li, th, td, dt, dd {color: var(--txt_black);}
p {margin-top:0; line-height:1.5;}
p:last-child {margin-bottom:0;}
p.first-letter::first-letter {font-size: 320%; font-family: prometo, sans-serif; line-height: 1; color: var(--fsg_red); float: left; padding-right: .125em;}
h1, h2, h3, h4, h5 {margin:0 0 10px 0; line-height:1.3; font-family: prometo, sans-serif; font-weight:400; color: var(--txt_black);}
h1 {font-size:4.2rem; color: var(--fsg_blue) ;margin-bottom:20px;}
h2 {font-size:3.1rem; color: var(--fsg_green);}
h3 {font-size:2.3rem; color: var(--fsg_green);}
h4 {font-size:18px; font-size:1.8rem;}
h5 {font-size: 1em; font-weight: bold;}
hr {margin:30px 0; height:0; border-style:none none solid none; border-width:1px; border-color:var(--border);}

a {color: var(--fsg_blue); text-decoration:none;}
a:hover,
a:hover::before {color:var(--fsg_red);}

h1 a, h2 a, h3 a, h4 a, h5 a {color: unset; text-decoration: underline;}
th, td {vertical-align:top;}

figure {margin:0;}
figure.image {position: relative;}
strong {font-weight: 700;}

/* icons */
/* https://fontawesome.com/search */
.fsg-icon {white-space: nowrap;}
.fsg-icon::before {font-family: var(--font_icons); font-weight: 400; margin-right:6px; font-style: normal;}
.duotone {position: relative; padding-left: 18px; --fa-primary-color: var(--txt_black); --fa-secondary-color: var(--fsg_red); --fa-primary-opacity: 1; --fa-secondary-opacity: 1; margin-right:6px;}
.duotone:hover {--fa-primary-color: var(--fsg_red);--fa-secondary-color: var(--fsg_gold);}
.duotone::before,
.duotone::after {font-family: var(--font_icons); font-weight: 900; width: 1.2rem; text-align: center; text-rendering: auto; -webkit-font-smoothing: antialiased; position: absolute; left: 0; top: -1px;}
.duotone::before {color: var(--fa); opacity: 1; opacity: var(--fa);}
.duotone::after {color: var(--fa);  opacity: var(--fa);}
i.fa {margin-right: 5px;}

.fa-arrow-u-turn-down-left,
.fa-chart-line,
.fa-check,
.fa-circle-check,
.fa-circle-info,
.fa-clock,
.fa-copy,
.fa-file-certificate,
.fa-file-circle-minus,
.fa-file-circle-plus,
.fa-file-invoice-dollar,
.fa-file-lines,
.fa-file-pdf,
.fa-newspaper,
.fa-pen-to-square,
.fa-qrcode,
.fa-receipt,
.fa-sliders,
.fa-trash-can {font-size: 1.2em;}
.fa-square::before,
.fa-square-check::before,
.fa-square-x::before,
.fa-square-question::before {font-size: 1.4em; position: relative; top: 3px; }

.link-internal-blank::before,
.link-internal::before {content: "\e3d6";}
.link-external::before,
.link-external-blank::before {content: "\f08e";}
.link-download::before {content: "\f019";}
.link-mail::before {content: "\f658";}
.link-pdf::before {content: "\f1c1";}
.link-word::before {content: "\e5ed";}
.link-xls::before {content: "\e64d";}
.link-compressed::before {content: "\f422"; font-weight: 900;}
.link-ics::before {content: "\e0d0";}
.link-webcal::before {content: "\e470";}
.link-copy::before {content: "\f0c5";}
.link-map::before {content: "\f59f";}
.phone-hl::before {content: "\f879"; font-weight: 900;}
.login::before {content: "\f090";}
.logout::before {content: "\f08b";}
.home-icon::before {content: "\e1b2"; font-weight: 900;}
.user::before {content: "\f007";}
.user::after {content: "\10f007";}
.user-lock::before {content: "\f502";}
.user-lock::after {content: "\10f502";}
.user-gear::before {content: "\f013";}
.user-gear::after {content: "\f013";}
.search::before {content: "\f002";}
.changelog::before {content: "\f1da"; font-weight: 900; font-size: 1.2em; cursor: pointer; vertical-align: middle; margin-right: 0px;}

#alumni .fa-solid.fa-user:hover::before {color: var(--fsg_green);}
#members .fa-solid.fa-user-check::before,
#payments .fa-solid.fa-circle-check::before {color: var(--fsg_green);}
#members .fa-solid.fa-user-slash::before {color: var(--fsg_red);}
#members .fa-solid.fa-user-check:hover::before,
#members .fa-solid.fa-user-slash:hover::before {color: black;}

/* icons in menu */
a.external {position: relative;padding-left: 30px !important;}
a.external::before {font-family: var(--font_icons); font-weight: 900; content: "\f08e"; width: 1.25em; text-align: center; text-rendering: auto; -webkit-font-smoothing: antialiased; font-size: 100%; position: absolute; left: 9px; top: 3px;}
a.external:hover::before {color:white;}

a.shortcut {position: relative;padding-left: 30px !important;}
a.shortcut::before {font-family: var(--font_icons); font-weight: 900; content: "\e3d6"; width: 1.25em; text-align: center; text-rendering: auto; -webkit-font-smoothing: antialiased; font-size: 100%; position: absolute; left: 9px; top: 3px;}
a.shortcut:hover::before {color:white;}

.link-button {background-color:var(--fsg_cyan_deep); color:white; border-radius:20px; padding:10px 28px; font-size:1.6rem; text-decoration:none !important;}
.link-button:hover {background-color:var(--silver); color:white;}

/* frame, rte and link styles */
.text-center {text-align:center;}
.text-right {text-align:right;}
.frame-space-before-large {margin-top:50px;}
.frame-space-after-large {margin-bottom:50px;}

.blue-hl {color: var(--fsg_blue);}
.red-hl {color: var(--fsg_red);}
.green-hl {color: var(--fsg_green);}
.yellow-hl {color: var(--fsg_gold);}
.black-hl {color: var(--txt_black);}

/* flags */
.fib,.fi {background-size:contain; background-position:50%; background-repeat:no-repeat}
.fi {position:relative;display: inline-block; width:1.333333em; line-height:1em}
.fi:before {content:" "}
.fi.fis {width:1em}

/* table styling */
.td-blue {background: var(--fsg_blue); color:white!important;}
.td-red {background: var(--fsg_red); color:white!important;}
.td-green {background: var(--fsg_green); color:var(--txt_black) !important;}
.td-yellow {background: var(--fsg_gold); color:var(--txt_black) !important;}
.td-black {background: var(--fsg_black); color:white!important;}