@import url("fontawesome-all.min.css");
@import url("https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,400italic");

/* Strata by HTML5 UP
html5up.net | @ajlkn
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)

Modified by: Hanna Yurchyk 
Contact: hanna.yurchyk@mail.mcgill.ca */

html, body, div, span, applet, object,
iframe, h1, h2, h3, h4, h5, h6, 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:inherit; font-size:100%; vertical-align:baseline; }
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display:block; }
body { line-height:1; -webkit-text-size-adjust:none; background:#fff; }
ol, ul { list-style:none; }
blockquote, q { quotes:none; }
blockquote:before, blockquote:after, q:before, q:after { content:''; content:none; }
table { border-collapse:collapse; border-spacing:0; }
mark { background-color:transparent; color:inherit; }
input::-moz-focus-inner { border:0; padding:0; }
input, select, textarea { appearance:none; -moz-appearance:none; -webkit-appearance:none; -ms-appearance:none; }

/* --------------- Typography --------------- */
html { box-sizing:border-box; }
*, *:before, *:after { box-sizing:inherit; }

body, input, select, textarea {
  color:#a2a2a2;
  font-family:"Source Sans Pro", Helvetica, sans-serif;
  font-size:16pt;
  font-weight:400;
  line-height:1.75em;
}

a { transition: color .2s ease-in-out, border-color .2s ease-in-out; border-bottom:dotted 1px; color:#49bf9d; text-decoration:none; }
a:hover { border-bottom-color:transparent; color:#49bf9d !important; }

strong, b { color:#787878; font-weight:400; }
em, i { font-style:italic; }
p { margin:0 0 2em 0; }

h1, h2, h3, h4, h5, h6 { color:#787878; font-weight:400; line-height:1em; margin:0 0 1em 0; }
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a { color:inherit; text-decoration:none; }
h1 { font-size:2em; line-height:1.5em; }
h2 { font-size:1.5em; line-height:1.5em; }
h3 { font-size:1.25em; line-height:1.5em; }
h4 { font-size:1.1em; line-height:1.5em; }
h5 { font-size:0.9em; line-height:1.5em; }
h6 { font-size:0.7em; line-height:1.5em; }
sub { font-size:.8em; position:relative; top:.5em; }
sup { font-size:.8em; position:relative; top:-.5em; }

hr { border:0; border-bottom:solid 2px #efefef; margin:2em 0; }
hr.major { margin:3em 0; }

blockquote { border-left:solid 6px #efefef; font-style:italic; margin:0 0 2em 0; padding:.5em 0 .5em 1.5em; }
code { background:#f7f7f7; border-radius:.35em; border:solid 2px #efefef; font-family:"Courier New", monospace; font-size:.9em; margin:0 .25em; padding:.25em .65em; }
pre { -webkit-overflow-scrolling:touch; font-family:"Courier New", monospace; font-size:.9em; margin:0 0 2em 0; }
pre code { display:block; line-height:1.75em; padding:1em 1.5em; overflow-x:auto; }
.align-left { text-align:left; }
.align-center { text-align:center; }
.align-right { text-align:right; }

/* --------------- Grid --------------- */
.container { margin:0 auto; max-width:calc(100% - 4em); width:100%; }
.container.xsmall{width:25%;} .container.small{width:50%;} .container.medium{width:75%;}
.container.large{width:125%;} .container.xlarge{width:150%;} .container.max{width:100%;}
@media screen and (max-width:980px){ .container{width:100% !important; max-width:100% !important;} }
@media screen and (max-width:480px){ .container{max-width:calc(100% - 3em);} }

.row { display:flex; flex-wrap:wrap; box-sizing:border-box; align-items:stretch; margin-top:0; margin-left:-2.5em; }
.row > * { box-sizing:border-box; padding:0 0 0 2.5em; }
.row.gtr-uniform > * > :last-child { margin-bottom:0; }
.row.aln-left{justify-content:flex-start;} .row.aln-center{justify-content:center;} .row.aln-right{justify-content:flex-end;}
.row.aln-top{align-items:flex-start;} .row.aln-middle{align-items:center;} .row.aln-bottom{align-items:flex-end;}
.row > .imp{order:-1;}
.row > .col-1{width:8.33333%;} .row > .col-2{width:16.66667%;} .row > .col-3{width:25%;}
.row > .col-4{width:33.33333%;} .row > .col-5{width:41.66667%;} .row > .col-6{width:50%;}
.row > .col-7{width:58.33333%;} .row > .col-8{width:66.66667%;} .row > .col-9{width:75%;}
.row > .col-10{width:83.33333%;} .row > .col-11{width:91.66667%;} .row > .col-12{width:100%;}

/* Stack cards one-per-row on phones & XS (minor override) */
@media screen and (max-width:736px){
  .row > .col-6 { width:100%; }
}

/* Section/Article */
section.special, article.special { text-align:center; }
header p { color:#b2b2b2; position:relative; margin:0 0 1.5em 0; }
header h2 + p { font-size:1.25em; margin-top:-1em; line-height:1.5em; }
header h3 + p { font-size:1.1em; margin-top:-.8em; line-height:1.5em; }
header h4 + p, header h5 + p, header h6 + p { font-size:.9em; margin-top:-.6em; line-height:1.5em; }
header.major h2 { font-size:2em; }

/* Form */
form { margin:0 0 2em 0; }
label { color:#787878; display:block; font-size:.9em; font-weight:400; margin:0 0 1em 0; }
input[type="text"], input[type="password"], input[type="email"], select, textarea {
  background:#f7f7f7; border-radius:.35em; border:solid 2px transparent; color:inherit; display:block; outline:0; padding:0 .75em; text-decoration:none; width:100%;
}
input[type="text"]:invalid, input[type="password"]:invalid, input[type="email"]:invalid, select:invalid, textarea:invalid { box-shadow:none; }
input[type="text"]:focus, input[type="password"]:focus, input[type="email"]:focus, select:focus, textarea:focus { border-color:#49bf9d; }
select {
  background-image:url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' preserveAspectRatio='none' viewBox='0 0 40 40'%3E%3Cpath d='M9.4,12.3l10.4,10.4l10.4-10.4c0.2-0.2,0.5-0.4,0.9-0.4c0.3,0,0.6,0.1,0.9,0.4l3.3,3.3c0.2,0.2,0.4,0.5,0.4,0.9 c0,0.4-0.1,0.6-0.4,0.9L20.7,31.9c-0.2,0.2-0.5,0.4-0.9,0.4c-0.3,0-0.6-0.1-0.9-0.4L4.3,17.3c-0.2-0.2-0.4-0.5-0.4-0.9 c0-0.4,0.1-0.6,0.4-0.9l3.3-3.3c0.2-0.2,0.5-0.4,0.9-0.4S9.1,12.1,9.4,12.3z' fill='%23dfdfdf'/%3E%3C/svg%3E");
  background-size:1.25rem; background-repeat:no-repeat; background-position:calc(100% - 1rem) center; height:2.75em; padding-right:2.75em; text-overflow:ellipsis;
}
select option { color:#787878; background:#fff; }
select:focus::-ms-value { background-color:transparent; }
select::-ms-expand { display:none; }
input[type="text"], input[type="password"], input[type="email"], select { height:2.75em; }
textarea { padding:.75em; }

input[type="checkbox"], input[type="radio"]{ display:block; float:left; margin-right:-2em; opacity:0; width:1em; z-index:-1; }
input[type="checkbox"] + label, input[type="radio"] + label { color:#a2a2a2; cursor:pointer; display:inline-block; font-size:1em; font-weight:400; padding-left:2.4em; padding-right:.75em; position:relative; }
input[type="checkbox"] + label:before, input[type="radio"] + label:before{
  font-family:'Font Awesome 5 Free'; font-weight:900; background:#f7f7f7; border-radius:.35em; border:solid 2px transparent; content:''; display:inline-block; font-size:.8em; height:2.0625em; left:0; line-height:1.85625em; position:absolute; text-align:center; top:0; width:2.0625em;
}
input[type="checkbox"]:checked + label:before, input[type="radio"]:checked + label:before { background:#787878; border-color:#787878; color:#fff; content:'\f00c'; }
input[type="checkbox"]:focus + label:before, input[type="radio"]:focus + label:before { border-color:#49bf9d; }
input[type="checkbox"] + label:before { border-radius:.35em; }
input[type="radio"] + label:before { border-radius:100%; }

::-webkit-input-placeholder{ color:#b2b2b2 !important; opacity:1; }
:-moz-placeholder{ color:#b2b2b2 !important; opacity:1; }
::-moz-placeholder{ color:#b2b2b2 !important; opacity:1; }
:-ms-input-placeholder{ color:#b2b2b2 !important; opacity:1; }

/* Box */
.box { border-radius:.35em; border:solid 2px #efefef; margin-bottom:2em; padding:1.5em; }
.box > :last-child, .box > :last-child > :last-child, .box > :last-child > :last-child > :last-child { margin-bottom:0; }
.box.alt { border:0; border-radius:0; padding:0; }

/* Icons */
.icon { text-decoration:none; border-bottom:none; position:relative; }
.icon:before{ font-family:'Font Awesome 5 Free'; font-weight:400; line-height:1; }
.icon > .label{ display:none; }
.icon.solid:before{ font-weight:900; }
.icon.brands:before{ font-family:'Font Awesome 5 Brands'; }

/* Images */
.image { border-radius:.35em; border:0; display:inline-block; position:relative; }
.image:before{ transition:opacity .2s ease-in-out; background:url("images/overlay.png"); border-radius:.35em; content:''; display:block; height:100%; left:0; opacity:.5; position:absolute; top:0; width:100%; }
.image.thumb { text-align:center; }
.image.thumb:after{
  transition:opacity .2s ease-in-out; border-radius:.35em; border:solid 3px rgba(255,255,255,.5); color:#fff; content:'View'; display:inline-block; font-size:.8em; font-weight:400; left:50%; line-height:2.25em; margin:-1.25em 0 0 -3em; opacity:0; padding:0 1.5em; position:absolute; text-align:center; top:50%; white-space:nowrap;
}
.image.thumb:hover:after{ opacity:1; }
.image.thumb:hover:before{ background:url("images/overlay.png"), url("images/overlay.png"); opacity:1; }
.image img{ border-radius:.35em; display:block; }
.image.left{ float:left; margin:0 1.5em 1em 0; top:.25em; } .image.right{ float:right; margin:0 0 1em 1.5em; top:.25em; }
.image.left, .image.right{ max-width:40%; } .image.left img, .image.right img{ width:100%; }
.image.fit{ display:block; margin:0 0 2em 0; width:100%; } .image.fit img{ width:100%; }
.image.avatar{ border-radius:100%; } .image.avatar:before{ display:none; } .image.avatar img{ border-radius:100%; width:100%; }

/* Lists */
ol{ list-style:decimal; margin:0 0 2em 0; padding-left:1.25em; } ol li{ padding-left:.25em; }
ul{ list-style:disc; margin:0 0 2em 0; padding-left:1em; } ul li{ padding-left:.5em; }
ul.alt{ list-style:none; padding-left:0; } ul.alt li{ border-top:solid 2px #efefef; padding:.5em 0; } ul.alt li:first-child{ border-top:0; padding-top:0; }

/* Icon lists */
ul.icons{ cursor:default; list-style:none; padding-left:0; }
ul.icons li{ display:inline-block; padding:0 1em 0 0; } ul.icons li:last-child{ padding-right:0; }
ul.icons li .icon:before{ font-size:1.5em; }

/* Labeled icons */
ul.labeled-icons{ list-style:none; padding:0; }
ul.labeled-icons li{ line-height:1.75em; margin:1.5em 0 0 0; padding-left:2.25em; position:relative; }
ul.labeled-icons li:first-child{ margin-top:0; }
ul.labeled-icons li a{ color:inherit; }
ul.labeled-icons li h3{ color:#b2b2b2; left:0; position:absolute; text-align:center; top:0; width:1em; }

/* Actions */
ul.actions{ display:flex; cursor:default; list-style:none; margin-left:-1em; padding-left:0; }
ul.actions li{ padding:0 0 0 1em; vertical-align:middle; }
ul.actions.special{ justify-content:center; width:100%; margin-left:0; }
ul.actions.special li:first-child{ padding-left:0; }
ul.actions.stacked{ flex-direction:column; margin-left:0; }
ul.actions.stacked li{ padding:1.3em 0 0 0; }
ul.actions.stacked li:first-child{ padding-top:0; }
ul.actions.fit{ width:calc(100% + 1em); }
ul.actions.fit li{ flex-grow:1; flex-shrink:1; width:100%; }
ul.actions.fit li > *{ width:100%; }
ul.actions.fit.stacked{ width:100%; }

@media screen and (max-width:480px){
  ul.actions:not(.fixed){ flex-direction:column; margin-left:0; width:100% !important; }
  ul.actions:not(.fixed) li{ flex-grow:1; flex-shrink:1; padding:1em 0 0 0; text-align:center; width:100%; }
  ul.actions:not(.fixed) li > *{ width:100%; }
  ul.actions:not(.fixed) li:first-child{ padding-top:0; }
  ul.actions:not(.fixed) li .button{ width:100%; }
  ul.actions:not(.fixed) li .button.icon:before{ margin-left:-.5em; }
}

/* Table */
.table-wrapper{ -webkit-overflow-scrolling:touch; overflow-x:auto; }
table{ margin:0 0 2em 0; width:100%; }
table tbody tr{ border:solid 1px #efefef; border-left:0; border-right:0; }
table tbody tr:nth-child(2n + 1){ background-color:#f7f7f7; }
table td{ padding:.75em .75em; }
table th{ color:#787878; font-size:.9em; font-weight:400; padding:0 .75em .75em .75em; text-align:left; }
table thead{ border-bottom:solid 2px #efefef; }
table tfoot{ border-top:solid 2px #efefef; }
table.alt{ border-collapse:separate; }
table.alt tbody tr td{ border:solid 2px #efefef; border-left-width:0; border-top-width:0; }
table.alt tbody tr td:first-child{ border-left-width:2px; }
table.alt tbody tr:first-child td{ border-top-width:2px; }
table.alt thead{ border-bottom:0; }
table.alt tfoot{ border-top:0; }

/* Buttons */
input[type="submit"], input[type="reset"], input[type="button"], .button{
  appearance:none; transition: background-color .2s ease-in-out, color .2s ease-in-out, border-color .2s ease-in-out;
  background-color:transparent; border-radius:.35em; border:solid 3px #efefef; color:#787878 !important; cursor:pointer; display:inline-block; font-weight:400; height:calc(2.75em + 6px); line-height:2.75em; min-width:10em; padding:0 1.5em; text-align:center; text-decoration:none; white-space:nowrap;
}
input[type="submit"]:hover, input[type="reset"]:hover, input[type="button"]:hover, .button:hover{ border-color:#49bf9d; color:#49bf9d !important; }
input[type="submit"]:active, input[type="reset"]:active, input[type="button"]:active, .button:active{ background-color:rgba(73,191,157,.1); border-color:#49bf9d; color:#49bf9d !important; }
.button.icon{ padding-left:1.35em; }
.button.icon:before{ margin-right:.5em; }
.button.fit{ min-width:0; width:100%; }
.button.small{ font-size:.8em; }
.button.large{ font-size:1.35em; }
.button.primary{ background-color:#49bf9d; border-color:#49bf9d; color:#fff !important; }
.button.primary:hover{ background-color:#5cc6a7; border-color:#5cc6a7; }
.button.primary:active{ background-color:#3eb08f; border-color:#3eb08f; }
.button.disabled, .button:disabled{ background-color:#e7e7e7 !important; border-color:#e7e7e7 !important; color:#b2b2b2 !important; cursor:default; }

/* Work items */
.work-item{ margin:0 0 2em 0; }
.work-item .image{ margin:0 0 1.5em 0; }
.work-item h3{ font-size:1em; margin:0 0 .5em 0; }
.work-item p{ font-size:.8em; line-height:1.5em; margin:0; }

/* --------------- Header / Footer / Main --------------- */
#header{
  display:flex; flex-direction:column; align-items:center; justify-content:space-between;
  background-color:#1f1815;
  background-attachment:scroll, scroll;
  background-image:url("images/overlay.png"), url("../../images/bg.jpg");
  background-position:top left, top left; background-repeat:repeat, no-repeat; background-size:auto, 150%;
  color:rgba(255,255,255,.5);
  height:100%; left:0; padding:8em 4em; position:fixed; text-align:center; top:0; width:35%;
}
#header > *{ flex-shrink:0; width:100%; }
#header > .inner{ flex-grow:1; margin:0 0 2em 0; display:flex; flex-direction:column; align-items:center; }
#header strong, #header b, #header h2, #header h3, #header h4, #header h5, #header h6{ color:#fff; }
#header h1{ color:rgba(255,255,255,.5); font-size:1.35em; line-height:1.75em; margin:0; }
#header .image.avatar{ margin:0 0 1em 0; width:clamp(8rem, 20vw, 20rem); height:clamp(8rem, 20vw, 20rem); }
#header .image.avatar img{ width:100%; height:100%; object-fit:cover; border-radius:50%; }

#footer .icons{ margin:1em 0 0 0; }
#footer .icons a{ color:rgba(255,255,255,.4); }
#footer .copyright{ color:rgba(255,255,255,.4); font-size:.8em; list-style:none; margin:1em 0 0 0; padding:0; }
#footer .copyright li{ border-left:solid 1px rgba(255,255,255,.25); display:inline-block; line-height:1em; margin-left:.75em; padding-left:.75em; }
#footer .copyright li:first-child{ border-left:0; margin-left:0; padding-left:0; }
#footer .copyright li a{ color:inherit; }

#main{ margin-left:35%; max-width:54em; padding:8em 4em 4em 4em; width:calc(100% - 35%); }
#main > section{ border-top:solid 2px #efefef; margin:4em 0 0 0; padding:4em 0 0 0; }
#main > section:first-child{ border-top:0; margin-top:0; padding-top:0; }

/* --------------- Poptrox (lightbox) --------------- */
@keyframes spin{ 0%{ transform:rotate(0deg);} 100%{ transform:rotate(360deg);} }
.poptrox-popup{ box-sizing:content-box; -webkit-tap-highlight-color:rgba(255,255,255,0); background:#fff; border-radius:.35em; box-shadow:0 .1em .15em 0 rgba(0,0,0,.15); overflow:hidden; padding-bottom:3em; position:relative; }
.poptrox-popup .loader{ animation:spin 1s linear infinite; font-size:1.5em; height:1em; left:50%; line-height:1em; margin:-.5em 0 0 -.5em; position:absolute; top:50%; width:1em; }
.poptrox-popup .loader:before{ font-family:'Font Awesome 5 Free'; font-weight:900; content:'\f1ce'; }
.poptrox-popup .caption{ background:#fff; bottom:0; cursor:default; font-size:.9em; height:3em; left:0; line-height:2.8em; position:absolute; text-align:center; width:100%; z-index:2; pointer-events:none; }
/* Controls always clickable */
.poptrox-popup .nav-next, .poptrox-popup .nav-previous{
  transition:opacity .2s ease-in-out; -webkit-tap-highlight-color:rgba(255,255,255,0);
  background:rgba(0,0,0,.01); cursor:pointer; height:100%; opacity:1 !important; position:absolute; top:0; width:4rem; z-index:10001 !important; pointer-events:auto !important;
}
.poptrox-popup .nav-next:before, .poptrox-popup .nav-previous:before{
  font-family:'Font Awesome 5 Free'; font-weight:900; color:#fff; font-size:2.5em; height:1em; line-height:1em; margin-top:-.75em; position:absolute; text-align:center; top:50%; width:1.5em;
}
.poptrox-popup .nav-next{ right:0; } .poptrox-popup .nav-next:before{ content:'\f105'; right:0; }
.poptrox-popup .nav-previous{ left:0; } .poptrox-popup .nav-previous:before{ content:'\f104'; left:0; }
.poptrox-popup .closer{
  transition:opacity .2s ease-in-out; -webkit-tap-highlight-color:rgba(255,255,255,0);
  color:#fff; height:4em; line-height:4em; opacity:1 !important; position:absolute; right:0; text-align:center; top:0; width:4em; z-index:10002 !important; pointer-events:auto !important;
}
.poptrox-popup .closer:before{
  font-family:'Font Awesome 5 Free'; font-weight:900; box-sizing:content-box; border-radius:100%; border:solid 3px rgba(255,255,255,.5);
  content:'\f00d'; font-size:1em; height:1.75em; left:50%; line-height:1.75em; margin:-.875em 0 0 -.875em; position:absolute; top:50%; width:1.75em;
}
.poptrox-popup iframe{ position:relative; z-index:1; pointer-events:auto; }

/* Touch tweaks */
body.is-touch .image.thumb:before{ opacity:.5 !important; }
body.is-touch .image.thumb:after{ display:none !important; }
body.is-touch #header{ background-attachment:scroll; background-size:auto, cover; }
body.is-touch .poptrox-popup .nav-next, body.is-touch .poptrox-popup .nav-previous, body.is-touch .poptrox-popup .closer{ opacity:1 !important; }

@media screen and (max-width:736px){
  .poptrox-popup .nav-next, .poptrox-popup .nav-previous{ width:18%; }
  .poptrox-popup .nav-next:before, .poptrox-popup .nav-previous:before{ font-size:2.2em; }
}

/* --------------- Breakpoints --------------- */
@media screen and (max-width:1800px){ body, input, select, textarea{ font-size:12pt; } }

/* Large: make the “in-between” layout consistent (header 30%) */
@media screen and (max-width:1280px){
  #header{ padding:6em 3em 3em 3em; width:30%; }
  #main{ margin-left:30%; max-width:none; padding:6em 3em 3em 3em; width:calc(100% - 30%); }
}

/* Medium: switch to top header & single column main */
@media screen and (max-width:980px){
  h1 br, h2 br, h3 br, h4 br, h5 br, h6 br{ display:inline !important; }
  ul.icons li .icon{ font-size:1.25em; }

  #header{
    background-attachment:scroll;
    background-position:top left, center center;
    background-size:auto, cover;
    left:auto; padding:6em 4em; position:relative; text-align:center; top:auto; width:100%; display:block;
  }
  #header h1{ font-size:1.75em; }
  #footer{
    background-attachment:scroll; background-color:#1f1815; background-image:url("images/overlay.png"), url("../../images/bg.jpg");
    background-position:top left, bottom center; background-repeat:repeat, no-repeat; background-size:auto, cover;
    bottom:auto; left:auto; padding:4em 4em 6em 4em; position:relative; text-align:center; width:100%;
  }
  #footer .icons{ margin:0 0 1em 0; }
  #footer .copyright{ margin:0 0 1em 0; }
  #footer .copyright li{ border-left-width:1px; display:inline-block; line-height:1em; margin-left:.75em; padding-left:.75em; }
  #main{ margin:0; padding:6em 4em; width:100%; }
}

/* Small */
@media screen and (max-width:980px){
  h1{ font-size:1.5em; } h2{ font-size:1.2em; } h3{ font-size:1em; }
  section.special, article.special{ text-align:center; }
  header.major h2{ font-size:1.35em; }
  ul.labeled-icons li{ padding-left:2em; }
  ul.labeled-icons li h3{ line-height:1.75em; }
  #header{ padding:2.25em 1.5em; }
  #header h1{ font-size:1.35em; }
  #header h1 br{ display:inline !important; }
  #footer{ padding:2.25em 1.5em; }
  #main{ padding:2.25em 1.5em .25em 1.5em; }
  #main > section{ margin:2.25em 0 0 0; padding:2.25em 0 0 0; }
  .poptrox-popup{ border-radius:0; }
  .poptrox-popup .nav-next:before, .poptrox-popup .nav-previous:before{ margin-top:-1em; }
}

/* XSmall */
@media screen and (max-width:480px){
  #header{ padding:4.5em 1.5em; }
  #header h1 br{ display:inline !important; }
  #footer .copyright li{ border-left-width:0; display:block; line-height:2.25em; margin-left:0; padding-left:0; }
}

/* --------------- Small custom helpers --------------- */

/* Keep project poster heights visually even on desktop */
#work .work-item .image.thumb img{ width:100%; height:16rem; object-fit:cover; }
@media (max-width:736px){ #work .work-item .image.thumb img{ height:auto; object-fit:contain; } }

/* Responsive video wrapper */
.video-wrap{ position:relative; padding-top:56.25%; max-width:900px; margin:0 auto; }
.video-wrap iframe{ position:absolute; inset:0; border:0; width:100%; height:100%; }

/* CV preview sizing */
#resume .cv-link{ display:block; width:100%; max-width:900px; margin:0 auto; }
@media (min-width:980px){ #resume .cv-link{ width:85%; } }
#resume .cv-poster{ display:block; width:100%; height:auto; }