diff --git a/deployscripts/compiled.js b/deployscripts/compiled.js
index f2a0a7ca811bd629f1a1c252ad66bb61821db77b..f648c8627e58d46bbc540580cc42375276f1b744 100755
--- a/deployscripts/compiled.js
+++ b/deployscripts/compiled.js
@@ -224,12 +224,12 @@ K();b=I(be().h,"div");w();c=Wj();w();e=K().d;e.Ps||(e.Os=new Xj(e),e.Ps=!0);e=ne
 "Constructive alignment and mapping of course elements is well established in Australia","images/courseloop_mapping.png"),"But course maps have moved into the governance process. (Slow, not a design tool.)","images/courseloop_proposals.png"),ub("\n  |### Lightweight mapping\n  |\n  |The identity verification maps are not ones we would wish to put into governance \n  |\n  |- it'd require several committees (and months) to add or remove a video task\n  |\n  |But there are a lot of other mappings we need that are a snapshot in time too. \n  |\n  |"));
 K();b=I(be().h,"div");w();c=Wj();w();Ic();a:{for(e=Kb().af.i();e.o();)if(f=e.m(),"BCOMP(SD)"===f.Pb){e=new C(f);break a}e=D()}e.e()?e=D():(e=e.Z(),e=new C(Mb(Kb(),e)));a=If(a,O(b,A(0,new n([O(c,A(0,new n([Qc(0,e)])))]))));K();b=I(be().h,"div");w();c=Wj();w();Ic();a:{for(e=Kb().af.i();e.o();)if(f=e.m(),"BCOMP(SD)"===f.Pb){e=new C(f);break a}e=D()}e.e()?e=D():(e=e.Z(),e=new C(Nb(Kb(),e)));a=If(a,O(b,A(0,new n([O(c,A(0,new n([Qc(0,e)])))]))));K();b=I(be().h,"div");w();c=Wj();w();Ic();a:{for(e=Kb().af.i();e.o();)if(f=
 e.m(),"BCOMP(SD)"===f.Pb){e=new C(f);break a}e=D()}e.e()?e=D():(e=e.Z(),e=new C(Ob(Kb(),e)));a=If(a,O(b,A(0,new n([O(c,A(0,new n([Qc(0,e)])))]))));K();b=I(be().h,"div");w();c=Wj();w();Ic();a:{for(e=Kb().af.i();e.o();)if(f=e.m(),"MDSC"===f.Pb){e=new C(f);break a}e=D()}e.e()?e=D():(e=e.Z(),e=new C(Pb(Kb(),e)));this.Ut=Pf(Of(Ef(Jf(If(a,O(b,A(0,new n([O(c,A(0,new n([Qc(0,e)])))])))),ub("\n  |\n  |### Maps bring the burden of creation\n  |\n  |Across several degrees, I had to do a lot of maps. This is only feasible if there's an easy way to do it.\n  |\n  | - We're the computer science discipline; so I built one.\n  | - Maps are a visualisation, so I built it using the same kit I used to write this deck.\n  |\n  |Very fast edit cycle\n  | - tweak the course/unit data and hit reload.\n  | - this has let us use this as a **design tool** and embed it into course presentations (and this talk!)\n  |\n  |---\n  |\n  |### Conclusion\n  |\n  |* Swiss Cheese modelling - modelling the identity verification mechanisms across a degree\n  |\n  |* Keeping lightweight maps that are not in the governance process, but snapshots in time\n  |\n  |(and maps are visualisations so don't draw them; generate them.)\n  |\n  |")),
-Ab().Pr),"bottom"))}Tj.prototype=new m;Tj.prototype.constructor=Tj;function Wj(){Ib();var a=I(K().j.h,"div");w();var b=K().d;return O(a,A(0,new n([L(new M(b,"style"),"height: 800px; overflow-y: scroll")])))}
+Ab().Pr),"bottom"))}Tj.prototype=new m;Tj.prototype.constructor=Tj;
 function Vj(a,b,c,e){a=I(K().j.h,"div");w();var f=K().d;f=L(new M(f,"style"),"height: 1080px; position: relative; top: 0; margin-left: 2%; margin-right: 2%");var g=I(K().j.h,"div");w();var h=I(K().j.h,"img");w();var k=K().d;e=L(new M(k,"src"),e);k=K().d;e=O(g,A(0,new n([O(h,A(0,new n([e,L(new M(k,"style"),"max-height: 1080px;")])))])));g=I(K().j.h,"label");w();h=K().d;return If(b,O(a,A(0,new n([f,e,O(g,A(0,new n([c,L(new M(h,"style"),"position: absolute; top: 0; left:60%; padding: 1em; font-size: 42px; color: black;")])))]))))}
 function ak(a,b,c){var e=I(K().j.h,"div");w();var f=K().d;f=L(new M(f,"style"),"height: 1080px; position: relative; top: 0; margin-left: 2%; margin-right: 2%");var g=I(K().j.h,"div");w();var h=I(K().j.h,"img");w();var k=K().d;c=L(new M(k,"src"),c);k=K().d;g=O(g,A(0,new n([O(h,A(0,new n([c,L(new M(k,"style"),"max-height: 1080px;")])))])));h=I(K().j.h,"label");w();c=K().d;return If(a,O(e,A(0,new n([f,g,O(h,A(0,new n([b,L(new M(c,"style"),"position: absolute; top: 0; left:60%; padding: 1em; background: mistyrose; font-size: 42px; color: black;")])))]))))}
-Tj.prototype.$classData=q({KA:0},!1,"planning.ascilite2022deck$package$",{KA:1,b:1});var Uj;function Ib(){Uj||(Uj=new Tj);return Uj}function bk(){this.Rq=this.Tl=null;ck=this;new Wa(0);new Ya(0);new Xa(0);new cb(0);new bb(0);this.Tl=new $a(0);new ab(0);new Za(0);this.Rq=new n(0)}bk.prototype=new m;bk.prototype.constructor=bk;bk.prototype.$classData=q({ZB:0},!1,"scala.Array$EmptyArrays$",{ZB:1,b:1});var ck;function dk(){ck||(ck=new bk);return ck}var Gf=q({Lr:0},!0,"scala.Function0",{Lr:1,b:1});
-function ek(){}ek.prototype=new m;ek.prototype.constructor=ek;function fk(){}fk.prototype=ek.prototype;function mf(a,b){this.ti=null;this.ak=b;if(null===a)throw Td(Pd(),null);this.ti=a}mf.prototype=new m;mf.prototype.constructor=mf;mf.prototype.$classData=q({fC:0},!1,"scala.Option$WithFilter",{fC:1,b:1});function gk(){this.Ul=null;hk=this;this.Ul=new ik}gk.prototype=new m;gk.prototype.constructor=gk;gk.prototype.$classData=q({gC:0},!1,"scala.PartialFunction$",{gC:1,b:1});var hk;
-function Ae(){hk||(hk=new gk);return hk}function jk(){}jk.prototype=new m;jk.prototype.constructor=jk;
+function Wj(){Ib();var a=I(K().j.h,"div");w();var b=K().d;return O(a,A(0,new n([L(new M(b,"style"),"height: 100%; width: 100%; overflow-y: scroll")])))}Tj.prototype.$classData=q({KA:0},!1,"planning.ascilite2022deck$package$",{KA:1,b:1});var Uj;function Ib(){Uj||(Uj=new Tj);return Uj}function bk(){this.Rq=this.Tl=null;ck=this;new Wa(0);new Ya(0);new Xa(0);new cb(0);new bb(0);this.Tl=new $a(0);new ab(0);new Za(0);this.Rq=new n(0)}bk.prototype=new m;bk.prototype.constructor=bk;
+bk.prototype.$classData=q({ZB:0},!1,"scala.Array$EmptyArrays$",{ZB:1,b:1});var ck;function dk(){ck||(ck=new bk);return ck}var Gf=q({Lr:0},!0,"scala.Function0",{Lr:1,b:1});function ek(){}ek.prototype=new m;ek.prototype.constructor=ek;function fk(){}fk.prototype=ek.prototype;function mf(a,b){this.ti=null;this.ak=b;if(null===a)throw Td(Pd(),null);this.ti=a}mf.prototype=new m;mf.prototype.constructor=mf;mf.prototype.$classData=q({fC:0},!1,"scala.Option$WithFilter",{fC:1,b:1});
+function gk(){this.Ul=null;hk=this;this.Ul=new ik}gk.prototype=new m;gk.prototype.constructor=gk;gk.prototype.$classData=q({gC:0},!1,"scala.PartialFunction$",{gC:1,b:1});var hk;function Ae(){hk||(hk=new gk);return hk}function jk(){}jk.prototype=new m;jk.prototype.constructor=jk;
 function kk(a,b,c,e){a=0<c?c:0;c=vf(w(),b);e=e<c?e:c;if(e>a){if(b instanceof n)return Ri(P(),b,a,e);if(b instanceof $a){P();uf();if(a>e)throw Si(a+" \x3e "+e);e=e-a|0;c=b.a.length-a|0;c=e<c?e:c;e=new $a(e);b.H(a,e,0,c);return e}if(b instanceof cb){P();lk();if(a>e)throw Si(a+" \x3e "+e);e=e-a|0;c=b.a.length-a|0;c=e<c?e:c;e=new cb(e);b.H(a,e,0,c);return e}if(b instanceof ab){P();mk();if(a>e)throw Si(a+" \x3e "+e);e=e-a|0;c=b.a.length-a|0;c=e<c?e:c;e=new ab(e);b.H(a,e,0,c);return e}if(b instanceof bb){P();
 nk();if(a>e)throw Si(a+" \x3e "+e);e=e-a|0;c=b.a.length-a|0;c=e<c?e:c;e=new bb(e);b.H(a,e,0,c);return e}if(b instanceof Xa){P();ok();if(a>e)throw Si(a+" \x3e "+e);e=e-a|0;c=b.a.length-a|0;c=e<c?e:c;e=new Xa(e);b.H(a,e,0,c);return e}if(b instanceof Ya){P();pk();if(a>e)throw Si(a+" \x3e "+e);e=e-a|0;c=b.a.length-a|0;c=e<c?e:c;e=new Ya(e);b.H(a,e,0,c);return e}if(b instanceof Za){P();qk();if(a>e)throw Si(a+" \x3e "+e);e=e-a|0;c=b.a.length-a|0;c=e<c?e:c;e=new Za(e);b.H(a,e,0,c);return e}if(b instanceof
 Wa){P();rk();if(a>e)throw Si(a+" \x3e "+e);e=e-a|0;c=b.a.length-a|0;c=e<c?e:c;e=new Wa(e);b.H(a,e,0,c);return e}throw new E(b);}return Oi(Pi(),Uh(ma(b))).cd(0)}function Mf(a,b){return sk(tk(),uk(vk(),b,vf(w(),b)))}jk.prototype.$classData=q({YC:0},!1,"scala.collection.ArrayOps$",{YC:1,b:1});var wk;function Nf(){wk||(wk=new jk);return wk}function tf(a,b){this.qD=a;this.Su=b}tf.prototype=new m;tf.prototype.constructor=tf;
diff --git a/src/main/scala/planning/ascilite2022deck.scala b/src/main/scala/planning/ascilite2022deck.scala
index 0bff07b42bac00078f716fabd8958f74b8479acb..2531ed02aefeb694800dc364111649e7a395c8f5 100644
--- a/src/main/scala/planning/ascilite2022deck.scala
+++ b/src/main/scala/planning/ascilite2022deck.scala
@@ -29,6 +29,9 @@ extension (db:DeckBuilder) {
   )
 }
 
+def asciliteScrollableDiv = <.div(^.attr("style") := "height: 100%; width: 100%; overflow-y: scroll")
+
+
 val ascilite2022deck = DeckBuilder(1920, 1080).markdownSlide("""
   |# Lightweight mapping of identity verification methods and secondary course aspects: "Swiss cheese" modelling.
   |Will Billingsley  
@@ -111,7 +114,7 @@ val ascilite2022deck = DeckBuilder(1920, 1080).markdownSlide("""
   |
   |""".stripMargin)
   .veautifulSlide(div(
-    scrollableDiv(^.prop("scrollTop") := "120",
+    asciliteScrollableDiv(^.prop("scrollTop") := "120",
       for c <- courses.find(_.code == "BCOMP(SD)") yield idverifyPage(c)
     )
   ))
@@ -141,22 +144,22 @@ val ascilite2022deck = DeckBuilder(1920, 1080).markdownSlide("""
   |
   |""".stripMargin)
   .veautifulSlide(div(
-    scrollableDiv(
+    asciliteScrollableDiv(
       for c <- courses.find(_.code == "BCOMP(SD)") yield planPage(c)
     )
   ))
   .veautifulSlide(div(
-    scrollableDiv(
+    asciliteScrollableDiv(
       for c <- courses.find(_.code == "BCOMP(SD)") yield cbokPage(c)
     )
   ))
   .veautifulSlide(div(
-    scrollableDiv(
+    asciliteScrollableDiv(
       for c <- courses.find(_.code == "BCOMP(SD)") yield swebokPage(c)
     )
   ))
   .veautifulSlide(div(
-    scrollableDiv(
+    asciliteScrollableDiv(
       for c <- courses.find(_.code == "MDSC") yield dsbokPage(c)
     )
   ))