/* cameron-morin.com */

/* Fonts: Lato and Lora, served from this site. */
@font-face {
  font-family: Lato;
  font-style: normal;
  font-weight: 400;
  src: url("fonts/lato-400-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: Lato;
  font-style: normal;
  font-weight: 400;
  src: url("fonts/lato-400-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: Lato;
  font-style: normal;
  font-weight: 700;
  src: url("fonts/lato-700-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: Lato;
  font-style: normal;
  font-weight: 700;
  src: url("fonts/lato-700-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: Lora;
  font-style: italic;
  font-weight: 400;
  src: url("fonts/lora-italic-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: Lora;
  font-style: italic;
  font-weight: 400;
  src: url("fonts/lora-italic-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 400;
  src: url("fonts/lora-variable-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 400;
  src: url("fonts/lora-variable-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 700;
  src: url("fonts/lora-variable-latin-ext.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: Lora;
  font-style: normal;
  font-weight: 700;
  src: url("fonts/lora-variable-latin.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* The menu button's three bars. */
@font-face {
  font-family: "Site Icons";
  src: url("fonts/icons.woff2") format("woff2");
}

:root {
  --paper: #f5f3e4;
  --ink: #404040;
  --ink-strong: #161616;
  --accent: #417e8f;
  --rule: #efecd6;
  --rule-menu: #ebebeb;
  --button: #448394;
  --button-ink: #0f0f0f;
}

/* Base */
*, ::before, ::after { box-sizing: border-box; }
html { font-family: sans-serif; font-size: 15px; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: Lato, sans-serif;
  line-height: 1.625;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-wrap: break-word;
}
article, details, figcaption, figure, footer, header, main, nav, summary { display: block; }
h1 { font-family: Lora, serif; font-weight: normal; font-size: 1.733rem; clear: both; margin: 0 0 15px; }
p { margin: 0 0 22px; }
strong, b { font-weight: bold; }
em, i, cite { font-style: italic; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sup { top: -.5em; }
sub { bottom: -.25em; }
ul { list-style: disc; margin: 0 0 1em 1em; padding: 0 0 0 .2em; }
li > ul { margin-bottom: 0; margin-left: 1em; }
img { border: 0; height: auto; max-width: 100%; }
figure { margin: 1em 0; }
iframe { max-width: 100%; }
svg:not(:root) { overflow: hidden; }

a { color: var(--ink-strong); text-decoration: none; background-color: transparent; transition: color .18s ease, background-color .18s ease, border-color .18s ease; }
a:hover, a:focus, a:active { color: var(--accent); outline: 0; }

button {
  font: inherit;
  margin: 0;
  overflow: visible;
  text-transform: none;
  -webkit-appearance: button;
  appearance: button;
  cursor: pointer;
  border: 0;
  background: var(--button);
  color: var(--button-ink);
  font-size: .8667rem;
  line-height: 1;
  height: 36px;
  padding: 8px 15px 6px;
}
button:hover { background-color: var(--ink-strong); }
button:focus, button:active { color: #fff; }

/* Page frame */
.container { margin: 0 auto; padding: 0 15px; }
.row { margin: 0 -15px; }
.container::before, .container::after, .row::before, .row::after { content: " "; display: table; }
.container::after, .row::after { clear: both; }
.col { position: relative; min-height: 1px; padding: 0 15px; }
.site-header::before, .site-header::after,
.site-content::before, .site-content::after,
.site-footer::before, .site-footer::after,
.entry-content::before, .entry-content::after { content: ""; display: table; table-layout: fixed; }
.site-header::after, .site-content::after, .site-footer::after, .entry-content::after { clear: both; }

/* Masthead */
.site-branding { padding: 50px 0; text-align: center; }
.site-logo img { max-width: 75%; }
.site-title { font-size: 2.4rem; font-family: Lato, sans-serif; line-height: 1; margin: 30px 0 10px; text-transform: uppercase; }
.site-description { font-size: 1em; letter-spacing: .2em; margin: 15px 0 0; text-transform: uppercase; }

/* Menu */
.site-nav {
  clear: both;
  display: block;
  float: left;
  width: 100%;
  text-align: center;
  border-top: 1px solid var(--rule);
  border-bottom: 1px solid var(--rule);
  text-transform: uppercase;
  font-size: .8rem;
  letter-spacing: .05em;
}
.site-nav ul { display: none; list-style: none; margin: 0; padding-left: 0; }
.site-nav.open ul { display: block; }
.site-nav li { display: inline-block; position: relative; }
.site-nav a { display: block; padding: 16px 15px; color: var(--ink-strong); font-size: 14px; }
.site-nav a:hover, .site-nav a:focus, .site-nav .current > a { color: var(--accent); }
.site-nav .flag a { background: no-repeat left center / 35px; position: relative; padding-left: 44px; }
.site-nav .flag-fr a { background-image: url("/wp-content/uploads/2019/10/iconfinder_france_92087.png"); }
.site-nav .flag-en a { background-image: url("/wp-content/uploads/2019/10/iconfinder_united-kingdom_flat_92402.png"); }
.menu-toggle { display: block; margin: 15px 0; text-transform: uppercase; font-weight: bold; line-height: inherit; position: relative; }
.menu-toggle::before {
  content: "\e000";
  display: inline-block;
  font-family: "Site Icons";
  font-size: 1rem;
  line-height: 1;
  text-align: center;
  padding-right: 5px;
  position: relative;
  top: 2px;
}

/* Content */
.site-content { margin-top: 40px; }
.entry { position: relative; }
.entry-header { text-align: center; }
.entry-title { font-size: 1.467rem; font-weight: 700; line-height: 1.4; margin: 8px 0; text-align: left; text-transform: uppercase; }
.entry-content { margin-top: 30px; max-width: 800px; }
.entry-content a { color: var(--accent); }
.entry-content a:hover { color: var(--ink-strong); }
.entry-content > :first-child { margin-top: 0; }
.entry-content > .plain:last-child { margin-bottom: 0; }
.entry-content > :not(.plain) { margin-bottom: 1.5em; }
.entry-content ul li { margin-bottom: 10px; }
.entry-content.plain-lists ul { list-style: none; padding-left: 0; }
.text-medium { font-size: 20px !important; }
.text-normal { font-size: 16px; }
summary { cursor: pointer; }

/* A swapped-in emoji graphic sits in the line like the character it replaces. */
img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 .07em !important; vertical-align: -.1em !important; background: none !important; padding: 0 !important; }

.image { margin: 0 0 1em; }
.image img { box-sizing: border-box; height: auto; max-width: 100%; vertical-align: bottom; }

.columns { display: flex; flex-wrap: wrap; align-items: normal; gap: 2em; }
.columns > * { margin: 0; }
.column { flex-grow: 1; min-width: 0; overflow-wrap: break-word; word-break: normal; }

.video { margin-bottom: 1.6em; }
.video iframe { display: block; aspect-ratio: 700 / 394; height: auto; }

/* Footer */
.site-footer { font-size: .8rem; padding: 30px 0 0; margin: 40px 0 30px; border-top: 1px solid var(--rule); text-align: center; }
.site-info { height: 20.5px; }

/* Widths */
@media (min-width: 576px) { .container { width: 558px; } }
@media (min-width: 768px) { .container { width: 750px; } }
@media (min-width: 782px) {
  .columns { flex-wrap: nowrap; }
  .column { flex-basis: 0; flex-grow: 1; }
  .column[style*="flex-basis"] { flex-grow: 0; }
}
@media (max-width: 781px) { .column { flex-basis: 100% !important; } }
@media (min-width: 992px) {
  .container { width: 970px; }
  .col { float: left; width: 100%; }
  .col.narrow { width: 66.66666667%; margin-left: 16.66666667%; }
  .menu-toggle { display: none; }
  .site-nav ul { display: block; }
}
@media (min-width: 1200px) { .container { width: 1040px; } }
@media (max-width: 991px) {
  .site-branding { padding: 35px 0; }
  .site-nav { text-align: left; font-size: 1rem; margin-bottom: 20px; }
  .site-nav.open { border-bottom: 0; }
  .site-nav li { display: block; }
  .site-nav a { padding: 12px 0; border-bottom: 1px solid var(--rule-menu); }
}
@media (max-width: 767px) {
  .site-title { font-size: 2rem; }
  .site-content { margin-top: 25px; }
}
