/*
Theme Name: WP Bootstrap McGill Infosite
Theme URI:
Author: Afterimage Designs / Zaa.cc
Author URI: https://zaa.cc
Description:  McGill clonable Infosite Template adapated from WP Bootstrap Starter theme, based on the most powerful frameworks in the world: "_s" (by Automattic)
Version: 3.3.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: wp-bootstrap-starter
Requires at least: 4.7
Requires PHP: 5.2.4
Tested up to: 5.4
Tags:
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Normalize
# Typography
# Elements
# Forms
# Navigation
	## Links
	## Menus
# Accessibility
# Alignments
# Clearings
# Widgets
# Content
	## Posts and pages
	## Comments
# Infinite scroll
# Media
	## Captions
	## Galleries
# Footer
--------------------------------------------------------------*/



/*--------------------------------------------------------------
# McGill fonts
--------------------------------------------------------------*/

@font-face {
    font-family: 'McGill Serif Regular';
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    unicode-range: U+000-5FF;
    src: local('McGill Serif Regular'), url(fonts/McGillSerif-Regular.woff2) format('woff2'), url(fonts/McGillSerif-Regular.woff) format('woff')
}

@font-face {
    font-family: 'McGill Sans Regular';
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    unicode-range: U+000-5FF;
    src: local('McGill Sans Regular'), url(fonts/McGillSans-Regular.woff2) format('woff2'), url(fonts/McGillSans-Regular.woff) format('woff')
}

@font-face {
    font-family: 'McGill Serif Regular';
    font-weight: 600;
    font-style: normal;
    font-display: swap;
    unicode-range: U+000-5FF;
    src: local('McGill Serif Bold'), url(fonts/McGillSerif-Bold.woff2) format('woff2'), url(fonts/McGillSerif-Bold.woff) format('woff')
}

@font-face {
    font-family: 'McGill Sans Regular';
    font-weight: 600;
    font-style: normal;
    font-display: swap;
    unicode-range: U+000-5FF;
    src: local('McGill Sans Bold'), url(fonts/McGillSans-Bold.woff2) format('woff2'), url(fonts/McGillSans-Bold.woff) format('woff')
}

/* @font-face {
    font-family: 'McGill Sans Italic';
    font-weight: 400;
    font-style: normal;
    font-display: swap;
    unicode-range: U+000-5FF;
    src: local('McGill Sans Italic'), url(fonts/McGillSans-Italic.woff2) format('woff2'), url(fonts/McGillSans-Italic.woff) format('woff')
} */

@font-face {
    font-family: 'McGill Sans Medium';
    font-weight: 500;
    font-style: normal;
    font-display: swap;
    unicode-range: U+000-5FF;
    src: local('McGill Sans Medium'), url(fonts/McGillSans-Medium.woff2) format('woff2'), url(fonts/McGillSans-Medium.woff) format('woff')
}

@font-face {
    font-family: 'McGill Serif Medium';
    font-weight: 500;
    font-style: normal;
    font-display: swap;
    unicode-range: U+000-5FF;
    src: local('McGill serif Medium'), url(fonts/McGillSerif-Medium.woff2) format('woff2'), url(fonts/McGillSerif-Medium.woff) format('woff')
}

/* @font-face {
    font-family: 'McGill Serif Medium Italic';
    font-weight: 500;
    font-style: normal;
    font-display: swap;
    unicode-range: U+000-5FF;
    src: local('McGill Serif Medium Italic'), url(fonts/McGillSerif-MediumItalic.woff2) format('woff2'), url(fonts/McGillSerif-MediumItalic.woff) format('woff')
} */

/* @font-face {
    font-family: 'McGill Serif Italic';
    font-weight: 500;
    font-style: normal;
    font-display: swap;
    unicode-range: U+000-5FF;
    src: local('McGill Serif Italic'), url(fonts/McGillSerif-Italic.woff2) format('woff2'), url(fonts/McGillSerif-Italic.woff) format('woff')
} */

:root {
    --red: #ED1B2F;
    --darkred: #9E0918;
    --grey: #CFD6DE;
}


/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/

html {
  overflow-y:scroll !important;
  overflow-anchor: none;
}
body {
  margin: 0;
  -webkit-font-smoothing: auto;
  color:#242d39;
  font-family: "McGill Sans Regular", sans-serif;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
  display: block;
}

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}

audio:not([controls]) {
  display: none;
  height: 0;
}

[hidden],
template {
  display: none;
}

a {
  background-color: transparent;
}

a:active,
a:hover {
  outline: 0;
}

dfn {
  font-style: italic;
}

mark {
  background: #ff0;
  color: #000;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

img {
  border: 0;
}

svg:not(:root) {
  overflow: hidden;
}

figure {
  margin: 1em 2.5rem;
}

hr {
  box-sizing: content-box;
  height: 0;
}

button {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
}

button[disabled],
html input[disabled] {
  cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}

input {
  line-height: normal;
}

input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}

legend {
  border: 0;
  padding: 0;
}

textarea {
  overflow: auto;
}

optgroup {
  font-weight: bold;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

td,
th {
  padding: 0;
}

hr{
  border-top: 1px solid var(--grey);
}

blockquote{
  font-size:1.4em;
  line-height:1.4em;
  padding:10px 0;
  font-style:italic;
  text-align:center;
  margin-bottom:0;
}


/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
h1, h2, h3, h4, h5, h6 {
  clear: both;
  font-family: "McGill Serif Medium", serif;
  margin: 0;
}
h1 {
  font-size: 32px;
}
h2 {
  font-size: 24px;
  line-height: 1.25;
}
h3 {
  font-size: 18px;
  line-height: 25px;
}
h4 {
  font-size: 16px;
  line-height: 20px;
}
h5 {
  font-size: 14px;
  line-height: 17.5px;
}

p {
  margin-bottom: 1.5em;
}
h1.entry-title {
  font-size: 1.31rem;
  border-bottom: 1px solid #eaecef;
}
h2.entry-title {
  border-bottom: 1px solid #eaecef;
}
h3.widget-title {
  font-size: 1.2rem;
}

/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/
body {
  background: #fff;
}

img {
  height: auto;
  /* Make sure images are scaled correctly. */
  max-width: 100%;
  /* Adhere to container width. */
}

figure {
  margin: 1em 0;
  /* Extra wide images within figure tags don't overflow the content area. */
}

table {
  margin: 0 0 1.5em;
  width: 100%;
}

/*--------------------------------------------------------------
# Forms
--------------------------------------------------------------*/
.caldera-grid .btn-default,.caldera-grid h2{
    font-family: 'McGill Sans Medium', sans-serif;
}


/*--------------------------------------------------------------
# Navigation
--------------------------------------------------------------*/

header#masthead {
  margin-bottom: 0;
  position: relative;
  background-color:#fff;
  padding:0;

}
header a, header a:hover {
 text-decoration:none;
}

.entete{
   box-shadow: 0 1px 5px -2px var(--grey);
  border-bottom:1px solid var(--grey);
}

.navbar-brand{
  display:block;
  width:100%;
  padding:25px 0 18px 0;
  position:relative;
  margin-bottom:7px;
  height:103px;
  user-select: none;
  font-size:1em;
}

 .mcgill-logo{
  float:left;
}
.mcgill-logo a{
  padding-right:0.7rem;
  display:block;
}
.mcgill-logo img{
  width:140px;
  height:34px;
}

.site-logo {
  overflow:hidden;
}

.navbar-brand .site-logo{
  /* border-left:2px solid rgba(44,45,46,0.2); */
  border-left:2px solid var(--grey);
  max-width:45%;
}

.navbar-brand .site-logo > a,
.navbar-brand .site-tagline,
.navbar-brand .site-logo .logo {
  padding-left:0.85rem;
}

.navbar-brand a.site-title {
  font-family: 'McGill Sans Regular', sans-serif;
  color: #000000;
  font-size: 2rem;
  display:inline-block;
  text-decoration: none;
  font-weight: 700;
  line-height:1.2em;
  white-space: normal;
  position:relative;
  margin-left:-1px;
  margin-top: -0.08em;
  padding-right:2em;
}

a.site-title.small{
  font-size:0.8rem;margin-top:0;line-height:1.3em;
}
a.site-title.medium{
  font-size:1.25rem;line-height:1.3em;
}
a.site-title.large{
  font-size:2rem;margin-top:-0.12em;
}

a.site-title.narrow{
  max-width:12em;
}
a.site-title.normal{
  max-width:16em;
}
a.site-title.wide{
  max-width:20em;
}
a.site-title.wider{
  max-width:24em;
}


.navbar-brand .site-tagline {
  font-size: 1em;
  white-space: normal;
  margin-top:0.5rem;
}
.navbar-brand .site-tagline a{
  text-decoration:underline;
}
.navbar-brand .site-tagline a:hover{
  color: var(--darkred);
}
.navbar-brand .site-logo .logo {
  height:26px;
  margin-bottom:1.1rem;
  margin-top:-2px;
}
.navbar-brand .site-logo img {
  height: 100%;
  width: auto;

}

.navbar-brand > a:visited, .navbar-brand > a:hover {
  text-decoration: none;
}

.navbar-nav{
  padding:6px 0 12px;
  width:100%;
}

#masthead .site-nav{
  width:100%;
}
#masthead .site-nav .btn,
#masthead .navbar .lang-item{
  display:none;
}




#masthead .site-tools{
  position: absolute;
  right:0;
  top:1.28rem;
  line-height:1em;
  margin-top:0.5rem;
}

#masthead .site-tools .btn{
  display:inline-block;
  float:left;
}
#masthead .nav-search{
  min-width:2.7rem;
  font-size: 1.68rem;
  transition:150ms;
  color:#333;
  background:none;
  border:0;
  display:inline-block;
  float:left;
  margin:1px 1rem 0;
  padding:0.27rem 0.5rem 0.23rem;
  outline:0 !important;
}


#masthead .nav-search:focus,
#masthead .navbar-toggler:focus{
  color: black;
}
#masthead .nav-search:hover{
  color: var(--darkred);
}

#masthead .nav-search:active{
  color: var(--darkred);
}



#masthead ul.lang{
   list-style-type: none;
   display:inline-block;
   padding-left:0;
  text-align:center;
}

#masthead ul.lang a{
  display:inline-block;
  font-size:0.8rem;
  font-weight:600;
  padding:0.5rem 0.65rem 0.5rem;
  border:2px solid #000;
  min-width:3.4em;
  border-radius: 4px;
  text-transform: uppercase;
  color: #000;
  transition:150ms;
}
#masthead ul.lang a:hover,
#masthead ul.lang a:active
{
  background:black;
  color:white;
}
#masthead ul.lang a:hover{
  background:black;
  color:white;
}

/*--------------------------------------------------------------
## Links
--------------------------------------------------------------*/

a{
  color:#05152f;
  transition: 150ms;
  text-decoration:underline;
}

a:hover{
  color:inherit;
  text-decoration:underline;
}

button{
  /* outline: 0 !important; */
}



.btn,.ff-loadmore-wrapper .ff-btn{
  color:#fff;
  border:2px solid var(--red);
  font-size:0.96rem;
  padding:0.3rem 0.8rem;
  font-family: 'McGill Sans Medium', sans-serif;
  letter-spacing: 0.05rem;
  font-weight:1 !important;
   box-shadow: none !important;
}



.btn-primary,
.btn-primary:focus{
  background:var(--red);
  border-color: var(--red);
}
.btn-primary:hover{
  background:white;
  border-color: var(--red);
  color: var(--red);
}
.btn-primary:active{
  background:var(--darkred) !important;
  border-color: var(--darkred) !important;
  color: white !important;
}

.btn-secondary{
  background: black;
  border-color: black;
  color:white;
}

.btn-secondary:hover{
  background: white;
  color:black;
  border-color:black;
  background:white;
}
.btn-secondary:active,
.btn-secondary:focus{
  background: var(--darkred) !important;
  color:white;
  border-color:var(--darkred) !important;
}

.btn.loadmore{
  position:relative;
  padding-right:2.4rem;

}


.more {
    text-align: center;
    margin-top: 1rem;
}

.more .fa{
  position:absolute;
  right:12px;
  top:7px;
  font-size:1.1rem;
}

.more .fa:after{
  content: url('img/md-arrow-down.svg');
  display: inline-block;
  height:23px;
  width:23px;
  filter: invert(100%);
  position: absolute;
  right:-3px;
  top:-3px;
  transition:150ms;
}

.btn.loadmore:hover .fa:after{
  filter: invert(0%);
}
.btn.loadmore:active .fa:after{
  filter: invert(100%);
}

.more .fa-spinner:after{
  content:'';
}


/*--------------------------------------------------------------
## Menus
--------------------------------------------------------------*/
#masthead nav {
  padding-left: 0;
  padding-right: 0;
}

body #masthead .navbar-nav > li > a {
  color: #242D39;
  font-weight:500;
  font-size:1.125rem;
  transition:150ms;
  padding: 6px 0 8px;
  border-bottom:3px solid white;
  display:inline-block;
}

body #masthead .navbar-nav > li > a:hover,
body #masthead .navbar-nav > li > a:focus  {
  border-color: var(--red);
}


body #masthead .navbar-nav > li.active > a {

  border-color: black;
}


.navbar-brand {
  height: auto;
}


.navbar-toggler {
  display:none;
}

.dropdown.menu-item-has-children .dropdown.menu-item-has-children {
    position: relative;
}

.dropdown.menu-item-has-children .dropdown.menu-item-has-children>.dropdown-menu {
    top: 0;
    left: 100%;
    margin-top: -6px;
    margin-left: -1px;
    -webkit-border-radius: 0 6px 6px 6px;
    -moz-border-radius: 0 6px 6px;
    border-radius: 0 6px 6px 6px;
}
.dropdown.menu-item-has-children .dropdown.menu-item-has-children:hover>.dropdown-menu {
    display: block;
}

.dropdown.menu-item-has-children .dropdown.menu-item-has-children>a:after {
    display: block;
    content: " ";
    float: right;
    width: 0;
    height: 0;
    border-color: transparent;
    border-style: solid;
    border-width: 5px 0 5px 5px;
    border-left-color: #ccc;
    margin-top: 5px;
    margin-right: -10px;
}

.dropdown.menu-item-has-children .dropdown.menu-item-has-children:hover>a:after {
    border-left-color: #fff;
}

.dropdown.menu-item-has-children .dropdown.menu-item-has-children.pull-left {
    float: none;
}

.dropdown.menu-item-has-children .dropdown.menu-item-has-children.pull-left>.dropdown-menu {
    left: -100%;
    margin-left: 10px;
    -webkit-border-radius: 6px 0 6px 6px;
    -moz-border-radius: 6px 0 6px 6px;
    border-radius: 6px 0 6px 6px;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
  display: block;
}

.dropdown-item {
  line-height: 1.2;
  padding-bottom: 0.313rem;
  padding-top: 0.313rem;
}

.dropdown-menu {
  min-width: 12.500rem;
}

.dropdown .open .dropdown-menu {
  display: block;
  left: 12.250em;
  top: 0;
}

.dropdown-menu .dropdown-item {
  white-space: normal;
  background: transparent;
  line-height: 1.6;
}
.dropdown-menu .dropdown-item:hover {
  background: transparent;
}

@media screen and (min-width: 37.5em) {
  .menu-toggle {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  .dropdown-menu li > .dropdown-menu {
    right: -9.875rem;
    top: 1.375rem;
  }
}
@media screen and (max-width: 991px) {
  .navbar-nav .dropdown-menu {
    border: medium none;
    margin-left: 1.250rem;
    padding: 0;
  }

  .dropdown-menu li a {
    padding: 0;
  }

  #masthead .navbar-nav > li > a {
    padding-bottom: 0.625rem;
    padding-top: 0.313rem;
  }

  .navbar-light .navbar-toggler {
    border: medium none;
    outline: none;
  }
}



/*--------------------------------------------------------------
# masthead responsive
--------------------------------------------------------------*/

@media only screen and (max-width: 990px) {
  .navbar-brand{
    padding-top:1.1rem;
  }
  .navbar{
   position:absolute;
    top:0;
    left:0;
    width:100%;
  }

  .navbar-collapse{
    margin-top:-2.8em;

  }
  .navbar-collapse.show,
  .navbar-collapse.collapsing{
    background-color:#fff;
    z-index:100;
  }

  .navbar-collapse #menu-principal{


  }
  .navbar-collapse .site-nav{
    padding:3.9em 3em;
  }
  .navbar-collapse .navbar-nav{
    padding-top:2em;
  }

  #masthead .site-nav .btn,
  #masthead .site-nav .lang-item{
   display:inline-block;
  }

  body #masthead .navbar-nav > li > a{
    font-family: 'McGill Serif Regular', serif;
    font-size:29px;
    margin:0.3em 0;
  }
  body #masthead .navbar-nav > li.lang-item > a{
    font-family: 'McGill Sans Regular', serif;
    font-size:0.88rem;
    color: #fff;
    background-color: #000;
    padding: 0.4rem 0.65rem;
    border-radius:4px;
    margin:2rem 0 1rem;
    display:inline-block;
    border:2px solid black;
  }
  body #masthead .navbar-nav > li.lang-item > a:hover{
    background:white;
    color:black;
  }
  body #masthead .navbar-nav > li.lang-item > a:active{
    color:white;
    background:var(--darkred);
    border-color:var(--darkred);
  }

.navbar-brand .site-logo{
  max-width:100%;
}
.navbar-brand .site-title{
 margin-left:0;
 margin-bottom:0.25em;
}
  #masthead .site-tools{
      top:0.2rem;
      z-index:200;
  }

  .navbar-toggler{
    display:inline-block;
    font-size:3.65rem;
    padding:0;
    margin-top:-0.45rem;
    line-height: inherit;
    outline:none !important;
  }

  .navbar-toggler[aria-expanded="false"] .toggle-close {
    display:none;
  }
  .navbar-toggler[aria-expanded="true"] .toggle-open {
    display:none;
  }



  #masthead .nav-search{
    font-size: 2.15rem;
  }
  #masthead ul.lang,
  #masthead .site-tools .btn{
    display:none;
  }


  .navbar-brand .site-logo > a,
  .navbar-brand .site-tagline,
  .navbar-brand .site-logo .logo{
    padding:0;
  }
  #masthead .mcgill-logo{
    float:none;
    margin-bottom:1rem;
    display:inline-block;
  }
  #masthead .mcgill-logo img{
    max-width:130px;
    height:auto;
  }

  #masthead .site-logo{
    border-left:none;
  }
  #masthead a.site-title{
    padding:0;
  }
  #masthead .site-tagline{
    font-size:1.1rem;
    margin-top:0.2rem;
  }
}



/*--------------------------------------------------------------
# Modal
--------------------------------------------------------------*/



body.modal-open {
    overflow: hidden;
    position:fixed;
    width: 100%;
}
.modal-open[style] {
padding-right: 0px !important;
}


#modalsearch .modal-dialog{
  border:0;
  text-align:center;
}
#modalsearch .modal-content{
  border:0;
  padding:3em 1em;
}

.search-form{
  max-width:500px;
  margin:0 auto;
}

 .search-form .form-control{
  background-color:rgba(0,0,0,0) !important;
  border:0;
  border-bottom:1px solid var(--grey);
  border-radius:0;
  padding:3px 0;
  font-size:0.92em;

}
.search-form .form-control:focus{
  border-color:var(--red);
  box-shadow: none;
}
.search-form label{
  width:69%;
  margin-right:4%;
}

.search-submit{
font-size:1.8em;
 background:none;
 height:40px;
 width: 40px;
 line-height: 1rem;
 border:0;
 outline:0 !important;
}

 .search-submit:hover {
  color: var(--darkred);
}


.modal-backdrop{


}
.modal-backdrop.show{
  opacity:0.4;
}

#modalsearch .modal.show .modal-dialog {
  -webkit-transform: translate(0,0);
  transform: translate(0,0);
}


#modalsearch body.modal-open {
  height: 100vh;
  overflow-y: hidden;
}
body.viewport-lg {
     /* block scroll for desktop;
     will not jump to top;
     will not prevent scroll on mobile */
   position: absolute;
}


/*--------------------------------------------------------------
# Button Modal
--------------------------------------------------------------*/

#button-modal .modal-dialog{
  max-width:700px;
  font-size:0.92em;
}
#button-modal .modal-content{
  padding:1em;
}

#button-modal .close {
    position: absolute;
    top: -15px;
    left: -16px;
    opacity: 1;
    padding: 7px;
    display: block;
    border-radius: 50%;
    line-height: 0.9rem;
    border: 1px solid #444;
    z-index: 10;
    background: #fff;
    color: #444;
    outline:0;
}
#button-modal .close:hover {
    color: #000;
    text-decoration: none;
}


/*--------------------------------------------------------------
# Accessibility
--------------------------------------------------------------*/
/* Text meant only for screen readers. */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  word-wrap: normal !important;
  /* Many screen reader and browser combinations announce broken words as they would appear visually. */
}
.screen-reader-text:focus {
  background-color: #f1f1f1;
  border-radius: 3px;
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #21759b;
  display: block;
  font-size: 14px;
  font-size: 0.875rem;
  font-weight: bold;
  height: auto;
  left: 0.313rem;
  line-height: normal;
  padding: 0.938rem 1.438rem 0.875rem;
  text-decoration: none;
  top: 0.313rem;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar. */
}

/* Do not show the outline on the skip link target. */
#content[tabindex="-1"]:focus {
  outline: 0;
}

/*--------------------------------------------------------------
# Alignments
--------------------------------------------------------------*/
.alignleft {
  display: inline;
  float: left;
  margin-right: 1.5em;
  margin-bottom:0.5em;
}

.alignright {
  display: inline;
  float: right;
  margin-left: 1.5em;
}

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

a img.alignright {
  float: right;
  margin: 0.313rem 0 1.25rem 1.25rem;
}

a img.alignnone {
  margin: 0.313rem 1.25rem 1.25rem 0;
}

a img.alignleft {
  float: left;
  margin: 0.313rem 1.25rem 1.25rem 0;
}

a img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption.alignnone {
  margin: 0.313rem 1.25rem 1.25rem 0;
}

.wp-caption.alignleft {
  margin: 0.313rem 1.25rem 1.25rem 0;
}

.wp-caption.alignright {
  margin: 0.313rem 0 1.25rem 1.25rem;
}

/*--------------------------------------------------------------
# Clearings
--------------------------------------------------------------*/
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
  content: "";
  display: table;
  table-layout: fixed;
}

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
  clear: both;
}

/*--------------------------------------------------------------
# Widgets
--------------------------------------------------------------*/
.widget {
  margin: 0 0 1.5em;
  /* Make sure select elements fit in widgets. */
}
.widget select {
  max-width: 100%;
}

.widget_search .search-form input[type="submit"] {
  display: none;
}

.nav > li > a:focus,
.nav > li > a:hover {
  background-color: #eee;
  text-decoration: none;
}
.half-rule {
  width: 6rem;
  margin: 2.5rem 0;
}
.widget_categories .nav-link {
  display: inline-block;
}

/*--------------------------------------------------------------
# Content
--------------------------------------------------------------*/



/*--------------------------------------------------------------
## Posts and pages
--------------------------------------------------------------*/
#content.site-content {
  padding-top: 1rem;
  padding-bottom: 3.75rem;
}

.single .byline,
.group-blog .byline {
  display: inline;
}

.page-content,
.entry-content,
.entry-summary {
  margin:  0;
}

.page-links {
  clear: both;
  margin: 0 0 1.5em;
}

.page-template-blank-page .entry-content,
.blank-page-with-container .entry-content {
  margin-top: 0;
}

.post.hentry {
  margin-bottom: 4rem;
}

.posted-on, .byline, .comments-link {
  color: #9a9a9a;
}

.entry-title > a {
  color: inherit;
}

.page-header,.single .entry-header{
  text-align:center;
  overflow:hidden;
}

h1.title {
  font-size:2.24em;
  letter-spacing: -0.02em;
  padding:0 8px;
  margin-bottom:0;
  padding-bottom:1rem;
  background:#fff;
  margin:0 auto;
  display:inline-block;
  max-width:65%;
}
h1.title:before {
    border-top: 1px solid #000;
    content: "";
    display: table-cell;
    position: absolute;
    z-index: -1;
    top: 0.64em;
    left: 1.45%;
    width: 97.2%;
    padding: 0 80px;
    right: 1%;
}

.entry-content .featured-image{
  float:left;
  margin-top:0.3em;
  padding-right:1.4em;
  padding-bottom:1em;
}


.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5{
  margin-bottom:0.75em;
}
.entry-content ul {
  margin-bottom:2em;
}
.entry-content ul li{
  line-height: 1.3em;
  margin:0.4em 0;
}

.entry-excerpt {
    max-width: 730px;
}

.entry-excerpt {
    font-size: 1.3em;
    display: block;
    font-style: italic;
    font-family: 'McGill Serif Regular', serif;
    line-height: 1.35em;
    padding-bottom: 20px;
    margin: 0 auto;
}

.entry-meta {
    font-family: 'McGill Sans Regular', sans-serif;
    font-weight: 500;
    font-size: 0.96em;
    letter-spacing: -0.018em;
    line-height: 1.4em;
}
.entry-meta .author-name {
    font-weight:600;
}

.entry-meta .share {
    font-size: 1.34em;
    margin-top: 15px;
}
.entry-meta .share a {
    margin: 0 3px;
    padding: 5px;
}

.container .entry {
    max-width: 760px;
    font-size: 0.92em;
    font-family: "McGill Serif Regular", serif;

}

.fullauthors{
  font-family: "McGill Serif Regular", serif;
  line-height: 1.3em;
  max-width:1040px;
}

.fullauthors .author-photo{
  min-height:10.4em;
}
.fullauthors .author-photo ion-icon{
 position:absolute;
 top:0;
 left:50%;
 transform: translate(-50%, -3%);
 height:170px;
 width:170px;
 color: #eee; z-index: -1;
}
.fullauthors img{
  border-radius:50%;
  margin-bottom:1rem;
}


.fullauthors .author-description{
  font-family: 'McGill Sans Regular', sans-serif;
  font-size: 0.78rem;
  line-height:1.12rem;
  text-align:justify;
  margin:0.5rem 0;hyphens: auto;
}

.wp-pagenavi {
	clear: both;
  padding:3em 0;
  margin:15px 0;
  display:inline-block;
}

.wp-pagenavi a, .wp-pagenavi span {
	text-decoration: none;
	border: 1px solid var(--grey);
	padding: 9px 16px;
	margin: 2px 4px;
  min-width:45px;
  color:#333;
  display:block;
  float:left;
  background:#fff;
}

.wp-pagenavi a:hover, .wp-pagenavi span.current {
	border-color: var(--red);
}

.wp-pagenavi span.current {
	font-weight: bold;
}

.wp-pagenavi .pages {
/* display:none; */
}

@media screen and (max-width: 768px) {
  .wp-pagenavi span.pages, a.first, span.extend,
    a.page.smaller, a.page.larger, a.larger.page,
    a.last { display: none; }
}




/*--------------------------------------------------------------
## Home page
--------------------------------------------------------------*/

#topstory .card .card-header a{
  padding-top:62%;
}

#topstory h3{
  font-size: 2.22em;
  margin-bottom:15px !important;
  font-weight:400;
  line-height:1.1em;
  letter-spacing:-0.07rem;
}
#topstory .card-text {
  font-family: "McGill Sans Regular", sans-serif;
  font-size:0.8425rem;
  line-height:1.55em;
  margin:0;
}

#topstory .card,
#topstories .card{
  border-bottom:1px solid var(--grey);
  padding-bottom:1rem;
}


@media only screen and (min-width: 576px) {
  #topstories .row .col:first-child{
    border-right:1px solid var(--grey);
  }
  #topstories .card{
    border-bottom:none;
    padding-bottom:0;
  }
}


@media only screen and (min-width: 992px) {
  #topstory {
    border-right:1px solid var(--grey);
  }
  #topstories .row .col:first-child > .card{
    border-bottom:1px solid var(--grey);

    padding-bottom:0.6rem;
  }
  #topstories .row .col:first-child{
    padding-bottom:1rem;
    margin-bottom:0;
    border-right:none;
  }
  #topstory .card{
    border-bottom:none;
    padding-bottom:0;
  }
}


#topstory .topimage{
  margin-bottom:10px;
}




#feature{
  text-align:center;
  padding-bottom:0.5em;
  padding-top:24px;
}
#feature  .card-header a{
  margin:0 auto;
  width: 84%;
  padding-top: 84%;
  border-radius:50%;
  background-size:190%;
}

#feature .section a{
  float:none;
}

.feature-header{
  font-style:italic;
  font-family: "McGill Serif Regular", serif;
}

.feature-header a{
  margin-right:3px;
  margin-left: 3px;
}



.feature-header h2 {
  font-size:1.26rem;
  font-style:italic;
  padding:0 8px;
  margin-bottom:0;
  padding-bottom:1rem;
  background:#fff;
  margin:0 auto;
  display:inline-block;
  max-width:65%;
}
.feature-header h2:before {
    border-top: 1px solid #000;
    content: "";
    display: table-cell;
    position: absolute;
    z-index: -1;
    top: 0.8rem;
    left: 1.45%;
    width: 97.2%;
    padding: 0 10%;
    right: 1%;
}




#newsmaincontainer{
  position:relative;
  overflow-y:hidden;
}
#newsmain{
  position: relative;
  top:-16px;
}

#newsmain .article{
  padding-bottom:10px;
}
  #newstop .article:first-child .card{
    border-bottom:1px solid var(--grey);
    padding-bottom:1rem;
  }

@media only screen and (min-width: 537px) {
  #newsmain .article:nth-child(odd) {
      border-right: 1px solid var(--grey);
  }
  .single-post #newsmain .article:nth-child(odd) {
      border-right: 1px solid var(--grey);
  }
  #newstop .article:first-child {
      border-right: 1px solid var(--grey);
  }
  #newstop .article:first-child .card {
      border-bottom: none;
      padding-bottom:0;
  }
}

@media only screen and (min-width: 768px) {
  #newsmain .article{
    border-right: 1px solid var(--grey);
  }
  #newsmain .article:nth-child(3n+3){
    border-right: none;
  }

}

@media only screen and (min-width: 992px) {

  .single-post #newsmain .article {
      border-right: 1px solid var(--grey);
  }
  .single-post #newsmain .article:nth-child(4n+4){
    border-right: none;
  }


}



#newsmain .card{
    border-top: 1px solid  var(--grey) !important;
    padding-top:1rem;
}


#newsmore{
  margin-top:1rem;
}

#newsmore .sep{
  position:relative;
  margin:1rem 0;
  z-index:200;
}

#more_articles .card{
  opacity:0;
}

.hdescr{
  line-height: 1.33em;
  margin-top:0.3em;
  }
/*--------------------------------------------------------------
## FLOW FLOW
--------------------------------------------------------------*/

.ff-stream-wrapper {
  margin: 0 !important
}
.ff-stream h6{
  font-family: "McGill Sans Regular", sans-serif;
}
.ff-stream {
  font-family: "McGill Sans Regular", sans-serif;
  padding:0 !important;
}


.ff-content a {
  text-decoration: underline !important;

}
.ff-item {
  border-bottom: 5px solid var(--red);
}

.ff-icon {
  display: none !important
}
.ff-label-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  margin: 7% 0 0 7%;
  z-index: 2;
  line-height: 1.2em;
}
.ff-label-wrapper:after {
  content: '';
  color: #fff;
  background: #000;
  padding: 3px 4px;
  border-radius: 3px;
  font-family: "Font Awesome 5 Brands";
  font-size: 1rem;
  line-height:1.2rem;
  position: relative;
  left: 1rem;
  top:0.8rem;
  height: 24px;
  width: 24px;
  display: inline-block;
  text-align: center;
}
.ff-twitter .ff-label-wrapper:after {
  content: '\f099'
}
.ff-instagram .ff-label-wrapper:after {
  content: '\f16d'
}
.ff-linkedin .ff-label-wrapper:after {
  content: '\f0e1'
}
.ff-facebook .ff-label-wrapper:after {
  content: '\f39e'
}
.ff-youtube .ff-label-wrapper:after {
  content: '\f167'
}

.ff-nickname,
.ff-userpic {
  display: none !important
}
.ff-loadmore-wrapper {
  margin-top: 1.5em
}
.ff-loadmore-wrapper .ff-btn {
  text-transform: none !important;
  color: black !important;
  background: black !important;
  padding: 0.3rem 2.5rem 0.4rem 0.6rem !important;
  border-color: black;
  user-select: none;
  border-radius:0.25rem !important;
  transition:150ms;
}

.ff-loadmore-wrapper .ff-btn:hover{
  background-color: white !important;
  color:white !important;
  border-color:black !important;
}
.ff-loadmore-wrapper .ff-btn:active{
  background-color: var(--darkred) !important;
  color: var(--darkred) !important;
  border-color:var(--darkred) !important;
}

.ff-loadmore-wrapper .ff-btn:after {
  content: 'Load more';
  color: #fff;
  position: absolute;
  top: 48%;
  left: 40%;
  padding: 0 2rem !important;
  transform: translate(-50%, -50%);
  white-space: nowrap;
  transition:150ms;
}


.ff-loadmore-wrapper .ff-btn:before{
  content: url('img/md-arrow-down.svg');
  display: inline-block;
  height:23px;
  width:23px;
  filter: invert(100%);
  position: absolute;
  right:11px;
  transition:150ms;
}

.ff-loadmore-wrapper .ff-btn:hover:before{
  filter: invert(0%);
}
.ff-loadmore-wrapper .ff-btn:active:before{
  filter: invert(100%);
}



.ff-loadmore-wrapper .ff-btn:hover:after,
.ff-loadmore-wrapper .ff-btn:hover:before{
  color: black !important;
}
.ff-loadmore-wrapper .ff-btn:active:before,
.ff-loadmore-wrapper .ff-btn:active:after
{
  color: white !important;
}





html:lang(fr) .ff-btn:after {
  content: 'Charger la suite'
}
html:lang(fr) .ff-btn {
  min-width:12em;
}

#flowflow .ff-location {
  display: block;
  font-size: .825em;
  margin-top: .265em
}
.ff-upic-timestamp .ff-name {
  padding: 0 !important;
}
.ff-item .ff-item-bar {
    border-top: 1px solid rgba(200,200,200,0.6) !important;
  }



/*--------------------------------------------------------------
## Card
--------------------------------------------------------------*/


.card{
  overflow:hidden;
  border:0;
  border-radius:0;
}

.card .card-header{
 background-color:inherit;
  border-bottom:0;
  padding:0;
}
.card .card-header a{
  background-color:inherit;
  background-size:cover;
  background-repeat:no-repeat;
  background-position: center;
  padding:0;
  padding-top:52%;
  display:block;
}

.card .card-header:first-child{
  border-radius:0;
}
.card .card-header.no-reframe a{
  background:none;
  background-repeat:no-repeat;
  background-size:contain;
  background-position: center;
}

.card h3{
  line-height:1.26em;
  margin:0;
}
.card h3 a{
  display:block;
  text-decoration: none;
}
.card h3 a:hover{
  text-decoration: underline;
}
.card .card-body{
  padding:0.6rem 0 0;
}
.card .card-body p{
  margin-bottom:0.4em;
}
.card .card-title{
  padding:0;
}


.card .card-text{
  font-size:0.85rem;
  line-height: 1.25rem;
  font-family: 'McGill Serif Regular', serif;
  margin-top:0.4rem;
}
.card .card-footer{
  background:none;
  border:none;
  padding:0.5em 1em 1.5em;
}

.section a{
  display:inline-block;
  margin:0 7px 10px 0;
  padding:3px 0 2px 0;
  line-height:1.3em;
  font-size:0.8125rem;
  font-weight:300;
  color: #999;
  text-decoration:none;
  text-transform:uppercase;
  border-top: 1px solid #999;
  border-bottom: 1px solid #999;
}
.section > a:hover{
  filter:contrast(80%) brightness(120%);
}


.entry .section{
  display:inline;
}

.date {
    font-size: 0.86rem;
    text-transform: uppercase;
    font-weight: 300;
    margin-top: 0.4rem;
    margin-bottom: 0;
    color: #4c556b;
}

/*--------------------------------------------------------------
## bootstrap
--------------------------------------------------------------*/

.border-right,
.border-left,
.border-top,
.border-bottom{
  border-color:var(--grey);
}


/*--------------------------------------------------------------
## Comments
--------------------------------------------------------------*/
.comment-content a {
  word-wrap: break-word;
}

.bypostauthor {
  display: block;
}

.comment-body .pull-left {
  padding-right: 0.625rem;
}

.comment-list .comment {
  display: block;
}

.comment-list {
  padding-left: 0;
}

.comments-title {
  font-size: 1.125rem;
}

.comment-list .pingback {
  border-top: 1px solid rgba(0, 0, 0, 0.125);
  padding: 0.563rem 0;
}

.comment-list .pingback:first-child {
  border: medium none;
}


/*--------------------------------------------------------------
# Media
--------------------------------------------------------------*/
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
  border: none;
  margin-bottom: 0;
  margin-top: 0;
  padding: 0;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
  max-width: 100%;
}

/*--------------------------------------------------------------
## Captions
--------------------------------------------------------------*/

.wp-caption {
  max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
  border: 0 none;
  height: auto;
  margin: 0;
  max-width: 100%;
  padding: 0;
  width: auto;
}

.wp-caption .wp-caption-text {
  text-align: left;
  font-family: 'McGill Sans Regular', sans-serif;
  font-size: 0.82rem;
  font-weight: 500;
  padding: 0.5em 0;
  line-height: 1.063rem;
}


/*--------------------------------------------------------------
## Galleries
--------------------------------------------------------------*/
.gallery {
  margin-bottom: 1.5em;
}

.gallery-item {
  display: inline-block;
  text-align: center;
  vertical-align: top;
  width: 100%;
}
.gallery-item .gallery-columns-2 {
  max-width: 50%;
}
.gallery-item .gallery-columns-3 {
  max-width: 33.33333%;
}
.gallery-item .gallery-columns-4 {
  max-width: 25%;
}
.gallery-item .gallery-columns-5 {
  max-width: 20%;
}
.gallery-item .gallery-columns-6 {
  max-width: 16.66667%;
}
.gallery-item .gallery-columns-7 {
  max-width: 14.28571%;
}
.gallery-item .gallery-columns-8 {
  max-width: 12.5%;
}
.gallery-item .gallery-columns-9 {
  max-width: 11.11111%;
}

.gallery-caption {
  display: block;
}

/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
#footer-widget{
  font-size:0.85em;
  background: #1E1E1E;
  color: #888;
  padding-top:2.75rem;
  padding-bottom:2rem;

}
#footer-widget h3{
  color:inherit;
  font-size:1.1rem;
  font-weight:200 !important;
  margin-bottom:1.2rem;

  font-family: "McGill Sans Regular", sans-serif;
}
#footer-widget p{
  margin-bottom:1em;
}

#footer-widget a{
  transition:color 150ms;
  color:inherit;
  text-decoration: none;
}

#brand-footer{
margin-top:-1rem;
}
#brand-footer a.site-title{
  color: #fff;
}


#brand-footer .site-tagline{
  font-size:1rem;
  margin-top:0.8rem;
}
#brand-footer .site-tagline a{
  text-decoration: underline;
}
#brand-footer a.site-title:hover{
  text-decoration: none;
}

#footer-widget li a{
  padding:0;  margin-bottom:1em;
}
#footer-widget li a:hover,
#footer-widget a:hover
{
  background:none;
  text-decoration:underline;
  filter:brightness(150%);
}

#footer-widget .footer-social a{
  margin: 0 0.7em;
  font-size:20px;
}


#footer-widget .footer-social a {
  color:#fff;
  font-family: "Font Awesome 5 Brands";
  font-style: normal;
  font-weight: normal;
}
#footer-widget  .footer-social a[href*="twitter"]:before {
  content:"\f099";
}
#footer-widget .footer-social a[href*="facebook"]:before {
  content:"\f082";
}
#footer-widget .footer-social a[href*="linkedin"]:before {
  content:"\f0e1";
}
#footer-widget .footer-social a[href*="youtube"]:before {
  content:"\f167";
}
#footer-widget .footer-social a[href*="instagram"]:before {
  content:"\f16d";
}
#footer-widget .footer-social a[href*="linkedin"]:before {
  content:"\f08c";
}

#footer-widget .footer-social a:hover{
  color: var(--red);
  text-decoration: none;
}
#footer-widget .homeicon{
  display:none;
}


@media only screen and (max-width: 990px) {
  #footer-widget .footer-social a{
    margin: 1em 6%;
    font-size:24px;
  }
  footer#colophon .container{
    max-width:400px;
  }
}


footer#colophon {
  font-size: 85%;
}
body footer#colophon {
  color: #777;
  background-color: #000;
}
.navbar-dark .site-info {
  color: #fff;
}
.copyright {
  font-size: 0.875rem;
  margin-bottom: 0;
  text-align: center;
}

footer#colophon a {
  color: #bbb;
  transition: color 150ms;
  text-decoration: none;
}
footer#colophon a:hover {
  text-decoration: underline;
}

footer#colophon a.login {
  border:2px solid #fff;
  border-radius:4px;
  padding:0.8em;
  position:relative;
  top:-0.22em;white-space: nowrap;
}
footer#colophon a.login:hover {
  color: black;
  text-decoration: none;
  background:white;
}
footer#colophon .login ion-icon{
  font-size:1.55em;
  position:relative;
  top:0.2em;
  margin-left:0.5em;
}





@media screen and (max-width: 767px) {
  #masthead .navbar-nav > li > a {
    padding-bottom: 0.938rem;
    padding-top: 0.938rem;
  }
}



/*--------------------------------------------------------------
## Notebook
--------------------------------------------------------------*/
@media only screen and (max-width: 1280px) {
  html {
    font-size: 100%;
  }
}

@media screen and (max-width: 1199px) {
  .navbar-dark .dropdown-item {
    color: #fff;
  }
  .navbar-nav .dropdown-menu {
    background: transparent;
    box-shadow: none;
    border: none;
  }
}
/*--------------------------------------------------------------
## Netbook
--------------------------------------------------------------*/
@media only screen and (max-width: 1024px) {
  html {
    font-size: 96%;
  }
}
/*--------------------------------------------------------------
## iPad
--------------------------------------------------------------*/
@media only screen and (max-width: 990px) {
  html {
    font-size: 92%;
  }
}
/*--------------------------------------------------------------
## iPad
--------------------------------------------------------------*/
@media only screen and (max-width: 768px) {
  html {
    font-size: 90%;
  }
}
/*--------------------------------------------------------------
## iPad
--------------------------------------------------------------*/
@media only screen and (max-width: 480px) {
  html {
    font-size: 85%;
  }
}
