diff --git a/.DS_Store b/.DS_Store
deleted file mode 100644
index 4c22976..0000000
Binary files a/.DS_Store and /dev/null differ
diff --git a/assets/css/style.css b/assets/css/style.css
new file mode 100644
index 0000000..436dba1
--- /dev/null
+++ b/assets/css/style.css
@@ -0,0 +1 @@
+@import url("https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,600");*,*::after,*::before{box-sizing:inherit}*{font:inherit}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,hr{margin:0;padding:0;border:0}html{box-sizing:border-box}body{background-color:hsl(0, 0%, 100%);background-color:var(--color-bg, white)}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,main,form legend{display:block}ol,ul{list-style:none}blockquote,q{quotes:none}button,input,textarea,select{margin:0}.btn,.form-control,.link,.reset{background-color:transparent;padding:0;border:0;border-radius:0;color:inherit;line-height:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none}select.form-control::-ms-expand{display:none}textarea{resize:vertical;overflow:auto;vertical-align:top}input::-ms-clear{display:none}table{border-collapse:collapse;border-spacing:0}img,video,svg{max-width:100%}[data-theme]{background-color:hsl(0, 0%, 100%);background-color:var(--color-bg, #fff);color:hsl(240, 4%, 20%);color:var(--color-contrast-high, #313135)}:root{--space-unit: 1em;--space-xxxxs: calc(0.125*var(--space-unit));--space-xxxs: calc(0.25*var(--space-unit));--space-xxs: calc(0.375*var(--space-unit));--space-xs: calc(0.5*var(--space-unit));--space-sm: calc(0.75*var(--space-unit));--space-md: calc(1.25*var(--space-unit));--space-lg: calc(2*var(--space-unit));--space-xl: calc(3.25*var(--space-unit));--space-xxl: calc(5.25*var(--space-unit));--space-xxxl: calc(8.5*var(--space-unit));--space-xxxxl: calc(13.75*var(--space-unit));--component-padding: var(--space-md)}:root{--max-width-xxs: 32rem;--max-width-xs: 38rem;--max-width-sm: 48rem;--max-width-md: 64rem;--max-width-lg: 80rem;--max-width-xl: 90rem;--max-width-xxl: 120rem}.container{width:calc(100% - 1.25em);width:calc(100% - 2*var(--component-padding));margin-left:auto;margin-right:auto}.max-width-xxs{max-width:32rem;max-width:var(--max-width-xxs)}.max-width-xs{max-width:38rem;max-width:var(--max-width-xs)}.max-width-sm{max-width:48rem;max-width:var(--max-width-sm)}.max-width-md{max-width:64rem;max-width:var(--max-width-md)}.max-width-lg{max-width:80rem;max-width:var(--max-width-lg)}.max-width-xl{max-width:90rem;max-width:var(--max-width-xl)}.max-width-xxl{max-width:120rem;max-width:var(--max-width-xxl)}.max-width-adaptive-sm{max-width:38rem;max-width:var(--max-width-xs)}@media (min-width: 64rem){.max-width-adaptive-sm{max-width:48rem;max-width:var(--max-width-sm)}}.max-width-adaptive-md{max-width:38rem;max-width:var(--max-width-xs)}@media (min-width: 64rem){.max-width-adaptive-md{max-width:64rem;max-width:var(--max-width-md)}}.max-width-adaptive,.max-width-adaptive-lg{max-width:38rem;max-width:var(--max-width-xs)}@media (min-width: 64rem){.max-width-adaptive,.max-width-adaptive-lg{max-width:64rem;max-width:var(--max-width-md)}}@media (min-width: 90rem){.max-width-adaptive,.max-width-adaptive-lg{max-width:80rem;max-width:var(--max-width-lg)}}.max-width-adaptive-xl{max-width:38rem;max-width:var(--max-width-xs)}@media (min-width: 64rem){.max-width-adaptive-xl{max-width:64rem;max-width:var(--max-width-md)}}@media (min-width: 90rem){.max-width-adaptive-xl{max-width:90rem;max-width:var(--max-width-xl)}}.grid{--grid-gap: 0px;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap}.grid>*{-ms-flex-preferred-size:100%;flex-basis:100%}[class*="grid-gap"]{margin-bottom:1em * -1;margin-bottom:calc(var(--grid-gap, 1em)*-1);margin-right:1em * -1;margin-right:calc(var(--grid-gap, 1em)*-1)}[class*="grid-gap"]>*{margin-bottom:1em;margin-bottom:var(--grid-gap, 1em);margin-right:1em;margin-right:var(--grid-gap, 1em)}.grid-gap-xxxxs{--grid-gap: var(--space-xxxxs)}.grid-gap-xxxs{--grid-gap: var(--space-xxxs)}.grid-gap-xxs{--grid-gap: var(--space-xxs)}.grid-gap-xs{--grid-gap: var(--space-xs)}.grid-gap-sm{--grid-gap: var(--space-sm)}.grid-gap-md{--grid-gap: var(--space-md)}.grid-gap-lg{--grid-gap: var(--space-lg)}.grid-gap-xl{--grid-gap: var(--space-xl)}.grid-gap-xxl{--grid-gap: var(--space-xxl)}.grid-gap-xxxl{--grid-gap: var(--space-xxxl)}.grid-gap-xxxxl{--grid-gap: var(--space-xxxxl)}.col{-ms-flex-positive:1;flex-grow:1;-ms-flex-preferred-size:0;flex-basis:0;max-width:100%}.col-1{-ms-flex-preferred-size:calc(8.33% - 0.01px - 1em);-ms-flex-preferred-size:calc(8.33% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(8.33% - 0.01px - 1em);flex-basis:calc(8.33% - 0.01px - var(--grid-gap, 1em));max-width:calc(8.33% - 0.01px - 1em);max-width:calc(8.33% - 0.01px - var(--grid-gap, 1em))}.col-2{-ms-flex-preferred-size:calc(16.66% - 0.01px - 1em);-ms-flex-preferred-size:calc(16.66% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(16.66% - 0.01px - 1em);flex-basis:calc(16.66% - 0.01px - var(--grid-gap, 1em));max-width:calc(16.66% - 0.01px - 1em);max-width:calc(16.66% - 0.01px - var(--grid-gap, 1em))}.col-3{-ms-flex-preferred-size:calc(25% - 0.01px - 1em);-ms-flex-preferred-size:calc(25% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(25% - 0.01px - 1em);flex-basis:calc(25% - 0.01px - var(--grid-gap, 1em));max-width:calc(25% - 0.01px - 1em);max-width:calc(25% - 0.01px - var(--grid-gap, 1em))}.col-4{-ms-flex-preferred-size:calc(33.33% - 0.01px - 1em);-ms-flex-preferred-size:calc(33.33% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(33.33% - 0.01px - 1em);flex-basis:calc(33.33% - 0.01px - var(--grid-gap, 1em));max-width:calc(33.33% - 0.01px - 1em);max-width:calc(33.33% - 0.01px - var(--grid-gap, 1em))}.col-5{-ms-flex-preferred-size:calc(41.66% - 0.01px - 1em);-ms-flex-preferred-size:calc(41.66% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(41.66% - 0.01px - 1em);flex-basis:calc(41.66% - 0.01px - var(--grid-gap, 1em));max-width:calc(41.66% - 0.01px - 1em);max-width:calc(41.66% - 0.01px - var(--grid-gap, 1em))}.col-6{-ms-flex-preferred-size:calc(50% - 0.01px - 1em);-ms-flex-preferred-size:calc(50% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(50% - 0.01px - 1em);flex-basis:calc(50% - 0.01px - var(--grid-gap, 1em));max-width:calc(50% - 0.01px - 1em);max-width:calc(50% - 0.01px - var(--grid-gap, 1em))}.col-7{-ms-flex-preferred-size:calc(58.33% - 0.01px - 1em);-ms-flex-preferred-size:calc(58.33% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(58.33% - 0.01px - 1em);flex-basis:calc(58.33% - 0.01px - var(--grid-gap, 1em));max-width:calc(58.33% - 0.01px - 1em);max-width:calc(58.33% - 0.01px - var(--grid-gap, 1em))}.col-8{-ms-flex-preferred-size:calc(66.66% - 0.01px - 1em);-ms-flex-preferred-size:calc(66.66% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(66.66% - 0.01px - 1em);flex-basis:calc(66.66% - 0.01px - var(--grid-gap, 1em));max-width:calc(66.66% - 0.01px - 1em);max-width:calc(66.66% - 0.01px - var(--grid-gap, 1em))}.col-9{-ms-flex-preferred-size:calc(75% - 0.01px - 1em);-ms-flex-preferred-size:calc(75% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(75% - 0.01px - 1em);flex-basis:calc(75% - 0.01px - var(--grid-gap, 1em));max-width:calc(75% - 0.01px - 1em);max-width:calc(75% - 0.01px - var(--grid-gap, 1em))}.col-10{-ms-flex-preferred-size:calc(83.33% - 0.01px - 1em);-ms-flex-preferred-size:calc(83.33% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(83.33% - 0.01px - 1em);flex-basis:calc(83.33% - 0.01px - var(--grid-gap, 1em));max-width:calc(83.33% - 0.01px - 1em);max-width:calc(83.33% - 0.01px - var(--grid-gap, 1em))}.col-11{-ms-flex-preferred-size:calc(91.66% - 0.01px - 1em);-ms-flex-preferred-size:calc(91.66% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(91.66% - 0.01px - 1em);flex-basis:calc(91.66% - 0.01px - var(--grid-gap, 1em));max-width:calc(91.66% - 0.01px - 1em);max-width:calc(91.66% - 0.01px - var(--grid-gap, 1em))}.col-12{-ms-flex-preferred-size:calc(100% - 0.01px - 1em);-ms-flex-preferred-size:calc(100% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(100% - 0.01px - 1em);flex-basis:calc(100% - 0.01px - var(--grid-gap, 1em));max-width:calc(100% - 0.01px - 1em);max-width:calc(100% - 0.01px - var(--grid-gap, 1em))}@media (min-width: 32rem){.col\@xs{-ms-flex-positive:1;flex-grow:1;-ms-flex-preferred-size:0;flex-basis:0;max-width:100%}.col-1\@xs{-ms-flex-preferred-size:calc(8.33% - 0.01px - 1em);-ms-flex-preferred-size:calc(8.33% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(8.33% - 0.01px - 1em);flex-basis:calc(8.33% - 0.01px - var(--grid-gap, 1em));max-width:calc(8.33% - 0.01px - 1em);max-width:calc(8.33% - 0.01px - var(--grid-gap, 1em))}.col-2\@xs{-ms-flex-preferred-size:calc(16.66% - 0.01px - 1em);-ms-flex-preferred-size:calc(16.66% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(16.66% - 0.01px - 1em);flex-basis:calc(16.66% - 0.01px - var(--grid-gap, 1em));max-width:calc(16.66% - 0.01px - 1em);max-width:calc(16.66% - 0.01px - var(--grid-gap, 1em))}.col-3\@xs{-ms-flex-preferred-size:calc(25% - 0.01px - 1em);-ms-flex-preferred-size:calc(25% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(25% - 0.01px - 1em);flex-basis:calc(25% - 0.01px - var(--grid-gap, 1em));max-width:calc(25% - 0.01px - 1em);max-width:calc(25% - 0.01px - var(--grid-gap, 1em))}.col-4\@xs{-ms-flex-preferred-size:calc(33.33% - 0.01px - 1em);-ms-flex-preferred-size:calc(33.33% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(33.33% - 0.01px - 1em);flex-basis:calc(33.33% - 0.01px - var(--grid-gap, 1em));max-width:calc(33.33% - 0.01px - 1em);max-width:calc(33.33% - 0.01px - var(--grid-gap, 1em))}.col-5\@xs{-ms-flex-preferred-size:calc(41.66% - 0.01px - 1em);-ms-flex-preferred-size:calc(41.66% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(41.66% - 0.01px - 1em);flex-basis:calc(41.66% - 0.01px - var(--grid-gap, 1em));max-width:calc(41.66% - 0.01px - 1em);max-width:calc(41.66% - 0.01px - var(--grid-gap, 1em))}.col-6\@xs{-ms-flex-preferred-size:calc(50% - 0.01px - 1em);-ms-flex-preferred-size:calc(50% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(50% - 0.01px - 1em);flex-basis:calc(50% - 0.01px - var(--grid-gap, 1em));max-width:calc(50% - 0.01px - 1em);max-width:calc(50% - 0.01px - var(--grid-gap, 1em))}.col-7\@xs{-ms-flex-preferred-size:calc(58.33% - 0.01px - 1em);-ms-flex-preferred-size:calc(58.33% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(58.33% - 0.01px - 1em);flex-basis:calc(58.33% - 0.01px - var(--grid-gap, 1em));max-width:calc(58.33% - 0.01px - 1em);max-width:calc(58.33% - 0.01px - var(--grid-gap, 1em))}.col-8\@xs{-ms-flex-preferred-size:calc(66.66% - 0.01px - 1em);-ms-flex-preferred-size:calc(66.66% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(66.66% - 0.01px - 1em);flex-basis:calc(66.66% - 0.01px - var(--grid-gap, 1em));max-width:calc(66.66% - 0.01px - 1em);max-width:calc(66.66% - 0.01px - var(--grid-gap, 1em))}.col-9\@xs{-ms-flex-preferred-size:calc(75% - 0.01px - 1em);-ms-flex-preferred-size:calc(75% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(75% - 0.01px - 1em);flex-basis:calc(75% - 0.01px - var(--grid-gap, 1em));max-width:calc(75% - 0.01px - 1em);max-width:calc(75% - 0.01px - var(--grid-gap, 1em))}.col-10\@xs{-ms-flex-preferred-size:calc(83.33% - 0.01px - 1em);-ms-flex-preferred-size:calc(83.33% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(83.33% - 0.01px - 1em);flex-basis:calc(83.33% - 0.01px - var(--grid-gap, 1em));max-width:calc(83.33% - 0.01px - 1em);max-width:calc(83.33% - 0.01px - var(--grid-gap, 1em))}.col-11\@xs{-ms-flex-preferred-size:calc(91.66% - 0.01px - 1em);-ms-flex-preferred-size:calc(91.66% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(91.66% - 0.01px - 1em);flex-basis:calc(91.66% - 0.01px - var(--grid-gap, 1em));max-width:calc(91.66% - 0.01px - 1em);max-width:calc(91.66% - 0.01px - var(--grid-gap, 1em))}.col-12\@xs{-ms-flex-preferred-size:calc(100% - 0.01px - 1em);-ms-flex-preferred-size:calc(100% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(100% - 0.01px - 1em);flex-basis:calc(100% - 0.01px - var(--grid-gap, 1em));max-width:calc(100% - 0.01px - 1em);max-width:calc(100% - 0.01px - var(--grid-gap, 1em))}}@media (min-width: 48rem){.col\@sm{-ms-flex-positive:1;flex-grow:1;-ms-flex-preferred-size:0;flex-basis:0;max-width:100%}.col-1\@sm{-ms-flex-preferred-size:calc(8.33% - 0.01px - 1em);-ms-flex-preferred-size:calc(8.33% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(8.33% - 0.01px - 1em);flex-basis:calc(8.33% - 0.01px - var(--grid-gap, 1em));max-width:calc(8.33% - 0.01px - 1em);max-width:calc(8.33% - 0.01px - var(--grid-gap, 1em))}.col-2\@sm{-ms-flex-preferred-size:calc(16.66% - 0.01px - 1em);-ms-flex-preferred-size:calc(16.66% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(16.66% - 0.01px - 1em);flex-basis:calc(16.66% - 0.01px - var(--grid-gap, 1em));max-width:calc(16.66% - 0.01px - 1em);max-width:calc(16.66% - 0.01px - var(--grid-gap, 1em))}.col-3\@sm{-ms-flex-preferred-size:calc(25% - 0.01px - 1em);-ms-flex-preferred-size:calc(25% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(25% - 0.01px - 1em);flex-basis:calc(25% - 0.01px - var(--grid-gap, 1em));max-width:calc(25% - 0.01px - 1em);max-width:calc(25% - 0.01px - var(--grid-gap, 1em))}.col-4\@sm{-ms-flex-preferred-size:calc(33.33% - 0.01px - 1em);-ms-flex-preferred-size:calc(33.33% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(33.33% - 0.01px - 1em);flex-basis:calc(33.33% - 0.01px - var(--grid-gap, 1em));max-width:calc(33.33% - 0.01px - 1em);max-width:calc(33.33% - 0.01px - var(--grid-gap, 1em))}.col-5\@sm{-ms-flex-preferred-size:calc(41.66% - 0.01px - 1em);-ms-flex-preferred-size:calc(41.66% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(41.66% - 0.01px - 1em);flex-basis:calc(41.66% - 0.01px - var(--grid-gap, 1em));max-width:calc(41.66% - 0.01px - 1em);max-width:calc(41.66% - 0.01px - var(--grid-gap, 1em))}.col-6\@sm{-ms-flex-preferred-size:calc(50% - 0.01px - 1em);-ms-flex-preferred-size:calc(50% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(50% - 0.01px - 1em);flex-basis:calc(50% - 0.01px - var(--grid-gap, 1em));max-width:calc(50% - 0.01px - 1em);max-width:calc(50% - 0.01px - var(--grid-gap, 1em))}.col-7\@sm{-ms-flex-preferred-size:calc(58.33% - 0.01px - 1em);-ms-flex-preferred-size:calc(58.33% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(58.33% - 0.01px - 1em);flex-basis:calc(58.33% - 0.01px - var(--grid-gap, 1em));max-width:calc(58.33% - 0.01px - 1em);max-width:calc(58.33% - 0.01px - var(--grid-gap, 1em))}.col-8\@sm{-ms-flex-preferred-size:calc(66.66% - 0.01px - 1em);-ms-flex-preferred-size:calc(66.66% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(66.66% - 0.01px - 1em);flex-basis:calc(66.66% - 0.01px - var(--grid-gap, 1em));max-width:calc(66.66% - 0.01px - 1em);max-width:calc(66.66% - 0.01px - var(--grid-gap, 1em))}.col-9\@sm{-ms-flex-preferred-size:calc(75% - 0.01px - 1em);-ms-flex-preferred-size:calc(75% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(75% - 0.01px - 1em);flex-basis:calc(75% - 0.01px - var(--grid-gap, 1em));max-width:calc(75% - 0.01px - 1em);max-width:calc(75% - 0.01px - var(--grid-gap, 1em))}.col-10\@sm{-ms-flex-preferred-size:calc(83.33% - 0.01px - 1em);-ms-flex-preferred-size:calc(83.33% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(83.33% - 0.01px - 1em);flex-basis:calc(83.33% - 0.01px - var(--grid-gap, 1em));max-width:calc(83.33% - 0.01px - 1em);max-width:calc(83.33% - 0.01px - var(--grid-gap, 1em))}.col-11\@sm{-ms-flex-preferred-size:calc(91.66% - 0.01px - 1em);-ms-flex-preferred-size:calc(91.66% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(91.66% - 0.01px - 1em);flex-basis:calc(91.66% - 0.01px - var(--grid-gap, 1em));max-width:calc(91.66% - 0.01px - 1em);max-width:calc(91.66% - 0.01px - var(--grid-gap, 1em))}.col-12\@sm{-ms-flex-preferred-size:calc(100% - 0.01px - 1em);-ms-flex-preferred-size:calc(100% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(100% - 0.01px - 1em);flex-basis:calc(100% - 0.01px - var(--grid-gap, 1em));max-width:calc(100% - 0.01px - 1em);max-width:calc(100% - 0.01px - var(--grid-gap, 1em))}}@media (min-width: 64rem){.col\@md{-ms-flex-positive:1;flex-grow:1;-ms-flex-preferred-size:0;flex-basis:0;max-width:100%}.col-1\@md{-ms-flex-preferred-size:calc(8.33% - 0.01px - 1em);-ms-flex-preferred-size:calc(8.33% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(8.33% - 0.01px - 1em);flex-basis:calc(8.33% - 0.01px - var(--grid-gap, 1em));max-width:calc(8.33% - 0.01px - 1em);max-width:calc(8.33% - 0.01px - var(--grid-gap, 1em))}.col-2\@md{-ms-flex-preferred-size:calc(16.66% - 0.01px - 1em);-ms-flex-preferred-size:calc(16.66% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(16.66% - 0.01px - 1em);flex-basis:calc(16.66% - 0.01px - var(--grid-gap, 1em));max-width:calc(16.66% - 0.01px - 1em);max-width:calc(16.66% - 0.01px - var(--grid-gap, 1em))}.col-3\@md{-ms-flex-preferred-size:calc(25% - 0.01px - 1em);-ms-flex-preferred-size:calc(25% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(25% - 0.01px - 1em);flex-basis:calc(25% - 0.01px - var(--grid-gap, 1em));max-width:calc(25% - 0.01px - 1em);max-width:calc(25% - 0.01px - var(--grid-gap, 1em))}.col-4\@md{-ms-flex-preferred-size:calc(33.33% - 0.01px - 1em);-ms-flex-preferred-size:calc(33.33% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(33.33% - 0.01px - 1em);flex-basis:calc(33.33% - 0.01px - var(--grid-gap, 1em));max-width:calc(33.33% - 0.01px - 1em);max-width:calc(33.33% - 0.01px - var(--grid-gap, 1em))}.col-5\@md{-ms-flex-preferred-size:calc(41.66% - 0.01px - 1em);-ms-flex-preferred-size:calc(41.66% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(41.66% - 0.01px - 1em);flex-basis:calc(41.66% - 0.01px - var(--grid-gap, 1em));max-width:calc(41.66% - 0.01px - 1em);max-width:calc(41.66% - 0.01px - var(--grid-gap, 1em))}.col-6\@md{-ms-flex-preferred-size:calc(50% - 0.01px - 1em);-ms-flex-preferred-size:calc(50% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(50% - 0.01px - 1em);flex-basis:calc(50% - 0.01px - var(--grid-gap, 1em));max-width:calc(50% - 0.01px - 1em);max-width:calc(50% - 0.01px - var(--grid-gap, 1em))}.col-7\@md{-ms-flex-preferred-size:calc(58.33% - 0.01px - 1em);-ms-flex-preferred-size:calc(58.33% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(58.33% - 0.01px - 1em);flex-basis:calc(58.33% - 0.01px - var(--grid-gap, 1em));max-width:calc(58.33% - 0.01px - 1em);max-width:calc(58.33% - 0.01px - var(--grid-gap, 1em))}.col-8\@md{-ms-flex-preferred-size:calc(66.66% - 0.01px - 1em);-ms-flex-preferred-size:calc(66.66% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(66.66% - 0.01px - 1em);flex-basis:calc(66.66% - 0.01px - var(--grid-gap, 1em));max-width:calc(66.66% - 0.01px - 1em);max-width:calc(66.66% - 0.01px - var(--grid-gap, 1em))}.col-9\@md{-ms-flex-preferred-size:calc(75% - 0.01px - 1em);-ms-flex-preferred-size:calc(75% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(75% - 0.01px - 1em);flex-basis:calc(75% - 0.01px - var(--grid-gap, 1em));max-width:calc(75% - 0.01px - 1em);max-width:calc(75% - 0.01px - var(--grid-gap, 1em))}.col-10\@md{-ms-flex-preferred-size:calc(83.33% - 0.01px - 1em);-ms-flex-preferred-size:calc(83.33% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(83.33% - 0.01px - 1em);flex-basis:calc(83.33% - 0.01px - var(--grid-gap, 1em));max-width:calc(83.33% - 0.01px - 1em);max-width:calc(83.33% - 0.01px - var(--grid-gap, 1em))}.col-11\@md{-ms-flex-preferred-size:calc(91.66% - 0.01px - 1em);-ms-flex-preferred-size:calc(91.66% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(91.66% - 0.01px - 1em);flex-basis:calc(91.66% - 0.01px - var(--grid-gap, 1em));max-width:calc(91.66% - 0.01px - 1em);max-width:calc(91.66% - 0.01px - var(--grid-gap, 1em))}.col-12\@md{-ms-flex-preferred-size:calc(100% - 0.01px - 1em);-ms-flex-preferred-size:calc(100% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(100% - 0.01px - 1em);flex-basis:calc(100% - 0.01px - var(--grid-gap, 1em));max-width:calc(100% - 0.01px - 1em);max-width:calc(100% - 0.01px - var(--grid-gap, 1em))}}@media (min-width: 80rem){.col\@lg{-ms-flex-positive:1;flex-grow:1;-ms-flex-preferred-size:0;flex-basis:0;max-width:100%}.col-1\@lg{-ms-flex-preferred-size:calc(8.33% - 0.01px - 1em);-ms-flex-preferred-size:calc(8.33% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(8.33% - 0.01px - 1em);flex-basis:calc(8.33% - 0.01px - var(--grid-gap, 1em));max-width:calc(8.33% - 0.01px - 1em);max-width:calc(8.33% - 0.01px - var(--grid-gap, 1em))}.col-2\@lg{-ms-flex-preferred-size:calc(16.66% - 0.01px - 1em);-ms-flex-preferred-size:calc(16.66% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(16.66% - 0.01px - 1em);flex-basis:calc(16.66% - 0.01px - var(--grid-gap, 1em));max-width:calc(16.66% - 0.01px - 1em);max-width:calc(16.66% - 0.01px - var(--grid-gap, 1em))}.col-3\@lg{-ms-flex-preferred-size:calc(25% - 0.01px - 1em);-ms-flex-preferred-size:calc(25% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(25% - 0.01px - 1em);flex-basis:calc(25% - 0.01px - var(--grid-gap, 1em));max-width:calc(25% - 0.01px - 1em);max-width:calc(25% - 0.01px - var(--grid-gap, 1em))}.col-4\@lg{-ms-flex-preferred-size:calc(33.33% - 0.01px - 1em);-ms-flex-preferred-size:calc(33.33% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(33.33% - 0.01px - 1em);flex-basis:calc(33.33% - 0.01px - var(--grid-gap, 1em));max-width:calc(33.33% - 0.01px - 1em);max-width:calc(33.33% - 0.01px - var(--grid-gap, 1em))}.col-5\@lg{-ms-flex-preferred-size:calc(41.66% - 0.01px - 1em);-ms-flex-preferred-size:calc(41.66% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(41.66% - 0.01px - 1em);flex-basis:calc(41.66% - 0.01px - var(--grid-gap, 1em));max-width:calc(41.66% - 0.01px - 1em);max-width:calc(41.66% - 0.01px - var(--grid-gap, 1em))}.col-6\@lg{-ms-flex-preferred-size:calc(50% - 0.01px - 1em);-ms-flex-preferred-size:calc(50% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(50% - 0.01px - 1em);flex-basis:calc(50% - 0.01px - var(--grid-gap, 1em));max-width:calc(50% - 0.01px - 1em);max-width:calc(50% - 0.01px - var(--grid-gap, 1em))}.col-7\@lg{-ms-flex-preferred-size:calc(58.33% - 0.01px - 1em);-ms-flex-preferred-size:calc(58.33% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(58.33% - 0.01px - 1em);flex-basis:calc(58.33% - 0.01px - var(--grid-gap, 1em));max-width:calc(58.33% - 0.01px - 1em);max-width:calc(58.33% - 0.01px - var(--grid-gap, 1em))}.col-8\@lg{-ms-flex-preferred-size:calc(66.66% - 0.01px - 1em);-ms-flex-preferred-size:calc(66.66% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(66.66% - 0.01px - 1em);flex-basis:calc(66.66% - 0.01px - var(--grid-gap, 1em));max-width:calc(66.66% - 0.01px - 1em);max-width:calc(66.66% - 0.01px - var(--grid-gap, 1em))}.col-9\@lg{-ms-flex-preferred-size:calc(75% - 0.01px - 1em);-ms-flex-preferred-size:calc(75% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(75% - 0.01px - 1em);flex-basis:calc(75% - 0.01px - var(--grid-gap, 1em));max-width:calc(75% - 0.01px - 1em);max-width:calc(75% - 0.01px - var(--grid-gap, 1em))}.col-10\@lg{-ms-flex-preferred-size:calc(83.33% - 0.01px - 1em);-ms-flex-preferred-size:calc(83.33% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(83.33% - 0.01px - 1em);flex-basis:calc(83.33% - 0.01px - var(--grid-gap, 1em));max-width:calc(83.33% - 0.01px - 1em);max-width:calc(83.33% - 0.01px - var(--grid-gap, 1em))}.col-11\@lg{-ms-flex-preferred-size:calc(91.66% - 0.01px - 1em);-ms-flex-preferred-size:calc(91.66% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(91.66% - 0.01px - 1em);flex-basis:calc(91.66% - 0.01px - var(--grid-gap, 1em));max-width:calc(91.66% - 0.01px - 1em);max-width:calc(91.66% - 0.01px - var(--grid-gap, 1em))}.col-12\@lg{-ms-flex-preferred-size:calc(100% - 0.01px - 1em);-ms-flex-preferred-size:calc(100% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(100% - 0.01px - 1em);flex-basis:calc(100% - 0.01px - var(--grid-gap, 1em));max-width:calc(100% - 0.01px - 1em);max-width:calc(100% - 0.01px - var(--grid-gap, 1em))}}@media (min-width: 90rem){.col\@xl{-ms-flex-positive:1;flex-grow:1;-ms-flex-preferred-size:0;flex-basis:0;max-width:100%}.col-1\@xl{-ms-flex-preferred-size:calc(8.33% - 0.01px - 1em);-ms-flex-preferred-size:calc(8.33% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(8.33% - 0.01px - 1em);flex-basis:calc(8.33% - 0.01px - var(--grid-gap, 1em));max-width:calc(8.33% - 0.01px - 1em);max-width:calc(8.33% - 0.01px - var(--grid-gap, 1em))}.col-2\@xl{-ms-flex-preferred-size:calc(16.66% - 0.01px - 1em);-ms-flex-preferred-size:calc(16.66% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(16.66% - 0.01px - 1em);flex-basis:calc(16.66% - 0.01px - var(--grid-gap, 1em));max-width:calc(16.66% - 0.01px - 1em);max-width:calc(16.66% - 0.01px - var(--grid-gap, 1em))}.col-3\@xl{-ms-flex-preferred-size:calc(25% - 0.01px - 1em);-ms-flex-preferred-size:calc(25% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(25% - 0.01px - 1em);flex-basis:calc(25% - 0.01px - var(--grid-gap, 1em));max-width:calc(25% - 0.01px - 1em);max-width:calc(25% - 0.01px - var(--grid-gap, 1em))}.col-4\@xl{-ms-flex-preferred-size:calc(33.33% - 0.01px - 1em);-ms-flex-preferred-size:calc(33.33% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(33.33% - 0.01px - 1em);flex-basis:calc(33.33% - 0.01px - var(--grid-gap, 1em));max-width:calc(33.33% - 0.01px - 1em);max-width:calc(33.33% - 0.01px - var(--grid-gap, 1em))}.col-5\@xl{-ms-flex-preferred-size:calc(41.66% - 0.01px - 1em);-ms-flex-preferred-size:calc(41.66% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(41.66% - 0.01px - 1em);flex-basis:calc(41.66% - 0.01px - var(--grid-gap, 1em));max-width:calc(41.66% - 0.01px - 1em);max-width:calc(41.66% - 0.01px - var(--grid-gap, 1em))}.col-6\@xl{-ms-flex-preferred-size:calc(50% - 0.01px - 1em);-ms-flex-preferred-size:calc(50% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(50% - 0.01px - 1em);flex-basis:calc(50% - 0.01px - var(--grid-gap, 1em));max-width:calc(50% - 0.01px - 1em);max-width:calc(50% - 0.01px - var(--grid-gap, 1em))}.col-7\@xl{-ms-flex-preferred-size:calc(58.33% - 0.01px - 1em);-ms-flex-preferred-size:calc(58.33% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(58.33% - 0.01px - 1em);flex-basis:calc(58.33% - 0.01px - var(--grid-gap, 1em));max-width:calc(58.33% - 0.01px - 1em);max-width:calc(58.33% - 0.01px - var(--grid-gap, 1em))}.col-8\@xl{-ms-flex-preferred-size:calc(66.66% - 0.01px - 1em);-ms-flex-preferred-size:calc(66.66% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(66.66% - 0.01px - 1em);flex-basis:calc(66.66% - 0.01px - var(--grid-gap, 1em));max-width:calc(66.66% - 0.01px - 1em);max-width:calc(66.66% - 0.01px - var(--grid-gap, 1em))}.col-9\@xl{-ms-flex-preferred-size:calc(75% - 0.01px - 1em);-ms-flex-preferred-size:calc(75% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(75% - 0.01px - 1em);flex-basis:calc(75% - 0.01px - var(--grid-gap, 1em));max-width:calc(75% - 0.01px - 1em);max-width:calc(75% - 0.01px - var(--grid-gap, 1em))}.col-10\@xl{-ms-flex-preferred-size:calc(83.33% - 0.01px - 1em);-ms-flex-preferred-size:calc(83.33% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(83.33% - 0.01px - 1em);flex-basis:calc(83.33% - 0.01px - var(--grid-gap, 1em));max-width:calc(83.33% - 0.01px - 1em);max-width:calc(83.33% - 0.01px - var(--grid-gap, 1em))}.col-11\@xl{-ms-flex-preferred-size:calc(91.66% - 0.01px - 1em);-ms-flex-preferred-size:calc(91.66% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(91.66% - 0.01px - 1em);flex-basis:calc(91.66% - 0.01px - var(--grid-gap, 1em));max-width:calc(91.66% - 0.01px - 1em);max-width:calc(91.66% - 0.01px - var(--grid-gap, 1em))}.col-12\@xl{-ms-flex-preferred-size:calc(100% - 0.01px - 1em);-ms-flex-preferred-size:calc(100% - 0.01px - var(--grid-gap, 1em));flex-basis:calc(100% - 0.01px - 1em);flex-basis:calc(100% - 0.01px - var(--grid-gap, 1em));max-width:calc(100% - 0.01px - 1em);max-width:calc(100% - 0.01px - var(--grid-gap, 1em))}}:root{--radius-sm: calc(var(--radius, 0.25em)/2);--radius-md: var(--radius, 0.25em);--radius-lg: calc(var(--radius, 0.25em)*2);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .085), 0 1px 8px rgba(0, 0, 0, .1);--shadow-md: 0 1px 8px rgba(0, 0, 0, .1), 0 8px 24px rgba(0, 0, 0, .15);--shadow-lg: 0 1px 8px rgba(0, 0, 0, .1), 0 16px 48px rgba(0, 0, 0, .1), 0 24px 60px rgba(0, 0, 0, .1);--bounce: cubic-bezier(0.175, 0.885, 0.32, 1.275);--ease-in-out: cubic-bezier(0.645, 0.045, 0.355, 1);--ease-in: cubic-bezier(0.55, 0.055, 0.675, 0.19);--ease-out: cubic-bezier(0.215, 0.61, 0.355, 1)}:root{--body-line-height: 1.4;--heading-line-height: 1.2}body{font-size:1em;font-size:var(--text-base-size, 1em);font-family:'Source Sans Pro', sans-serif;font-family:var(--font-primary, sans-serif);color:hsl(240, 4%, 20%);color:var(--color-contrast-high, #313135)}h1,h2,h3,h4{color:hsl(240, 8%, 12%);color:var(--color-contrast-higher, #1c1c21);line-height:1.2;line-height:var(--heading-line-height, 1.2)}.text-xxxl{font-size:2.48832em;font-size:var(--text-xxxl, 2.488em)}h1,.text-xxl{font-size:2.0736em;font-size:var(--text-xxl, 2.074em)}h2,.text-xl{font-size:1.728em;font-size:var(--text-xl, 1.728em)}h3,.text-lg{font-size:1.44em;font-size:var(--text-lg, 1.44em)}h4,.text-md{font-size:1.2em;font-size:var(--text-md, 1.2em)}small,.text-sm{font-size:0.83333em;font-size:var(--text-sm, 0.833em)}.text-xs{font-size:0.69444em;font-size:var(--text-xs, 0.694em)}a,.link{color:hsl(220, 90%, 56%);color:var(--color-primary, #2a6df4);text-decoration:underline}strong,.text-bold{font-weight:bold}s{text-decoration:line-through}u,.text-underline{text-decoration:underline}.text-component{--component-body-line-height: calc(var(--body-line-height)*var(--line-height-multiplier, 1));--component-heading-line-height: calc(var(--heading-line-height)*var(--line-height-multiplier, 1))}.text-component h1,.text-component h2,.text-component h3,.text-component h4{line-height:1.2;line-height:var(--component-heading-line-height, 1.2);margin-bottom:0.25em;margin-bottom:calc(var(--space-xxxs)*var(--text-vspace-multiplier, 1))}.text-component h2,.text-component h3,.text-component h4{margin-top:0.75em;margin-top:calc(var(--space-sm)*var(--text-vspace-multiplier, 1))}.text-component p,.text-component blockquote,.text-component ul li,.text-component ol li{line-height:1.4;line-height:var(--component-body-line-height)}.text-component ul,.text-component ol,.text-component p,.text-component blockquote,.text-component .text-component__block{margin-bottom:0.75em;margin-bottom:calc(var(--space-sm)*var(--text-vspace-multiplier, 1))}.text-component ul,.text-component ol{padding-left:1em}.text-component ul{list-style-type:disc}.text-component ol{list-style-type:decimal}.text-component img{display:block;margin:0 auto}.text-component figcaption{text-align:center;margin-top:0.5em;margin-top:var(--space-xs)}.text-component em{font-style:italic}.text-component hr{margin-top:2em;margin-top:calc(var(--space-lg)*var(--text-vspace-multiplier, 1));margin-bottom:2em;margin-bottom:calc(var(--space-lg)*var(--text-vspace-multiplier, 1));margin-left:auto;margin-right:auto}.text-component>*:first-child{margin-top:0}.text-component>*:last-child{margin-bottom:0}.text-component__block--full-width{width:100vw;margin-left:calc(50% - 50vw)}@media (min-width: 48rem){.text-component__block--left,.text-component__block--right{width:45%}.text-component__block--left img,.text-component__block--right img{width:100%}.text-component__block--left{float:left;margin-right:0.75em;margin-right:calc(var(--space-sm)*var(--text-vspace-multiplier, 1))}.text-component__block--right{float:right;margin-left:0.75em;margin-left:calc(var(--space-sm)*var(--text-vspace-multiplier, 1))}}@media (min-width: 90rem){.text-component__block--outset{width:calc(100% + 10.5em);width:calc(100% + 2*var(--space-xxl))}.text-component__block--outset img{width:100%}.text-component__block--outset:not(.text-component__block--right){margin-left:-5.25em;margin-left:calc(-1*var(--space-xxl))}.text-component__block--left,.text-component__block--right{width:50%}.text-component__block--right.text-component__block--outset{margin-right:-5.25em;margin-right:calc(-1*var(--space-xxl))}}:root{--icon-xxs: 12px;--icon-xs: 16px;--icon-sm: 24px;--icon-md: 32px;--icon-lg: 48px;--icon-xl: 64px;--icon-xxl: 128px}.icon{display:inline-block;color:inherit;fill:currentColor;height:1em;width:1em;line-height:1;-ms-flex-negative:0;flex-shrink:0}.icon--xxs{font-size:12px;font-size:var(--icon-xxs)}.icon--xs{font-size:16px;font-size:var(--icon-xs)}.icon--sm{font-size:24px;font-size:var(--icon-sm)}.icon--md{font-size:32px;font-size:var(--icon-md)}.icon--lg{font-size:48px;font-size:var(--icon-lg)}.icon--xl{font-size:64px;font-size:var(--icon-xl)}.icon--xxl{font-size:128px;font-size:var(--icon-xxl)}.icon--is-spinning{-webkit-animation:icon-spin 1s infinite linear;animation:icon-spin 1s infinite linear}@-webkit-keyframes icon-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes icon-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.icon use{color:inherit;fill:currentColor}.btn{position:relative;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center;white-space:nowrap;text-decoration:none;line-height:1;font-size:1em;font-size:var(--btn-font-size, 1em);padding-top:0.5em;padding-top:var(--btn-padding-y, 0.5em);padding-bottom:0.5em;padding-bottom:var(--btn-padding-y, 0.5em);padding-left:0.75em;padding-left:var(--btn-padding-x, 0.75em);padding-right:0.75em;padding-right:var(--btn-padding-x, 0.75em);border-radius:0.25em;border-radius:var(--btn-radius, 0.25em)}.btn--primary{background-color:hsl(220, 90%, 56%);background-color:var(--color-primary, #2a6df4);color:hsl(0, 0%, 100%);color:var(--color-white, #fff)}.btn--subtle{background-color:hsl(240, 1%, 83%);background-color:var(--color-contrast-low, #d3d3d4);color:hsl(240, 8%, 12%);color:var(--color-contrast-higher, #1c1c21)}.btn--accent{background-color:hsl(355, 90%, 61%);background-color:var(--color-accent, #f54251);color:hsl(0, 0%, 100%);color:var(--color-white, #fff)}.btn--disabled{cursor:not-allowed}.btn--sm{font-size:0.8em;font-size:var(--btn-font-size-sm, 0.8em)}.btn--md{font-size:1.2em;font-size:var(--btn-font-size-md, 1.2em)}.btn--lg{font-size:1.4em;font-size:var(--btn-font-size-lg, 1.4em)}.btn--icon{padding:0.5em;padding:var(--btn-padding-y, 0.5em)}.form-control{background-color:hsl(0, 0%, 100%);background-color:var(--color-bg, #f2f2f2);padding-top:0.5em;padding-top:var(--form-control-padding-y, 0.5em);padding-bottom:0.5em;padding-bottom:var(--form-control-padding-y, 0.5em);padding-left:0.75em;padding-left:var(--form-control-padding-x, 0.75em);padding-right:0.75em;padding-right:var(--form-control-padding-x, 0.75em);border-radius:0.25em;border-radius:var(--form-control-radius, 0.25em)}.form-control::-webkit-input-placeholder{color:hsl(240, 1%, 48%);color:var(--color-contrast-medium, #79797c)}.form-control::-moz-placeholder{opacity:1;color:hsl(240, 1%, 48%);color:var(--color-contrast-medium, #79797c)}.form-control:-ms-input-placeholder{color:hsl(240, 1%, 48%);color:var(--color-contrast-medium, #79797c)}.form-control:-moz-placeholder{color:hsl(240, 1%, 48%);color:var(--color-contrast-medium, #79797c)}.form-control[disabled],.form-control[readonly]{cursor:not-allowed}.form-legend{color:hsl(240, 8%, 12%);color:var(--color-contrast-higher, #1c1c21);line-height:1.2;font-size:1.2em;font-size:var(--text-md, 1.2em);margin-bottom:0.375em;margin-bottom:var(--space-xxs)}.form-label{display:inline-block}.form__msg-error{background-color:hsl(355, 90%, 61%);background-color:var(--color-error, #f54251);color:hsl(0, 0%, 100%);color:var(--color-white, #fff);font-size:0.83333em;font-size:var(--text-sm, 0.833em);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;padding:0.5em;padding:var(--space-xs);margin-top:0.75em;margin-top:var(--space-sm);border-radius:0.25em;border-radius:var(--radius-md, 0.25em);position:absolute;clip:rect(1px, 1px, 1px, 1px)}.form__msg-error::before{content:'';position:absolute;left:0.75em;left:var(--space-sm);top:0;-webkit-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%);width:0;height:0;border:8px solid transparent;border-bottom-color:hsl(355, 90%, 61%);border-bottom-color:var(--color-error)}.form__msg-error--is-visible{position:relative;clip:auto}.radio-list>*,.checkbox-list>*{position:relative;display:-ms-flexbox;display:flex;-ms-flex-align:baseline;align-items:baseline;margin-bottom:0.375em;margin-bottom:var(--space-xxs)}.radio-list>*:last-of-type,.checkbox-list>*:last-of-type{margin-bottom:0}.radio-list label,.checkbox-list label{line-height:1.4;line-height:var(--body-line-height);-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.radio-list input,.checkbox-list input{vertical-align:top;margin-right:0.25em;margin-right:var(--space-xxxs);-ms-flex-negative:0;flex-shrink:0}:root{--zindex-header: 2;--zindex-popover: 5;--zindex-fixed-element: 10;--zindex-overlay: 15}@media not all and (min-width: 32rem){.display\@xs{display:none !important}}@media (min-width: 32rem){.hide\@xs{display:none !important}}@media not all and (min-width: 48rem){.display\@sm{display:none !important}}@media (min-width: 48rem){.hide\@sm{display:none !important}}@media not all and (min-width: 64rem){.display\@md{display:none !important}}@media (min-width: 64rem){.hide\@md{display:none !important}}@media not all and (min-width: 80rem){.display\@lg{display:none !important}}@media (min-width: 80rem){.hide\@lg{display:none !important}}@media not all and (min-width: 90rem){.display\@xl{display:none !important}}@media (min-width: 90rem){.hide\@xl{display:none !important}}:root{--display: block}.is-visible{display:block !important;display:var(--display) !important}.is-hidden{display:none !important}.sr-only{position:absolute;clip:rect(1px, 1px, 1px, 1px);-webkit-clip-path:inset(50%);clip-path:inset(50%);width:1px;height:1px;overflow:hidden;padding:0;border:0;white-space:nowrap}.flex{display:-ms-flexbox;display:flex}.inline-flex{display:-ms-inline-flexbox;display:inline-flex}.flex-wrap{-ms-flex-wrap:wrap;flex-wrap:wrap}.flex-column{-ms-flex-direction:column;flex-direction:column}.flex-row{-ms-flex-direction:row;flex-direction:row}.flex-center{-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.justify-start{-ms-flex-pack:start;justify-content:flex-start}.justify-end{-ms-flex-pack:end;justify-content:flex-end}.justify-center{-ms-flex-pack:center;justify-content:center}.justify-between{-ms-flex-pack:justify;justify-content:space-between}.items-center{-ms-flex-align:center;align-items:center}.items-start{-ms-flex-align:start;align-items:flex-start}.items-end{-ms-flex-align:end;align-items:flex-end}@media (min-width: 32rem){.flex-wrap\@xs{-ms-flex-wrap:wrap;flex-wrap:wrap}.flex-column\@xs{-ms-flex-direction:column;flex-direction:column}.flex-row\@xs{-ms-flex-direction:row;flex-direction:row}.flex-center\@xs{-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.justify-start\@xs{-ms-flex-pack:start;justify-content:flex-start}.justify-end\@xs{-ms-flex-pack:end;justify-content:flex-end}.justify-center\@xs{-ms-flex-pack:center;justify-content:center}.justify-between\@xs{-ms-flex-pack:justify;justify-content:space-between}.items-center\@xs{-ms-flex-align:center;align-items:center}.items-start\@xs{-ms-flex-align:start;align-items:flex-start}.items-end\@xs{-ms-flex-align:end;align-items:flex-end}}@media (min-width: 48rem){.flex-wrap\@sm{-ms-flex-wrap:wrap;flex-wrap:wrap}.flex-column\@sm{-ms-flex-direction:column;flex-direction:column}.flex-row\@sm{-ms-flex-direction:row;flex-direction:row}.flex-center\@sm{-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.justify-start\@sm{-ms-flex-pack:start;justify-content:flex-start}.justify-end\@sm{-ms-flex-pack:end;justify-content:flex-end}.justify-center\@sm{-ms-flex-pack:center;justify-content:center}.justify-between\@sm{-ms-flex-pack:justify;justify-content:space-between}.items-center\@sm{-ms-flex-align:center;align-items:center}.items-start\@sm{-ms-flex-align:start;align-items:flex-start}.items-end\@sm{-ms-flex-align:end;align-items:flex-end}}@media (min-width: 64rem){.flex-wrap\@md{-ms-flex-wrap:wrap;flex-wrap:wrap}.flex-column\@md{-ms-flex-direction:column;flex-direction:column}.flex-row\@md{-ms-flex-direction:row;flex-direction:row}.flex-center\@md{-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.justify-start\@md{-ms-flex-pack:start;justify-content:flex-start}.justify-end\@md{-ms-flex-pack:end;justify-content:flex-end}.justify-center\@md{-ms-flex-pack:center;justify-content:center}.justify-between\@md{-ms-flex-pack:justify;justify-content:space-between}.items-center\@md{-ms-flex-align:center;align-items:center}.items-start\@md{-ms-flex-align:start;align-items:flex-start}.items-end\@md{-ms-flex-align:end;align-items:flex-end}}@media (min-width: 80rem){.flex-wrap\@lg{-ms-flex-wrap:wrap;flex-wrap:wrap}.flex-column\@lg{-ms-flex-direction:column;flex-direction:column}.flex-row\@lg{-ms-flex-direction:row;flex-direction:row}.flex-center\@lg{-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.justify-start\@lg{-ms-flex-pack:start;justify-content:flex-start}.justify-end\@lg{-ms-flex-pack:end;justify-content:flex-end}.justify-center\@lg{-ms-flex-pack:center;justify-content:center}.justify-between\@lg{-ms-flex-pack:justify;justify-content:space-between}.items-center\@lg{-ms-flex-align:center;align-items:center}.items-start\@lg{-ms-flex-align:start;align-items:flex-start}.items-end\@lg{-ms-flex-align:end;align-items:flex-end}}@media (min-width: 90rem){.flex-wrap\@xl{-ms-flex-wrap:wrap;flex-wrap:wrap}.flex-column\@xl{-ms-flex-direction:column;flex-direction:column}.flex-row\@xl{-ms-flex-direction:row;flex-direction:row}.flex-center\@xl{-ms-flex-pack:center;justify-content:center;-ms-flex-align:center;align-items:center}.justify-start\@xl{-ms-flex-pack:start;justify-content:flex-start}.justify-end\@xl{-ms-flex-pack:end;justify-content:flex-end}.justify-center\@xl{-ms-flex-pack:center;justify-content:center}.justify-between\@xl{-ms-flex-pack:justify;justify-content:space-between}.items-center\@xl{-ms-flex-align:center;align-items:center}.items-start\@xl{-ms-flex-align:start;align-items:flex-start}.items-end\@xl{-ms-flex-align:end;align-items:flex-end}}.flex-grow{-ms-flex-positive:1;flex-grow:1}.flex-shrink-0{-ms-flex-negative:0;flex-shrink:0}.flex-gap-xxxs{margin-bottom:-0.25em;margin-bottom:calc(-1*var(--space-xxxs));margin-right:-0.25em;margin-right:calc(-1*var(--space-xxxs))}.flex-gap-xxxs>*{margin-bottom:0.25em;margin-bottom:var(--space-xxxs);margin-right:0.25em;margin-right:var(--space-xxxs)}.flex-gap-xxs{margin-bottom:-0.375em;margin-bottom:calc(-1*var(--space-xxs));margin-right:-0.375em;margin-right:calc(-1*var(--space-xxs))}.flex-gap-xxs>*{margin-bottom:0.375em;margin-bottom:var(--space-xxs);margin-right:0.375em;margin-right:var(--space-xxs)}.flex-gap-xs{margin-bottom:-0.5em;margin-bottom:calc(-1*var(--space-xs));margin-right:-0.5em;margin-right:calc(-1*var(--space-xs))}.flex-gap-xs>*{margin-bottom:0.5em;margin-bottom:var(--space-xs);margin-right:0.5em;margin-right:var(--space-xs)}.flex-gap-sm{margin-bottom:-0.75em;margin-bottom:calc(-1*var(--space-sm));margin-right:-0.75em;margin-right:calc(-1*var(--space-sm))}.flex-gap-sm>*{margin-bottom:0.75em;margin-bottom:var(--space-sm);margin-right:0.75em;margin-right:var(--space-sm)}.flex-gap-md{margin-bottom:-1.25em;margin-bottom:calc(-1*var(--space-md));margin-right:-1.25em;margin-right:calc(-1*var(--space-md))}.flex-gap-md>*{margin-bottom:1.25em;margin-bottom:var(--space-md);margin-right:1.25em;margin-right:var(--space-md)}.flex-gap-lg{margin-bottom:-2em;margin-bottom:calc(-1*var(--space-lg));margin-right:-2em;margin-right:calc(-1*var(--space-lg))}.flex-gap-lg>*{margin-bottom:2em;margin-bottom:var(--space-lg);margin-right:2em;margin-right:var(--space-lg)}.flex-gap-xl{margin-bottom:-3.25em;margin-bottom:calc(-1*var(--space-xl));margin-right:-3.25em;margin-right:calc(-1*var(--space-xl))}.flex-gap-xl>*{margin-bottom:3.25em;margin-bottom:var(--space-xl);margin-right:3.25em;margin-right:var(--space-xl)}.flex-gap-xxl{margin-bottom:-5.25em;margin-bottom:calc(-1*var(--space-xxl));margin-right:-5.25em;margin-right:calc(-1*var(--space-xxl))}.flex-gap-xxl>*{margin-bottom:5.25em;margin-bottom:var(--space-xxl);margin-right:5.25em;margin-right:var(--space-xxl)}.margin-xxxxs{margin:0.125em;margin:var(--space-xxxxs)}.margin-xxxs{margin:0.25em;margin:var(--space-xxxs)}.margin-xxs{margin:0.375em;margin:var(--space-xxs)}.margin-xs{margin:0.5em;margin:var(--space-xs)}.margin-sm{margin:0.75em;margin:var(--space-sm)}.margin-md{margin:1.25em;margin:var(--space-md)}.margin-lg{margin:2em;margin:var(--space-lg)}.margin-xl{margin:3.25em;margin:var(--space-xl)}.margin-xxl{margin:5.25em;margin:var(--space-xxl)}.margin-xxxl{margin:8.5em;margin:var(--space-xxxl)}.margin-xxxxl{margin:13.75em;margin:var(--space-xxxxl)}.margin-auto{margin:auto}.margin-top-xxxxs{margin-top:0.125em;margin-top:var(--space-xxxxs)}.margin-top-xxxs{margin-top:0.25em;margin-top:var(--space-xxxs)}.margin-top-xxs{margin-top:0.375em;margin-top:var(--space-xxs)}.margin-top-xs{margin-top:0.5em;margin-top:var(--space-xs)}.margin-top-sm{margin-top:0.75em;margin-top:var(--space-sm)}.margin-top-md{margin-top:1.25em;margin-top:var(--space-md)}.margin-top-lg{margin-top:2em;margin-top:var(--space-lg)}.margin-top-xl{margin-top:3.25em;margin-top:var(--space-xl)}.margin-top-xxl{margin-top:5.25em;margin-top:var(--space-xxl)}.margin-top-xxxl{margin-top:8.5em;margin-top:var(--space-xxxl)}.margin-top-xxxxl{margin-top:13.75em;margin-top:var(--space-xxxxl)}.margin-top-auto{margin-top:auto}.margin-bottom-xxxxs{margin-bottom:0.125em;margin-bottom:var(--space-xxxxs)}.margin-bottom-xxxs{margin-bottom:0.25em;margin-bottom:var(--space-xxxs)}.margin-bottom-xxs{margin-bottom:0.375em;margin-bottom:var(--space-xxs)}.margin-bottom-xs{margin-bottom:0.5em;margin-bottom:var(--space-xs)}.margin-bottom-sm{margin-bottom:0.75em;margin-bottom:var(--space-sm)}.margin-bottom-md{margin-bottom:1.25em;margin-bottom:var(--space-md)}.margin-bottom-lg{margin-bottom:2em;margin-bottom:var(--space-lg)}.margin-bottom-xl{margin-bottom:3.25em;margin-bottom:var(--space-xl)}.margin-bottom-xxl{margin-bottom:5.25em;margin-bottom:var(--space-xxl)}.margin-bottom-xxxl{margin-bottom:8.5em;margin-bottom:var(--space-xxxl)}.margin-bottom-xxxxl{margin-bottom:13.75em;margin-bottom:var(--space-xxxxl)}.margin-bottom-auto{margin-bottom:auto}.margin-right-xxxxs{margin-right:0.125em;margin-right:var(--space-xxxxs)}.margin-right-xxxs{margin-right:0.25em;margin-right:var(--space-xxxs)}.margin-right-xxs{margin-right:0.375em;margin-right:var(--space-xxs)}.margin-right-xs{margin-right:0.5em;margin-right:var(--space-xs)}.margin-right-sm{margin-right:0.75em;margin-right:var(--space-sm)}.margin-right-md{margin-right:1.25em;margin-right:var(--space-md)}.margin-right-lg{margin-right:2em;margin-right:var(--space-lg)}.margin-right-xl{margin-right:3.25em;margin-right:var(--space-xl)}.margin-right-xxl{margin-right:5.25em;margin-right:var(--space-xxl)}.margin-right-xxxl{margin-right:8.5em;margin-right:var(--space-xxxl)}.margin-right-xxxxl{margin-right:13.75em;margin-right:var(--space-xxxxl)}.margin-right-auto{margin-right:auto}.margin-left-xxxxs{margin-left:0.125em;margin-left:var(--space-xxxxs)}.margin-left-xxxs{margin-left:0.25em;margin-left:var(--space-xxxs)}.margin-left-xxs{margin-left:0.375em;margin-left:var(--space-xxs)}.margin-left-xs{margin-left:0.5em;margin-left:var(--space-xs)}.margin-left-sm{margin-left:0.75em;margin-left:var(--space-sm)}.margin-left-md{margin-left:1.25em;margin-left:var(--space-md)}.margin-left-lg{margin-left:2em;margin-left:var(--space-lg)}.margin-left-xl{margin-left:3.25em;margin-left:var(--space-xl)}.margin-left-xxl{margin-left:5.25em;margin-left:var(--space-xxl)}.margin-left-xxxl{margin-left:8.5em;margin-left:var(--space-xxxl)}.margin-left-xxxxl{margin-left:13.75em;margin-left:var(--space-xxxxl)}.margin-left-auto{margin-left:auto}.margin-x-xxxxs{margin-left:0.125em;margin-left:var(--space-xxxxs);margin-right:0.125em;margin-right:var(--space-xxxxs)}.margin-x-xxxs{margin-left:0.25em;margin-left:var(--space-xxxs);margin-right:0.25em;margin-right:var(--space-xxxs)}.margin-x-xxs{margin-left:0.375em;margin-left:var(--space-xxs);margin-right:0.375em;margin-right:var(--space-xxs)}.margin-x-xs{margin-left:0.5em;margin-left:var(--space-xs);margin-right:0.5em;margin-right:var(--space-xs)}.margin-x-sm{margin-left:0.75em;margin-left:var(--space-sm);margin-right:0.75em;margin-right:var(--space-sm)}.margin-x-md{margin-left:1.25em;margin-left:var(--space-md);margin-right:1.25em;margin-right:var(--space-md)}.margin-x-lg{margin-left:2em;margin-left:var(--space-lg);margin-right:2em;margin-right:var(--space-lg)}.margin-x-xl{margin-left:3.25em;margin-left:var(--space-xl);margin-right:3.25em;margin-right:var(--space-xl)}.margin-x-xxl{margin-left:5.25em;margin-left:var(--space-xxl);margin-right:5.25em;margin-right:var(--space-xxl)}.margin-x-xxxl{margin-left:8.5em;margin-left:var(--space-xxxl);margin-right:8.5em;margin-right:var(--space-xxxl)}.margin-x-xxxxl{margin-left:13.75em;margin-left:var(--space-xxxxl);margin-right:13.75em;margin-right:var(--space-xxxxl)}.margin-x-auto{margin-left:auto;margin-right:auto}.margin-y-xxxxs{margin-top:0.125em;margin-top:var(--space-xxxxs);margin-bottom:0.125em;margin-bottom:var(--space-xxxxs)}.margin-y-xxxs{margin-top:0.25em;margin-top:var(--space-xxxs);margin-bottom:0.25em;margin-bottom:var(--space-xxxs)}.margin-y-xxs{margin-top:0.375em;margin-top:var(--space-xxs);margin-bottom:0.375em;margin-bottom:var(--space-xxs)}.margin-y-xs{margin-top:0.5em;margin-top:var(--space-xs);margin-bottom:0.5em;margin-bottom:var(--space-xs)}.margin-y-sm{margin-top:0.75em;margin-top:var(--space-sm);margin-bottom:0.75em;margin-bottom:var(--space-sm)}.margin-y-md{margin-top:1.25em;margin-top:var(--space-md);margin-bottom:1.25em;margin-bottom:var(--space-md)}.margin-y-lg{margin-top:2em;margin-top:var(--space-lg);margin-bottom:2em;margin-bottom:var(--space-lg)}.margin-y-xl{margin-top:3.25em;margin-top:var(--space-xl);margin-bottom:3.25em;margin-bottom:var(--space-xl)}.margin-y-xxl{margin-top:5.25em;margin-top:var(--space-xxl);margin-bottom:5.25em;margin-bottom:var(--space-xxl)}.margin-y-xxxl{margin-top:8.5em;margin-top:var(--space-xxxl);margin-bottom:8.5em;margin-bottom:var(--space-xxxl)}.margin-y-xxxxl{margin-top:13.75em;margin-top:var(--space-xxxxl);margin-bottom:13.75em;margin-bottom:var(--space-xxxxl)}.margin-y-auto{margin-top:auto;margin-bottom:auto}@media not all and (min-width: 32rem){.has-margin\@xs{margin:0 !important}}@media not all and (min-width: 48rem){.has-margin\@sm{margin:0 !important}}@media not all and (min-width: 64rem){.has-margin\@md{margin:0 !important}}@media not all and (min-width: 80rem){.has-margin\@lg{margin:0 !important}}@media not all and (min-width: 90rem){.has-margin\@xl{margin:0 !important}}.padding-md{padding:1.25em;padding:var(--space-md)}.padding-xxxxs{padding:0.125em;padding:var(--space-xxxxs)}.padding-xxxs{padding:0.25em;padding:var(--space-xxxs)}.padding-xxs{padding:0.375em;padding:var(--space-xxs)}.padding-xs{padding:0.5em;padding:var(--space-xs)}.padding-sm{padding:0.75em;padding:var(--space-sm)}.padding-lg{padding:2em;padding:var(--space-lg)}.padding-xl{padding:3.25em;padding:var(--space-xl)}.padding-xxl{padding:5.25em;padding:var(--space-xxl)}.padding-xxxl{padding:8.5em;padding:var(--space-xxxl)}.padding-xxxxl{padding:13.75em;padding:var(--space-xxxxl)}.padding-component{padding:1.25em;padding:var(--component-padding)}.padding-top-md{padding-top:1.25em;padding-top:var(--space-md)}.padding-top-xxxxs{padding-top:0.125em;padding-top:var(--space-xxxxs)}.padding-top-xxxs{padding-top:0.25em;padding-top:var(--space-xxxs)}.padding-top-xxs{padding-top:0.375em;padding-top:var(--space-xxs)}.padding-top-xs{padding-top:0.5em;padding-top:var(--space-xs)}.padding-top-sm{padding-top:0.75em;padding-top:var(--space-sm)}.padding-top-lg{padding-top:2em;padding-top:var(--space-lg)}.padding-top-xl{padding-top:3.25em;padding-top:var(--space-xl)}.padding-top-xxl{padding-top:5.25em;padding-top:var(--space-xxl)}.padding-top-xxxl{padding-top:8.5em;padding-top:var(--space-xxxl)}.padding-top-xxxxl{padding-top:13.75em;padding-top:var(--space-xxxxl)}.padding-top-component{padding-top:1.25em;padding-top:var(--component-padding)}.padding-bottom-md{padding-bottom:1.25em;padding-bottom:var(--space-md)}.padding-bottom-xxxxs{padding-bottom:0.125em;padding-bottom:var(--space-xxxxs)}.padding-bottom-xxxs{padding-bottom:0.25em;padding-bottom:var(--space-xxxs)}.padding-bottom-xxs{padding-bottom:0.375em;padding-bottom:var(--space-xxs)}.padding-bottom-xs{padding-bottom:0.5em;padding-bottom:var(--space-xs)}.padding-bottom-sm{padding-bottom:0.75em;padding-bottom:var(--space-sm)}.padding-bottom-lg{padding-bottom:2em;padding-bottom:var(--space-lg)}.padding-bottom-xl{padding-bottom:3.25em;padding-bottom:var(--space-xl)}.padding-bottom-xxl{padding-bottom:5.25em;padding-bottom:var(--space-xxl)}.padding-bottom-xxxl{padding-bottom:8.5em;padding-bottom:var(--space-xxxl)}.padding-bottom-xxxxl{padding-bottom:13.75em;padding-bottom:var(--space-xxxxl)}.padding-bottom-component{padding-bottom:1.25em;padding-bottom:var(--component-padding)}.padding-right-md{padding-right:1.25em;padding-right:var(--space-md)}.padding-right-xxxxs{padding-right:0.125em;padding-right:var(--space-xxxxs)}.padding-right-xxxs{padding-right:0.25em;padding-right:var(--space-xxxs)}.padding-right-xxs{padding-right:0.375em;padding-right:var(--space-xxs)}.padding-right-xs{padding-right:0.5em;padding-right:var(--space-xs)}.padding-right-sm{padding-right:0.75em;padding-right:var(--space-sm)}.padding-right-lg{padding-right:2em;padding-right:var(--space-lg)}.padding-right-xl{padding-right:3.25em;padding-right:var(--space-xl)}.padding-right-xxl{padding-right:5.25em;padding-right:var(--space-xxl)}.padding-right-xxxl{padding-right:8.5em;padding-right:var(--space-xxxl)}.padding-right-xxxxl{padding-right:13.75em;padding-right:var(--space-xxxxl)}.padding-right-component{padding-right:1.25em;padding-right:var(--component-padding)}.padding-left-md{padding-left:1.25em;padding-left:var(--space-md)}.padding-left-xxxxs{padding-left:0.125em;padding-left:var(--space-xxxxs)}.padding-left-xxxs{padding-left:0.25em;padding-left:var(--space-xxxs)}.padding-left-xxs{padding-left:0.375em;padding-left:var(--space-xxs)}.padding-left-xs{padding-left:0.5em;padding-left:var(--space-xs)}.padding-left-sm{padding-left:0.75em;padding-left:var(--space-sm)}.padding-left-lg{padding-left:2em;padding-left:var(--space-lg)}.padding-left-xl{padding-left:3.25em;padding-left:var(--space-xl)}.padding-left-xxl{padding-left:5.25em;padding-left:var(--space-xxl)}.padding-left-xxxl{padding-left:8.5em;padding-left:var(--space-xxxl)}.padding-left-xxxxl{padding-left:13.75em;padding-left:var(--space-xxxxl)}.padding-left-component{padding-left:1.25em;padding-left:var(--component-padding)}.padding-x-md{padding-left:1.25em;padding-left:var(--space-md);padding-right:1.25em;padding-right:var(--space-md)}.padding-x-xxxxs{padding-left:0.125em;padding-left:var(--space-xxxxs);padding-right:0.125em;padding-right:var(--space-xxxxs)}.padding-x-xxxs{padding-left:0.25em;padding-left:var(--space-xxxs);padding-right:0.25em;padding-right:var(--space-xxxs)}.padding-x-xxs{padding-left:0.375em;padding-left:var(--space-xxs);padding-right:0.375em;padding-right:var(--space-xxs)}.padding-x-xs{padding-left:0.5em;padding-left:var(--space-xs);padding-right:0.5em;padding-right:var(--space-xs)}.padding-x-sm{padding-left:0.75em;padding-left:var(--space-sm);padding-right:0.75em;padding-right:var(--space-sm)}.padding-x-lg{padding-left:2em;padding-left:var(--space-lg);padding-right:2em;padding-right:var(--space-lg)}.padding-x-xl{padding-left:3.25em;padding-left:var(--space-xl);padding-right:3.25em;padding-right:var(--space-xl)}.padding-x-xxl{padding-left:5.25em;padding-left:var(--space-xxl);padding-right:5.25em;padding-right:var(--space-xxl)}.padding-x-xxxl{padding-left:8.5em;padding-left:var(--space-xxxl);padding-right:8.5em;padding-right:var(--space-xxxl)}.padding-x-xxxxl{padding-left:13.75em;padding-left:var(--space-xxxxl);padding-right:13.75em;padding-right:var(--space-xxxxl)}.padding-x-component{padding-left:1.25em;padding-left:var(--component-padding);padding-right:1.25em;padding-right:var(--component-padding)}.padding-y-md{padding-top:1.25em;padding-top:var(--space-md);padding-bottom:1.25em;padding-bottom:var(--space-md)}.padding-y-xxxxs{padding-top:0.125em;padding-top:var(--space-xxxxs);padding-bottom:0.125em;padding-bottom:var(--space-xxxxs)}.padding-y-xxxs{padding-top:0.25em;padding-top:var(--space-xxxs);padding-bottom:0.25em;padding-bottom:var(--space-xxxs)}.padding-y-xxs{padding-top:0.375em;padding-top:var(--space-xxs);padding-bottom:0.375em;padding-bottom:var(--space-xxs)}.padding-y-xs{padding-top:0.5em;padding-top:var(--space-xs);padding-bottom:0.5em;padding-bottom:var(--space-xs)}.padding-y-sm{padding-top:0.75em;padding-top:var(--space-sm);padding-bottom:0.75em;padding-bottom:var(--space-sm)}.padding-y-lg{padding-top:2em;padding-top:var(--space-lg);padding-bottom:2em;padding-bottom:var(--space-lg)}.padding-y-xl{padding-top:3.25em;padding-top:var(--space-xl);padding-bottom:3.25em;padding-bottom:var(--space-xl)}.padding-y-xxl{padding-top:5.25em;padding-top:var(--space-xxl);padding-bottom:5.25em;padding-bottom:var(--space-xxl)}.padding-y-xxxl{padding-top:8.5em;padding-top:var(--space-xxxl);padding-bottom:8.5em;padding-bottom:var(--space-xxxl)}.padding-y-xxxxl{padding-top:13.75em;padding-top:var(--space-xxxxl);padding-bottom:13.75em;padding-bottom:var(--space-xxxxl)}.padding-y-component{padding-top:1.25em;padding-top:var(--component-padding);padding-bottom:1.25em;padding-bottom:var(--component-padding)}@media not all and (min-width: 32rem){.has-padding\@xs{padding:0 !important}}@media not all and (min-width: 48rem){.has-padding\@sm{padding:0 !important}}@media not all and (min-width: 64rem){.has-padding\@md{padding:0 !important}}@media not all and (min-width: 80rem){.has-padding\@lg{padding:0 !important}}@media not all and (min-width: 90rem){.has-padding\@xl{padding:0 !important}}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-replace{overflow:hidden;color:transparent;text-indent:100%;white-space:nowrap}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}@media (min-width: 32rem){.text-center\@xs{text-align:center}.text-left\@xs{text-align:left}.text-right\@xs{text-align:right}}@media (min-width: 48rem){.text-center\@sm{text-align:center}.text-left\@sm{text-align:left}.text-right\@sm{text-align:right}}@media (min-width: 64rem){.text-center\@md{text-align:center}.text-left\@md{text-align:left}.text-right\@md{text-align:right}}@media (min-width: 80rem){.text-center\@lg{text-align:center}.text-left\@lg{text-align:left}.text-right\@lg{text-align:right}}@media (min-width: 90rem){.text-center\@xl{text-align:center}.text-left\@xl{text-align:left}.text-right\@xl{text-align:right}}.color-inherit{color:inherit}.color-contrast-medium{color:hsl(240, 1%, 48%);color:var(--color-contrast-medium, #79797c)}.color-contrast-high{color:hsl(240, 4%, 20%);color:var(--color-contrast-high, #313135)}.color-contrast-higher{color:hsl(240, 8%, 12%);color:var(--color-contrast-higher, #1c1c21)}.color-primary{color:hsl(220, 90%, 56%);color:var(--color-primary, #2a6df4)}.color-accent{color:hsl(355, 90%, 61%);color:var(--color-accent, #f54251)}.color-success{color:hsl(94, 48%, 56%);color:var(--color-success, #88c559)}.color-warning{color:hsl(46, 100%, 61%);color:var(--color-warning, #ffd138)}.color-error{color:hsl(355, 90%, 61%);color:var(--color-error, #f54251)}.width-100\%{width:100%}.height-100\%{height:100%}.media-wrapper{position:relative;height:0;padding-bottom:56.25%}.media-wrapper iframe,.media-wrapper video,.media-wrapper img{position:absolute;top:0;left:0;width:100%;height:100%}.media-wrapper video,.media-wrapper img{-o-object-fit:cover;object-fit:cover}.media-wrapper--4\:3{padding-bottom:75%}:root,[data-theme="default"]{--color-primary-darker:hsl(220, 90%, 36%);--color-primary-darker-h:220;--color-primary-darker-s:90%;--color-primary-darker-l:36%;--color-primary-dark:hsl(220, 90%, 46%);--color-primary-dark-h:220;--color-primary-dark-s:90%;--color-primary-dark-l:46%;--color-primary:hsl(220, 90%, 56%);--color-primary-h:220;--color-primary-s:90%;--color-primary-l:56%;--color-primary-light:hsl(220, 90%, 66%);--color-primary-light-h:220;--color-primary-light-s:90%;--color-primary-light-l:66%;--color-primary-lighter:hsl(220, 90%, 76%);--color-primary-lighter-h:220;--color-primary-lighter-s:90%;--color-primary-lighter-l:76%;--color-accent-darker:hsl(355, 90%, 41%);--color-accent-darker-h:355;--color-accent-darker-s:90%;--color-accent-darker-l:41%;--color-accent-dark:hsl(355, 90%, 51%);--color-accent-dark-h:355;--color-accent-dark-s:90%;--color-accent-dark-l:51%;--color-accent:hsl(355, 90%, 61%);--color-accent-h:355;--color-accent-s:90%;--color-accent-l:61%;--color-accent-light:hsl(355, 90%, 71%);--color-accent-light-h:355;--color-accent-light-s:90%;--color-accent-light-l:71%;--color-accent-lighter:hsl(355, 90%, 81%);--color-accent-lighter-h:355;--color-accent-lighter-s:90%;--color-accent-lighter-l:81%;--color-black:hsl(240, 8%, 12%);--color-black-h:240;--color-black-s:8%;--color-black-l:12%;--color-white:hsl(0, 0%, 100%);--color-white-h:0;--color-white-s:0%;--color-white-l:100%;--color-success-darker:hsl(94, 48%, 36%);--color-success-darker-h:94;--color-success-darker-s:48%;--color-success-darker-l:36%;--color-success-dark:hsl(94, 48%, 46%);--color-success-dark-h:94;--color-success-dark-s:48%;--color-success-dark-l:46%;--color-success:hsl(94, 48%, 56%);--color-success-h:94;--color-success-s:48%;--color-success-l:56%;--color-success-light:hsl(94, 48%, 66%);--color-success-light-h:94;--color-success-light-s:48%;--color-success-light-l:66%;--color-success-lighter:hsl(94, 48%, 76%);--color-success-lighter-h:94;--color-success-lighter-s:48%;--color-success-lighter-l:76%;--color-error-darker:hsl(355, 90%, 41%);--color-error-darker-h:355;--color-error-darker-s:90%;--color-error-darker-l:41%;--color-error-dark:hsl(355, 90%, 51%);--color-error-dark-h:355;--color-error-dark-s:90%;--color-error-dark-l:51%;--color-error:hsl(355, 90%, 61%);--color-error-h:355;--color-error-s:90%;--color-error-l:61%;--color-error-light:hsl(355, 90%, 71%);--color-error-light-h:355;--color-error-light-s:90%;--color-error-light-l:71%;--color-error-lighter:hsl(355, 90%, 81%);--color-error-lighter-h:355;--color-error-lighter-s:90%;--color-error-lighter-l:81%;--color-warning-darker:hsl(46, 100%, 41%);--color-warning-darker-h:46;--color-warning-darker-s:100%;--color-warning-darker-l:41%;--color-warning-dark:hsl(46, 100%, 51%);--color-warning-dark-h:46;--color-warning-dark-s:100%;--color-warning-dark-l:51%;--color-warning:hsl(46, 100%, 61%);--color-warning-h:46;--color-warning-s:100%;--color-warning-l:61%;--color-warning-light:hsl(46, 100%, 71%);--color-warning-light-h:46;--color-warning-light-s:100%;--color-warning-light-l:71%;--color-warning-lighter:hsl(46, 100%, 81%);--color-warning-lighter-h:46;--color-warning-lighter-s:100%;--color-warning-lighter-l:81%;--color-bg:hsl(0, 0%, 100%);--color-bg-h:0;--color-bg-s:0%;--color-bg-l:100%;--color-contrast-lower:hsl(0, 0%, 95%);--color-contrast-lower-h:0;--color-contrast-lower-s:0%;--color-contrast-lower-l:95%;--color-contrast-low:hsl(240, 1%, 83%);--color-contrast-low-h:240;--color-contrast-low-s:1%;--color-contrast-low-l:83%;--color-contrast-medium:hsl(240, 1%, 48%);--color-contrast-medium-h:240;--color-contrast-medium-s:1%;--color-contrast-medium-l:48%;--color-contrast-high:hsl(240, 4%, 20%);--color-contrast-high-h:240;--color-contrast-high-s:4%;--color-contrast-high-l:20%;--color-contrast-higher:hsl(240, 8%, 12%);--color-contrast-higher-h:240;--color-contrast-higher-s:8%;--color-contrast-higher-l:12%}@supports (--css: variables){@media (min-width: 64rem){:root{--space-unit: 1.25em}}}:root{--radius: 0.25em}:root{--font-primary: sans-serif;--text-base-size: 1em;--text-scale-ratio: 1.2;--text-xs: calc(1em/var(--text-scale-ratio)/var(--text-scale-ratio));--text-sm: calc(var(--text-xs)*var(--text-scale-ratio));--text-md: calc(var(--text-sm)*var(--text-scale-ratio)*var(--text-scale-ratio));--text-lg: calc(var(--text-md)*var(--text-scale-ratio));--text-xl: calc(var(--text-lg)*var(--text-scale-ratio));--text-xxl: calc(var(--text-xl)*var(--text-scale-ratio));--text-xxxl: calc(var(--text-xxl)*var(--text-scale-ratio));--body-line-height: 1.4;--heading-line-height: 1.2;--font-primary-capital-letter: 1}@supports (--css: variables){@media (min-width: 64rem){:root{--text-base-size: 1.25em;--text-scale-ratio: 1.25}}}mark{background-color:hsla(355, 90%, 61%, 0.2);background-color:hsla(var(--color-accent-h), var(--color-accent-s), var(--color-accent-l), 0.2);color:inherit}.text-component{--line-height-multiplier: 1;--text-vspace-multiplier: 1}.text-component blockquote{padding-left:1em;border-left:4px solid hsl(240, 1%, 83%);border-left:4px solid var(--color-contrast-low)}.text-component hr{background:hsl(240, 1%, 83%);background:var(--color-contrast-low);height:1px}.text-component figcaption{font-size:0.83333em;font-size:var(--text-sm);color:hsl(240, 1%, 48%);color:var(--color-contrast-medium)}.article.text-component{--line-height-multiplier: 1.13;--text-vspace-multiplier: 1.2}:root{--btn-font-size: 1em;--btn-font-size-sm: calc(var(--btn-font-size) - 0.2em);--btn-font-size-md: calc(var(--btn-font-size) + 0.2em);--btn-font-size-lg: calc(var(--btn-font-size) + 0.4em);--btn-radius: 0.25em;--btn-padding-x: var(--space-sm);--btn-padding-y: var(--space-xs)}.btn{--color-shadow: hsla(240, 8%, 12%, 0.15);--color-shadow: hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.15);box-shadow:0 4px 16px hsla(240, 8%, 12%, 0.15);box-shadow:0 4px 16px hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.15);cursor:pointer}.btn--primary{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.btn--accent{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.btn--disabled{opacity:0.6}:root{--form-control-padding-x: var(--space-sm);--form-control-padding-y: var(--space-xs);--form-control-radius: 0.25em}.form-control{border:2px solid hsl(240, 1%, 83%);border:2px solid var(--color-contrast-low)}.form-control:focus{outline:none;border-color:hsl(220, 90%, 56%);border-color:var(--color-primary);--color-shadow: hsla(220, 90%, 56%, 0.2);--color-shadow: hsla(var(--color-primary-h), var(--color-primary-s), var(--color-primary-l), 0.2);box-shadow:undefined;box-shadow:0 0 0 3px var(--color-shadow)}.form-control:focus:focus{box-shadow:0 0 0 3px hsla(220, 90%, 56%, 0.2);box-shadow:0 0 0 3px var(--color-shadow)}.form-control[aria-invalid="true"]{border-color:hsl(355, 90%, 61%);border-color:var(--color-error)}.form-control[aria-invalid="true"]:focus{--color-shadow: hsla(355, 90%, 61%, 0.2);--color-shadow: hsla(var(--color-error-h), var(--color-error-s), var(--color-error-l), 0.2);box-shadow:undefined;box-shadow:0 0 0 3px var(--color-shadow)}.form-control[aria-invalid="true"]:focus:focus{box-shadow:0 0 0 3px hsla(355, 90%, 61%, 0.2);box-shadow:0 0 0 3px var(--color-shadow)}.form-label{font-size:0.83333em;font-size:var(--text-sm)}:root{--cd-color-event-1:hsl(199, 25%, 46%);--cd-color-event-1-h:199;--cd-color-event-1-s:25%;--cd-color-event-1-l:46%;--cd-color-event-2:hsl(271, 23%, 26%);--cd-color-event-2-h:271;--cd-color-event-2-s:23%;--cd-color-event-2-l:26%;--cd-color-event-3:hsl(162, 14%, 68%);--cd-color-event-3-h:162;--cd-color-event-3-s:14%;--cd-color-event-3-l:68%;--cd-color-event-4:hsl(31, 89%, 68%);--cd-color-event-4-h:31;--cd-color-event-4-s:89%;--cd-color-event-4-l:68%;--cd-color-text:hsl(0, 0%, 13%);--cd-color-text-h:0;--cd-color-text-s:0%;--cd-color-text-l:13%;--cd-color-border:hsl(0, 0%, 92%);--cd-color-border-h:0;--cd-color-border-s:0%;--cd-color-border-l:92%;--font-primary: 'Source Sans Pro', sans-serif;--schedule-rows-number: 19;--schedule-rows-height: 50px}body{color:hsl(0, 0%, 13%);color:var(--cd-color-text)}a{color:hsl(162, 14%, 68%);color:var(--cd-color-event-3)}.cd-schedule{position:relative}.cd-schedule::before{content:'mobile';display:none}@media (min-width: 64rem){.js .cd-schedule{width:calc(100% - 1.25em);width:calc(100% - 2*var(--component-padding));margin-left:auto;margin-right:auto;max-width:90rem;max-width:var(--max-width-xl)}.js .cd-schedule::before{content:'desktop'}}.cd-schedule__timeline{display:none}@media (min-width: 64rem){.js .cd-schedule__timeline{display:block;position:absolute;top:0;left:0;height:100%;width:100%;padding-top:50px;padding-top:var(--schedule-rows-height)}.js .cd-schedule__timeline li{position:relative;height:50px;height:var(--schedule-rows-height)}.js .cd-schedule__timeline li::after{content:'';position:absolute;bottom:0;left:0;width:100%;height:1px;background:hsl(0, 0%, 92%);background:var(--cd-color-border)}.js .cd-schedule__timeline li:last-of-type::after{display:none}.js .cd-schedule__timeline li span{display:none}}@media (min-width: 80rem){.js .cd-schedule__timeline li::after{width:calc(100% - 60px);left:60px}.js .cd-schedule__timeline li span{display:inline-block;-webkit-transform:translateY(-50%);-ms-transform:translateY(-50%);transform:translateY(-50%);font-size:0.83333em;font-size:var(--text-sm)}.js .cd-schedule__timeline li:nth-of-type(2n) span{display:none}}.cd-schedule__events{position:relative;z-index:1}@media (min-width: 64rem){.js .cd-schedule__events{width:100%}.js .cd-schedule__events>ul{display:-ms-flexbox;display:flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap}}@media (min-width: 80rem){.js .cd-schedule__events{width:calc(100% - 60px);margin-left:60px}}.cd-schedule__group{margin-bottom:2em;margin-bottom:var(--space-lg)}@media (min-width: 64rem){.js .cd-schedule__group{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;border:1px solid hsl(0, 0%, 92%);border:1px solid var(--cd-color-border);margin-bottom:0}.js .cd-schedule__group:not(:first-of-type){border-left-width:0}}.cd-schedule__group>ul{position:relative;padding:0 1.25em;padding:0 var(--component-padding);display:-ms-flexbox;display:flex;overflow-x:scroll;-webkit-overflow-scrolling:touch}.cd-schedule__group>ul::after{display:inline-block;content:'-';width:1px;height:100%;opacity:0;color:transparent}@media (min-width: 64rem){.js .cd-schedule__group>ul{height:950px;height:calc(var(--schedule-rows-height)*var(--schedule-rows-number));overflow:visible;padding:0}.js .cd-schedule__group>ul::after{display:none}}.cd-schedule__top-info{width:100%;padding:0 1.25em;padding:0 var(--component-padding)}.cd-schedule__top-info>span{display:inline-block;margin-bottom:0.75em;margin-bottom:var(--space-sm);font-weight:bold}@media (min-width: 64rem){.js .cd-schedule__top-info{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;height:50px;height:var(--schedule-rows-height);border-bottom:1px solid hsl(0, 0%, 92%);border-bottom:1px solid var(--cd-color-border);padding:0}.js .cd-schedule__top-info>span{font-weight:normal;font-size:0.83333em;font-size:var(--text-sm);margin-bottom:0}}.cd-schedule__event{-ms-flex-negative:0;flex-shrink:0;float:left;height:150px;width:70%;max-width:300px;margin-right:1.25em;margin-right:var(--space-md);transition:opacity .2s, background .2s}.cd-schedule__event a{display:block;height:100%;padding:0.75em;padding:var(--space-sm);box-shadow:inset 0 -3px 0 rgba(0,0,0,0.2);text-decoration:none}.cd-schedule__event a::before{content:attr(data-start) " - " attr(data-end)}@media (min-width: 48rem){.js .cd-schedule__event{width:40%}}@media (min-width: 64rem){.js .cd-schedule__event{position:absolute;z-index:3;width:calc(100% + 2px);left:-1px;max-width:none;margin-right:0}.js .cd-schedule__event a{padding:0.75em;padding:var(--space-sm);box-shadow:0 10px 20px rgba(0,0,0,0.1),inset 0 -3px 0 rgba(0,0,0,0.2)}}@media (min-width: 64rem){.js .cd-schedule__event--selected{visibility:hidden}.js .cd-schedule--loading .cd-schedule__event{opacity:0}}.cd-schedule__name,.cd-schedule__event a::before,.cd-schedule-modal__name,.cd-schedule-modal__date{display:block;color:hsl(0, 0%, 100%);color:var(--color-white);font-weight:bold;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.cd-schedule__name,.cd-schedule-modal__name{font-size:1.44em;font-size:var(--text-lg)}@media (min-width: 64rem){.cd-schedule__name,.cd-schedule-modal__name{font-size:1em;font-size:calc(var(--text-sm)*1.2)}}.cd-schedule-modal__date,.cd-schedule__event a::before{opacity:.7;margin-bottom:0.25em;margin-bottom:var(--space-xxxs)}@media (min-width: 64rem){.cd-schedule-modal__date,.cd-schedule__event a::before{font-size:0.72916em;font-size:calc(var(--text-xs)*1.05);margin-bottom:0.125em;margin-bottom:var(--space-xxxxs)}}.cd-schedule__event [data-event="event-1"],.cd-schedule-modal[data-event="event-1"] .cd-schedule-modal__header-bg{background:hsl(199, 25%, 46%);background:var(--cd-color-event-1)}.cd-schedule__event [data-event="event-2"],.cd-schedule-modal[data-event="event-2"] .cd-schedule-modal__header-bg{background:hsl(271, 23%, 26%);background:var(--cd-color-event-2)}.cd-schedule__event [data-event="event-3"],.cd-schedule-modal[data-event="event-3"] .cd-schedule-modal__header-bg{background:hsl(162, 14%, 68%);background:var(--cd-color-event-3)}.cd-schedule__event [data-event="event-4"],.cd-schedule-modal[data-event="event-4"] .cd-schedule-modal__header-bg{background:hsl(31, 89%, 68%);background:var(--cd-color-event-4)}.cd-schedule-modal{position:fixed;z-index:3;top:0;right:0;height:100%;width:100%;visibility:hidden;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-transform:translateX(100%);-ms-transform:translateX(100%);transform:translateX(100%);transition:visibility .4s, -webkit-transform .4s;transition:transform .4s, visibility .4s;transition:transform .4s, visibility .4s, -webkit-transform .4s;transition-timing-function:cubic-bezier(0.5, 0, 0.1, 1)}@media (min-width: 64rem){.cd-schedule-modal{right:auto;width:auto;height:auto;-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);will-change:transform, width, height;transition:height .4s, width .4s, visibility .4s, -webkit-transform .4s;transition:height .4s, width .4s, transform .4s, visibility .4s;transition:height .4s, width .4s, transform .4s, visibility .4s, -webkit-transform .4s;transition-timing-function:cubic-bezier(0.5, 0, 0.1, 1)}}.cd-schedule-modal__header{position:relative;height:70px;display:-ms-flexbox;display:flex;-ms-flex-line-pack:center;align-content:center;width:100%}@media (min-width: 64rem){.cd-schedule-modal__header{position:absolute;display:block;top:0;left:0;height:100%}}.cd-schedule-modal__content{position:relative;z-index:3;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:0.75em 1.25em;padding:var(--space-sm) var(--component-padding)}@media (min-width: 64rem){.cd-schedule-modal__content{display:block;padding:0.75em;padding:var(--space-sm)}}.cd-schedule-modal__body{position:relative;width:100%;height:calc(100% - 70px)}@media (min-width: 64rem){.cd-schedule-modal__body{height:100%;width:auto}}.cd-schedule-modal__event-info{position:relative;z-index:2;line-height:1.4;line-height:var(--body-line-height);height:100%;overflow:hidden;font-size:1em;font-size:calc(var(--text-sm)*1.2)}.cd-schedule-modal__event-info>div{overflow:auto;height:100%;padding:1.25em 1.25em;padding:var(--space-md) var(--component-padding)}@media (min-width: 64rem){.cd-schedule-modal__event-info{opacity:0;font-size:0.83333em;font-size:var(--text-sm)}.cd-schedule-modal__event-info>div{padding:1.625em 2.4em 1.625em 1.625em;padding:calc(var(--space-md)*1.3) calc(var(--space-lg)*1.2) calc(var(--space-md)*1.3) calc(var(--space-md)*1.3)}}.cd-schedule-modal__header-bg,.cd-schedule-modal__body-bg{position:absolute;top:0;left:0;height:100%;width:100%}@media (min-width: 64rem){.cd-schedule-modal__header-bg,.cd-schedule-modal__body-bg{-webkit-transform:translateZ(0);transform:translateZ(0);will-change:transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}}.cd-schedule-modal__header-bg{z-index:2;-webkit-transform-origin:top center;-ms-transform-origin:top center;transform-origin:top center}@media (min-width: 64rem){.cd-schedule-modal__header-bg{transition:-webkit-transform .4s;transition:transform .4s;transition:transform .4s, -webkit-transform .4s;transition-timing-function:cubic-bezier(0.5, 0, 0.1, 1)}}.cd-schedule-modal__body-bg{z-index:1;background:hsl(0, 0%, 100%);background:var(--color-white);-webkit-transform-origin:top left;-ms-transform-origin:top left;transform-origin:top left}@media (min-width: 64rem){.cd-schedule-modal__body-bg{opacity:0;-webkit-transform:none;-ms-transform:none;transform:none}}.cd-schedule-modal--no-transition{transition:none}.cd-schedule-modal--no-transition .cd-schedule-modal__header-bg,.cd-schedule-modal--no-transition .cd-schedule-modal__body-bg{transition:none !important}.cd-schedule-modal__date{display:none}@media (min-width: 64rem){.cd-schedule-modal__date{display:block}}.cd-schedule-modal__close{position:absolute;z-index:3;top:0;right:0;height:70px;width:70px;background:hsla(240, 8%, 12%, 0.1);background:hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.1)}.cd-schedule-modal__close::before,.cd-schedule-modal__close::after{content:'';position:absolute;top:50%;left:50%;width:2px;height:22px;background:hsl(0, 0%, 100%);background:var(--color-white);-webkit-backface-visibility:hidden;backface-visibility:hidden}.cd-schedule-modal__close::before{-webkit-transform:translateX(-50%) translateY(-50%) rotate(45deg);-ms-transform:translateX(-50%) translateY(-50%) rotate(45deg);transform:translateX(-50%) translateY(-50%) rotate(45deg)}.cd-schedule-modal__close::after{-webkit-transform:translateX(-50%) translateY(-50%) rotate(-45deg);-ms-transform:translateX(-50%) translateY(-50%) rotate(-45deg);transform:translateX(-50%) translateY(-50%) rotate(-45deg)}@media (min-width: 64rem){.cd-schedule-modal__close{width:40px;height:40px;background:transparent;opacity:0}.cd-schedule-modal__close::after,.cd-schedule-modal__close::before{background:hsl(0, 0%, 13%);background:var(--cd-color-text);height:16px}}.cd-schedule-modal--open{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0);visibility:visible}.cd-schedule-modal--open .cd-schedule-modal__event-info>div{-webkit-overflow-scrolling:touch}@media (min-width: 64rem){.cd-schedule-modal--animation-completed .cd-schedule-modal__close,.cd-schedule-modal--content-loaded.cd-schedule-modal--animation-completed .cd-schedule-modal__event-info{opacity:1;transition:opacity .2s}.cd-schedule-modal--open .cd-schedule-modal__body-bg{opacity:1;transition:-webkit-transform .4s;transition:transform .4s;transition:transform .4s, -webkit-transform .4s;transition-timing-function:cubic-bezier(0.5, 0, 0.1, 1)}}.cd-schedule__cover-layer{position:fixed;z-index:2;top:0;left:0;height:100%;width:100%;background:hsla(240, 8%, 12%, 0.8);background:hsla(var(--color-black-h), var(--color-black-s), var(--color-black-l), 0.8);opacity:0;visibility:hidden;transition:opacity .4s, visibility .4s}.cd-schedule-modal--open+.cd-schedule__cover-layer{opacity:1;visibility:visible}.cd-main-header h1{color:hsl(0, 0%, 13%);color:var(--cd-color-text);font-weight:700}.cd-article-link{font-size:0.83333em;font-size:var(--text-sm);transition:opacity .2s}.cd-article-link:hover{opacity:0.8}
diff --git a/assets/js/main.js b/assets/js/main.js
new file mode 100644
index 0000000..d321683
--- /dev/null
+++ b/assets/js/main.js
@@ -0,0 +1,371 @@
+(function() {
+ // Schedule Template - by CodyHouse.co
+ function ScheduleTemplate( element ) {
+ this.element = element;
+ this.timelineItems = this.element.getElementsByClassName('cd-schedule__timeline')[0].getElementsByTagName('li');
+ this.timelineStart = getScheduleTimestamp(this.timelineItems[0].textContent);
+ this.timelineUnitDuration = getScheduleTimestamp(this.timelineItems[1].textContent) - getScheduleTimestamp(this.timelineItems[0].textContent);
+
+ this.topInfoElement = this.element.getElementsByClassName('cd-schedule__top-info')[0];
+ this.singleEvents = this.element.getElementsByClassName('cd-schedule__event');
+
+ this.modal = this.element.getElementsByClassName('cd-schedule-modal')[0];
+ this.modalHeader = this.element.getElementsByClassName('cd-schedule-modal__header')[0];
+ this.modalHeaderBg = this.element.getElementsByClassName('cd-schedule-modal__header-bg')[0];
+ this.modalBody = this.element.getElementsByClassName('cd-schedule-modal__body')[0];
+ this.modalBodyBg = this.element.getElementsByClassName('cd-schedule-modal__body-bg')[0];
+ this.modalClose = this.modal.getElementsByClassName('cd-schedule-modal__close')[0];
+ this.modalDate = this.modal.getElementsByClassName('cd-schedule-modal__date')[0];
+ this.modalEventName = this.modal.getElementsByClassName('cd-schedule-modal__name')[0];
+ this.coverLayer = this.element.getElementsByClassName('cd-schedule__cover-layer')[0];
+
+ this.modalMaxWidth = 800;
+ this.modalMaxHeight = 480;
+
+ this.animating = false;
+ this.supportAnimation = Util.cssSupports('transition');
+
+ this.initSchedule();
+ };
+
+ ScheduleTemplate.prototype.initSchedule = function() {
+ this.scheduleReset();
+ this.initEvents();
+ };
+
+ ScheduleTemplate.prototype.scheduleReset = function() {
+ // according to the mq value, init the style of the template
+ var mq = this.mq(),
+ loaded = Util.hasClass(this.element, 'js-schedule-loaded'),
+ modalOpen = Util.hasClass(this.modal, 'cd-schedule-modal--open');
+ if( mq == 'desktop' && !loaded ) {
+ Util.addClass(this.element, 'js-schedule-loaded');
+ this.placeEvents();
+ modalOpen && this.checkEventModal(modalOpen);
+ } else if( mq == 'mobile' && loaded) {
+ //in this case you are on a mobile version (first load or resize from desktop)
+ Util.removeClass(this.element, 'cd-schedule--loading js-schedule-loaded');
+ this.resetEventsStyle();
+ modalOpen && this.checkEventModal();
+ } else if( mq == 'desktop' && modalOpen ) {
+ //on a mobile version with modal open - need to resize/move modal window
+ this.checkEventModal(modalOpen);
+ Util.removeClass(this.element, 'cd-schedule--loading');
+ } else {
+ Util.removeClass(this.element, 'cd-schedule--loading');
+ }
+ };
+
+ ScheduleTemplate.prototype.resetEventsStyle = function() {
+ // remove js style applied to the single events
+ for(var i = 0; i < this.singleEvents.length; i++) {
+ this.singleEvents[i].removeAttribute('style');
+ }
+ };
+
+ ScheduleTemplate.prototype.placeEvents = function() {
+ // on big devices - place events in the template according to their time/day
+ var self = this,
+ slotHeight = this.topInfoElement.offsetHeight;
+ for(var i = 0; i < this.singleEvents.length; i++) {
+ var anchor = this.singleEvents[i].getElementsByTagName('a')[0];
+ var start = getScheduleTimestamp(anchor.getAttribute('data-start')),
+ duration = getScheduleTimestamp(anchor.getAttribute('data-end')) - start;
+
+ var eventTop = slotHeight*(start - self.timelineStart)/self.timelineUnitDuration,
+ eventHeight = slotHeight*duration/self.timelineUnitDuration;
+
+ this.singleEvents[i].setAttribute('style', 'top: '+(eventTop-1)+'px; height: '+(eventHeight +1)+'px');
+ }
+
+ Util.removeClass(this.element, 'cd-schedule--loading');
+ };
+
+ ScheduleTemplate.prototype.initEvents = function() {
+ var self = this;
+ for(var i = 0; i < this.singleEvents.length; i++) {
+ // open modal when user selects an event
+ this.singleEvents[i].addEventListener('click', function(event){
+ event.preventDefault();
+ if(!self.animating) self.openModal(this.getElementsByTagName('a')[0]);
+ });
+ }
+ //close modal window
+ this.modalClose.addEventListener('click', function(event){
+ event.preventDefault();
+ if( !self.animating ) self.closeModal();
+ });
+ this.coverLayer.addEventListener('click', function(event){
+ event.preventDefault();
+ if( !self.animating ) self.closeModal();
+ });
+ };
+
+ ScheduleTemplate.prototype.openModal = function(target) {
+ var self = this;
+ var mq = self.mq();
+ this.animating = true;
+
+ //update event name and time
+ this.modalEventName.textContent = target.getElementsByTagName('em')[0].textContent;
+ this.modalDate.textContent = target.getAttribute('data-start')+' - '+target.getAttribute('data-end');
+ this.modal.setAttribute('data-event', target.getAttribute('data-event'));
+
+ //update event content
+ this.loadEventContent(target.getAttribute('data-content'));
+
+ Util.addClass(this.modal, 'cd-schedule-modal--open');
+
+ setTimeout(function(){
+ //fixes a flash when an event is selected - desktop version only
+ Util.addClass(target.closest('li'), 'cd-schedule__event--selected');
+ }, 10);
+
+ if( mq == 'mobile' ) {
+ self.modal.addEventListener('transitionend', function cb(){
+ self.animating = false;
+ self.modal.removeEventListener('transitionend', cb);
+ });
+ } else {
+ var eventPosition = target.getBoundingClientRect(),
+ eventTop = eventPosition.top,
+ eventLeft = eventPosition.left,
+ eventHeight = target.offsetHeight,
+ eventWidth = target.offsetWidth;
+
+ var windowWidth = window.innerWidth,
+ windowHeight = window.innerHeight;
+
+ var modalWidth = ( windowWidth*.8 > self.modalMaxWidth ) ? self.modalMaxWidth : windowWidth*.8,
+ modalHeight = ( windowHeight*.8 > self.modalMaxHeight ) ? self.modalMaxHeight : windowHeight*.8;
+
+ var modalTranslateX = parseInt((windowWidth - modalWidth)/2 - eventLeft),
+ modalTranslateY = parseInt((windowHeight - modalHeight)/2 - eventTop);
+
+ var HeaderBgScaleY = modalHeight/eventHeight,
+ BodyBgScaleX = (modalWidth - eventWidth);
+
+ //change modal height/width and translate it
+ self.modal.setAttribute('style', 'top:'+eventTop+'px;left:'+eventLeft+'px;height:'+modalHeight+'px;width:'+modalWidth+'px;transform: translateY('+modalTranslateY+'px) translateX('+modalTranslateX+'px)');
+ //set modalHeader width
+ self.modalHeader.setAttribute('style', 'width:'+eventWidth+'px');
+ //set modalBody left margin
+ self.modalBody.setAttribute('style', 'margin-left:'+eventWidth+'px');
+ //change modalBodyBg height/width ans scale it
+ self.modalBodyBg.setAttribute('style', 'height:'+eventHeight+'px; width: 1px; transform: scaleY('+HeaderBgScaleY+') scaleX('+BodyBgScaleX+')');
+ //change modal modalHeaderBg height/width and scale it
+ self.modalHeaderBg.setAttribute('style', 'height: '+eventHeight+'px; width: '+eventWidth+'px; transform: scaleY('+HeaderBgScaleY+')');
+
+ self.modalHeaderBg.addEventListener('transitionend', function cb(){
+ //wait for the end of the modalHeaderBg transformation and show the modal content
+ self.animating = false;
+ Util.addClass(self.modal, 'cd-schedule-modal--animation-completed');
+ self.modalHeaderBg.removeEventListener('transitionend', cb);
+ });
+ }
+
+ //if browser do not support transitions -> no need to wait for the end of it
+ this.animationFallback();
+ };
+
+ ScheduleTemplate.prototype.closeModal = function() {
+ var self = this;
+ var mq = self.mq();
+
+ var item = self.element.getElementsByClassName('cd-schedule__event--selected')[0],
+ target = item.getElementsByTagName('a')[0];
+
+ this.animating = true;
+
+ if( mq == 'mobile' ) {
+ Util.removeClass(this.modal, 'cd-schedule-modal--open');
+ self.modal.addEventListener('transitionend', function cb(){
+ Util.removeClass(self.modal, 'cd-schedule-modal--content-loaded');
+ Util.removeClass(item, 'cd-schedule__event--selected');
+ self.animating = false;
+ self.modal.removeEventListener('transitionend', cb);
+ });
+ } else {
+ var eventPosition = target.getBoundingClientRect(),
+ eventTop = eventPosition.top,
+ eventLeft = eventPosition.left,
+ eventHeight = target.offsetHeight,
+ eventWidth = target.offsetWidth;
+
+ var modalStyle = window.getComputedStyle(self.modal),
+ modalTop = Number(modalStyle.getPropertyValue('top').replace('px', '')),
+ modalLeft = Number(modalStyle.getPropertyValue('left').replace('px', ''));
+
+ var modalTranslateX = eventLeft - modalLeft,
+ modalTranslateY = eventTop - modalTop;
+
+ Util.removeClass(this.modal, 'cd-schedule-modal--open cd-schedule-modal--animation-completed');
+
+ //change modal width/height and translate it
+ self.modal.style.width = eventWidth+'px';self.modal.style.height = eventHeight+'px';self.modal.style.transform = 'translateX('+modalTranslateX+'px) translateY('+modalTranslateY+'px)';
+ //scale down modalBodyBg element
+ self.modalBodyBg.style.transform = 'scaleX(0) scaleY(1)';
+ //scale down modalHeaderBg element
+ // self.modalHeaderBg.setAttribute('style', 'transform: scaleY(1)');
+ self.modalHeaderBg.style.transform = 'scaleY(1)';
+
+ self.modalHeaderBg.addEventListener('transitionend', function cb(){
+ //wait for the end of the modalHeaderBg transformation and reset modal style
+ Util.addClass(self.modal, 'cd-schedule-modal--no-transition');
+ setTimeout(function(){
+ self.modal.removeAttribute('style');
+ self.modalBody.removeAttribute('style');
+ self.modalHeader.removeAttribute('style');
+ self.modalHeaderBg.removeAttribute('style');
+ self.modalBodyBg.removeAttribute('style');
+ }, 10);
+ setTimeout(function(){
+ Util.removeClass(self.modal, 'cd-schedule-modal--no-transition');
+ }, 20);
+ self.animating = false;
+ Util.removeClass(self.modal, 'cd-schedule-modal--content-loaded');
+ Util.removeClass(item, 'cd-schedule__event--selected');
+ self.modalHeaderBg.removeEventListener('transitionend', cb);
+ });
+ }
+
+ //if browser do not support transitions -> no need to wait for the end of it
+ this.animationFallback();
+ };
+
+ ScheduleTemplate.prototype.checkEventModal = function(modalOpen) {
+ // this function is used on resize to reset events/modal style
+ this.animating = true;
+ var self = this;
+ var mq = this.mq();
+ if( mq == 'mobile' ) {
+ //reset modal style on mobile
+ self.modal.removeAttribute('style');
+ self.modalBody.removeAttribute('style');
+ self.modalHeader.removeAttribute('style');
+ self.modalHeaderBg.removeAttribute('style');
+ self.modalBodyBg.removeAttribute('style');
+ Util.removeClass(self.modal, 'cd-schedule-modal--no-transition');
+ self.animating = false;
+ } else if( mq == 'desktop' && modalOpen) {
+ Util.addClass(self.modal, 'cd-schedule-modal--no-transition cd-schedule-modal--animation-completed');
+ var item = self.element.getElementsByClassName('cd-schedule__event--selected')[0],
+ target = item.getElementsByTagName('a')[0];
+
+ var eventPosition = target.getBoundingClientRect(),
+ eventTop = eventPosition.top,
+ eventLeft = eventPosition.left,
+ eventHeight = target.offsetHeight,
+ eventWidth = target.offsetWidth;
+
+ var windowWidth = window.innerWidth,
+ windowHeight = window.innerHeight;
+
+ var modalWidth = ( windowWidth*.8 > self.modalMaxWidth ) ? self.modalMaxWidth : windowWidth*.8,
+ modalHeight = ( windowHeight*.8 > self.modalMaxHeight ) ? self.modalMaxHeight : windowHeight*.8;
+
+ var HeaderBgScaleY = modalHeight/eventHeight,
+ BodyBgScaleX = (modalWidth - eventWidth);
+
+
+ setTimeout(function(){
+ self.modal.setAttribute('style', 'top:'+(windowHeight/2 - modalHeight/2)+'px;left:'+(windowWidth/2 - modalWidth/2)+'px;height:'+modalHeight+'px;width:'+modalWidth+'px;transform: translateY(0) translateX(0)');
+ //change modal modalBodyBg height/width
+ self.modalBodyBg.style.height = modalHeight+'px';self.modalBodyBg.style.transform = 'scaleY(1) scaleX('+BodyBgScaleX+')';self.modalBodyBg.style.width = '1px';
+ //set modalHeader width
+ self.modalHeader.setAttribute('style', 'width:'+eventWidth+'px');
+ //set modalBody left margin
+ self.modalBody.setAttribute('style', 'margin-left:'+eventWidth+'px');
+ //change modal modalHeaderBg height/width and scale it
+ self.modalHeaderBg.setAttribute('style', 'height: '+eventHeight+'px;width:'+eventWidth+'px; transform:scaleY('+HeaderBgScaleY+');');
+ }, 10);
+
+ setTimeout(function(){
+ Util.removeClass(self.modal, 'cd-schedule-modal--no-transition');
+ self.animating = false;
+ }, 20);
+
+ }
+ };
+
+ ScheduleTemplate.prototype.loadEventContent = function(content) {
+ // load the content of an event when user selects it
+ var self = this;
+
+ httpRequest = new XMLHttpRequest();
+ httpRequest.onreadystatechange = function() {
+ if (httpRequest.readyState === XMLHttpRequest.DONE) {
+ if (httpRequest.status === 200) {
+ self.modal.getElementsByClassName('cd-schedule-modal__event-info')[0].innerHTML = self.getEventContent(httpRequest.responseText);
+ Util.addClass(self.modal, 'cd-schedule-modal--content-loaded');
+ }
+ }
+ };
+ httpRequest.open('GET', content+'.html');
+ httpRequest.send();
+ };
+
+ ScheduleTemplate.prototype.getEventContent = function(string) {
+ // reset the loaded event content so that it can be inserted in the modal
+ var div = document.createElement('div');
+ div.innerHTML = string.trim();
+ return div.getElementsByClassName('cd-schedule-modal__event-info')[0].innerHTML;
+ };
+
+ ScheduleTemplate.prototype.animationFallback = function() {
+ if( !this.supportAnimation ) { // fallback for browsers not supporting transitions
+ var event = new CustomEvent('transitionend');
+ self.modal.dispatchEvent(event);
+ self.modalHeaderBg.dispatchEvent(event);
+ }
+ };
+
+ ScheduleTemplate.prototype.mq = function(){
+ //get MQ value ('desktop' or 'mobile')
+ var self = this;
+ return window.getComputedStyle(this.element, '::before').getPropertyValue('content').replace(/'|"/g, "");
+ };
+
+ function getScheduleTimestamp(time) {
+ //accepts hh:mm format - convert hh:mm to timestamp
+ time = time.replace(/ /g,'');
+ var timeArray = time.split(':');
+ var timeStamp = parseInt(timeArray[0])*60 + parseInt(timeArray[1]);
+ return timeStamp;
+ };
+
+ var scheduleTemplate = document.getElementsByClassName('js-cd-schedule'),
+ scheduleTemplateArray = [],
+ resizing = false;
+ if( scheduleTemplate.length > 0 ) { // init ScheduleTemplate objects
+ for( var i = 0; i < scheduleTemplate.length; i++) {
+ (function(i){
+ scheduleTemplateArray.push(new ScheduleTemplate(scheduleTemplate[i]));
+ })(i);
+ }
+
+ window.addEventListener('resize', function(event) {
+ // on resize - update events position and modal position (if open)
+ if( !resizing ) {
+ resizing = true;
+ (!window.requestAnimationFrame) ? setTimeout(checkResize, 250) : window.requestAnimationFrame(checkResize);
+ }
+ });
+
+ window.addEventListener('keyup', function(event){
+ // close event modal when pressing escape key
+ if( event.keyCode && event.keyCode == 27 || event.key && event.key.toLowerCase() == 'escape' ) {
+ for(var i = 0; i < scheduleTemplateArray.length; i++) {
+ scheduleTemplateArray[i].closeModal();
+ }
+ }
+ });
+
+ function checkResize(){
+ for(var i = 0; i < scheduleTemplateArray.length; i++) {
+ scheduleTemplateArray[i].scheduleReset();
+ }
+ resizing = false;
+ };
+ }
+}());
\ No newline at end of file
diff --git a/assets/js/util.js b/assets/js/util.js
new file mode 100644
index 0000000..60d96fc
--- /dev/null
+++ b/assets/js/util.js
@@ -0,0 +1,174 @@
+// Utility function
+function Util () {};
+
+/*
+ class manipulation functions
+*/
+Util.hasClass = function(el, className) {
+ if (el.classList) return el.classList.contains(className);
+ else return !!el.className.match(new RegExp('(\\s|^)' + className + '(\\s|$)'));
+};
+
+Util.addClass = function(el, className) {
+ var classList = className.split(' ');
+ if (el.classList) el.classList.add(classList[0]);
+ else if (!Util.hasClass(el, classList[0])) el.className += " " + classList[0];
+ if (classList.length > 1) Util.addClass(el, classList.slice(1).join(' '));
+};
+
+Util.removeClass = function(el, className) {
+ var classList = className.split(' ');
+ if (el.classList) el.classList.remove(classList[0]);
+ else if(Util.hasClass(el, classList[0])) {
+ var reg = new RegExp('(\\s|^)' + classList[0] + '(\\s|$)');
+ el.className=el.className.replace(reg, ' ');
+ }
+ if (classList.length > 1) Util.removeClass(el, classList.slice(1).join(' '));
+};
+
+Util.toggleClass = function(el, className, bool) {
+ if(bool) Util.addClass(el, className);
+ else Util.removeClass(el, className);
+};
+
+Util.setAttributes = function(el, attrs) {
+ for(var key in attrs) {
+ el.setAttribute(key, attrs[key]);
+ }
+};
+
+/*
+ DOM manipulation
+*/
+Util.getChildrenByClassName = function(el, className) {
+ var children = el.children,
+ childrenByClass = [];
+ for (var i = 0; i < el.children.length; i++) {
+ if (Util.hasClass(el.children[i], className)) childrenByClass.push(el.children[i]);
+ }
+ return childrenByClass;
+};
+
+/*
+ Animate height of an element
+*/
+Util.setHeight = function(start, to, element, duration, cb) {
+ var change = to - start,
+ currentTime = null;
+
+ var animateHeight = function(timestamp){
+ if (!currentTime) currentTime = timestamp;
+ var progress = timestamp - currentTime;
+ var val = parseInt((progress/duration)*change + start);
+ element.setAttribute("style", "height:"+val+"px;");
+ if(progress < duration) {
+ window.requestAnimationFrame(animateHeight);
+ } else {
+ cb();
+ }
+ };
+
+ //set the height of the element before starting animation -> fix bug on Safari
+ element.setAttribute("style", "height:"+start+"px;");
+ window.requestAnimationFrame(animateHeight);
+};
+
+/*
+ Smooth Scroll
+*/
+
+Util.scrollTo = function(final, duration, cb) {
+ var start = window.scrollY || document.documentElement.scrollTop,
+ currentTime = null;
+
+ var animateScroll = function(timestamp){
+ if (!currentTime) currentTime = timestamp;
+ var progress = timestamp - currentTime;
+ if(progress > duration) progress = duration;
+ var val = Math.easeInOutQuad(progress, start, final-start, duration);
+ window.scrollTo(0, val);
+ if(progress < duration) {
+ window.requestAnimationFrame(animateScroll);
+ } else {
+ cb && cb();
+ }
+ };
+
+ window.requestAnimationFrame(animateScroll);
+};
+
+/*
+ Focus utility classes
+*/
+
+//Move focus to an element
+Util.moveFocus = function (element) {
+ if( !element ) element = document.getElementsByTagName("body")[0];
+ element.focus();
+ if (document.activeElement !== element) {
+ element.setAttribute('tabindex','-1');
+ element.focus();
+ }
+};
+
+/*
+ Misc
+*/
+
+Util.getIndexInArray = function(array, el) {
+ return Array.prototype.indexOf.call(array, el);
+};
+
+Util.cssSupports = function(property, value) {
+ if('CSS' in window) {
+ return CSS.supports(property, value);
+ } else {
+ var jsProperty = property.replace(/-([a-z])/g, function (g) { return g[1].toUpperCase();});
+ return jsProperty in document.body.style;
+ }
+};
+
+/*
+ Polyfills
+*/
+//Closest() method
+if (!Element.prototype.matches) {
+ Element.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;
+}
+
+if (!Element.prototype.closest) {
+ Element.prototype.closest = function(s) {
+ var el = this;
+ if (!document.documentElement.contains(el)) return null;
+ do {
+ if (el.matches(s)) return el;
+ el = el.parentElement || el.parentNode;
+ } while (el !== null && el.nodeType === 1);
+ return null;
+ };
+}
+
+//Custom Event() constructor
+if ( typeof window.CustomEvent !== "function" ) {
+
+ function CustomEvent ( event, params ) {
+ params = params || { bubbles: false, cancelable: false, detail: undefined };
+ var evt = document.createEvent( 'CustomEvent' );
+ evt.initCustomEvent( event, params.bubbles, params.cancelable, params.detail );
+ return evt;
+ }
+
+ CustomEvent.prototype = window.Event.prototype;
+
+ window.CustomEvent = CustomEvent;
+}
+
+/*
+ Animation curves
+*/
+Math.easeInOutQuad = function (t, b, c, d) {
+ t /= d/2;
+ if (t < 1) return c/2*t*t + b;
+ t--;
+ return -c/2 * (t*(t-2) - 1) + b;
+};
\ No newline at end of file
diff --git a/css/.DS_Store b/css/.DS_Store
deleted file mode 100644
index 599aa9f..0000000
Binary files a/css/.DS_Store and /dev/null differ
diff --git a/css/general.css b/css/general.css
index c1266c7..20d4689 100644
--- a/css/general.css
+++ b/css/general.css
@@ -474,14 +474,14 @@ nav ul li {
position: relative;
display: inline-block;
left: 0%;
+
animation: waviy 1s;
animation-delay: calc(var(--i));
- animation-fill-mode:both;
+ animation-fill-mode: both;
}
.waviy span:hover {
padding-left: -20px;
-
}
#top-logo-text {
@@ -1589,6 +1589,641 @@ section {
margin-top: 50px !important;
}
+.scheduleContainer {
+ display: flex;
+ text-align: left;
+}
+
+/* Schedule */
+.codyhouse {
+ text-align: center;
+ margin: 40px 0;
+}
+/* reset css */
+/* https://meyerweb.com/eric/tools/css/reset/
+ v2.0 | 20110126
+ License: none (public domain)
+*/
+
+
+/* HTML5 display-role reset for older browsers */
+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;
+}
+
+/* style css */
+/* --------------------------------
+
+Primary style
+
+-------------------------------- */
+*, *::after, *::before {
+ box-sizing: border-box;
+}
+
+.codyhouse {
+ font-size: 62.5%;
+}
+
+.single-event a {
+ color: #A2B9B2;
+ text-decoration: none;
+}
+
+/* --------------------------------
+
+Main Components
+
+-------------------------------- */
+.cd-schedule {
+ position: relative;
+ margin: 2em 0;
+}
+
+.cd-schedule::before {
+ /* never visible - this is used in js to check the current MQ */
+ content: 'mobile';
+ display: none;
+}
+
+@media only screen and (min-width: 800px) {
+ .cd-schedule {
+ width: 90%;
+ max-width: 1400px;
+ margin: 2em auto;
+ }
+ .cd-schedule::after {
+ clear: both;
+ content: "";
+ display: block;
+ }
+ .cd-schedule::before {
+ content: 'desktop';
+ }
+}
+
+.cd-schedule .timeline {
+ display: none;
+}
+
+@media only screen and (min-width: 800px) {
+ .cd-schedule .timeline {
+ display: block;
+ position: absolute;
+ top: 0;
+ left: 0;
+ height: 100%;
+ width: 100%;
+ padding-top: 50px;
+ }
+ .cd-schedule .timeline li {
+ position: relative;
+ height: 50px;
+ }
+ .cd-schedule .timeline li::after {
+ /* this is used to create the table horizontal lines */
+ content: '';
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ height: 1px;
+ background: #EAEAEA;
+ }
+ .cd-schedule .timeline li:last-of-type::after {
+ display: none;
+ }
+ .cd-schedule .timeline li span {
+ display: none;
+ }
+}
+
+@media only screen and (min-width: 1000px) {
+ .cd-schedule .timeline li::after {
+ width: calc(100% - 60px);
+ left: 60px;
+ }
+ .cd-schedule .timeline li span {
+ display: inline-block;
+ -webkit-transform: translateY(-50%);
+ -ms-transform: translateY(-50%);
+ transform: translateY(-50%);
+ }
+ .cd-schedule .timeline li:nth-of-type(2n) span {
+ display: none;
+ }
+}
+
+.cd-schedule .events {
+ position: relative;
+ z-index: 1;
+}
+
+.cd-schedule .events .events-group {
+ margin-bottom: 30px;
+}
+
+.cd-schedule .events .top-info {
+ width: 100%;
+ padding: 0 5%;
+}
+
+.cd-schedule .events .top-info > span {
+ display: inline-block;
+ line-height: 1.2;
+ margin-bottom: 10px;
+ font-weight: bold;
+}
+
+.cd-schedule .events .events-group > ul {
+ position: relative;
+ padding: 0 5%;
+ /* force its children to stay on one line */
+ display: -webkit-box;
+ display: -ms-flexbox;
+ display: flex;
+ overflow-x: scroll;
+ -webkit-overflow-scrolling: touch;
+}
+
+.cd-schedule .events .events-group > ul::after {
+ /* never visible - used to add a right padding to .events-group > ul */
+ display: inline-block;
+ content: '-';
+ width: 1px;
+ height: 100%;
+ opacity: 0;
+ color: transparent;
+}
+
+.cd-schedule .events .single-event {
+ /* force them to stay on one line */
+ -ms-flex-negative: 0;
+ flex-shrink: 0;
+ float: left;
+ height: 150px;
+ width: 70%;
+ max-width: 300px;
+ box-shadow: inset 0 -3px 0 rgba(0, 0, 0, 0.2);
+ margin-right: 20px;
+ -webkit-transition: opacity .2s, background .2s;
+ transition: opacity .2s, background .2s;
+}
+
+.cd-schedule .events .single-event:last-of-type {
+ margin-right: 5%;
+}
+
+.cd-schedule .events .single-event a {
+ display: block;
+ height: 100%;
+ padding: .8em;
+}
+
+@media only screen and (min-width: 550px) {
+ .cd-schedule .events .single-event {
+ width: 40%;
+ }
+}
+
+@media only screen and (min-width: 800px) {
+ .cd-schedule .events {
+ float: left;
+ width: 100%;
+ }
+ .cd-schedule .events .events-group {
+ width: 14%;
+ float: left;
+ border: 1px solid #EAEAEA;
+ /* reset style */
+ margin-bottom: 0;
+ }
+ .cd-schedule .events .events-group:not(:first-of-type) {
+ border-left-width: 0;
+ }
+ .cd-schedule .events .top-info {
+ /* vertically center its content */
+ display: table;
+ height: 50px;
+ border-bottom: 1px solid #EAEAEA;
+ /* reset style */
+ padding: 0;
+ }
+ .cd-schedule .events .top-info > span {
+ /* vertically center inside its parent */
+ display: table-cell;
+ vertical-align: middle;
+ padding: 0 .5em;
+ text-align: center;
+ /* reset style */
+ font-weight: normal;
+ margin-bottom: 0;
+ }
+ .cd-schedule .events .events-group > ul {
+ height: 950px;
+ /* reset style */
+ display: block;
+ overflow: visible;
+ padding: 0;
+ }
+ .cd-schedule .events .events-group > ul::after {
+ clear: both;
+ content: "";
+ display: block;
+ }
+ .cd-schedule .events .events-group > ul::after {
+ /* reset style */
+ display: none;
+ }
+ .cd-schedule .events .single-event {
+ position: absolute;
+ z-index: 3;
+ /* top position and height will be set using js */
+ width: calc(100% + 2px);
+ left: -1px;
+ box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1), inset 0 -3px 0 rgba(0, 0, 0, 0.2);
+ /* reset style */
+ -ms-flex-negative: 1;
+ flex-shrink: 1;
+ height: auto;
+ max-width: none;
+ margin-right: 0;
+ }
+ .cd-schedule .events .single-event a {
+ padding: 1.2em;
+ }
+ .cd-schedule .events .single-event:last-of-type {
+ /* reset style */
+ margin-right: 0;
+ }
+ .cd-schedule .events .single-event.selected-event {
+ /* the .selected-event class is added when an user select the event */
+ visibility: hidden;
+ }
+}
+
+@media only screen and (min-width: 1000px) {
+ .cd-schedule .events {
+ /* 60px is the .timeline element width */
+ width: calc(100% - 60px);
+ margin-left: 60px;
+ }
+}
+
+.cd-schedule.loading .events .single-event {
+ /* the class .loading is added by default to the .cd-schedule element
+ it is removed as soon as the single events are placed in the schedule plan (using javascript) */
+ opacity: 0;
+}
+
+.cd-schedule .event-name,
+.cd-schedule .event-date {
+ display: block;
+ color: white;
+ font-weight: bold;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+.cd-schedule .event-name {
+ font-size: 2.4rem;
+}
+
+@media only screen and (min-width: 800px) {
+ .cd-schedule .event-name {
+ font-size: 2rem;
+ }
+}
+
+.cd-schedule .event-date {
+ /* they are not included in the the HTML but added using JavScript */
+ font-size: 1.4rem;
+ opacity: .7;
+ line-height: 1.2;
+ margin-bottom: .2em;
+}
+
+.cd-schedule .single-event[data-event="event-1"],
+.cd-schedule [data-event="event-1"] .header-bg {
+ /* this is used to set a background color for the event and the modal window */
+ background: #577F92;
+}
+
+.cd-schedule .single-event[data-event="event-1"]:hover {
+ background: #618da1;
+}
+
+.cd-schedule .single-event[data-event="event-2"],
+.cd-schedule [data-event="event-2"] .header-bg {
+ background: #443453;
+}
+
+.cd-schedule .single-event[data-event="event-2"]:hover {
+ background: #513e63;
+}
+
+.cd-schedule .single-event[data-event="event-3"],
+.cd-schedule [data-event="event-3"] .header-bg {
+ background: #A2B9B2;
+}
+
+.cd-schedule .single-event[data-event="event-3"]:hover {
+ background: #b1c4be;
+}
+
+.cd-schedule .single-event[data-event="event-4"],
+.cd-schedule [data-event="event-4"] .header-bg {
+ background: #f6b067;
+}
+
+.cd-schedule .single-event[data-event="event-4"]:hover {
+ background: #f7bd7f;
+}
+
+.cd-schedule .event-modal {
+ position: fixed;
+ z-index: 3;
+ top: 0;
+ right: 0;
+ height: 100%;
+ width: 100%;
+ visibility: hidden;
+ /* Force Hardware acceleration */
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0);
+ -webkit-transform: translateX(100%);
+ -ms-transform: translateX(100%);
+ transform: translateX(100%);
+ -webkit-transition: visibility .4s, -webkit-transform .4s;
+ transition: visibility .4s, -webkit-transform .4s;
+ transition: transform .4s, visibility .4s;
+ transition: transform .4s, visibility .4s, -webkit-transform .4s;
+ -webkit-transition-timing-function: cubic-bezier(0.5, 0, 0.1, 1);
+ transition-timing-function: cubic-bezier(0.5, 0, 0.1, 1);
+}
+
+.cd-schedule .event-modal .header {
+ position: relative;
+ height: 70px;
+ /* vertically center its content */
+ display: table;
+ width: 100%;
+}
+
+.cd-schedule .event-modal .header .content {
+ position: relative;
+ z-index: 3;
+ /* vertically center inside its parent */
+ display: table-cell;
+ vertical-align: middle;
+ padding: .6em 5%;
+}
+
+.cd-schedule .event-modal .body {
+ position: relative;
+ width: 100%;
+ /* 70px is the .header height */
+ height: calc(100% - 70px);
+}
+
+.cd-schedule .event-modal .event-info {
+ position: relative;
+ z-index: 2;
+ line-height: 1.4;
+ height: 100%;
+ overflow: hidden;
+}
+
+.cd-schedule .event-modal .event-info > div {
+ overflow: auto;
+ height: 100%;
+ padding: 1.4em 5%;
+}
+
+.cd-schedule .event-modal .header-bg, .cd-schedule .event-modal .body-bg {
+ /* these are the morphing backgrounds - visible on desktop only */
+ position: absolute;
+ top: 0;
+ left: 0;
+ height: 100%;
+ width: 100%;
+}
+
+.cd-schedule .event-modal .body-bg {
+ z-index: 1;
+ background: white;
+ -webkit-transform-origin: top left;
+ -ms-transform-origin: top left;
+ transform-origin: top left;
+}
+
+.cd-schedule .event-modal .header-bg {
+ z-index: 2;
+ -webkit-transform-origin: top center;
+ -ms-transform-origin: top center;
+ transform-origin: top center;
+}
+
+.cd-schedule .event-modal .close {
+ /* this is the 'X' icon */
+ position: absolute;
+ top: 0;
+ right: 0;
+ z-index: 3;
+ background: rgba(0, 0, 0, 0.1);
+ /* replace text with icon */
+ color: transparent;
+ white-space: nowrap;
+ text-indent: 100%;
+ height: 70px;
+ width: 70px;
+}
+
+.cd-schedule .event-modal .close::before, .cd-schedule .event-modal .close::after {
+ /* these are the two lines of the 'X' icon */
+ content: '';
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ width: 2px;
+ height: 22px;
+ background: white;
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden;
+}
+
+.cd-schedule .event-modal .close::before {
+ -webkit-transform: translateX(-50%) translateY(-50%) rotate(45deg);
+ -ms-transform: translateX(-50%) translateY(-50%) rotate(45deg);
+ transform: translateX(-50%) translateY(-50%) rotate(45deg);
+}
+
+.cd-schedule .event-modal .close::after {
+ -webkit-transform: translateX(-50%) translateY(-50%) rotate(-45deg);
+ -ms-transform: translateX(-50%) translateY(-50%) rotate(-45deg);
+ transform: translateX(-50%) translateY(-50%) rotate(-45deg);
+}
+
+.cd-schedule .event-modal .event-date {
+ display: none;
+}
+
+.cd-schedule .event-modal.no-transition {
+ -webkit-transition: none;
+ transition: none;
+}
+
+.cd-schedule .event-modal.no-transition .header-bg, .cd-schedule .event-modal.no-transition .body-bg {
+ -webkit-transition: none;
+ transition: none;
+}
+
+@media only screen and (min-width: 800px) {
+ .cd-schedule .event-modal {
+ /* reset style */
+ right: auto;
+ width: auto;
+ height: auto;
+ -webkit-transform: translateX(0);
+ -ms-transform: translateX(0);
+ transform: translateX(0);
+ will-change: transform, width, height;
+ -webkit-transition: height .4s, width .4s, visibility .4s, -webkit-transform .4s;
+ transition: height .4s, width .4s, visibility .4s, -webkit-transform .4s;
+ transition: height .4s, width .4s, transform .4s, visibility .4s;
+ transition: height .4s, width .4s, transform .4s, visibility .4s, -webkit-transform .4s;
+ -webkit-transition-timing-function: cubic-bezier(0.5, 0, 0.1, 1);
+ transition-timing-function: cubic-bezier(0.5, 0, 0.1, 1);
+ }
+ .cd-schedule .event-modal .header {
+ position: absolute;
+ display: block;
+ top: 0;
+ left: 0;
+ height: 100%;
+ }
+ .cd-schedule .event-modal .header .content {
+ /* reset style */
+ display: block;
+ padding: .8em;
+ }
+ .cd-schedule .event-modal .event-info > div {
+ padding: 2em 3em 2em 2em;
+ }
+ .cd-schedule .event-modal .body {
+ height: 100%;
+ width: auto;
+ }
+ .cd-schedule .event-modal .header-bg, .cd-schedule .event-modal .body-bg {
+ /* Force Hardware acceleration */
+ -webkit-transform: translateZ(0);
+ transform: translateZ(0);
+ will-change: transform;
+ -webkit-backface-visibility: hidden;
+ backface-visibility: hidden;
+ }
+ .cd-schedule .event-modal .header-bg {
+ -webkit-transition: -webkit-transform .4s;
+ transition: -webkit-transform .4s;
+ transition: transform .4s;
+ transition: transform .4s, -webkit-transform .4s;
+ -webkit-transition-timing-function: cubic-bezier(0.5, 0, 0.1, 1);
+ transition-timing-function: cubic-bezier(0.5, 0, 0.1, 1);
+ }
+ .cd-schedule .event-modal .body-bg {
+ opacity: 0;
+ -webkit-transform: none;
+ -ms-transform: none;
+ transform: none;
+ }
+ .cd-schedule .event-modal .event-date {
+ display: block;
+ }
+ .cd-schedule .event-modal .close, .cd-schedule .event-modal .event-info {
+ opacity: 0;
+ }
+ .cd-schedule .event-modal .close {
+ width: 40px;
+ height: 40px;
+ background: transparent;
+ }
+ .cd-schedule .event-modal .close::after, .cd-schedule .event-modal .close::before {
+ background: #222222;
+ height: 16px;
+ }
+}
+
+@media only screen and (min-width: 1000px) {
+ .cd-schedule .event-modal .header .content {
+ padding: 1.2em;
+ }
+}
+
+.cd-schedule.modal-is-open .event-modal {
+ /* .modal-is-open class is added as soon as an event is selected */
+ -webkit-transform: translateX(0);
+ -ms-transform: translateX(0);
+ transform: translateX(0);
+ visibility: visible;
+}
+
+.cd-schedule.modal-is-open .event-modal .event-info > div {
+ /* smooth scroll on iOS touch devices */
+ -webkit-overflow-scrolling: touch;
+}
+
+@media only screen and (min-width: 800px) {
+ .cd-schedule.animation-completed .event-modal .close,
+ .cd-schedule.content-loaded.animation-completed .event-modal .event-info {
+ /* the .animation-completed class is added when the modal animation is completed
+ the .content-loaded class is added when the modal content has been loaded (using ajax) */
+ opacity: 1;
+ -webkit-transition: opacity .2s;
+ transition: opacity .2s;
+ }
+ .cd-schedule.modal-is-open .body-bg {
+ opacity: 1;
+ -webkit-transition: -webkit-transform .4s;
+ transition: -webkit-transform .4s;
+ transition: transform .4s;
+ transition: transform .4s, -webkit-transform .4s;
+ -webkit-transition-timing-function: cubic-bezier(0.5, 0, 0.1, 1);
+ transition-timing-function: cubic-bezier(0.5, 0, 0.1, 1);
+ }
+}
+
+.cd-schedule .cover-layer {
+ /* layer between the content and the modal window */
+ position: fixed;
+ z-index: 2;
+ top: 0;
+ left: 0;
+ height: 100%;
+ width: 100%;
+ background: rgba(0, 0, 0, 0.8);
+ opacity: 0;
+ visibility: hidden;
+ -webkit-transition: opacity .4s, visibility .4s;
+ transition: opacity .4s, visibility .4s;
+}
+
+.cd-schedule.modal-is-open .cover-layer {
+ opacity: 1;
+ visibility: visible;
+}
+
#map-article {
margin: 20px auto 0;
width: 90%;
diff --git a/img/.DS_Store b/img/.DS_Store
deleted file mode 100644
index ffdd1bc..0000000
Binary files a/img/.DS_Store and /dev/null differ
diff --git a/img/jamesdinh.jpg b/img/jamesdinh.jpg
index c816f62..292cc26 100644
Binary files a/img/jamesdinh.jpg and b/img/jamesdinh.jpg differ
diff --git a/img/stevendinh.jpg b/img/stevendinh.jpg
index 3156d82..971b58d 100644
Binary files a/img/stevendinh.jpg and b/img/stevendinh.jpg differ
diff --git a/index.html b/index.html
index 15749e3..7a85bd0 100644
--- a/index.html
+++ b/index.html
@@ -30,6 +30,8 @@
+
+