@font-face
{
font-family:Lato;
src:url('Fonts/Lato-Regular.ttf');
}
@font-face
{
font-family:Lato;
font-style:italic;
src:url('Fonts/Lato-Italic.ttf');
}
@font-face
{
font-family:Lato;
font-weight:bold;
src:url('Fonts/Lato-SemiBold.ttf');
}
@font-face
{
font-family:Lato;
font-weight:bold;
font-style:italic;
src:url('Fonts/Lato-Bold.ttf');
}

*
{
font-family:Lato,Helvetica,Swiss,Arial,sans-serif;
font-weight:normal;
margin:0;
padding:0;
box-sizing:border-box;
}

html,body
{
min-height:100%;
}

body
{
display:flex;
flex-direction:column;
color:#e8eef6;
background-color:#061428;
background-image:radial-gradient(ellipse at top,#0a2244 0%,#061428 52%,#040c18 100%);
background-attachment:fixed;
}

body::after
{
content:"";
position:fixed;
left:0;
right:0;
bottom:0;
height:11em;
background-image:url('Images/Wave.jpg');
background-position:center bottom;
background-repeat:no-repeat;
background-size:cover;
opacity:0.4;
pointer-events:none;
z-index:0;
}

a.skip
{
position:absolute;
left:-9999px;
top:0.5em;
background:#0a1a33;
color:#3ec4ff;
padding:0.4em 0.8em;
z-index:20;
}

a.skip:focus
{
left:0.5em;
}

site-header
{
display:flex;
flex-wrap:wrap;
align-items:center;
justify-content:space-between;
gap:0.6em 1.2em;
padding:0.55em 7%;
background-color:rgba(4,12,24,0.78);
border-bottom:1px solid rgba(62,196,255,0.22);
position:sticky;
top:0;
z-index:10;
backdrop-filter:blur(8px);
}

page-hero
{
display:block;
position:relative;
overflow:hidden;
flex-shrink:0;
padding:2.4em 7% 4.5em 7%;
text-align:center;
z-index:1;
}

header,section,main,article
{
position:relative;
z-index:1;
padding:1.15em 1.4em;
margin-top:0.65em;
margin-left:7%;
margin-right:7%;
border-radius:0.5em;
background-color:rgba(6,16,36,0.58);
border:1px solid rgba(62,196,255,0.18);
backdrop-filter:blur(2px);
transition:background-color 0.8s,border-color 0.8s;
overflow:auto;
}

header:hover,section:hover,main:hover,article:hover
{
background-color:rgba(8,22,48,0.74);
border-color:rgba(62,196,255,0.34);
}

main
{
flex-grow:1;
}

footer
{
position:relative;
z-index:1;
margin-top:1.4em;
padding:0.9em 7% 1.4em 7%;
text-align:center;
}

nav ul
{
display:flex;
flex-wrap:wrap;
align-items:center;
gap:0.15em 0.15em;
list-style:none;
}

nav a
{
display:block;
color:#c5cdd8;
text-decoration:none;
font-size:0.82em;
letter-spacing:0.09em;
text-transform:uppercase;
padding:0.4em 0.65em;
border-radius:0.25em;
}

nav a:visited
{
color:#c5cdd8;
}

nav a:hover,nav a:active,nav a.current
{
color:#3ec4ff;
background-color:rgba(62,196,255,0.08);
}

h1
{
font-size:1.85em;
font-weight:bold;
color:#ffffff;
margin-bottom:0.35em;
}

h2
{
font-size:1.35em;
font-weight:bold;
color:#7eb6ff;
margin:0.9em 0 0.4em 0;
}

h2:first-child
{
margin-top:0;
}

h3
{
font-size:1.12em;
font-weight:bold;
color:#3ec4ff;
margin:0.85em 0 0.35em 0;
}

h4
{
font-size:1em;
font-style:italic;
color:#c5cdd8;
margin:0.6em 0 0.3em 0;
}

p
{
font-size:0.95em;
line-height:1.55em;
padding:0.25em 0;
text-align:left;
color:#e8eef6;
}

small
{
font-size:0.7em;
color:#9aacbf;
}

time
{
display:block;
font-size:0.8em;
color:#9aacbf;
letter-spacing:0.04em;
margin-bottom:0.7em;
}

a
{
color:#3ec4ff;
text-decoration:none;
}

a:visited
{
color:#7eb6ff;
}

a:hover
{
color:#8ae0ff;
text-decoration:underline;
}

a:active
{
color:#ffffff;
}

:focus-visible
{
outline:2px solid #3ec4ff;
outline-offset:3px;
}

ul,ol
{
margin:0.4em 0 0.8em 1.3em;
}

li
{
font-size:0.95em;
line-height:1.45em;
padding:0.15em 0;
color:#e8eef6;
}

details
{
margin:0.5em 0;
}

summary
{
cursor:pointer;
font-weight:bold;
color:#7eb6ff;
padding:0.35em 0;
list-style-position:outside;
}

summary:hover
{
color:#3ec4ff;
}

code
{
font-family:Consolas,"Liberation Mono",Menlo,monospace;
font-size:0.9em;
color:#c5cdd8;
background-color:rgba(62,196,255,0.08);
padding:0.05em 0.3em;
border-radius:0.2em;
}

article p,main p,section p
{
max-width:48em;
}

@media screen and (min-width:1px)
{
body {font-size:70%}
}
@media screen and (min-width:300px)
{
body {font-size:80%}
}
@media screen and (min-width:500px)
{
body {font-size:85%}
}
@media screen and (min-width:600px)
{
body {font-size:90%}
}
@media screen and (min-width:700px)
{
body {font-size:95%}
}
@media screen and (min-width:800px)
{
body {font-size:100%}
}
@media screen and (min-width:900px)
{
body {font-size:115%}
}
@media screen and (min-width:1200px)
{
body {font-size:130%}
}
@media screen and (min-width:1400px)
{
body {font-size:145%}
}
@media screen and (min-width:1600px)
{
body {font-size:160%}
}
@media screen and (min-width:1800px)
{
body {font-size:175%}
}
@media screen and (min-width:2000px)
{
body {font-size:190%}
}

@media screen and (max-width:600px)
{
site-header,page-hero,footer
{
padding-left:4%;
padding-right:4%;
}
header,section,main,article
{
margin-left:4%;
margin-right:4%;
padding:1em;
}
}
