/* MEDIA QUERY INDENTATION */
@media print{body,#main,#content{color:#000!important;}a,a:link,a:visited{color:#000!important;text-decoration:none!important;}#tabs,#globalheader,#globalfooter,#directorynav,.noprint,.hide{display:none!important;}#main a.pdf,#main a.html,#main a.qt,#main a.ical,#main a.dl,#main a.dmg,#main a.zip,#main a.keynote,#main a.audio{padding-left:0;background-image:none;}}
@media print{@media screen{body{color:red;}}}

/* MEDIA QUERY */
@media screen and(max-device-width:480px){html{-webkit-text-size-adjust:none;}}
@media   screen   and   (   max-device-width   :   480px   )   {   html   {   -webkit-text-size-adjust   :   none   ;   }   }
@media not((screen)and(print)),(print){body{color:red}}
@media   not   (   (   screen   )   and   (   print   )   )   ,   (   print   )   {   body   {   color   :   red   }   }

/* font-face */
@font-face {
    font-family: "MyWebFont";
    src: url("myfont.woff2") format("woff2"),
         url("myfont.woff") format("woff");
}

/* page */
@page :first{margin:1in;}
@page   :first   {   margin   :   1in   ;   }

/* supports */
@supports(display:flex){.module{display:flex;}}
@supports   (   display   :   flex   )   {   .module   {   display   :   flex   ;   }   }
@supports(-webkit-backdrop-filter:blur(10px)){.home header{-webkit-backdrop-filter:blur(10px);}}
@supports   (   -webkit-backdrop-filter   :   blur   (   10px   )   )   {   .home   header   {   -webkit-backdrop-filter   :   blur   (   10px   )   ;   }   }
