/***************************************************************************************************
****************************************************************************************************

Project..... Vaughan Memorial Library website
Date........ Q2-2023
Developer... vincent.grovestine@acadiau.ca

****************************************************************************************************
***************************************************************************************************/



/*******************************************************************************
********************************************************************************
** BODY (including global font size and accessibility focus)
********************************************************************************
*******************************************************************************/

body {
  font-family: Lato, Helvetica, Arial, sans-serif;
  font-size: 18px;
  line-height: 1.5em;
  color: var(--vml-color-page-text);
  margin: 0;
  padding: 0;
}

body * {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/*
body *:focus {
  outline: 0.125em solid var(--vml-color-focus-outline);
  border-radius: 0.125em !important;
}
*/

/*
@media all and (min-width: 2400px) {
  body {
    font-size: 20px;
  }
}
*/

@media all and (max-width: 1920px) {
  body {
    font-size: 18px;
  }
}

@media all and (max-width: 1440px) {
  body {
    font-size: 17px;
  }
}

@media all and (max-width: 960px) {
  body {
    font-size: 16px;
  }
}

@media all and (max-width: 800px) {
  body {
    font-size: 15px;
  }
}

/*
@media all and (max-width: 720px) {
  body {
    font-size: 14px;
  }
}
*/


/*******************************************************************************
********************************************************************************
** CONTAINERS (except header, footer, top navigation, and bento search)
********************************************************************************
*******************************************************************************/

.inside {
  max-width: 110rem;
  box-sizing: border-box;
  padding: 0 3vw;
  margin: 0 auto;
  overflow: hidden;
}

#wrapper {
  width: 100%;
}

/*
#top_nav {}
#bento_search {}
*/

#container {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
  align-content: flex-start;
  justify-content: flex-start;
  max-width: 110rem;
  margin: 0 auto;
  overflow: hidden;
  clear: both;
}

#left {
  order: 10;
  margin: 0 0 2em 0;
}

#main {
  order: 20;
  margin: 0 0 2rem 0;
  padding: 1rem 0;
}

#right {
  order: 30;
  margin: 0 0 2rem 0;
}

#left .inside,
#right .inside {
  background-color: var(--vml-color-sidebar-background);
  box-sizing: border-box;
  padding: 1.5rem;
  margin: 0 3vw 0 0;
  border-radius: 0 0 0.125em 0.125em;
}



/*******************************************************************************
********************************************************************************
** HEADER
********************************************************************************
*******************************************************************************/

#header {
  clear: both;
  width: 100%;
  background-color: var(--vml-color-header-background);
  color: var(--vml-color-header-text);
  border-bottom: 0.1875rem solid var(--vml-color-header-border);
  /*padding-top: 1rem;*/
}

#header a {
  color: inherit;
  text-decoration: none;
  margin: 0;
  padding: 0;
  border: none;
}

#header .flex {
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 0.375em 2.125em;
  padding: 0 0 1em 0;
}

#header .acadia_logo {
  border-right: 1px solid #fff;
  padding-right: 2.125em;
}

#header .acadia_logo img {
  display: block;
  width: 18rem;
  height: auto;
  border: none;
}

#header .acadia_logo img:hover {
  cursor: pointer;
}

#header .site_title {
  color: inherit;
  letter-spacing: 0.0625em;
  white-space: nowrap;
  padding: 0;
  margin: 0;
}

#header .site_title span.line0,
#header .site_title span.line1 {
  display: block;
  line-height: 1em;
}

#header .site_title span.line0 {
  font-weight: normal;
  font-size: 1.125em;
}

#header .site_title span.line1 {
  text-transform: uppercase;
  font-weight: bold;
  font-size: 2.125em;
}

/*
#header .acadia_logo {
  display: inline-block;
}

#header .acadia_logo img {
  width: 30rem;
  height: auto;
  border: none;
}

#header .acadia_logo img:hover {
  cursor: pointer;
}

#header .site_title {
  display: inline-block;
  color: inherit;
  font-size: 2.5em;
  letter-spacing: 0.05em;
  font-weight: bold;
  white-space: nowrap;
  padding: 0.625em 0 0.1875rem 0;
  margin: 0 0 0.5rem -26rem;
}

#header .site_title span.line0 {
  display: none;
}
*/

@media all and (max-width: 720px) {
  #header .flex {
    display: block;
    text-align: center;
    padding-top: 1.75em;
  }

  #header .acadia_logo {
    border: none;
    padding: 0;
  }

  #header .acadia_logo img {
    border-bottom: 1px solid var(--vml-color-header-logo-border);
    padding-bottom: 1em;
    margin: 0 auto 1em auto;
  }

  #header .site_title {
    text-align: center;
  }

  #header .site_title span.line0,
  #header .site_title span.line1 {
    display: inline;
    font-size: 1.75em;
    font-weight: bold;
    text-transform: none;
  }
}



/*******************************************************************************
********************************************************************************
** ACADIA AUX NAVIGATION: Inside #header, at the very top
********************************************************************************
*******************************************************************************/

#acadia_aux_nav {
  background-color: var(--au-color-blue);
}

#acadia_aux_nav ul {
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-end;
  align-items: stretch;
  align-content: stretch;
  gap: 0;
}

@media all and (max-width: 720px) {
  #acadia_aux_nav ul {
    justify-content: center;
  }
}

#acadia_aux_nav ul li {
  flex-basis: auto;
  flex-grow: 0;
  flex-shrink: 0;
  font-size: 0.75rem;
  font-weight: bold;
  text-transform: uppercase;
  line-height: 1.5rem;
  white-space: nowrap;
  margin: 0;
  padding: 0;
}

#acadia_aux_nav a {
  color: var(--au-color-white);
  text-decoration: none;
  display: block;
  padding: 0.25rem 0.75rem;
}

#acadia_aux_nav a:active,
#acadia_aux_nav a:hover {
  background-color: var(--au-color-red);
}

#acadia_aux_nav li.highlight a {
  background-color: var(--au-color-red);
  color: var(--au-color-white);
}

#acadia_aux_nav li.highlight a:active,
#acadia_aux_nav li.highlight a:hover {
  background-color: var(--au-color-white);
  color: var(--au-color-red);
}



/*******************************************************************************
********************************************************************************
** TOP NAVIGATION: Immediately follows #header, precedes #bento_search
********************************************************************************
*******************************************************************************/

#top_nav {
  background-color: var(--vml-color-topnav-background);
  border-bottom: 0.1875rem solid var(--vml-color-topnav-border);
  font-size: 0.875em;
  line-height: 1.25em;
  padding: 0.1875rem 0;
  text-align: left;
}



/*******************************************************************************
********************************************************************************
** BENTO SEARCH FORM: Immediately follows #top_nav, precedes #container
********************************************************************************
*******************************************************************************/

/* See "bento.css" for CSS ID #bento_search */



/*******************************************************************************
********************************************************************************
** LEFT/RIGHT COLUMN: Aside tag, adjacent to #main and inside #container
********************************************************************************
*******************************************************************************/

/*
aside#left {}
aside#right {}
*/



/*******************************************************************************
********************************************************************************
** FOOTER
********************************************************************************
*******************************************************************************/

#footer {
  color: var(--vml-color-footer-text);
  background-color: var(--vml-color-footer-background);
  border-top: 1px solid var(--vml-color-footer-border);
  clear: both;
  width: 100%;
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

#footer .inside {
  background-image: var(--vml-image-footer-background);
  background-repeat: no-repeat;
  background-position: top 0 right 3vw;
  background-size: 16rem auto;
  min-height: 6.25rem;
}

#footer .flex {
  display: flex !important;
  flex-wrap: wrap;
  align-content: flex-end;
  justify-content: center;
  gap: 0.25em 1.5em;
}

#footer p {
  font-size: 0.875em;
  padding-right: 18rem;
  margin: 0.375em;
}

#footer a {
  color: var(--vml-color-footer-a-text);
  text-decoration-style: dotted;
}

#footer a:active,
#footer a:hover {
  color: var(--vml-color-footer-a-active-text);
}

#footer #contact {
  margin-top: 0;
}

#footer #contact span {
  display: block;
  white-space: nowrap;
}

#footer #contact .fas,
#footer #contact .fab {
  color: var(--vml-color-footer-icons);
  margin-right: 0.25em;
  height: 1em;
}

#footer #decolonization {
  line-height: 1em !important;
  text-align: center;
  font-style: italic;
  color: var(--vml-color-footer-decolonization-text);
}

#footer #decolonization img {
  width: 2.625em;
  height: auto;
  vertical-align: middle;
}

#footer #copyright {
  text-align: center;
  font-size: 0.625em;
  color: var(--vml-color-footer-copyright-text);
}

#footer #copyright a {
  color: var(--vml-color-footer-copyright-text);
}

@media all and (max-width: 720px) {
  #footer .inside {
    background-image: none;
  }

  #footer .flex {
    gap: 0 1.5em;
  }

  #footer p {
    padding-right: 0;
  }

}



/*******************************************************************************
********************************************************************************
** 1-COLUMN PAGE LAYOUT: Container block adjustments
********************************************************************************
*******************************************************************************/

body.home-1col #left,
body.reg-1col #left,
body.search-1col #left,
body.home-1col #right,
body.reg-1col #right,
body.search-1col #right {
  display: none !important;
}

body.home-1col #main,
body.reg-1col #main,
body.search-1col #main {
  display: block;
  width: 100%;
}

body.reg-1col.reduced_width #main {
  max-width: 50rem;
}



/*******************************************************************************
********************************************************************************
** 2-COLUMN PAGE LAYOUT: Container block adjustments
********************************************************************************
*******************************************************************************/

body.home-2col #left,
body.reg-2col #left,
body.home-2col #right,
body.reg-2col #right {
  flex-basis: 20rem;
  flex-grow: 0;
  flex-shrink: 0;
}

@media all and (max-width: 960px) {
  body.home-2col #left,
  body.reg-2col #left,
  body.home-2col #right,
  body.reg-2col #right {
    flex-basis: 18rem;
  }
}

body.home-2col #main,
body.reg-2col #main {
  flex-basis: 20rem;
  flex-grow: 1;
  flex-shrink: 0;
}



/***************************************************************************************************
***************************************************************************************************/
