/*-----------------
Variables
-----------------*/
:root{
    /* universal palette */
    --primaryblue-color:#166b8f;        /* NPAFC Website primary blue*/
    --secondaryblue-color:#0f5564;      /* Blue accent 1*/    
    --tertiaryblue-color:#d4dde4;       /* Blue accent 2*/

    --primarygreen-color:#58a18e;       /* Green primary*/
    --greenaccent-color:#dbece8;        /* Green accent*/  

    --accentorange:#C4400E;             /* Orange accent*/

    --primarygrey-color:#f7f7f7;        /* NPAFC Website primary grey*/

    --primary-font: 'Roboto', sans-serif;       /* Main font*/

    --gap-right: 10px;                       /* consistent gap for styling*/
    --global-padding: 10px;
}

/*-----------------
@Font-face Declarations
-----------------*/
@font-face {
    font-family: 'Roboto', sans-serif;;
    src: url(../fonts/Roboto-Regular.woff) format(woff);
    font-weight: normal;
    font-style: normal;
}

/*-----------------
HTML
-----------------*/
html{
    background-color: #f3f3f3;
    box-sizing: border-box;
}

/*Box Reset*/
*, *:before, *:after {
  box-sizing: inherit;
}
    
body{
    font-family: "Roboto", sans-serif;
    margin: 0px;
}
main{
    flex: 1;
    padding: 0px 5px;
}
article{
    padding: 0px 0px;
}
img{
    max-width: 100%;
    height: auto;
}
footer{
    background-color: black;
    color: var(--primarygrey-color);
}
h1{
    font-size: 1.5em;
    font-weight: 700;
}
h2{
    font-size: 1.2em;
}
p{
    margin-top: 0px;
    line-height: 1.4em;
    padding: 5px 5px;
}
a{
    color: var(--secondaryblue-color);
}
a:hover{
    color: var(--primaryblue-color);
}
a:active{
    color: var(--primarygreen-color);
}
blockquote{
    background-color: var(--greenaccent-color);
    border-left: 5px solid var(--primarygreen-color);
    border-radius: 5px;
}
pre{
    background-color: var(--tertiaryblue-color);
    border: 2px solid var(--primaryblue-color);
}
ol, ul{
    line-height: 1.4em;
}
td{
    line-height: 1.4em;
    padding: 5px;
    vertical-align: top;
}

/*-----------------
Classes
-----------------*/

/*Mobile Header*/
.mobile-header{
    display: block;
}
.mobile-title{
    font-weight: 700;
    padding: 10px;
    margin-top: 0px;
    margin-bottom: 0px;
    font-size: 1.25em;
}
.header-logo-mobile{
    display: block;
    max-width: 60%;
    padding: 10px;
    margin: auto;
}

/*Header*/
.header-container{
    /*display: flex;
    flex-direction: row;
    justify-content: space-between;*/
    background-image: url(../images/2026-website-banner.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: right;
    height: 260px;
}
.text-container{
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    width: 80%;
    margin-top: 0px;
    margin-left: 5px;
    padding-left: 10px;
    margin-bottom: 15px;
}
.header-title{
    font-size: 1.7em;
    font-weight: 800;
    line-height: 1.1em;
    padding: 10px;
    padding-top: 0px;
    margin-top: 5px;
    margin-bottom: 0px;
    color: var(black);
}
.header-title-p2{
    font-size: 1.7em;
    font-weight: 600;
    line-height: 1.1em;
    padding: 10px;
    padding-top: 0px;
    margin-top: 5px;
    margin-bottom: 0px;
    color: var(black);
}
.header-subtitle{
    font-weight: 800;
    font-family: 'Roboto', sans-serif;
    padding: 10px;
    color: var(--primarygreen-color);
    font-size: 2em;
    margin: 0px;
}

/*External Links Top-level Menu*/
.navul{
    list-style-type: none;
    padding: 15px;
    margin-top: 0px;
    margin-bottom: 0px;
}
.external-links-menu{
    display: none;
    background-color: white;
}
.external-links-menu a {
    display: block;
    text-align: center;
    background-color: black;
    color: var(--primarygrey-color);
    padding: 20px;
    margin: 10px;
    text-decoration: none;
    font-family: var(--primary-font);
    border-radius: 10px;
}
.external-links-menu a:hover{
    background-color: var(--primarygreen-color);
}
.external-links-menu a:active{
    background-color: var(--primarygreen-color);
}

/*adjust the logo upwards and style it. Logo not displayed for mobile*/
.logo{
    display: none;
    translate: 9% -35%;
    width: 80%;
    -webkit-filter: drop-shadow(2px 2px 2px #222);
    filter:         drop-shadow(2px 2px 2px #7a7a7a);
}

/*create container background for main navigation menu and content*/
.content-area{
    display: flex;
    flex-direction: column;
}

/*compact section for topic sessions page*/
.narrow-line-height{
    margin-bottom: 2px;
}

/*Do not display in-text title on mobile*/
.special-title{
    display: none;
}

/*Create container for content*/
.styled-container{
    background-color: var(--primarygrey-color);
    border-top: 1px solid var(--accentorange);
}

/*Grid container for the bulk of content*/
.contentgrid{
    display: flex;
    flex-direction: column;
} 

/*Grid box content containers*/
.headerbox{
    grid-area: 1/1/1/span 2;
    background-color: white;
    padding: 15px;
    padding-left: 0px;
    padding-bottom: 0px;
    margin-bottom: 0px;
    }
.contentbox{
    grid-area: 2/1/2/span 2;
    margin: 0px;
    padding: 0px;
}
.content-2{
    display: block;
    margin: auto;
    padding: var(--global-padding) 5px
}
.content-3{
    grid-area: 4/1/4/span 2;
    padding: var(--global-padding) 5px;
}
.content-4{
    grid-area: 5/1/5/span 2;
    padding: var(--global-padding) 5px;
}
.content-5{
    padding: var(--global-padding) 5px;
}
.content-6{
    padding: var(--global-padding) 5px;
}
.textbox{
    padding: 5px;
    margin: 0px;
}

/*Add border to workshop poster*/
.img-border{
    display: none;
    border: 1px solid darkgrey;
    width: 80%;
    margin: auto;
}

/*Container for Abstract Example*/
.abstract-paper{
    margin: auto;
    margin-bottom: 20px;
    width: 90%;
    border: 0px solid black;
    background-color: white;
    padding: 15px;
    padding-bottom: 95px;
}
.nopad{
    padding: 1px 10px;
    margin: 0px;
}

/*generic block section layout for text*/
.background-objectives-content{
    display: block;
    padding: 0px 15px;
}
.firstparagraph{
    padding-top: 20px;
}
.spacer{
    min-height: 30px;
}
/*Footer sections*/
.footertop{
    display: flex;
    flex-direction: column;
    border-top: 1px solid var(--accentorange);
    background-color: var(--primarygrey-color);
    padding: 10px;   
    color: black; 
}
.footercontact{
    flex-direction: column;
    justify-content: flex-start;
    font-size: .8em;
    padding-left: 10px;
}
.footeraboutus{
    padding-left: 10px;
    height: 40.8px;
    display: flex;
    justify-content: flex-start;
    width: 100%;
    font-size: .8em;
}
.footerbottom{
    padding: 0px;
    padding-left: 15px;
    border-left: 1px;
    border-right: 1px;
    border-bottom: 1px;
    border-color: darkgrey;

}
.gap{
    padding-right: var(--gap-right);
    padding-left: 0px;
    margin-bottom: 0px;
}
.iconhover{
    padding-top: 5px;
    margin-bottom: 0px;
}
.iconhover a:hover{
    filter: saturate(230%);
}

/*Tables*/
.dates{
    width: 100%;
    background-color: var(white);
    border: 1px solid darkgrey;
}
.dates tr:nth-child(even){
    background-color: var(--primarygrey-color);
}
.dates tr:nth-child(odd){
    background-color: var(--greenaccent-color);
}
.checkwidth{
    text-align: left;
    vertical-align: text-top;
    padding-right: 15px;
    width: 20px;
}

.firstcolumn{
    width: 50px;
}

.oc-list{
    margin-top: 0px;
}

.ipsum{
    width: 100%;
    border: 1px solid var(--primaryblue-color);
    background-color: var(--tertiaryblue-color);
}
.ipsum tr td {
    height: 30px;
    border: 1px solid var(--primaryblue-color);
    padding-left: 5px;
    background-color: white;
}

/*Contact info unordered list styling*/
.contact{
    padding-left: 0px;
    list-style-type: none;
    line-height: 1.2em;
    margin-top: 0px;
    margin-bottom: 5px;
}

/*unordered list with checkcircle icons*/
.checklist{
    list-style-type: none;
    padding-left: 5px;
}

/*provide padding to text in blockquotes*/
.blockquote-padding{
    padding: 8px;
}

/*Form*/
input[type=text], select {
width: 100%;
padding: 12px 20px;
margin: 8px 0;
display: inline-block;
border: 1px solid #ccc;
border-radius: 4px;
box-sizing: border-box;
}
input[type=email]{
    width: 100%;
    padding: 12px 20px;
    margin: 8px 0;
    display: inline-block;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-sizing: border-box;
}
input[type=submit] {
width: 100%;
background-color: var(--secondaryblue-color);
color: white;
padding: 14px 20px;
margin: 8px 0;
border: none;
border-radius: 4px;
cursor: pointer;
}
input[type=submit]:hover {
background-color: var(--primaryblue-color);
}
.reg-form{
    border-radius: 5px;
    border: 1px solid var(--primaryblue-color);
    background-color: var(--tertiaryblue-color);
    padding: 20px;
    width: 100%;
    margin: auto;
}

.vancouver{
    border: 1px solid var(--primaryblue-color);
    border-radius: 5px;
    margin-top: 15px;
}

.registrationbutton a{
    display: block;
    text-align: center;
    background-color: var(--secondaryblue-color);
    color: var(--primarygrey-color);
    padding: 20px;
    margin: 10px;
    margin-right: 60px;
    margin-left: 60px;
    text-decoration: none;
    font-family: var(--primary-font);
  }
  .registrationbutton a:hover{
    background-color: var(--primaryblue-color);
  }
  .registrationbutton a:active{
    background-color: var(--primarygreen-color);
  }
.downloadbox{
    margin: 10px;
    padding: 15px;
    background-color: var(--primarygrey-colorr);
    color: black;
    border: 2px solid var(--primarygreen-color);
}
/*-----------------
IDs
-----------------*/
#wrapper{  
    max-width: 1000px;
    margin: auto;
    border: 1px solid darkgrey;
    background-color: white;
    display: flex;
    flex-direction: column;
    min-height: 100vh; 
    box-shadow: 5px 5px 20px grey; 
}

/*Create container for navigation menu and style the menu*/
#mainnav{
    background-color: white;
}
#mainnav ul{
    list-style-type: none;
    padding: 10px;
    margin: 0px 10px
}
#mainnav ul a{
    display: block;
    text-align: center;
    color: black;   
    padding: 20px 0px;
    margin: 0px;
    text-decoration: none;
    font-family: var(--primary-font);
    border-radius: 10px;
}

#mainnav ul a:hover{
    background-color: var(--primarygreen-color);
    color: white;
}
#mainnav ul a:active{
    background-color: none;
}

@media (min-width: 300px){
    /*Adjust title size*/
    .mobile-title{
        font-size: 1.75em;
        line-height: 1;
    }

    /*Main Header off*/
    .header-container{
        display: none;
    }
}

@media (min-width: 790px){
    body {
        margin: 5px;
    }
    main {
        padding: 0px;
    }
    h1{
        font-size: 2em;
    }
    h2{
        font-size: 1.5em;
    }
    /*Mobile header off*/
    .mobile-header{
        display: none;
    }

    /*Turn on external links menu*/
    .external-links-menu{
        display: block;
    } 

    /*Desktop header on; minor adjustments to text*/
    .header-container{
        display: flex;
    }
    .text-container{
        display: flex;
        align-items: flex-start;
    }
    .header-title{
        font-size: 2em;
    }
    .header-subtitle{
        font-size: 1.4em;
    }

    /*Logo built in to header*/
    .header-logo{
        justify-content: flex-start;
        height: 30%;
    }
    /*---Adjust Top Menu---*/
    .external-links-menu{
        background-color: var(--primarygrey-color);
        border-top: 1px solid var(--accentorange);
    }
    /*Adjust container for external link buttons*/
    .navul{
        display: flex;
        justify-content: flex-end;
        padding: 5px;
    }
    /*Style link "buttons"*/
    .external-links-menu a{
        padding: 7px;
        font-size: 1em;
        border: 1px solid var(--primarygrey-color);
    }

    /*--- Adjust main content ---*/
    /* Content container changes to row from column*/
    .content-area{
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        background-color: var(--primarygrey-color);
    }

    /*Create content container for desktop*/
    .styled-container{
        background-color: white;
        border-style: solid;
        border-color: darkgrey;
        border-width: 0px;
        border-radius: 20px 0px 0px 0px;
        flex: 1;
        min-height: auto;
    }
    .content-grid{
        /*Set-up Grid*/
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-auto-rows: min-content;
        column-gap: 20px;
        row-gap: 5px;
        padding: 0px 15px;
    }

    /*Display in-text title on Desktop/Tablet*/
    .special-title{
        display: grid;
        grid-area: 1/1/1/span 2;
        }

    /*Create content grid*/
    .headerbox{
        grid-area: 1/1/1/span 2;
        background-color: white;
        padding: 0px;
        margin-bottom: 20px;
        line-height: 1.1em;
        }
    .content-1{
        display: grid;
        grid-area: 2/1/2/span 2;
        margin: 0px;
        padding: 0px;
    }
    .content-2{
        display: grid;
        grid-area: 3/1/3/span 2;
        width: 100%;
        
    }
    .content-3{
        display: grid;
        grid-area: 4/1/4/span 2;
    }
    .content-4{
        display: grid;
        grid-area: 5/1/5/span 2;
    }
    .content-5{
        display: grid;
        grid-area: 6/1/6/span 2;
    }
    .content-6{
        display: block;
        margin: auto;
        width: 40%;
    }

    /*Adjust h2 title in grid*/
    .h2grid{
        margin-bottom: 15px;
    }
    /*Display NPAFC logo over main nav menu*/
    .logo{
        display: block;
    }

    /* Main navigation menu on left-hand side of page*/
    #mainnav{
        background-color: var(--primarygrey-color);
        width: 22%;
        min-height: 60vh;
        padding-top: 70px;
    }
    #mainnav ul {
        list-style-type: none;
        padding: 15px 0px;
        translate: 0% -15%;
        margin-top: 0px;
    }
    #mainnav ul a{
        padding: 10px 3px;
        background-color: none; 
        color: black; 
    }

    /*Footer adjust*/
    .footertop{
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
        border-top: 1px solid var(--accentorange);
        background-color: var(--primarygrey-color);
        padding: 10px;   
        color: black; 
    }
    .footercontact{
        flex-direction: column;
        justify-content: flex-start;
        font-size: .8em;
        padding-left: 10px;
    }
    .footeraboutus{
        height: 140.8px;
        display: flex;
        justify-content: flex-end;
        align-items: flex-end;
        width: 30%;
        font-size: .8em;
    }
    .gap{
        padding-right: var(--gap-right);
        margin-bottom: 0px;
    }
    .iconhover{
        margin-bottom: 5px;
    }

    .img-border{
        display: block;
    }
}
@media (min-width: 1000px){

    /*Adjust header height and text sizing*/
    .header-container{
        height: 330px;
    }
    .text-container{
        width: 70%;
    }
    .header-title{
        font-size: 2.5em;
    }
    .header-subtitle{
        font-size: 2em;
    }

    /*--- Setup main content area for desktop layout ---*/

    /*Create content container*/
    .workshop-content{
        
        /*Set-up Grid*/
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-auto-rows: min-content;
        column-gap: 20px;
        row-gap: 20px;
        padding: 0px 15px;
        

        /*Set-up Content Area*/
        background-color: white;
        border-style: solid;
        border-color: var(--tertiaryblue-color);
        border-width: 1px;
        border-radius: 20px 0px 0px 0px;
        width: 100%;
        min-height: 100vh;
    }
    /*Create content grid*/
    .content-1{
        display: grid;
        grid-area: 2/1/2/span 2;
        margin: 0px;
        padding: 0px;
    }
    .content-2{
        display: grid;
        grid-area: 3/1/3/span 2;
        padding: 0px;
        
    }
    .content-3{
        display: grid;
        grid-area: 4/1/4/span 2;
    }
    .content-4{
        display: grid;
        grid-area: 5/1/5/span 2;
        padding: 0px;
    }
    .content-5{
        display: grid;
        grid-area: 6/1/6/span 2;
        padding: 0px;
    }
    .content-6{
        display: grid;
        grid-area: 7/1/7/span 2;
        padding: 0px;
    }
    
    /*Display NPAFC logo over main nav menu*/
    .logo{
        display: block;
    }
    .tablecolumn{
        width: 45%;
        vertical-align: top;
    }
    .textbox{
        padding: 15px;
        margin: 0px;
    }

    /*Adjust form width for bigger screeens*/
    .reg-form{
        width: 80%;
    }

    /*adjust Timetable cell width*/
    .tdleft{
        width: 20%;
    }
}