/* reset styles */
html, body, div, span, applet, object, iframe,
p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    line-height: normal;
    vertical-align: baseline;
}

html {
    display: block;
}

body {
    font-family: "Palanquin", sans-serif;
    font-size: 16px;
    display: block;
    margin:0;
}

/* for illustrative purpose, please remove the below class .it-contents with IT apps / websites */
.it-contents {
    height:50vh;
}

.rows::after {
    content: '';
    display: block;
    clear: both;
}

.hero-heading {
    max-width: 1308px;
    margin: 0 auto;
}

.hero-heading h1{
   font-size:1.5em;
   color:#000066;
}

.main-contents {
    max-width: 1308px;
    margin: 0 auto;
    margin-bottom:3em;
}

.main-contents ul{
    max-width: 1308px;
    padding-left:45px;
    padding-bottom:20px;
}

.google-translate{
    margin-left: 30px;
}

/*Decorative blue bar*/
.decorative-blue-bar{
    background-color: rgb(0,7,102);
    width: 100%;
    height: 40px;
    display: block;
}

.nav {
    margin-top: 20px;
}

.nav-top {
    margin-bottom: 10px;
    text-align: right;
}

.nav-top a:link{
    text-decoration: none;
    color: #097f9e;
}

.nav-top a:hover{
    text-decoration: underline;
    color: #097f9e;
}

.nav-top a:visited{
    text-decoration: none;
}

.heading-link {
    font-size: 18px;
    font-weight: 500;
}

/*Header styling*/
.header{
    max-width: 1308px;
    margin: 0 auto;
    background-color: #ffffff;
    height: 120px;
    color: #097f9e;
    display: flex;
    padding: 0 20px 0 20px;
    flex-direction: column;
}

    .header .logo {
        float: left;
        margin-bottom:15px;
        margin-top:15px;
    }

    .header .nav {
        float: right;

    }

    .header span {
        display: none;
    }

    .header .nav ul {
        margin: 15px 0 20px 20px;
        list-style: none;
    }

    .header .nav li {
        display: inline-block;
        padding-left: 10px;
    }

    .header li a:link {
        text-decoration: none;
        color: #000000;
    }

    .header li a:hover {
        text-decoration: underline;
        color: #000000;
    }

    .header a:visited {
        text-decoration: none;
        
    }
 

.container-text {
    max-width: 1308px;
    margin: 10px auto 20px auto;
}

.alert {
    background-color:#FAEFCD;
    width: auto;
    padding: 1em 1em 1em 1em;
    border-radius:10px;
    display:flex;
    align-items: center;
}

    .alert p {
    justify-content: center;
    align-items: center;
    padding-left:15px;

    }

img.alert-icon {
    width:20px;
    height:auto;
    justify-content: center;
    margin-left: 30px;

}

.list-group {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    max-width: 100vw;
}

    .list-group ul li {
        margin-bottom: 15px;
    }


/*Footer styling*/
.footer {
    background-color: #097f9e;
    color: #ffffff;
    width: 100%;
    display: flex;   
}

.footer-container {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    max-width: 1308px;
    width: 100%;
    margin: 0 auto; 
    padding: 60px 20px 60px 20px;
    justify-content: space-between;
}

.coat-of-arms {
    width: 120px;
    height: auto;
}

.footer ul {
    list-style: none;
    margin-left: 0;
}

.footer li {
    display: inline-block;
    margin-right: 35px;
    zoom: 1;
}

.footer ul li.button a span {
    margin-right: 15px;
}

.footer ul li.button a {
    vertical-align:baseline;
}

.footer div.footer-content-col {

    flex-grow: 1;
    display: flex;
    flex-direction: row;
    
}

.footer div.footer-content-col .button {
    background-color: #000066;
    border: none;
    color: #fff;
    padding: 1em 1.95em 1em 1.95em;
    text-align: center;
    text-decoration: none;
    border-radius: 1.95em;
    font-size: 1.1em;
    display: block;
    flex-shrink: 0;
}

.footer div.footer-content-col .button div{
    vertical-align: center;
}

.footer-right {
    display: flex;
    flex-grow: 1;
    display: flex;
    flex-direction: row;
}

.footer a {
    color: #fff;
    text-decoration: none;
    font-weight: 600;
}

.footer a:link {
    color: #fff;
    text-decoration: none;
}

.footer a:visited {
    color: #fff;
    text-decoration: none;
}

.footer a:hover {
    color: #fff;
    text-decoration: underline;
}

.footer .footer-logo {
    display: block;
    width:100%;
    margin: 0 auto;
    padding: 0 1.5625em;
    position: relative;
    text-align: right;
}

/*Newsletter icon alignment*/
.newsletter-icon{
    vertical-align: sub;
}

.footer-clear{
    width: 100%;
    margin: 0 auto;
}

/*Social media icon group in footer*/
.social-icons {
    display: flex;
}

.social-icons a {
    text-decoration: none;
}

.social-icons a span {
    padding-right: 20px;
}

.social-icons a:hover {
    color: #000066;
}

/*Class to improve accessibility for screen reader users*/
.visually-hidden {
    display: block;
    overflow: hidden;
    height: 1px;
    padding: 0;
    width: 1px;
    position: absolute;
    clip: rect(1px, 1px, 1px, 1px); /* Clip the element so it's visually hidden */
    white-space: nowrap; /* Prevent the element from taking up space */
  }

.layout-container {
    margin-bottom: 40px;
    display: block;
}

    .layout-container ul {
        list-style: none;
        padding: 0;
        margin: 0;
        display: flex; 
    }

    .layout-container li {
        display: flex;
        align-items: center; 
    }

.copy-right {
    font-size: 14px;
    overflow-wrap: break-word;
}

/*Div to indent the footer menu and copy right*/
.indent-container{
    position: relative;
    width: 100%;
    max-width: 1308px;
    margin-left: 15px;

}
/*Div to align orange bar with the FSRA logo*/
.orange-bar-container{
    max-width: 1308px;
    margin: 0 auto;
    display: flex;
    padding: 0 20px 0 20px;
}

/*Div for decorative orange bar*/
.orange-bar {
    position: relative;
}

    .orange-bar::after{
        content:'';
        width: 120px;
        height: 25px;
        background-color: #F05014;
        position: absolute;
        top:-12.5px; 
        z-index: 1;
        display: table;
        clear: both;
    }

.footer .list-group {
    display: flex;
    flex-wrap: wrap;
  }
  
.footer .list-group li {
    display: inline-block;

}

/* Media query for devices with max-width of 736px */
@media (max-width:747px){
    .header{
        flex-direction: row;
        height: 220px; /*Increase the header height to contain the navbar*/
    }
    .nav{
        margin-top: 0; /*Clear top margin*/
        padding-bottom: 20px;
        
    }
    .nav ul{
        margin-bottom: 0; /*Clear bottom margin*/
    }
    
}

/* Media query for devices with max-width of 768px */
@media (max-width: 768px) {

    .footer-container{
        flex-direction: column;
        align-items: center;
        width: 100%;
    }

    .footer .list-group {
        display: block;
    }
  
    .footer{
        width: 100%;
    }

    .footer-right{
        padding-top: 30px;
        text-align: center;
        margin: 0 auto;
    }

    .footer div.footer-content-col{
        flex-direction: column;
        justify-content: center;
        margin: 0 auto;
    }

    .footer .footer-logo {
        text-align: center;
    }

    .social-icons a:last-child {
        margin-right: 0;
    }

  }

/*Media query for devices with max-width of 820px to fit the navbar for FR*/
@media (max-width:820px){
    .header-fr{
        flex-direction: row;
        height: 220px; /*Increase the header height to contain the navbar*/
    }
}
/*Media query for devices with max-width of 520px to fit the navbar for FR*/
@media (max-width: 520px){

    .nav-fr{
        text-align: right;
    }

    .nav-fr ul li.google-translate{
        margin-left: 0;
    }

    .nav-fr ul {
        margin-top: 0;
        margin-left: 0;
        padding-bottom: 20px;
    }

}

/* Media query for devices with max-width of 540px */
@media (max-width: 540px) {
    

    .footer{
        width: 100%;
    }

    .footer-logo{
        text-align: center;
    }

    .layout-container{
        margin-bottom: 20px;
    }

    .layout-container ul {
        display: flex;
        flex-direction: column;
        padding-left: 15px;
    }

    .footer .list-group li {
        display: block;
        clear: both;
      }

    .social-icons{
        padding-top: 30px;
        padding-left: 30px;
    } 

    .list-group ul li{
        margin-right: 0;
    } 

    .indent-container{
        margin: 0 auto;
        width: 75%;
    } 
}

/* Media query for devices with max-width of 447px */
@media (max-width:447px){

    .nav{
        text-align: left;
    }

    .nav ul li.google-translate{
        margin-left: 0;
    }

    .nav ul {
        margin-top: 0;
        margin-left: 0;
        padding-bottom: 20px;
    }

}
  
/* Clear floats */
.clear {
    display: table;
    clear: both;
    content: "";
}


