diff --git a/composer.lock b/composer.lock
index b709e126715575749e900f9bcc7456268d21debd..6eca06682419b9c1dd4f619694bbeb6024b1aa93 100644
--- a/composer.lock
+++ b/composer.lock
@@ -526,16 +526,16 @@
         },
         {
             "name": "unl/php-wdn-templates",
-            "version": "v5.3.3",
+            "version": "v5.3.4",
             "source": {
                 "type": "git",
                 "url": "https://github.com/unl/phpunltemplates.git",
-                "reference": "6e8d54a1405f69da508520c53dc059e66efa5ac1"
+                "reference": "845d8e05a6ae636797b350659f64b5f03b466166"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/unl/phpunltemplates/zipball/6e8d54a1405f69da508520c53dc059e66efa5ac1",
-                "reference": "6e8d54a1405f69da508520c53dc059e66efa5ac1",
+                "url": "https://api.github.com/repos/unl/phpunltemplates/zipball/845d8e05a6ae636797b350659f64b5f03b466166",
+                "reference": "845d8e05a6ae636797b350659f64b5f03b466166",
                 "shasum": ""
             },
             "require": {
@@ -581,9 +581,9 @@
             "homepage": "http://wdn.unl.edu/",
             "support": {
                 "issues": "https://github.com/unl/phpunltemplates/issues",
-                "source": "https://github.com/unl/phpunltemplates/tree/v5.3.3"
+                "source": "https://github.com/unl/phpunltemplates/tree/v5.3.4"
             },
-            "time": "2021-03-29T21:02:08+00:00"
+            "time": "2022-01-24T19:05:47+00:00"
         },
         {
             "name": "unl/unl_cache_lite",
diff --git a/config.sample.php b/config.sample.php
index b4af86e67299309683b21c89e71d843e86680eb0..f970a92b99877564df1495a6d23d5cf58b335434 100644
--- a/config.sample.php
+++ b/config.sample.php
@@ -34,3 +34,11 @@ ActiveRecord\Config::initialize(function ($cfg) {
     ));
 });
 
+// Site Notice
+$siteNotice = new stdClass();
+$siteNotice->display = false;
+$siteNotice->noticePath = 'dcf-notice';
+$siteNotice->containerID = 'dcf-main';
+$siteNotice->type = 'dcf-notice-info';
+$siteNotice->title = 'Maintenance Notice';
+$siteNotice->message = 'We will be performing site maintenance on February 3rd from 4:30 to 5:00.  The site may not be available during this time.';
diff --git a/less/main.less b/less/main.less
index 51713e67612d35c1ad8d068db85ebc40469944f3..fb8bfec84333e91101fa1673684982071cced4ef 100644
--- a/less/main.less
+++ b/less/main.less
@@ -323,6 +323,10 @@ svg.preview {
 	}
 }
 
+.dcf-notice {
+    margin-top: 1em;
+}
+
 @media (min-width: 0px) {
 	.lockup-hero {
 	    height: 5em;
diff --git a/public/css/main.css b/public/css/main.css
index 0a5096fd2f343d1f3f42dd1b13be4e628418cfab..026c569b98d3756b25e684169197c3db177e650e 100644
--- a/public/css/main.css
+++ b/public/css/main.css
@@ -1 +1 @@
-.dcf-nav-menu-child ul{list-style:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'/%3E");margin-bottom:0;padding-left:0}a{text-decoration:none}label>input{visibility:hidden;position:absolute}label img{padding:5px}label>input+img,label>input+img+img{cursor:pointer;-webkit-box-shadow:0 0 8px #DDD;box-shadow:0 0 8px #DDD}label>input:checked+img,label>input:checked+img+img{-webkit-box-shadow:0 0 8px #1B9AE8;box-shadow:0 0 8px #1B9AE8}form legend{font-size:1.5em}textarea{resize:vertical}.page-title{margin-top:0}div.left,section.left,td.left,th.left{text-align:left}div.center,label.center,section.center,td.center,th.center{text-align:center}div.right,section.right,td.right,th.right{text-align:right}img.height-36{max-height:108px}img.height-38{max-height:114px}img.height-40{max-height:120px}.approval-bug{text-align:center;background:#1b9ae8;border:1px solid #137cbd;border-radius:1em;padding:1em;color:#fefdfa;font-family:"Gotham SSm A","Gotham SSm B",Verdana,"Verdana Ref",Geneva,Tahoma,"Lucida Grande","Lucida Sans Unicode","Lucida Sans","DejaVu Sans","Bitstream Vera Sans","Liberation Sans",sans-serif;font-weight:400;font-style:normal}.approval-bug.approved{background:#00bc3c;border:1px solid #00892c}.approval-bug.denied{background:#ff5151;border:1px solid #d00000}.caps{text-transform:uppercase;color:inherit}.featured-icon{background-color:#00BD3C;height:144px;width:144px;border-radius:80px;float:none!important;margin:0 auto!important}.featured-icon.red{background-color:#D00000}.featured-icon.blue{background-color:#1B9AE8}.table-actions{line-height:1}.table-actions a,.table-actions button{vertical-align:middle}.delete-form{display:inline;padding:0}svg.preview{background-color:#FFF;border:2px dashed var(--b);max-width:100%}.lockup-hero{position:relative;overflow:hidden;height:25.24em;height:42vh;background-color:#000;display:-ms-flexbox;display:-webkit-box;display:flex;-ms-flex-align:center;-webkit-box-align:center;align-items:center}.lockup-hero video{width:100%}.lockup-hero-text{position:relative;bottom:auto;display:-ms-flexbox;display:-webkit-box;display:flex;-ms-flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:100%;text-align:center}.lockup-hero-heading{z-index:1;margin:0;font-size:2.67em;text-transform:uppercase;color:#fff}.lockup-hero-heading .hero-line{display:inline-block;line-height:1;border-top:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2)}.is-video.lockup-hero .lockup-hero-video{position:absolute;top:0;left:0}.tooltip{background-color:var(--bg-body);color:#1B9AE8;display:inline-block;text-align:center;position:relative;line-height:1.6em;font-size:.8125rem}.tooltip>div{position:absolute;display:none;background-color:var(--bg-body);color:var(--body);-webkit-box-shadow:0 1px 4px var(--b);box-shadow:0 1px 4px var(--b);padding:.75em;bottom:160%;left:-91px;width:200px;text-align:left;z-index:250}.tooltip>div:before{background-color:var(--bg-body);content:"";display:block;width:15px;height:15px;position:absolute;bottom:-8px;left:50%;margin-left:-7px;transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);-moz-transform:rotate(45deg);-webkit-transform:rotate(45deg);-webkit-box-shadow:0 0 4px rgba(0,0,0,.25);box-shadow:0 0 4px rgba(0,0,0,.25)}.tooltip>div:after{content:"";height:12px;width:40px;background-color:var(--bg-body);display:block;position:absolute;bottom:0;left:50%;margin-left:-24px}.tooltip.hang-right>div{left:-27px}.tooltip.hang-left>div{left:-157px}.tooltip.hang-right>div:before{left:34px;margin-left:-7px}.tooltip.hang-right>div:after{left:34px;margin-left:-24px}.tooltip.hang-left>div:before{left:166px;margin-left:-7px}.tooltip.hang-left>div:after{left:166px;margin-left:-24px}.tooltip ul li{margin-bottom:.75em}.tooltip span.heading{font-family:"Tungsten A","Tungsten B",HelveticaNeueCondensed,HelveticaNeue-Condensed,"Helvetica Neue Condensed",HelveticaNeueRomanCondensed,HelveticaNeue-Roman-Condensed,"Helvetica Neue Roman Condensed","Arial Narrow",HelveticaNeue,"Helvetica Neue",HelveticaNeueRoman,HelveticaNeue-Roman,"Helvetica Neue Roman",Helvetica,Tahoma,Geneva,Arial,sans-serif;font-size:1.777em}.tooltip:hover>div{display:block}.tooltip p{margin:0}.tooltip.italic *{font-style:italic}.toolbox,.visual-island{background:var(--bg-dialog);margin-bottom:1em;word-wrap:break-word;padding:0!important}.toolbox .details,.toolbox .tools,.visual-island .details,.visual-island .tools{padding:1em;border-left:1px solid var(--b);border-right:1px solid var(--b);border-bottom:1px solid var(--b)}.toolbox .details.top-border,.toolbox .tools.top-border,.visual-island .details.top-border,.visual-island .tools.top-border{border-top:1px solid var(--b)}.toolbox .vi-header,.toolbox h1,.toolbox h2,.toolbox h3,.toolbox h4,.toolbox h5,.toolbox h6,.visual-island .vi-header,.visual-island h1,.visual-island h2,.visual-island h3,.visual-island h4,.visual-island h5,.visual-island h6{display:block;font-size:.802em!important;margin:0;border-bottom:1px solid var(--heading);font-family:"Gotham SSm A","Gotham SSm B",Verdana,"Verdana Ref",Geneva,Tahoma,"Lucida Grande","Lucida Sans Unicode","Lucida Sans","DejaVu Sans","Bitstream Vera Sans","Liberation Sans",sans-serif;width:100%;background-color:var(--heading);padding:1em;text-transform:uppercase;color:var(--inverse);font-weight:400;font-style:normal;text-align:center}.toolbox p,.visual-island p{padding:0 1em 1em 1em}.toolbox ul,.visual-island ul{padding:0;padding-left:1em;margin:0}.toolbox ul a,.visual-island ul a{border-bottom:none;font-family:"Gotham SSm A","Gotham SSm B",Verdana,"Verdana Ref",Geneva,Tahoma,"Lucida Grande","Lucida Sans Unicode","Lucida Sans","DejaVu Sans","Bitstream Vera Sans","Liberation Sans",sans-serif}@media (min-width:0px){.lockup-hero{height:5em;height:10vh;max-height:8em}}@media (min-height:480px) and (min-width:480px){.lockup-hero{height:15em;height:30vh;max-height:22em}}@media (min-height:718px) and (min-width:960px){.lockup-hero{height:25.24em;height:56vh;max-height:31.474em}}@media (min-height:895px) and (min-width:1044px){.lockup-hero{height:31.474em;height:75vh;max-height:33.645em}}@media (min-width:480px){.lockup-hero-heading{font-size:3.16em}}@media (min-width:768px){.lockup-hero-heading{font-size:4.21em}}@media (min-width:1044px){.lockup-hero-heading{font-size:4.74em}}
\ No newline at end of file
+.dcf-nav-menu-child ul{list-style:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'/%3E");margin-bottom:0;padding-left:0}a{text-decoration:none}label>input{visibility:hidden;position:absolute}label img{padding:5px}label>input+img,label>input+img+img{cursor:pointer;-webkit-box-shadow:0 0 8px #DDD;box-shadow:0 0 8px #DDD}label>input:checked+img,label>input:checked+img+img{-webkit-box-shadow:0 0 8px #1B9AE8;box-shadow:0 0 8px #1B9AE8}form legend{font-size:1.5em}textarea{resize:vertical}.page-title{margin-top:0}div.left,section.left,td.left,th.left{text-align:left}div.center,label.center,section.center,td.center,th.center{text-align:center}div.right,section.right,td.right,th.right{text-align:right}img.height-36{max-height:108px}img.height-38{max-height:114px}img.height-40{max-height:120px}.approval-bug{text-align:center;background:#1b9ae8;border:1px solid #137cbd;border-radius:1em;padding:1em;color:#fefdfa;font-family:"Gotham SSm A","Gotham SSm B",Verdana,"Verdana Ref",Geneva,Tahoma,"Lucida Grande","Lucida Sans Unicode","Lucida Sans","DejaVu Sans","Bitstream Vera Sans","Liberation Sans",sans-serif;font-weight:400;font-style:normal}.approval-bug.approved{background:#00bc3c;border:1px solid #00892c}.approval-bug.denied{background:#ff5151;border:1px solid #d00000}.caps{text-transform:uppercase;color:inherit}.featured-icon{background-color:#00BD3C;height:144px;width:144px;border-radius:80px;float:none!important;margin:0 auto!important}.featured-icon.red{background-color:#D00000}.featured-icon.blue{background-color:#1B9AE8}.table-actions{line-height:1}.table-actions a,.table-actions button{vertical-align:middle}.delete-form{display:inline;padding:0}svg.preview{background-color:#FFF;border:2px dashed var(--b);max-width:100%}.lockup-hero{position:relative;overflow:hidden;height:25.24em;height:42vh;background-color:#000;display:-ms-flexbox;display:-webkit-box;display:flex;-ms-flex-align:center;-webkit-box-align:center;align-items:center}.lockup-hero video{width:100%}.lockup-hero-text{position:relative;bottom:auto;display:-ms-flexbox;display:-webkit-box;display:flex;-ms-flex-direction:column;-webkit-box-orient:vertical;-webkit-box-direction:normal;flex-direction:column;width:100%;text-align:center}.lockup-hero-heading{z-index:1;margin:0;font-size:2.67em;text-transform:uppercase;color:#fff}.lockup-hero-heading .hero-line{display:inline-block;line-height:1;border-top:1px solid rgba(255,255,255,.2);border-bottom:1px solid rgba(255,255,255,.2)}.is-video.lockup-hero .lockup-hero-video{position:absolute;top:0;left:0}.tooltip{background-color:var(--bg-body);color:#1B9AE8;display:inline-block;text-align:center;position:relative;line-height:1.6em;font-size:.8125rem}.tooltip>div{position:absolute;display:none;background-color:var(--bg-body);color:var(--body);-webkit-box-shadow:0 1px 4px var(--b);box-shadow:0 1px 4px var(--b);padding:.75em;bottom:160%;left:-91px;width:200px;text-align:left;z-index:250}.tooltip>div:before{background-color:var(--bg-body);content:"";display:block;width:15px;height:15px;position:absolute;bottom:-8px;left:50%;margin-left:-7px;transform:rotate(45deg);-ms-transform:rotate(45deg);-o-transform:rotate(45deg);-moz-transform:rotate(45deg);-webkit-transform:rotate(45deg);-webkit-box-shadow:0 0 4px rgba(0,0,0,.25);box-shadow:0 0 4px rgba(0,0,0,.25)}.tooltip>div:after{content:"";height:12px;width:40px;background-color:var(--bg-body);display:block;position:absolute;bottom:0;left:50%;margin-left:-24px}.tooltip.hang-right>div{left:-27px}.tooltip.hang-left>div{left:-157px}.tooltip.hang-right>div:before{left:34px;margin-left:-7px}.tooltip.hang-right>div:after{left:34px;margin-left:-24px}.tooltip.hang-left>div:before{left:166px;margin-left:-7px}.tooltip.hang-left>div:after{left:166px;margin-left:-24px}.tooltip ul li{margin-bottom:.75em}.tooltip span.heading{font-family:"Tungsten A","Tungsten B",HelveticaNeueCondensed,HelveticaNeue-Condensed,"Helvetica Neue Condensed",HelveticaNeueRomanCondensed,HelveticaNeue-Roman-Condensed,"Helvetica Neue Roman Condensed","Arial Narrow",HelveticaNeue,"Helvetica Neue",HelveticaNeueRoman,HelveticaNeue-Roman,"Helvetica Neue Roman",Helvetica,Tahoma,Geneva,Arial,sans-serif;font-size:1.777em}.tooltip:hover>div{display:block}.tooltip p{margin:0}.tooltip.italic *{font-style:italic}.toolbox,.visual-island{background:var(--bg-dialog);margin-bottom:1em;word-wrap:break-word;padding:0!important}.toolbox .details,.toolbox .tools,.visual-island .details,.visual-island .tools{padding:1em;border-left:1px solid var(--b);border-right:1px solid var(--b);border-bottom:1px solid var(--b)}.toolbox .details.top-border,.toolbox .tools.top-border,.visual-island .details.top-border,.visual-island .tools.top-border{border-top:1px solid var(--b)}.toolbox .vi-header,.toolbox h1,.toolbox h2,.toolbox h3,.toolbox h4,.toolbox h5,.toolbox h6,.visual-island .vi-header,.visual-island h1,.visual-island h2,.visual-island h3,.visual-island h4,.visual-island h5,.visual-island h6{display:block;font-size:.802em!important;margin:0;border-bottom:1px solid var(--heading);font-family:"Gotham SSm A","Gotham SSm B",Verdana,"Verdana Ref",Geneva,Tahoma,"Lucida Grande","Lucida Sans Unicode","Lucida Sans","DejaVu Sans","Bitstream Vera Sans","Liberation Sans",sans-serif;width:100%;background-color:var(--heading);padding:1em;text-transform:uppercase;color:var(--inverse);font-weight:400;font-style:normal;text-align:center}.toolbox p,.visual-island p{padding:0 1em 1em 1em}.toolbox ul,.visual-island ul{padding:0;padding-left:1em;margin:0}.toolbox ul a,.visual-island ul a{border-bottom:none;font-family:"Gotham SSm A","Gotham SSm B",Verdana,"Verdana Ref",Geneva,Tahoma,"Lucida Grande","Lucida Sans Unicode","Lucida Sans","DejaVu Sans","Bitstream Vera Sans","Liberation Sans",sans-serif}.dcf-notice{margin-top:1em}@media (min-width:0px){.lockup-hero{height:5em;height:10vh;max-height:8em}}@media (min-height:480px) and (min-width:480px){.lockup-hero{height:15em;height:30vh;max-height:22em}}@media (min-height:718px) and (min-width:960px){.lockup-hero{height:25.24em;height:56vh;max-height:31.474em}}@media (min-height:895px) and (min-width:1044px){.lockup-hero{height:31.474em;height:75vh;max-height:33.645em}}@media (min-width:480px){.lockup-hero-heading{font-size:3.16em}}@media (min-width:768px){.lockup-hero-heading{font-size:4.21em}}@media (min-width:1044px){.lockup-hero-heading{font-size:4.74em}}
\ No newline at end of file
diff --git a/public/index.php b/public/index.php
index f81aae1010982b543a1bdec7354dfb906027e796..e74025b90ce9a10697b1d85d0ae205128ba43a12 100644
--- a/public/index.php
+++ b/public/index.php
@@ -22,48 +22,52 @@ if (isset($routerBase) && !empty($routerBase)) {
     $router->setBasePath($routerBase);
 }
 
+if (isset($siteNotice)) {
+    \Core::$siteNotice = $siteNotice;
+}
+
 $router->map('GET', '/?', function() {
-	\Core::callController('home', 'view');
+    \Core::callController('home', 'view');
 });
 $router->map('GET', '/logout/?', function() {
-	\Auth::logout();
+    \Auth::logout();
 });
 $router->map('GET', '/[a:controller]/[a:action]/?', function($controller, $action) {
-	\Core::callController($controller, $action, array_merge(array(), $_GET));
+    \Core::callController($controller, $action, array_merge(array(), $_GET));
 });
 $router->map('GET', '/[a:controller]/[a:action]/[**:trailing]', function($controller, $action, $trailing) {
-	# convert "trailing" into an array of params
-	$params = array();
-	$key = NULL;
-	$even = TRUE;
+    # convert "trailing" into an array of params
+    $params = array();
+    $key = NULL;
+    $even = TRUE;
 
-	$array = explode('/', $trailing);
-	for ($i = 0; $i < count($array); $i++) {
-		if ($even) {
-			$key = $array[$i];
-		} else {
-			$params[$key] = $array[$i];
-		}
-		$even = !$even;
-	}
+    $array = explode('/', $trailing);
+    for ($i = 0; $i < count($array); $i++) {
+        if ($even) {
+            $key = $array[$i];
+        } else {
+            $params[$key] = $array[$i];
+        }
+        $even = !$even;
+    }
 
-	\Core::callController($controller, $action, array_merge($_GET, $params));
+    \Core::callController($controller, $action, array_merge($_GET, $params));
 });
 $router->map('POST', '/[a:controller]/[a:action]/?', function($controller, $action) {
-	\Core::callController($controller, 'post' . ucfirst($action), $_POST);
+    \Core::callController($controller, 'post' . ucfirst($action), $_POST);
 });
 $router->map('POST', '/[a:controller]/[a:action]/[**:trailing]', function($controller, $action, $trailing) {
-	\Core::callController($controller, 'post' . ucfirst($action), $_POST);
+    \Core::callController($controller, 'post' . ucfirst($action), $_POST);
 });
 
 $match = $router->match();
 
 # call closure or throw 404 status
 if($match && is_callable($match['target'])) {
-	call_user_func_array($match['target'], $match['params']); 
+    call_user_func_array($match['target'], $match['params']);
 } else {
-	# no route was matched
-	echo '404 on match';
-	exit;
+    # no route was matched
+    echo '404 on match';
+    exit;
 }
 
diff --git a/src/Core.php b/src/Core.php
index 058a6dc128597f343f54fc774951496ed2d5f62b..6034570e9c34a214c5300f832fb700f550de53c4 100644
--- a/src/Core.php
+++ b/src/Core.php
@@ -1,59 +1,61 @@
 <?php
 
 class Core {
-	public static $breadcrumbs = array(
-		array("href" => "http://www.unl.edu", "text" => 'UNL'),
-		array("href" => '/', "text" => "UNL Lockup Factory")
-	);
-	const ROOT = __DIR__ . '/..';
-	public static $absolute_base_url = 'http://lockups.unl.edu/';
+    public static $breadcrumbs = array(
+        array("href" => "http://www.unl.edu", "text" => 'UNL'),
+        array("href" => '/', "text" => "UNL Lockup Factory")
+    );
+    const ROOT = __DIR__ . '/..';
+    public static $absolute_base_url = 'http://lockups.unl.edu/';
 
-	public static function callController($controller, $action, $params = NULL) {
-		$controller_name = 'Controllers\\' . ucfirst($controller) . 'Controller';
-		$action_name = $action . 'Action';
-		# if that controller exists and it has that method, call it
-		$controller_filename = __DIR__ . '/' . str_replace(array('_', '\\'), '/', $controller_name) . '.php';
-		if (file_exists($controller_filename) && is_callable($controller_name.'::'.$action_name)) {
-			$controller_output = call_user_func($controller_name.'::'.$action_name, $params);
-			self::renderPage($controller_output);
-		} else {
-			# need to 404
-			echo 'not a thing';
-		}
-	}
+    public static $siteNotice = NULL;
 
-	public static function renderPage(Controllers\ControllerOutput $controllerOutput) {
-		include __DIR__ . '/Views/main_template.php';
-	}
+    public static function callController($controller, $action, $params = NULL) {
+        $controller_name = 'Controllers\\' . ucfirst($controller) . 'Controller';
+        $action_name = $action . 'Action';
+        # if that controller exists and it has that method, call it
+        $controller_filename = __DIR__ . '/' . str_replace(array('_', '\\'), '/', $controller_name) . '.php';
+        if (file_exists($controller_filename) && is_callable($controller_name.'::'.$action_name)) {
+            $controller_output = call_user_func($controller_name.'::'.$action_name, $params);
+            self::renderPage($controller_output);
+        } else {
+            # need to 404
+            echo 'not a thing';
+        }
+    }
+
+    public static function renderPage(Controllers\ControllerOutput $controllerOutput) {
+        include __DIR__ . '/Views/main_template.php';
+    }
 
 
-	# redirect to a URL
-	public static function redirect($url, $exit = TRUE) {
-		header('Location: ' . $url);
+    # redirect to a URL
+    public static function redirect($url, $exit = TRUE) {
+        header('Location: ' . $url);
         if (!defined('CLI') && FALSE !== $exit) {
             exit($exit);
         }
-	}
+    }
 
-	public static function notFound($message = 'That content could not be found.') {
-		http_response_code(404);
+    public static function notFound($message = 'That content could not be found.') {
+        http_response_code(404);
 
-		$context = new \stdClass;
-		$context->message = $message;
-		self::renderPage(\Controllers\Controller::renderView('not_found', $context));
-		exit();
-	}
+        $context = new \stdClass;
+        $context->message = $message;
+        self::renderPage(\Controllers\Controller::renderView('not_found', $context));
+        exit();
+    }
 
-	# redirect back to where the user came from
-	public static function redirectBack($exit = TRUE) {
-		header('Location: ' . $_SERVER['HTTP_REFERER']);
+    # redirect back to where the user came from
+    public static function redirectBack($exit = TRUE) {
+        header('Location: ' . $_SERVER['HTTP_REFERER']);
         if (!defined('CLI') && FALSE !== $exit) {
             exit($exit);
         }
-	}
+    }
 
-	# get flash notice information
-	public static function getNotice()
+    # get flash notice information
+    public static function getNotice()
     {
         if (isset($_SESSION['flash_notice'])) {
             $notice = $_SESSION['flash_notice'];
@@ -66,7 +68,7 @@ class Core {
 
     public static function getGenerateOutput()
     {
-    	if (isset($_SESSION['generate_output'])) {
+        if (isset($_SESSION['generate_output'])) {
             $notice = $_SESSION['generate_output'];
             unset($_SESSION['generate_output']);
             return $notice;
diff --git a/src/Views/main_template.php b/src/Views/main_template.php
index 2177f0c1064e85f6dadbb620c2ad1b9bbc98e076..a95cd13da9fd965cd4d01b3065e54d0510029e0f 100644
--- a/src/Views/main_template.php
+++ b/src/Views/main_template.php
@@ -24,7 +24,7 @@ $page->titlegraphic = '<a class="dcf-txt-h5" href="' .  $baseURL . '">UNL Lockup
 $page->affiliation = '<a href="http://ucomm.unl.edu">University Communication</a>';
 
 # css
-$page->addStyleSheet($baseURL . 'css/main.css?v=20220110');
+$page->addStyleSheet($baseURL . 'css/main.css?v=20220125');
 
 # javascript
 $page->addScriptDeclaration('WDN.setPluginParam("idm", "logout", "/logout/");');
@@ -79,6 +79,15 @@ if ($scriptState instanceof \Models\ScriptState) {
     $scriptState->applyScriptDeclarations($page);
 }
 
+if (isset(\Core::$siteNotice) && \Core::$siteNotice->display) {
+    $page->displayDCFNoticeMessage(
+        \Core::$siteNotice->title,
+        \Core::$siteNotice->message,
+        \Core::$siteNotice->type,
+        \Core::$siteNotice->noticePath,
+        \Core::$siteNotice->containerID);
+}
+
 # set footer
 ob_start();
 include \Core::ROOT . '/src/Views/localfooter.php';