.topic{clear:both;border-bottom:1px solid #000;grid-template-columns:1fr 4fr;gap:1em;margin-bottom:1em;padding-bottom:1em;position:relative}@media (width>=481px){.topic{display:grid}}.topic:last-child{border-bottom:0;padding-bottom:0}.topic__header{text-align:center;grid-column:1}@media (width>=481px){.topic__header{text-align:left}}.topic__title{margin:0 0 .5em}@media (width>=481px){.topic__title{margin:0}}:not(.topic__header){grid-column:2}.topic p{margin:0 0 1em}@media only screen and (width>=481px){.topic--introduction{background-image:url(/assets/graham-toon-C8o9FcfF.jpg);background-repeat:no-repeat;background-size:20%}}.topic--skills{grid-template-columns:1fr 2fr 2fr}.topic--skills div{grid-column:initial;margin:0}.topic--skills span{font-style:italic}.topic--skills span:after{content:":"}.topic--skills ul{margin:0}.topic--skills ul.ms-tech{column-count:2}@media only print{.topic p,.topic span{font-size:12px}}.activity{page-break-inside:avoid;border-bottom:1px solid #000;padding-bottom:1em}.activity:last-child{border:0;padding-bottom:0}.activity__role{margin:1em 0 .5em;font-weight:700;display:block}@media (width>=481px){.activity__role{margin:0;display:inline}.activity__role:after{content:"—";margin:0 .5em;font-weight:400}}.activity__organisation-name{margin:.5em 0;text-decoration:underline;display:block}@media (width>=481px){.activity__organisation-name{margin:0;display:inline}}.activity__dates-from:after{content:"→";margin:0 .5em}.activity__dates-duration{font-style:italic}.activity__dates-duration:before{content:" "}.cv{color:#000;background-color:#fff;padding:0 1rem;font-size:16px}@media only print{.cv{font-size:10px}}.cv a{color:#000}@media only print{.cv a{text-decoration:none}}.cv__header{margin:1em 0}.cv__header h1{float:left;margin:0 0 .25em;font-size:3em;display:contents}@media only print{.cv__header h1{font-size:3em}}@media only screen and (width<=480px){.cv__header{background-image:url(/assets/graham-toon-C8o9FcfF.jpg);background-position:110% bottom;background-repeat:no-repeat;background-size:50%}}@media only screen and (width<=360px){.cv__header{background-size:40%}}.cv__contact-details{margin:1em 0}@media only screen{.cv__contact-details address{line-height:1.75}}@media (width>=481px){.cv__contact-details{float:right;text-align:right;margin:0 0 1em}}.cv__logo{box-sizing:border-box;max-width:25%;padding-bottom:1em;position:absolute}@media only screen{.cv{border:1px solid #000;max-width:1024px;margin:0 auto}}.print-button{text-align:center;margin-bottom:1em;font-size:1rem}.print-button button{font-size:1em}@media print{.print-button{visibility:hidden;height:0}}
