html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}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} /* END RESET */

    @font-face {
      font-family: 'OCP-Medium';
      src: url('fonts/OfficeCodePro-Medium.eot'); /* IE9 Compat Modes */
      src: url('fonts/OfficeCodePro-Medium.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
           url('fonts/OfficeCodePro-Medium.woff2') format('woff2'), /* Super Modern Browsers */
           url('fonts/OfficeCodePro-Medium.woff') format('woff'), /* Pretty Modern Browsers */
           url('fonts/OfficeCodePro-Medium.ttf')  format('truetype'), /* Safari, Android, iOS */
           url('fonts/OfficeCodePro-Medium.svg#svgFontName') format('svg'); /* Legacy iOS */
    }

    html, body {width:100%; height: 100%; margin:0; padding: 0; font-family: OCP-Medium, "Office Code Pro", "Source Code Pro", monospace; font-weight: 500; background: #000; color: #FFF; overflow-x: none; overflow-y: auto;}
    a, a:hover, a:visited, a:focus {color: #FFF;}
    a:hover {text-decoration: none;}

    .container {
      width: 100%;
      height: 100%;
      display: grid;
    }

    .intro {
      grid-area: header;
      font-size: 3.5vmin;
      line-height: 1.5;
    }

    .info, .contact {line-height: 1.7;}
    .info {grid-area: info;}
    .contact {grid-area: contact;}

    @media (orientation: landscape), (min-width: 668px) {
      .container {
        grid-template-columns: 5.2% auto 5.2% auto 5.2%;
        grid-template-rows: 9.26% auto 7vmin auto 9.26%;
        grid-template-areas: ". . . . ."
                             ". header header header ."
                             ". . . . ."
                             ". info . contact ."
                             ". . . . .";
      }

      .intro {font-size: 3.5vmin;}
      .info, .contact {font-size: 2.4vmin;}

    }

    @media (orientation: portrait), (max-width: 667px) {
      html, body {height: auto;}
      .container {
        grid-template-columns: 5em auto 5em;
        grid-template-rows: 5em min-content 3em min-content 3em min-content 3em;
        grid-template-areas: ". . ."
                             ". header ."
                             ". . ."
                             ". info ."
                             ". . ."
                             ". contact ."
                             ". . .";
      }
      .intro, .info, .contact {font-size: 4vmin;}
    }
