diff --git a/.DS_Store b/.DS_Store index 52e351e..4a736d7 100644 Binary files a/.DS_Store and b/.DS_Store differ diff --git a/components/Autoload.php b/components/Autoload.php index 6c9938e..3b5f8d5 100644 --- a/components/Autoload.php +++ b/components/Autoload.php @@ -1,14 +1,15 @@ '; + + $name = stristr($filename, '.', true); + + if(strcmp($name, 'top') == 0){ + echo ''; + }else{ + echo ''; + } + echo + ' + + + + ... + + + + + '; + } + + static function crutch_for_all($link, $id, $filename) + { + echo + ' +
+ + ... + + +
+ + '; + } + + static function countFilesInFolder($dir){ + + $count = 0; + + if (is_dir($dir)) { + if ($dh = opendir($dir)) { + while (false !== ($file = readdir($dh))) { + if ($file != "." && $file != "..") { + $count++; + } + } + } + } + + return $count; + + } + + static function sendMail($to, $message, $subject){ + + $from = "system@chorkatedralnysiedlce.pl"; + + $subject = "=?utf-8?B?".base64_encode($subject)."?="; + + $headers = "From: $from\r\nReply-to: $from\r\nContent-type:text/plain; charset=utf-8\r\n"; + + if(mail($to, $subject, $message, $headers)){ + return true; + } + + return false; + + } + + static function generateActualList(){ + + $songList = array(); + $songList = Songs::getActualSongs(); + + $text = ""; + + foreach ($songList as $songListItem): + $text = $text.$songListItem['name_song']." - ".$songListItem['author']."\n"; + endforeach; + + return $text; + + } + + static function generateActual(){ + + $songList = array(); + $songList = Songs::getActualSongs(); + + $text = "Cześć! Aktualne utwory w naszym repertuarze uległy zmianie. Proszę się nauczyć nowych utworów.\n\r"; + + foreach ($songList as $songListItem): + + $text = $text.$songListItem['name_song']." - https://chorkatedralnysiedlce.pl/songs/".$songListItem['id_song']."\n"; + + endforeach; + + $text = $text. "\n\nZdrówka\nAdministracja Systemu"; + + return $text; + + } + + static function num_word($value, $words, $show = true) + { + $num = $value % 100; + if ($num > 19) { + $num = $num % 10; + } + + $out = ($show) ? $value . ' ' : ''; + switch ($num) { + case 1: $out .= $words[0]; break; + case 2: + case 3: + case 4: $out .= $words[1]; break; + default: $out .= $words[2]; break; + } + + return $out; + } + + static function secToStr($secs) + { + $res = ''; + + $days = floor($secs / 86400); + $secs = $secs % 86400; + + if($days>365){ + $year = floor($days / 365); + + $res .= self::num_word($year, array('rok', 'lata', 'lat')) . ' '; + } + else{ + if($days>31){ + $month = floor($days / 30); + $days = $days % 30; + + $res .= self::num_word($month, array('miesiąc', 'miesięcy', 'miesięcy')) . ' '; + } + else{ + + if($days>7 && $days<30){ + + $weeks = floor($days / 7); + $days = $days % 7; + + $res .= self::num_word($weeks, array('tydzień', 'tygodni', 'tygodni')) . ' '; + } + else{ + if($days>0){ + $res .= self::num_word($days, array('dzień', 'dni', 'dni')) . ' '; + } + else if($days < 1){ + $hours = floor($secs / 3600); + $secs = $secs % 3600; + if($hours>0){ + $res .= self::num_word($hours, array('godzina', 'godziny', 'godzin')) . ' '; + } + elseif($hours < 5){ + $minutes = floor($secs / 60); + $secs = $secs % 60; + if($minutes>0){ + $res .= self::num_word($minutes, array('minuta', 'minuty', 'minut')) . ' '; + } + elseif ($minutes<30){ + $res .= self::num_word($secs, array('sekunda', 'sekundy', 'sekund')); + } + } + } + } + } + } + return $res; + } + + static function num_word_month($value, $words, $show = true) + { + $num = $value % 100; + if ($num > 19) { + $num = $num % 10; + } + + $out = ($show) ? $value . ' ' : ''; + switch ($num) { + case 1: $out .= $words[0]; break; + case 2: + case 3: + case 4: $out .= $words[1]; break; + default: $out .= $words[2]; break; + } + + return $out; + } + + + static function translateDate($date){ + + $monthes = [1 => 'Stycznia', 2 => 'Lutego', 3 => 'Marca', 4 => 'Kwietnia', 5 => 'Maja', 6 => 'Czerwca', + 7 => 'Lipca', 8 => 'Sierpnia', 9 => 'Września', 10 => 'Października', 11 => 'Listopada', 12 => 'Grudnia']; + + $string = $date; + $year = mb_strcut($string,0, 4); + $monthId = (int) mb_strcut($string,5, 2); + $day = (int) mb_strcut($string,8, 2); + + echo $day." ".$monthes[$monthId]." ".$year; + + } + + + } diff --git a/components/Get.php b/components/Get.php index 16a7b01..fdfadd1 100644 --- a/components/Get.php +++ b/components/Get.php @@ -3,112 +3,118 @@ * */ -class Get { +class Get +{ - const TYPE_INT = 'int'; - const TYPE_FLOAT = 'float'; - const TYPE_STR = 'string'; - const TYPE_TRIM_STR = 'trim_string'; - const TYPE_ISSET = 'isset'; - - function __construct() { + const TYPE_INT = 'int'; + const TYPE_FLOAT = 'float'; + const TYPE_STR = 'string'; + const TYPE_TRIM_STR = 'trim_string'; + const TYPE_ISSET = 'isset'; - } + function __construct() + { - /** - * Returns value from _GET - * - * @param string $name - * @param string $def - * @param string $type - * @return string - */ - static function get($name = '', $def = false, $type = ''){ - if (!is_string($name) || !$name) - return false; - $data = isset($_GET[$name]) ? $_GET[$name] : $def; + } - switch($type){ - case self::TYPE_INT: - $data = (int)$data; - break; - case self::TYPE_FLOAT: - $data = (float)$data; - break; - case self::TYPE_STR: - $data = get::escape($data); - case self::TYPE_TRIM_STR: - $data = trim(get::escape($data)); - break; - case self::TYPE_ISSET: - return isset($_GET[$name]); - } - return $data; - } + /** + * Returns value from _GET + * + * @param string $name + * @param string $def + * @param string $type + * @return string + */ + static function get($name = '', $def = false, $type = '') + { + if (!is_string($name) || !$name) + return false; + $data = isset($_GET[$name]) ? $_GET[$name] : $def; - /** - * Returns value from _POST - * - * @param string $name - * @param string $def - * @param string $type - * @param bool $_specialchars - * @return string - */ - static function post($name = '', $def = false, $type = '', $_specialchars = 0){ - $data = isset($_POST[$name]) ? $_POST[$name] : $def; + switch ($type) { + case self::TYPE_INT: + $data = (int)$data; + break; + case self::TYPE_FLOAT: + $data = (float)$data; + break; + case self::TYPE_STR: + $data = get::escape($data); + break; + case self::TYPE_TRIM_STR: + $data = trim(get::escape($data)); + break; + case self::TYPE_ISSET: + return isset($_GET[$name]); + } + return $data; + } - switch($type){ - case self::TYPE_INT: - $data = (int)$data; - break; - case self::TYPE_FLOAT: - $data = (float)$data; - break; - case self::TYPE_STR: - $data = get::escape($data); - break; - case self::TYPE_TRIM_STR: - $data = trim(get::escape($data)); - break; - case 'array_of_int': - if(is_array($data) && count($data) > 0){ - $_data = Array(); - foreach($data AS $key => $value){ - $value = intval($value); - if(!in_array($value, $_data)){ - $_data[$key] = $value; - } - } - $data = $_data; - } - break; - case 'array_of_string': - if(is_array($data) && count($data) > 0){ - $_data = Array(); - foreach($data AS $key => $value){ - $value = trim(get::escape($value)); - if(!in_array($value, $_data)){ - $_data[$key] = $value; - } - } - $data = $_data; - } - break; - } - if($_specialchars) $data = htmlspecialchars($data); + /** + * Returns value from _POST + * + * @param string $name + * @param string $def + * @param string $type + * @param bool $_specialchars + * @return string + */ + static function post($name = '', $def = false, $type = '', $_specialchars = 0) + { + $data = isset($_POST[$name]) ? $_POST[$name] : $def; - return $data; - } + switch ($type) { + case self::TYPE_INT: + $data = (int)$data; + break; + case self::TYPE_FLOAT: + $data = (float)$data; + break; + case self::TYPE_STR: + $data = get::escape($data); + break; + case self::TYPE_TRIM_STR: + $data = trim(get::escape($data)); + break; + case 'array_of_int': + if (is_array($data) && count($data) > 0) { + $_data = array(); + foreach ($data as $key => $value) { + $value = intval($value); + if (!in_array($value, $_data)) { + $_data[$key] = $value; + } + } + $data = $_data; + } + break; + case 'array_of_string': + if (is_array($data) && count($data) > 0) { + $_data = array(); + foreach ($data as $key => $value) { + $value = trim(get::escape($value)); + if (!in_array($value, $_data)) { + $_data[$key] = $value; + } + } + $data = $_data; + } + break; + } + if ($_specialchars) $data = htmlspecialchars($data); - /** - * escapes string for sql - * - * @param string $data - * @return string - */ - static function escape($data){ - global $conn; - return mysqli_real_escape_string($conn, $data); - } + return $data; + } + + /** + * escapes string for sql + * + * @param string $data + * @return string + */ + static function escape($data) + { + global $conn; + return mysqli_real_escape_string($conn, $data); + } } diff --git a/components/Pagination.php b/components/Pagination.php index 904169b..970f7b7 100644 --- a/components/Pagination.php +++ b/components/Pagination.php @@ -7,190 +7,190 @@ class Pagination { - /** - * - * @var Ссылок навигации на страницу - * - */ - private $max = 10; - - /** - * - * @var Ключ для GET, в который пишется номер страницы - * - */ - private $index = 'page'; - - /** - * - * @var Текущая страница - * - */ - private $current_page; - - /** - * - * @var Общее количество записей - * - */ - private $total; - - /** - * - * @var Записей на страницу - * - */ - private $limit; - - /** - * Запуск необходимых данных для навигации - * @param integer $total - общее количество записей - * @param integer $limit - количество записей на страницу - * - * @return - */ - public function __construct($total, $currentPage, $limit, $index) - { - # Устанавливаем общее количество записей - $this->total = $total; - - # Устанавливаем количество записей на страницу - $this->limit = $limit; - - # Устанавливаем ключ в url - $this->index = $index; - - # Устанавливаем количество страниц - $this->amount = $this->amount(); - - # Устанавливаем номер текущей страницы - $this->setCurrentPage($currentPage); - } - - /** - * Для вывода ссылок - * - * @return HTML-код со ссылками навигации - */ - public function get() - { - # Для записи ссылок - $links = null; - - # Получаем ограничения для цикла - $limits = $this->limits(); - - $html = ''; - - # Возвращаем html - return $html; - } - - /** - * Для генерации HTML-кода ссылки - * @param integer $page - номер страницы - * - * @return - */ - private function generateHtml($page, $text = null) - { - # Если текст ссылки не указан - if (!$text) - # Указываем, что текст - цифра страницы - $text = $page; - - $currentURI = rtrim($_SERVER['REQUEST_URI'], '/') . '/'; - $currentURI = preg_replace('~/page-[0-9]+~', '', $currentURI); - # Формируем HTML код ссылки и возвращаем - return - '
  • ' . $text . '
  • '; - } - - /** - * Для получения, откуда стартовать - * - * @return массив с началом и концом отсчёта - */ - private function limits() - { - # Вычисляем ссылки слева (чтобы активная ссылка была посередине) - $left = $this->current_page - round($this->max / 2); - - # Вычисляем начало отсчёта - $start = $left > 0 ? $left : 1; - - # Если впереди есть как минимум $this->max страниц - if ($start + $this->max <= $this->amount) - # Назначаем конец цикла вперёд на $this->max страниц или просто на минимум - $end = $start > 1 ? $start + $this->max : $this->max; - else { - # Конец - общее количество страниц - $end = $this->amount; - - # Начало - минус $this->max от конца - $start = $this->amount - $this->max > 0 ? $this->amount - $this->max : 1; - } - - # Возвращаем - return - array($start, $end); - } - - /** - * Для установки текущей страницы - * - * @return - */ - private function setCurrentPage($currentPage) - { - # Получаем номер страницы - $this->current_page = $currentPage; - - # Если текущая страница боле нуля - if ($this->current_page > 0) { - # Если текунщая страница меньше общего количества страниц - if ($this->current_page > $this->amount) - # Устанавливаем страницу на последнюю - $this->current_page = $this->amount; - } else - # Устанавливаем страницу на первую - $this->current_page = 1; - } - - /** - * Для получеия общего числа страниц - * - * @return число страниц - */ - private function amount() - { - # Делим и возвращаем - return round($this->total / $this->limit); - } + /** + * + * @var Ссылок навигации на страницу + * + */ + private $max = 10; + + /** + * + * @var Ключ для GET, в который пишется номер страницы + * + */ + private $index = 'page'; + + /** + * + * @var Текущая страница + * + */ + private $current_page; + + /** + * + * @var Общее количество записей + * + */ + private $total; + + /** + * + * @var Записей на страницу + * + */ + private $limit; + + /** + * Запуск необходимых данных для навигации + * @param integer $total - общее количество записей + * @param integer $limit - количество записей на страницу + * + * @return + */ + public function __construct($total, $currentPage, $limit, $index) + { + # Устанавливаем общее количество записей + $this->total = $total; + + # Устанавливаем количество записей на страницу + $this->limit = $limit; + + # Устанавливаем ключ в url + $this->index = $index; + + # Устанавливаем количество страниц + $this->amount = $this->amount(); + + # Устанавливаем номер текущей страницы + $this->setCurrentPage($currentPage); + } + + /** + * Для вывода ссылок + * + * @return HTML-код со ссылками навигации + */ + public function get() + { + # Для записи ссылок + $links = null; + + # Получаем ограничения для цикла + $limits = $this->limits(); + + $html = ''; + + # Возвращаем html + return $html; + } + + /** + * Для генерации HTML-кода ссылки + * @param integer $page - номер страницы + * + * @return + */ + private function generateHtml($page, $text = null) + { + # Если текст ссылки не указан + if (!$text) + # Указываем, что текст - цифра страницы + $text = $page; + + $currentURI = rtrim($_SERVER['REQUEST_URI'], '/') . '/'; + $currentURI = preg_replace('~/page-[0-9]+~', '', $currentURI); + # Формируем HTML код ссылки и возвращаем + return + '
  • ' . $text . '
  • '; + } + + /** + * Для получения, откуда стартовать + * + * @return массив с началом и концом отсчёта + */ + private function limits() + { + # Вычисляем ссылки слева (чтобы активная ссылка была посередине) + $left = $this->current_page - round($this->max / 2); + + # Вычисляем начало отсчёта + $start = $left > 0 ? $left : 1; + + # Если впереди есть как минимум $this->max страниц + if ($start + $this->max <= $this->amount) + # Назначаем конец цикла вперёд на $this->max страниц или просто на минимум + $end = $start > 1 ? $start + $this->max : $this->max; + else { + # Конец - общее количество страниц + $end = $this->amount; + + # Начало - минус $this->max от конца + $start = $this->amount - $this->max > 0 ? $this->amount - $this->max : 1; + } + + # Возвращаем + return + array($start, $end); + } + + /** + * Для установки текущей страницы + * + * @return + */ + private function setCurrentPage($currentPage) + { + # Получаем номер страницы + $this->current_page = $currentPage; + + # Если текущая страница боле нуля + if ($this->current_page > 0) { + # Если текунщая страница меньше общего количества страниц + if ($this->current_page > $this->amount) + # Устанавливаем страницу на последнюю + $this->current_page = $this->amount; + } else + # Устанавливаем страницу на первую + $this->current_page = 1; + } + + /** + * Для получеия общего числа страниц + * + * @return число страниц + */ + private function amount() + { + # Делим и возвращаем + return round($this->total / $this->limit); + } } diff --git a/components/Router.php b/components/Router.php index 9ac694f..b294be1 100644 --- a/components/Router.php +++ b/components/Router.php @@ -1,58 +1,66 @@ routes = include($routesPath); - } + public function __construct() + { + $routesPath = ROOT . '/config/routes.php'; + $this->routes = include($routesPath); + } - /** - * @return request string|void - */ - private function getURI(){ - if(!empty($_SERVER['REQUEST_URI'])){ - return trim($_SERVER['REQUEST_URI'], '/'); + /** + * @return request string|void + */ + private function getURI() + { + if (!empty($_SERVER['REQUEST_URI'])) { + return trim($_SERVER['REQUEST_URI'], '/'); - } - } + } + } - public function run(){ - $uri = $this->getURI(); + public function run() + { + $uri = $this->getURI(); - foreach ($this->routes as $uriPattern => $path){ + foreach ($this->routes as $uriPattern => $path) { - if(preg_match("~$uriPattern~", $uri)){ + if (preg_match("~$uriPattern~", $uri)) { - $internalRoute = preg_replace("~$uriPattern~", $path, $uri); + $internalRoute = preg_replace("~$uriPattern~", $path, $uri); - $segments = explode('/', $internalRoute); + $segments = explode('/', $internalRoute); - //array_shift - находит и удаляет из массива - $controllerName = array_shift($segments) . 'Controller'; - $controllerName = ucfirst($controllerName); + //array_shift - находит и удаляет из массива + $controllerName = array_shift($segments) . 'Controller'; + $controllerName = ucfirst($controllerName); - $actionName = 'action'.ucfirst(array_shift($segments)); + $actionName = 'action' . ucfirst(array_shift($segments)); - $parameters = $segments; + $parameters = $segments; - $controllerFile = ROOT.'/controllers/'.$controllerName.'.php'; + $controllerFile = ROOT . '/controllers/' . $controllerName . '.php'; - if(file_exists($controllerFile)){ - include_once($controllerFile); - } + if (file_exists($controllerFile)) { + include_once($controllerFile); + } - $controllerObject = new $controllerName; - $result = call_user_func_array(array($controllerObject, $actionName), $parameters); + $controllerObject = new $controllerName; + $result = call_user_func_array(array($controllerObject, $actionName), $parameters); - if($result != null){ - break; - } + if(isset($_SESSION['user'])){ + User::refreshOnline($_SESSION['user']); + } - } - } - } + if ($result != null) { + break; + } + + } + } + } } \ No newline at end of file diff --git a/config/db_params.php b/config/db_params.php index 98d8986..e9e5175 100644 --- a/config/db_params.php +++ b/config/db_params.php @@ -1,8 +1,8 @@ 'localhost', - 'dbname' => 'library', - 'user' => 'library', - 'password' => '99Library19', + 'host' => 'localhost', + 'dbname' => 'library', + 'user' => 'library', + 'password' => '99Library19', ); \ No newline at end of file diff --git a/config/routes.php b/config/routes.php index 1f1f706..02733ea 100644 --- a/config/routes.php +++ b/config/routes.php @@ -1,40 +1,91 @@ 'songs/index/$1', - 'songs/page-([0-9]+)' => 'songs/view/$1', - 'songs/newSong' => 'songs/newSong', - 'songs/editSong/([0-9]+)' => 'songs/editSong/$1', - 'songs/uploadFile/([0-9]+)' => 'songs/uploadFile/$1', - 'songs/priorityFilter-([0-9]+)' => 'songs/priorityFilter/$1', - 'songs/applyFilters' => 'songs/applyFilters', - 'songs/deleteFile/([0-9]+)/([.]+)' => 'songs/deleteFile/$1/$2', - 'songs/delete/([0-9]+)' => 'songs/delete/$1', - 'songs/search' => 'songs/search', - 'songs' => 'songs/view', - 'folders/delete/([0-9]+)' => 'folders/delete/$1', - 'folders/newFolder' => 'folders/newFolder', - 'folders' => 'folders/view', - 'queries/deleteQuery/([0-9]+)' => 'queries/deleteQuery/$1', - 'queries/transferQuery/([0-9]+)' => 'queries/transferQuery/$1', - 'queries' => 'queries/queriesView', - 'users/register' => 'users/register', - 'users/login' => 'users/login', - 'users/view' => 'users/view', - 'users/deleteUser/([0-9]+)' => 'users/deleteUser/$1', - 'users/logout' => 'users/logout', - 'users/changeRights/([0-9]+)/([A-z]+)' => 'users/changeRights/$1/$2', - 'cabinet' => 'cabinet/index', - 'main/szulik' => 'main/szulik', - 'main/members' => 'main/members', - 'main/contact' => 'main/contact', - 'main/hoffman' => 'main/hoffman', - 'main/history' => 'main/history', - 'main/iza' => 'main/iza', - 'main/news' => 'main/news', - 'main' => 'main/mainPage', - 'news/view/([0-9]+)' => 'news/view/$1', - 'news/delete/([0-9]+)' => 'news/delete/$1', - 'news/newItem' => 'news/newItem', - 'news' => 'news/index', - '' => 'main/mainPage', - ); \ No newline at end of file +return array( + + 'ajax/getSongs' => 'ajax/getSongs', + + 'chat/index' => 'chat/index', + 'chat/refresh' => 'chat/refresh', + 'ajax/getNewMessages' => 'ajax/getNewMessages', + + 'email/index' => 'email/index', + 'email/([0-9]+)/([0-9]+)' => 'email/editTemplate/$1/$2', + 'email/newTemplate/([0-9]+)' => 'email/newTemplate/$1', + 'email/deleteTemplate/([0-9]+)' => 'email/deleteTemplate/$1', + + 'achievement/newAchievements' => 'achievement/newItem', + 'achievement/index' => 'achievement/index', + 'achievement/uploadPhoto/([0-9]+)' => 'achievement/uploadPhoto/$1', + 'achievement/deleteAchievement/([0-9]+)' => 'achievement/deleteAchievement/$1', + + 'gallery/folder/([0-9]+)' => 'gallery/folder/$1', + 'gallery/tripsShow' => 'gallery/trips', + 'gallery/concertsShow' => 'gallery/concerts', + 'gallery/uploadPhoto' => 'gallery/uploadPhoto', + 'gallery/deleteFileFromGallery/([0-9]+)/([\w+.(jpeg|jpg|png)])' => 'gallery/deleteFileFromGallery/$1/$2', + 'gallery/index' => 'gallery/index', + 'gallery/createFolder' => 'gallery/createFolder', + + 'admin' => 'admin/index', + + 'songs/deleteFile/([0-9]+)/([\w+.(mp3|pdf|wave)])' => 'songs/deleteFile/$1/$2', + 'songs/([0-9]+)' => 'songs/index/$1', + 'songs/page-([0-9]+)' => 'songs/view/$1', + 'songs/newSong' => 'songs/newSong', + 'songs/editSong/([0-9]+)' => 'songs/editSong/$1', + 'songs/changeActual/([0-9]+)' => 'songs/changeActual/$1', + 'songs/uploadFile/([0-9]+)' => 'songs/uploadFile/$1', + 'songs/priorityFilter-([0-9]+)' => 'songs/priorityFilter/$1', + 'songs/applyFilters' => 'songs/applyFilters', + 'songs/delete/([0-9]+)' => 'songs/delete/$1', + 'songs/search' => 'songs/search', + 'songs' => 'songs/view', + + 'folders/delete/([0-9]+)' => 'folders/delete/$1', + 'folders/newFolder' => 'folders/newFolder', + 'folders' => 'folders/view', + + 'queries/deleteQuery/([0-9]+)' => 'queries/deleteQuery/$1', + 'queries/transferQuery/([0-9]+)' => 'queries/transferQuery/$1', + 'queries' => 'queries/queriesView', + + 'users/register' => 'users/register', + 'users/login' => 'users/login', + 'users/view' => 'users/view', + 'users/deleteUser/([0-9]+)' => 'users/deleteUser/$1', + 'users/logout' => 'users/logout', + 'users/changeRights/([0-9]+)/([A-z]+)' => 'users/changeRights/$1/$2', + + 'cabinet' => 'cabinet/index', + + 'main/szulik' => 'main/szulik', + 'main/members' => 'main/members', + 'main/contact' => 'main/contact', + 'main/hoffman' => 'main/hoffman', + 'main/history' => 'main/history', + 'main/achivments' => 'main/achivments', + 'main/gallery' => 'main/gallery', + 'main/galleryFolder/([0-9]+)' => 'main/galleryFolder/$1', + 'main/iza' => 'main/iza', + 'main/news' => 'main/news', + 'main/newsItem/([0-9]+)' => 'main/newsItem/$1', + 'main' => 'main/mainPage', + + 'news/makePhotoAsMain/([0-9]+)/([\w+.(jpeg|jpg|png)])' => 'news/makePhotoAsMain/$1/$2', + 'news/deleteFileFromNews/([0-9]+)/([\w+.(jpeg|jpg|png)])' => 'news/deleteFileFromNews/$1/$2', + 'news/uploadPhotoToNews/([0-9]+)' => 'news/uploadPhotoToNews/$1', + 'news/view/([0-9]+)' => 'news/view/$1', + 'news/editNews/([0-9]+)' => 'news/editNews/$1', + 'news/delete/([0-9]+)' => 'news/delete/$1', + 'news/newItem' => 'news/newItem', + 'news/index' => 'news/index', + + 'repertoire/index' => 'repertoire/index', + 'repertoire/([0-9]+)/([0-9]+)' => 'repertoire/editRepertoire/$1/$2', + 'repertoire/newRepertoire/([0-9]+)' => 'repertoire/newRepertoire/$1', + 'repertoire/deleteRepertoire/([0-9]+)' => 'repertoire/deleteRepertoire/$1', + + 'file/download' => 'file/download', + 'file/openFile' => 'file/openFile', + + '' => 'main/mainPage', +); \ No newline at end of file diff --git a/controllers/AchievementController.php b/controllers/AchievementController.php new file mode 100644 index 0000000..871da49 --- /dev/null +++ b/controllers/AchievementController.php @@ -0,0 +1,157 @@ +"]; + $text = str_replace($search, $replace, $text); + + $errors = false; + + if (News::checkText($text)) + $errors[] = 'Zadługi tekst (Ma być do 3000 symboli)'; + + if ($errors == false) { + $result = Achievements::setNewItem($text); + $_SESSION["msg"] = 'Post został pomyslnie obuplikowany'; + $_SESSION["stat"] = "alert-success"; + + } + } + + require_once(ROOT . '/views/achievements/achievementsForm.php'); + + return true; + + } + + + /** + * @return bool + */ + public function actionIndex(){ + + User::checkRights("moder"); + + $achievementsList = array(); + $achievementsList = Achievements::getAchievements(); + + if (!is_dir(ROOT_WEB . '/achievements/')) { + mkdir(ROOT_WEB . '/achievements', 0777, true); + } + + foreach ($achievementsList as $achievementsListItem): + + $id = $achievementsListItem['id']; + + if (!is_dir(ROOT_WEB . '/achievements/' . $id)) { + mkdir(ROOT_WEB . '/achievements/' . $id, 0777, true); + } + + endforeach; + + require_once(ROOT . '/views/achievements/index.php'); + + return true; + } + + + /** + * @param $id + * @return bool + */ + public function actionUploadPhoto($id){ + + User::checkRights("moder"); + + if (!isset($_FILES["filename"]) || $_FILES["filename"]["error"] != 0) { + $_SESSION["msg"] = 'Nie znaleziono pliku!'; + $_SESSION["stat"] = "alert-danger"; + header("Location: /news/index"); + } + + if (!is_dir(ROOT_WEB . '/achievements/')) { + mkdir(ROOT_WEB . '/achievements', 0777, true); + } + if (!is_dir(ROOT_WEB . '/achievements/' . $id)) { + mkdir(ROOT_WEB . '/achievements/' . $id, 0777, true); + } + + $dir = ROOT . '/public_html/achievements/' . $id; + + if (is_dir($dir)) { + if ($dh = opendir($dir)) { + while (false !== ($file = readdir($dh))) { + if ($file != "." && $file != "..") { + $path = $dir . '/' . $file; + unlink($path); + } + } + } + } + + if (isset($_FILES['filename']['name']) && $_FILES['filename']['size']) { + + $original_filename = strval($_FILES['filename']['name']); + + $target = ROOT_WEB . '/achievements/' . $id . '/' . basename($original_filename); + $tmp = $_FILES['filename']['tmp_name']; + + move_uploaded_file($tmp, $target); + $_SESSION["msg"] = 'Plik został pomyślnie wgrany!'; + $_SESSION["stat"] = "alert-success"; + header("Location: /achievement/index/"); + + } + return true; + } + + + /** + * @param $id + * @return bool + */ + public function actionDeleteAchievement($id){ + + User::checkRights("moder"); + + $dir = ROOT . '/public_html/achievements/' . $id; + + if (is_dir($dir)) { + if ($dh = opendir($dir)) { + while (false !== ($file = readdir($dh))) { + if ($file != "." && $file != "..") { + $path = $dir . '/' . $file; + unlink($path); + } + } + } + } + + rmdir($dir); + + if ($id) { + Achievements::deleteAchievement($id); + $_SESSION["msg"] = 'Post został pomyslnie usunięty'; + $_SESSION["stat"] = "alert-success"; + } + + header("Location: /achievement/index/"); + + return true; + } + +} diff --git a/controllers/AdminController.php b/controllers/AdminController.php new file mode 100644 index 0000000..7c5adc8 --- /dev/null +++ b/controllers/AdminController.php @@ -0,0 +1,20 @@ + 0){ +// $newMessages = Chat::getNewMessages($lastId); +// } +// else{ +// $newMessages = ''; +// } +// +// die(json_encode($newMessages)); +// +// } + +} diff --git a/controllers/EmailController.php b/controllers/EmailController.php new file mode 100644 index 0000000..43a3ece --- /dev/null +++ b/controllers/EmailController.php @@ -0,0 +1,164 @@ +"]; + $text = str_replace($search, $replace, $text); - $author = $_SESSION['name']." ".$_SESSION['surname']; + $author = $_SESSION['name'] . " " . $_SESSION['surname']; - $errors = false; + $errors = false; - if(News::checkHeader($header)) - $errors[] = 'Zadługi nagłówek (Ma byc do 30 symboli)'; + if (News::checkHeader($header)) + $errors[] = 'Zadługi nagłówek (Ma byc do 100 symboli)'; - if(News::checkText($text)) - $errors[] = 'Zadługi tekst (Ma być do 300 symboli)'; + if (News::checkText($text)) + $errors[] = 'Zadługi tekst (Ma być do 3000 symboli)'; - if($errors==false){ - $result = News::setNewsItem($header, $text, $author); - } - } + if ($errors == false) { + $result = News::setNewsItem($header, $text, $author); + $_SESSION["msg"] = 'Post został pomyslnie obuplikowany'; + $_SESSION["stat"] = "alert-success"; - require_once(ROOT . '/views/news/newsNewItem.php'); + } + } - return true; + require_once(ROOT . '/views/news/newsForm.php'); - } + return true; - /** - * @param $id - * @return bool - */ - public function actionView($id){ + } - User::isModerator(); + /** + * @param $id + * @return bool + */ + public function actionView($id) + { - if($id){ + User::checkRights("moder"); - $newsItem = array(); - $newsItem = News::getNewsItemById($id); + if ($id) { - require_once(ROOT . '/views/news/newsItem.php'); + $newsItem = array(); + $newsItem = News::getNewsItemById($id); - } + if (!is_dir(ROOT_WEB . '/news/')) { + mkdir(ROOT_WEB . '/news', 0777, true); + } - return true; - } + if (!is_dir(ROOT_WEB . '/news/' . $id)) { + mkdir(ROOT_WEB . '/news/' . $id, 0777, true); + } - /** - * @param $id - * @return bool - */ - public function actionDelete($id){ + $files = array(); + $i = 0; - User::isModerator(); + $dir = ROOT . '/public_html/news/' . $id; - if($id) - News::deleteNews($id); + if (is_dir($dir)) { + if ($dh = opendir($dir)) { + while (false !== ($file = readdir($dh))) { + if ($file != "." && $file != "..") { + $path = $dir . '/' . $file; + $files[$i]['file'] = '/news/' . $id . '/' . $file; + $files[$i]['filename'] = $file; + $i++; + } + } + } + } - header("Location: /news"); + require_once(ROOT . '/views/news/newsItem.php'); - return true; + } - } + return true; + } - public function actionEditNews($id){ + /** + * @param $id + * @return bool + */ + public function actionDelete($id) + { - User::isModerator(); + User::checkRights("moder"); - if($id){ + $dir = ROOT . '/public_html/news/' . $id; - $newsItem = array(); - $newsItem = News::getNewsItemById($id); + if (is_dir($dir)) { + if ($dh = opendir($dir)) { + while (false !== ($file = readdir($dh))) { + if ($file != "." && $file != "..") { + $path = $dir . '/' . $file; + unlink($path); + } + } + } + } - $header = $newsItem['header']; - $text = $newsItem['text']; - $author = $newsItem['autor']; - $resulf = false; + rmdir($dir); - if(isset($_POST['submit']) && !empty($_POST['submit'])){ + if ($id) { + News::deleteNews($id); + $_SESSION["msg"] = 'Post został pomyslnie usunięty'; + $_SESSION["stat"] = "alert-success"; + } - $header = GET::post('header', ''); - $text = GET::post('text', ''); - $author = GET::post('autor', ''); - $errors = false; + header("Location: /news/index/"); - if(News::checkHeader($header)) - $errors[] = 'Zadługi nagłówek (Ma byc do 30 symboli)'; + return true; - if(News::checkText($text)) - $errors[] = 'Zadługi tekst (Ma być do 300 symboli)'; + } - if($errors==false){ - $result = News::updateNews($id, $header, $text); - } + public function actionEditNews($id) + { - } + User::checkRights("moder"); - } + if ($id) { + $newsItem = array(); + $newsItem = News::getNewsItemById($id); - return true; - } + $header = $newsItem['header']; + $text = $newsItem['text']; + $author = $newsItem['autor']; + $resulf = false; + + if (isset($_POST['submit']) && !empty($_POST['submit'])) { + + $header = Get::post('header', ''); + $text = Get::post('text', ''); + $author = Get::post('autor', ''); + + $errors = false; + + if (News::checkHeader($header)) + $errors[] = 'Zadługi nagłówek (Ma byc do 30 symboli)'; + + if (News::checkText($text)) + $errors[] = 'Zadługi tekst (Ma być do 300 symboli)'; + + if ($errors == false) { + $result = News::updateNews($id, $header, $text); + + $_SESSION["msg"] = 'Dane zostały pomyślnie zmienionę.'; + $_SESSION["stat"] = "alert-success"; + } + + } + + } + + require_once(ROOT . '/views/news/newsForm.php'); + + return true; + } + + public function actionUploadPhotoToNews($folder) + { + + User::checkRights("moder"); + + //$folder = Get::post('folder', ''); + + if (!isset($_FILES["filename"]) || $_FILES["filename"]["error"] != 0) { + $_SESSION["msg"] = 'Nie znaleziono pliku!'; + $_SESSION["stat"] = "alert-danger"; + header("Location: /news/index"); + } + + if (!is_dir(ROOT_WEB . '/news/')) { + mkdir(ROOT_WEB . '/news', 0777, true); + } + if (!is_dir(ROOT_WEB . '/news/' . $folder)) { + mkdir(ROOT_WEB . '/news/' . $folder, 0777, true); + } + + $dir = ROOT . '/public_html/news/' . $folder; + $countFiles = ComFun::countFilesInFolder($dir); + if($countFiles == 0){ + $fileName = 'top'; + }else{ + $fileName = $countFiles + 1; + } + + + if (isset($_FILES['filename']['name']) && $_FILES['filename']['size']) { + + $original_filename = strval($_FILES['filename']['name']); + $extension = pathinfo($original_filename, PATHINFO_EXTENSION); + + $new_name = $fileName.'.'.$extension; + + $target = ROOT_WEB . '/news/' . $folder . '/' . basename($new_name); + $tmp = $_FILES['filename']['tmp_name']; + + move_uploaded_file($tmp, $target); + $_SESSION["msg"] = 'Plik został pomyślnie wgrany!'; + $_SESSION["stat"] = "alert-success"; + header("Location: /news/view/" . $folder); + + } + return true; + + } + + + public function actionDeleteFileFromNews($id, $filename) + { + + User::checkRights("moder"); + + $filename = str_replace('%20', ' ', $filename); + + $dir = ROOT . '/public_html/news/' . $id; + + $pathFile = $dir . '/' . $filename; + + + unlink($pathFile); + + $_SESSION["msg"] = "Zdjęcie zostało pomyślnie usunięte"; + $_SESSION["stat"] = "alert-success"; + + header("Location: /news/view/" . $id); + + + return true; + } + + public function actionMakePhotoAsMain($id, $fileNameTop){ + + $dir = ROOT . '/public_html/news/' . $id; + + $i = 0; + + if (is_dir($dir)) { + if ($dh = opendir($dir)) { + while (false !== ($file = readdir($dh))) { + if ($file != "." && $file != "..") { + $path = $dir . '/' . $file; + $files[$i]['filename'] = $file; + $i++; + } + } + } + } + + foreach ($files as $filesItem){ + + $name = stristr($filesItem['filename'], '.', true); + + if(strcmp($name, 'top') == 0){ + $source = ROOT . '/public_html/news/' . $id . '/' . $filesItem['filename']; + $extension = pathinfo($source, PATHINFO_EXTENSION); + + + $dir = ROOT . '/public_html/news/' . $id; + $countFiles = ComFun::countFilesInFolder($dir); + $fileName = $countFiles; + + $destination = ROOT . '/public_html/news/' . $id . '/' . $fileName . '.' . $extension; + + echo $destination; + + rename ($source, $destination); + break; + } + } + + $source = ROOT . '/public_html/news/' . $id . '/' . $fileNameTop; + $extension = pathinfo($source, PATHINFO_EXTENSION); + $destination = ROOT . '/public_html/news/' . $id . '/top.'.$extension; + + rename ($source, $destination); + + $_SESSION["msg"] = "Główne zdjęcie zostało pomyślnie zmienione. Żeby zmiany zaczęły obowiązywać trzeba odświerzyć + cache strony (Ctrl + F5) Albo (Ctrl + Shift + R)."; + $_SESSION["stat"] = "alert-success"; + + + $dir = ROOT . '/public_html/news/' . $id; + + $i = 0; + + if (is_dir($dir)) { + if ($dh = opendir($dir)) { + while (false !== ($file = readdir($dh))) { + if ($file != "." && $file != "..") { + $path = $dir . '/' . $file; + $files[$i]['filename'] = $file; + $i++; + } + } + } + } + + $i = 1; + + foreach ($files as $filesItem){ + $name = stristr($filesItem['filename'], '.', true); + + if(strcmp($name, 'top') != 0){ + + $source = ROOT . '/public_html/news/' . $id . '/' . $filesItem['filename']; + $extension = pathinfo($source, PATHINFO_EXTENSION); + + $fileName = $i; + + $destination = ROOT . '/public_html/news/' . $id . '/' . $fileName . '.' . $extension; + + echo $destination; + + rename ($source, $destination); + + $i++; + } + } + + header("Location: /news/view/" . $id); + + return true; + } } diff --git a/controllers/QueriesController.php b/controllers/QueriesController.php index 6473edb..718834d 100644 --- a/controllers/QueriesController.php +++ b/controllers/QueriesController.php @@ -1,54 +1,86 @@ "]; + $text = str_replace($search, $replace, $text); + + $errors = false; + + if (News::checkHeader($header)) + $errors[] = 'Zadługi nagłówek (Ma byc do 100 symboli)'; + + if (News::checkText($text)) + $errors[] = 'Zadługi tekst (Ma być do 3500 symboli)'; + + if ($errors == false) { + $result = Repertoire::setRepertoire($header, $text); + $result = News::setNewsItem($header, $text, $author, true); + + $_SESSION["msg"] = 'Post został pomyslnie obuplikowany'; + $_SESSION["stat"] = "alert-success"; + header('Location: /repertoire/index/'); + + } + } + + require_once(ROOT . '/views/repertoire/repertoireForm.php'); + + return true; + +} + +public function actionEditRepertoire($id, $parameter){ + + User::checkRights("moder"); + + $temp = true; + + $repertoire = array(); + $repertoire = Repertoire::getRepertoireById($id); + + switch ($parameter){ + case '1': + + $header = ' '; + $text = " "; + $text = ComFun::generateActualList(); + + break; + case '2': + + $header = ' '; + $text = ' '; + + break; + default: + + $header = $repertoire['header']; + $text = $repertoire['text']; + + break; + + } + + $search = ["
    "]; + $replace = ["\n"]; + $text = str_replace($search, $replace, $text); + + if (isset($_POST['submit']) && !empty($_POST['submit'])) { + + $header = Get::post('header', ''); + $text = Get::post('text', ''); + + $search = ["\n"]; + $replace = ["
    "]; + $text = str_replace($search, $replace, $text); + + $errors = false; + + if (!Email::checkHeader($header)) + $errors[] = 'Ilość symboli w polu Temat się nie zgadza.'; + + if (!Email::checkText($text)) + $errors[] = 'Ilość symboli w polu Treść się nie zgadza.'; + + if ($errors == false) { + if(Repertoire::editRepertoire($id, $header, $text)){ + $_SESSION["msg"] = "Nowy repertuar został pomyślnie dodany do bazy danych!"; + $_SESSION["stat"] = "alert-success"; + header('Location: /repertoire/index/'); + } + else{ + $_SESSION["msg"] = "Coś poszło nie tak.."; + $_SESSION["stat"] = "alert-danger"; + } + } + } + + require_once(ROOT . '/views/repertoire/repertoireForm.php'); + + return true; + +} + + public function actionDeleteRepertoire($id){ + + User::checkRights("moder"); + + if($id){ + if(Repertoire::deleteRepertoireById($id)){ + $_SESSION["msg"] = "Repertuar został pomyślnie usunięty."; + $_SESSION["stat"] = "alert-success"; + header('Location: /repertoire/index/'); + } + else{ + $_SESSION["msg"] = "Coś poszło nie tak.."; + $_SESSION["stat"] = "alert-danger"; + } + } + + return true; + } + +} diff --git a/controllers/SiteController.php b/controllers/SiteController.php index 5dadf70..0627841 100644 --- a/controllers/SiteController.php +++ b/controllers/SiteController.php @@ -1,15 +1,17 @@ 0) { + for ($key = 0; $key < $total_files; $key++) { - $original_filename = strval($_FILES['filename']['name']); + if (isset($_FILES['filename']['name'][$key]) && $_FILES['filename']['size'][$key] > 0) { - $target = ROOT_WEB.'/files/'.$folderName.'/'.$id_folder.'/'.basename($original_filename); - $tmp = $_FILES['filename']['tmp_name']; + $original_filename = strval($_FILES['filename']['name'][$key]); + + $target = ROOT . '/files/' . $folderName . '/' . $id_folder . '/' . basename($original_filename); + $tmp = $_FILES['filename']['tmp_name'][$key]; + + move_uploaded_file($tmp, $target); + $_SESSION["msg"] = "Plik został pomyślnie wgrany!"; + $_SESSION["stat"] = "alert-success"; + //header("Location: /songs/" . $id_folder); + } + } + } + return true; + } - move_uploaded_file($tmp, $target); - $_SESSION["msg"] = 'File uploaded!'; - header("Location: /songs/".$id_folder); -// } -// } + /** + * @param $id + * @param $filename + * @return bool + */ + public function actionDeleteFile($id, $filename) + { + + User::checkRights("admin"); + + $folderName = self::getNameFolder($id); + + $filename = str_replace('%20', ' ', $filename); + + $dir = ROOT . '/files/' . $folderName . '/' . $id; + $pathFile = $dir . '/' . $filename; + + if (is_dir($dir)) { + if ($dh = opendir($dir)) { + while (false !== ($file = readdir($dh))) { + if ($file != "." && $file != "..") { + if (strcmp($file, $filename) == 0) { + unlink($pathFile); + $_SESSION["msg"] = "Plik został pomyślnie usunięty"; + $_SESSION["stat"] = "alert-success"; + header('Location: /songs/' . $id); + } + } + } + } } return true; } - /** - * @param $id - * @param $filename - * @return bool - */ - public function actionDeleteFile($id, $filename){ - - User::isModerator(); - - $folderName = self::getNameFolder($id); - $dir = ROOT.'/files/'.$folderName.'/'.$id; - $pathFile = $dir.'/'.$filename; - if (is_dir($dir)) { - if ($dh = opendir($dir)) { - while (false !== ($file = readdir($dh))) { - if ($file != "." && $file != "..") { - if(strcmp($file, $filename) == 0){ - unlink($pathFile); - header('Location: /songs/'.$id); - } - } - } - } - } - return true; - } - - /** - * @param $id - * @return string - */ - function getNameFolder($id) { + /** + * @param $id + * @return string + */ + public static function getNameFolder($id) + { $min = 0; $max = 100; while (true) { - if ($min < $id && $id < $max) { - return "0".$min.($min==0 ? "00" : ""); + if ($min <= $id && $id < $max) { + return "0" . $min . ($min == 0 ? "00" : ""); } else { $min += 100; @@ -402,4 +454,33 @@ function getNameFolder($id) { } } } + + + /** + * @param $id + * @return bool + */ + public function actionChangeActual($id) + { + User::checkRights("admin"); + + $songsItem = array(); + $songsItem = Songs::getSongById($id); + + if (Songs::getActualById($id) == 0) { + if (Songs::changeActual($id, 1)) { + $_SESSION["msg"] = "Utwór (". $songsItem['name_song'] .") został pomyślnie dodany do aktualnych"; + $_SESSION["stat"] = "alert-success"; + } + } else { + if (Songs::changeActual($id, 0)) { + $_SESSION["msg"] = "Utwór (". $songsItem['name_song'] .") został usunięty z aktualnych"; + $_SESSION["stat"] = "alert-success"; + } + } + + header("Location: /songs"); + + return true; + } } \ No newline at end of file diff --git a/controllers/UsersController.php b/controllers/UsersController.php index 644013a..903801b 100644 --- a/controllers/UsersController.php +++ b/controllers/UsersController.php @@ -1,161 +1,202 @@ Zaloguj"; - } - } + if (Queries::isQueryExist($email)) + $errors[] = 'Już złóżyłeś wniosek o rejestracje, musisz poczekać na akceptację administratora.'; - } + if ($errors == false) { - require_once(ROOT.'/views/user/register.php'); + if(!Queries::isQueryExist($email)) { + if (User::register($name, $surname, $email, $pass1)) { - return true; - } + $_SESSION["msg"] = "Wniosek o rejestrację został złożony. Poczekaj na zaakceptowanie danych przez administratora."; + $_SESSION["stat"] = "alert-success"; + $subject = "Rejestracja w bibliotece Chóru Katedralnego im. ks. Alfreda Hoffmana"; + $message = "Witaj, ".$name."! Złożyłeś(aś) wniosek o rejestrację w bibliotece Chóru Katedralnego im. ks. Alfreda Hoffmana w Siedlcach. Musisz poczekać na akceptację przez administratorów systemu. Po akceptacji dostaniesz maila. \n\n\n\nZdrówka\nAdministracja Systemu"; - /** - * @return bool - */ - public function actionLogin(){ + ComFun::sendMail($email, $message, $subject); - $email = ''; - $pass = ''; + header("Location: /users/login"); - if(isset($_POST['submit'])){ + $name = ''; + $surname = ''; + $email = ''; + $pass1 = ''; + $pass2 = ''; - $email = GET::post('email', ''); - $pass = GET::post('pass', ''); + } else { + $_SESSION["msg"] = "Nie udało się założyć konta."; + $_SESSION["stat"] = "alert-danger"; + } + } + else{ + $_SESSION["msg"] = "Wniosek o rejestrację został złożony. Poczekaj na zaakceptowanie danych przez administratora. "; + $_SESSION["stat"] = "alert-danger"; + } + } - $errors = false; + } - if(!User::chekEmail($email)) - $errors[] = 'Nieprawidłowy email'; + require_once(ROOT . '/views/user/register.php'); - if(!User::chekPassword($pass)) - $errors[] = 'Hasło ma być nie któtrze niż 6 symboli'; + return true; + } - $userData = array(); - $userData = User::checkUserData($email, $pass); - if($userData == false){ - $errors[] = 'Nieprawidłowe dane dla logowania'; - } - else{ - User::auth($userData); - header("Location: /songs"); - } + /** + * @return bool + */ + public function actionLogin() + { - } + $email = ''; + $pass = ''; - require_once(ROOT . '/views/user/login.php'); + if (isset($_POST['submit'])) { - return true; - } + $email = Get::post('email', ''); + $pass = Get::post('pass', ''); - /** - * @return bool - */ - public function actionView(){ + $errors = false; - User::isModerator(); + if (!User::chekEmail($email)) + $errors[] = 'Nieprawidłowy email'; - $userList = array(); - $userList = User::getUsers(); + if (!User::chekPassword($pass)) + $errors[] = 'Hasło ma być nie któtrze niż 6 symboli'; - require_once(ROOT . '/views/user/userList.php'); + $userData = array(); + $userData = User::checkUserData($email, $pass); - return true; + if ($userData == false) { + $errors[] = 'Nieprawidłowe dane dla logowania'; + } else { + User::auth($userData); + header("Location: /songs"); + } - } + } - /** - * @return bool - */ - public function actionLogout(){ - session_unset(); - session_destroy(); + require_once(ROOT . '/views/user/login.php'); - header("Location: /users/login"); + return true; + } - return true; - } + /** + * @return bool + */ + public function actionView() + { - /** - * @param $id - * @param $rights - * @return bool - */ - public function actionChangeRights($id, $rights){ + User::checkRights("moder"); - User::isAdmin(); + if (isset($_POST['submit'])) { + $word = Get::post('word', ''); + } + else{ + $word = ''; + } - if($id && $rights){ - if(User::changeRights($id, $rights)){ - $_SESSION["msg"] = "Uprawnienia zostały pomyślnie zmienione."; - } - else{ + $userList = array(); + $userList = User::getUsers($word); + + + require_once(ROOT . '/views/user/userList.php'); + + return true; + + } + + /** + * @return bool + */ + public function actionLogout() + { + User::logout(); + return true; + } + + /** + * @param $id + * @param $rights + * @return bool + */ + public function actionChangeRights($id, $rights) + { + + User::checkRights("admin"); + + if ($id && $rights) { + if (User::changeRights($id, $rights)) { + $_SESSION["msg"] = "Uprawnienia zostały pomyślnie zmienione."; + $_SESSION["stat"] = "alert-success"; + } else { $_SESSION["msg"] = "Nie udało się zmienić uprawnień."; - } - } + $_SESSION["stat"] = "alert-danger"; + } + } - header("Location: /users/view/"); + header("Location: /users/view/"); - return true; - } + return true; + } - public function actionDeleteUser($id){ - User::isAdmin(); + public function actionDeleteUser($id) + { + User::checkRights("admin"); - if($id){ - if(User::deleteUser($id)) - $_SESSION["msg"] = "Konto zostało usunięte.";; - } + if ($id) { + if (User::deleteUser($id)) { + $_SESSION["msg"] = "Konto zostało usunięte."; + $_SESSION["stat"] = "alert-success"; + header("Location: /users/view/"); + } + } - header("Location: /users/view/"); - return true; - } + return true; + } } diff --git "a/files/0000/1/B\303\263g si\304\231 rodzi alt.wav" "b/files/0000/1/B\303\263g si\304\231 rodzi alt.wav" new file mode 100644 index 0000000..02110ce Binary files /dev/null and "b/files/0000/1/B\303\263g si\304\231 rodzi alt.wav" differ diff --git a/models/Achievements.php b/models/Achievements.php new file mode 100644 index 0000000..acdd636 --- /dev/null +++ b/models/Achievements.php @@ -0,0 +1,59 @@ +query("SELECT id, text + FROM achievements + ORDER BY id"); + + $result->setFetchMode(PDO::FETCH_ASSOC); + + $i = 0; + while ($row = $result->fetch()) { + $achievementsList[$i]['id'] = $row['id']; + $achievementsList[$i]['text'] = $row['text']; + + $i++; + } + return $achievementsList; + } + + /** + * @param $text + * @return bool + */ + public static function setNewItem($text) + { + $db = Db::getConnection(); + + $sql = 'INSERT INTO achievements(text) + values (:text)'; + + $result = $db->prepare($sql); + $result->bindParam(':text', $text, PDO::PARAM_STR); + + return $result->execute(); + + } + + public static function deleteAchievement($id) + { + $db = Db::getConnection(); + + $sql = "DELETE FROM achievements + WHERE id = '$id'"; + + $result = $db->prepare($sql); + + return $result->execute(); + } + +} diff --git a/models/Chat.php b/models/Chat.php new file mode 100644 index 0000000..477701a --- /dev/null +++ b/models/Chat.php @@ -0,0 +1,131 @@ +query(' + SELECT id, chat.id_account, message, datetime, accounts.name, accounts.surname, accounts.ac_type + FROM chat + LEFT JOIN accounts ON chat.id_account = accounts.id_account'); + $result->setFetchMode(PDO::FETCH_ASSOC); + + $i = 0; + while ($row = $result->fetch()) { + $messages[$i]['id'] = $row['id']; + $messages[$i]['id_account'] = $row['id_account']; + $messages[$i]['message'] = $row['message']; + $messages[$i]['datetime'] = $row['datetime']; + $messages[$i]['name'] = $row['name']; + $messages[$i]['surname'] = $row['surname']; + $messages[$i]['ac_type'] = $row['ac_type']; + + $i++; + } + return $messages; + + } + + + /** + * @param $id_account + * @param $message + * @return bool + */ + public static function addMessage($id_account, $message){ + + $db = Db::getConnection(); + + $sql = 'INSERT INTO chat(id_account, message) + values (:id_account, :message)'; + + $result = $db->prepare($sql); + $result->bindParam(':id_account', $id_account, PDO::PARAM_INT); + $result->bindParam(':message', $message, PDO::PARAM_STR); + + return $result->execute(); + + } + + + /** + * @param $message + * @return bool + */ + public static function checkMessage($message){ + + if (strlen($message) > 0) { + return true; + } + return false; + + } + + + /** + * @param $id + * @return mixed|void + */ + public static function isNewMessagesExists($id){ + + $db = Db::getConnection(); + + if($id){ + $result = $db->query("SELECT COUNT(*) as res + FROM chat + WHERE id > '$id';"); + + $result->setFetchMode(PDO::FETCH_ASSOC); + + $row = $result->fetch(); + + return $row['res']; + } + + } + + + /** + * @param $id + * @return array + */ + public static function getNewMessages($id){ + + $db = Db::getConnection(); + + $messages = array(); + + $result = $db->query(" + SELECT id, chat.id_account, message, datetime, accounts.name, accounts.surname, accounts.ac_type + FROM chat + LEFT JOIN accounts ON chat.id_account = accounts.id_account + WHERE id > '$id'"); + + $result->setFetchMode(PDO::FETCH_ASSOC); + + $i = 0; + while ($row = $result->fetch()) { + $messages[$i]['id'] = $row['id']; + $messages[$i]['id_account'] = $row['id_account']; + $messages[$i]['message'] = $row['message']; + $messages[$i]['datetime'] = $row['datetime']; + $messages[$i]['name'] = $row['name']; + $messages[$i]['surname'] = $row['surname']; + $messages[$i]['ac_type'] = $row['ac_type']; + + $i++; + } + return $messages; + + } + +} diff --git a/models/Email.php b/models/Email.php new file mode 100644 index 0000000..fa6ba4b --- /dev/null +++ b/models/Email.php @@ -0,0 +1,148 @@ +query("SELECT id, header, text + FROM mails"); + + $result->setFetchMode(PDO::FETCH_ASSOC); + + $i = 0; + while ($row = $result->fetch()) { + $templatesList[$i]['id'] = $row['id']; + $templatesList[$i]['header'] = $row['header']; + $templatesList[$i]['text'] = $row['text']; + $i++; + } + + return $templatesList; + + } + + + /** + * @param $header + * @return bool + */ + public static function checkHeader($header) + { + if (strlen($header) > 5 && strlen($header) < 31) { + return true; + } + return false; + } + + + /** + * @param $text + * @return bool + */ + public static function checkText($text) + { + if (strlen($text) > 5 && strlen($text) < 2501) { + return true; + } + return false; + } + + /** + * @param $header + * @param $text + * @return bool + */ + public static function addNewTemplate($header, $text){ + + $db = Db::getConnection(); + + $sql = 'INSERT INTO mails(header, text) + values (:header, :text)'; + + $result = $db->prepare($sql); + $result->bindParam(':header', $header, PDO::PARAM_STR); + $result->bindParam(':text', $text, PDO::PARAM_STR); + + return $result->execute(); + + } + + + /** + * @param $id + * @param $header + * @param $text + * @return bool + */ + public static function editTemplate($id, $header, $text){ + + $db = Db::getConnection(); + + $sql = "UPDATE mails + SET + header = '$header', + text = '$text' + + WHERE id = '$id'"; + + $result = $db->prepare($sql); + + return $result->execute(); + + } + + + /** + * @param $id + * @return mixed|void + */ + public static function getTemplateById($id) + { + $id = intval($id); + + if ($id) { + + $db = Db::getConnection(); + + $result = $db->query(' + SELECT id, header, text + FROM mails + WHERE id = ' . $id); + + $result->setFetchMode(PDO::FETCH_ASSOC); + + $template = $result->fetch(); + + return $template; + } + } + + + public static function deleteTemplateById($id){ + + $id = intval($id); + + if ($id) { + + $db = Db::getConnection(); + + $sql = "DELETE FROM mails + WHERE id = '$id'"; + + $result = $db->prepare($sql); + + return $result->execute(); + + } + + } + +} diff --git a/models/Folders.php b/models/Folders.php index cbffd5c..0b108c9 100644 --- a/models/Folders.php +++ b/models/Folders.php @@ -4,43 +4,45 @@ class Folders { - /** - * @return array - */ - public static function getFolders(){ + /** + * @return array + */ + public static function getFolders() + { - $db = Db::getConnection(); + $db = Db::getConnection(); - $foldersList = array(); + $foldersList = array(); - $result = $db->query("SELECT id_folder, name_folder, note + $result = $db->query("SELECT id_folder, name_folder, note FROM folder ORDER BY name_folder"); - $result->setFetchMode(PDO::FETCH_ASSOC); + $result->setFetchMode(PDO::FETCH_ASSOC); - $i = 0; - while($row=$result->fetch()){ - $foldersList[$i]['id_folder'] = $row['id_folder']; - $foldersList[$i]['name_folder'] = $row['name_folder']; + $i = 0; + while ($row = $result->fetch()) { + $foldersList[$i]['id_folder'] = $row['id_folder']; + $foldersList[$i]['name_folder'] = $row['name_folder']; - $i++; - } - return $foldersList; + $i++; + } + return $foldersList; - } + } /** * @param $name_folder * @param $note * @return bool */ - public static function newFolder($name_folder, $note){ + public static function newFolder($name_folder, $note) + { $db = Db::getConnection(); $sql = 'INSERT INTO folder (name_folder, note)' - .'VALUES (:name_folder, :note)'; + . 'VALUES (:name_folder, :note)'; $result = $db->prepare($sql); $result->bindParam(':name_folder', $name_folder, PDO::PARAM_STR); @@ -57,7 +59,8 @@ public static function newFolder($name_folder, $note){ * @param $name_folder * @return bool */ - public static function checkNameFolder($name_folder){ + public static function checkNameFolder($name_folder) + { $db = Db::getConnection(); $result = $db->prepare("SELECT COUNT(*) as cnt @@ -75,67 +78,72 @@ public static function checkNameFolder($name_folder){ return false; } - /** - * @param $id_folder - * @return mixed - */ - public static function countSongsInFolder($id_folder){ - $db = Db::getConnection(); + /** + * @param $id_folder + * @return mixed + */ + public static function countSongsInFolder($id_folder) + { + $db = Db::getConnection(); - $result = $db->query("SELECT count(*) as kek + $result = $db->query("SELECT count(*) as kek FROM song where id_folder = '$id_folder'"); - $result -> setFetchMode(PDO::FETCH_ASSOC); - $row = $result->fetch(); + $result->setFetchMode(PDO::FETCH_ASSOC); + $row = $result->fetch(); - return $row['kek']; - } + return $row['kek']; + } - /** - * @param $id_folder - * @return array - */ - public static function getSongsFromFolder($id_folder){ - $db = Db::getConnection(); + /** + * @param $id_folder + * @return array + */ + public static function getSongsFromFolder($id_folder) + { + $db = Db::getConnection(); - $songsList = array(); + $songsList = array(); - $result = $db->query("SELECT id_song, name_song, id_folder + $result = $db->query("SELECT id_song, name_song, id_folder, author FROM song WHERE id_folder = '$id_folder'"); - //$result -> setFetchMode(PDO::FETCH_ASSOC); + //$result -> setFetchMode(PDO::FETCH_ASSOC); - $i = 0; - while($row=$result->fetch()){ - $songsList[$i]['id_song'] = $row['id_song']; - $songsList[$i]['name_song'] = $row['name_song']; + $i = 0; + while ($row = $result->fetch()) { + $songsList[$i]['id_song'] = $row['id_song']; + $songsList[$i]['name_song'] = $row['name_song']; + $songsList[$i]['author'] = $row['author']; - $i++; - } - return $songsList; - } + $i++; + } + return $songsList; + } - /** - * @return array - */ - public static function getIdFolders(){ - $db = Db::getConnection(); + /** + * @return array + */ + public static function getIdFolders() + { + $db = Db::getConnection(); - $songsList = array(); + $songsList = array(); - $result = $db->query("SELECT id_folder, name_folder + $result = $db->query("SELECT id_folder, name_folder FROM folder"); - //$result -> setFetchMode(PDO::FETCH_ASSOC); - - $i = 0; - while($row=$result->fetch()){ - $songsList[$i]['id_folder'] = $row['id_folder']; - $songsList[$i]['name_folder'] = $row['name_folder']; - $i++; - } - return $songsList; - } - - public static function deleteFolderById($id){ + //$result -> setFetchMode(PDO::FETCH_ASSOC); + + $i = 0; + while ($row = $result->fetch()) { + $songsList[$i]['id_folder'] = $row['id_folder']; + $songsList[$i]['name_folder'] = $row['name_folder']; + $i++; + } + return $songsList; + } + + public static function deleteFolderById($id) + { $db = Db::getConnection(); $sql = "DELETE FROM folder diff --git a/models/Gallery.php b/models/Gallery.php new file mode 100644 index 0000000..d522963 --- /dev/null +++ b/models/Gallery.php @@ -0,0 +1,108 @@ +query("SELECT id, name, date + FROM gallery + ORDER BY date"); + + $result->setFetchMode(PDO::FETCH_ASSOC); + + $i = 0; + while ($row = $result->fetch()) { + $galleryList[$i]['id'] = $row['id']; + $galleryList[$i]['name'] = $row['name']; + $galleryList[$i]['date'] = $row['date']; + + $i++; + } + return $galleryList; + + } + + public static function checkName($name) + { + if (strlen($name) > 4) { + return true; + } + return false; + } + + /** + * @param $name + * @return bool + */ + public static function addFolder($name){ + + $db = Db::getConnection(); + + $sql = 'INSERT INTO gallery (name)' + . 'VALUES (:name)'; + + $result = $db->prepare($sql); + $result->bindParam(':name', $name, PDO::PARAM_STR); + + try { + return $result->execute(); + } catch (Exception $e) { + return false; + } + + } + + + /** + * @param $id + * @return bool + */ + public static function isFolderEmpty($id) + { + + $dir = ROOT . '/public_html/gallery/' . $id; + + if (is_dir($dir)) { + if ($dh = opendir($dir)) { + while (false !== ($file = readdir($dh))) { + if ($file != "." && $file != "..") { + return false; + } + } + } + } + + return true; + + } + + + public static function getFolderById($id) + { + $id = intval($id); + + if ($id) { + + $db = Db::getConnection(); + + $result = $db->query(' + SELECT id, name, date + FROM gallery + WHERE id = ' . $id); + $result->setFetchMode(PDO::FETCH_ASSOC); + + $folder = $result->fetch(); + + return $folder; + } + } + +} \ No newline at end of file diff --git a/models/News.php b/models/News.php index df979fa..feb3c72 100644 --- a/models/News.php +++ b/models/News.php @@ -1,134 +1,157 @@ query(' + $result = $db->query(' SELECT id_news, header, text, date_news, autor FROM news - WHERE id_news = '.$id); - $result->setFetchMode(PDO::FETCH_ASSOC); - - $news = $result->fetch(); - - return $news; - } - } - - /** - * @param $header - * @return bool - */ - public static function checkHeader($header){ - if(strlen($header)>29){ - return true; - } - return false; - } - - /** - * @param $text - * @return bool - */ - public static function checkText($text){ - if(strlen($text)>299){ - return true; - } - return false; - } - - - /** - * @param $header - * @param $text - * @param $autor - * @return bool - */ - public static function setNewsItem($header, $text, $autor){ - $db = Db::getConnection(); - - $sql = 'INSERT INTO news(header, text, autor) + WHERE id_news = ' . $id); + $result->setFetchMode(PDO::FETCH_ASSOC); + + $news = $result->fetch(); + + return $news; + } + } + + /** + * @param $header + * @return bool + */ + public static function checkHeader($header) + { + if (strlen($header) > 99) { + return true; + } + return false; + } + + /** + * @param $text + * @return bool + */ + public static function checkText($text) + { + if (strlen($text) > 2999) { + return true; + } + return false; + } + + + /** + * @param $header + * @param $text + * @param $autor + * @return bool + */ + public static function setNewsItem($header, $text, $autor, $isRepertoire = false) + { + $db = Db::getConnection(); + + $sql = 'INSERT INTO news(header, text, autor) values (:header, :text, :author)'; - $result = $db->prepare($sql); - $result->bindParam(':header', $header, PDO::PARAM_STR); - $result->bindParam(':text', $text, PDO::PARAM_STR); - $result->bindParam(':author', $autor, PDO::PARAM_STR); + $result = $db->prepare($sql); + $result->bindParam(':header', $header, PDO::PARAM_STR); + $result->bindParam(':text', $text, PDO::PARAM_STR); + $result->bindParam(':author', $autor, PDO::PARAM_STR); - return $result->execute(); + $back = $result->execute(); - } + if($isRepertoire){ + $nameFolder = $db->lastInsertId(); - /** - * @return array - */ - public static function getNewsList(){ - $db = Db::getConnection(); + if (!is_dir(ROOT_WEB . '/news/')) { + mkdir(ROOT_WEB . '/news', 0777, true); + } - $db = Db::getConnection(); - $newsList = array(); + if (!is_dir(ROOT_WEB . '/news/' . $nameFolder)) { + mkdir(ROOT_WEB . '/news/' . $nameFolder, 0777, true); + copy(ROOT_WEB . '/img/piano.jpeg' , ROOT_WEB . '/news/' . $nameFolder .'/top.jpeg'); + } + } - $result = $db->query("SELECT id_news, header, text, date_news, autor - FROM news;"); + return $back; - $result->setFetchMode(PDO::FETCH_ASSOC); + } - $i = 0; - while($row=$result->fetch()){ - $newsList[$i]['id_news'] = $row['id_news']; - $newsList[$i]['header'] = $row['header']; - $newsList[$i]['text'] = $row['text']; - $newsList[$i]['date_news'] = $row['date_news']; - $newsList[$i]['autor'] = $row['autor']; + /** + * @return array + */ + public static function getNewsList() + { - $i++; - } - return $newsList; + $db = Db::getConnection(); + $newsList = array(); - } + $result = $db->query("SELECT id_news, header, text, date_news, autor + FROM news + order by id_news desc;"); - /** - * @param $id - * @return bool - */ - public static function deleteNews($id){ - $db = Db::getConnection(); + $result->setFetchMode(PDO::FETCH_ASSOC); - $sql = "DELETE FROM news + $i = 0; + while ($row = $result->fetch()) { + $newsList[$i]['id_news'] = $row['id_news']; + $newsList[$i]['header'] = $row['header']; + $newsList[$i]['text'] = $row['text']; + $newsList[$i]['date_news'] = $row['date_news']; + $newsList[$i]['autor'] = $row['autor']; + + $i++; + } + return $newsList; + + } + + /** + * @param $id + * @return bool + */ + public static function deleteNews($id) + { + $db = Db::getConnection(); + + $sql = "DELETE FROM news WHERE id_news = '$id'"; - $result = $db->prepare($sql); + $result = $db->prepare($sql); - return $result->execute(); - } + return $result->execute(); + } - /** - * @param $id - * @param $header - * @param $text - * @return bool - */ - public static function updateNews($id, $header, $text){ - $db = Db::getConnection(); + /** + * @param $id + * @param $header + * @param $text + * @return bool + */ + public static function updateNews($id, $header, $text) + { + $db = Db::getConnection(); - $sql = "UPDATE news + $sql = "UPDATE news SET header = '$header', - text = '$text', + text = '$text' WHERE id_news = '$id'"; - $result = $db->prepare($sql); + $result = $db->prepare($sql); - return $result->execute(); - } + return $result->execute(); + } } \ No newline at end of file diff --git a/models/Queries.php b/models/Queries.php index 537203e..fc5c2ba 100644 --- a/models/Queries.php +++ b/models/Queries.php @@ -1,98 +1,139 @@ query("SELECT id_query, email, name, surname, regist_date + $db = Db::getConnection(); + + $result = $db->query(' + SELECT email, name + FROM queries + WHERE id_query = ' . $id); + $result->setFetchMode(PDO::FETCH_ASSOC); + + $query = $result->fetch(); + + return $query; + } + } + /** + * @return array + */ + public static function getQueries() + { + $db = Db::getConnection(); + + $queriesList = array(); + + $result = $db->query("SELECT id_query, email, name, surname, regist_date FROM queries; "); - $result->setFetchMode(PDO::FETCH_ASSOC); + $result->setFetchMode(PDO::FETCH_ASSOC); - $i = 0; - while($row=$result->fetch()){ - $queriesList[$i]['id_query'] = $row['id_query']; - $queriesList[$i]['email'] = $row['email']; - $queriesList[$i]['name'] = $row['name']; - $queriesList[$i]['surname'] = $row['surname']; - $queriesList[$i]['regist_date'] = $row['regist_date']; + $i = 0; + while ($row = $result->fetch()) { + $queriesList[$i]['id_query'] = $row['id_query']; + $queriesList[$i]['email'] = $row['email']; + $queriesList[$i]['name'] = $row['name']; + $queriesList[$i]['surname'] = $row['surname']; + $queriesList[$i]['regist_date'] = $row['regist_date']; - $i++; - } + $i++; + } - return $queriesList; - } + return $queriesList; + } - /** - * @return mixed - */ - public static function getCountQueries() - { - $db = Db::getConnection(); + /** + * @return mixed + */ + public static function getCountQueries() + { + $db = Db::getConnection(); - $result = $db->query("SELECT count(*) as kek + $result = $db->query("SELECT count(*) as kek FROM queries"); - $result->setFetchMode(PDO::FETCH_ASSOC); - $row = $result->fetch(); + $result->setFetchMode(PDO::FETCH_ASSOC); + $row = $result->fetch(); - return $row['kek']; - } + return $row['kek']; + } - /** - * @param $id - * @return bool - */ - public static function deleteQuery($id){ - $db = Db::getConnection(); + /** + * @param $id + * @return bool + */ + public static function deleteQuery($id) + { + $db = Db::getConnection(); - $sql = "DELETE FROM queries + $sql = "DELETE FROM queries WHERE id_query = '$id'"; - $result = $db->prepare($sql); + $result = $db->prepare($sql); - return $result->execute(); - } + return $result->execute(); + } - /** - * @param $id - * @param $ac_type - * @return bool - */ - public static function transferQuery($id, $ac_type){ - $db = Db::getConnection(); + /** + * @param $id + * @param $ac_type + * @return bool + */ + public static function transferQuery($id, $ac_type) + { + $db = Db::getConnection(); - $result = $db->query("SELECT email, name, surname, ac_password FROM queries WHERE id_query = '$id';"); + $result = $db->query("SELECT email, name, surname, ac_password FROM queries WHERE id_query = '$id';"); - $result->setFetchMode(PDO::FETCH_ASSOC); + $result->setFetchMode(PDO::FETCH_ASSOC); - $row = $result->fetch() ; - $email = $row["email"]; - $pas = $row["ac_password"]; - $name = $row["name"]; - $surname = $row["surname"]; + $row = $result->fetch(); + $email = $row["email"]; + $pas = $row["ac_password"]; + $name = $row["name"]; + $surname = $row["surname"]; - $sql = "INSERT INTO accounts(email, name, surname, ac_password, ac_type) + $sql = "INSERT INTO accounts(email, name, surname, ac_password, ac_type) values('$email', '$name', '$surname','$pas', '$ac_type');"; - $result = $db->query($sql); + $result1 = $db->query($sql); + + $sql = "DELETE FROM queries WHERE id_query = '$id'"; + + $result2 = $db->query($sql); + + if ($result1 && $result2) { + return true; + } else { + return false; + } + } + + public static function isQueryExist($email) + { + $db = Db::getConnection(); + + $result = $db->prepare("SELECT COUNT(*) as cnt + FROM queries + WHERE email = :email"); + + $result->bindParam(':email', $email, PDO::PARAM_STR); - $sql = "DELETE FROM queries WHERE id_query = '$id'"; + $result->execute(); - $result = $db->query($sql); + if ($result->fetchColumn() == 1) + return true; - if ($db->query($sql) === TRUE) { - return true; - } else { - return false; - } - } + else + return false; + } - } \ No newline at end of file +} \ No newline at end of file diff --git a/models/Repertoire.php b/models/Repertoire.php new file mode 100644 index 0000000..650b3b4 --- /dev/null +++ b/models/Repertoire.php @@ -0,0 +1,110 @@ +query("SELECT id, header, text + FROM repertoire + order by id desc;"); + + $result->setFetchMode(PDO::FETCH_ASSOC); + + $i = 0; + while ($row = $result->fetch()) { + $repertoireList[$i]['id'] = $row['id']; + $repertoireList[$i]['header'] = $row['header']; + $repertoireList[$i]['text'] = $row['text']; + $i++; + } + return $repertoireList; + } + + /** + * @param $header + * @param $text + * @return bool + */ + public static function setRepertoire($header, $text){ + + $db = Db::getConnection(); + + $sql = 'INSERT INTO repertoire(header, text) + values (:header, :text)'; + + $result = $db->prepare($sql); + $result->bindParam(':header', $header, PDO::PARAM_STR); + $result->bindParam(':text', $text, PDO::PARAM_STR); + + return $result->execute(); + + } + + /** + * @param $id + * @return mixed|void + */ + public static function getRepertoireById($id){ + + $id = intval($id); + + if ($id) { + + $db = Db::getConnection(); + + $result = $db->query('SELECT id, header, text + FROM repertoire + WHERE id = ' . $id); + + $result->setFetchMode(PDO::FETCH_ASSOC); + + $repertoire = $result->fetch(); + + return $repertoire; + } + + } + + public static function editRepertoire($id, $header, $text){ + + $db = Db::getConnection(); + + $sql = "UPDATE repertoire + SET + header = '$header', + text = '$text' + + WHERE id = '$id'"; + + $result = $db->prepare($sql); + + return $result->execute(); + + } + + public static function deleteRepertoireById($id){ + + $id = intval($id); + + if ($id) { + + $db = Db::getConnection(); + + $sql = "DELETE FROM repertoire + WHERE id = '$id'"; + + $result = $db->prepare($sql); + + return $result->execute(); + + } + + } + +} diff --git a/models/Songs.php b/models/Songs.php index d089aad..677e762 100644 --- a/models/Songs.php +++ b/models/Songs.php @@ -1,184 +1,199 @@ query(' - SELECT id_song, name_song, count_p, author, one_voice, song.id_folder, folder.name_folder, song.note + $result = $db->query(' + SELECT id_song, name_song, count_p, author, one_voice, song.id_folder, folder.name_folder, actual, song.note FROM song LEFT JOIN folder ON song.id_folder = folder.id_folder - WHERE id_song = '.$id); - $result->setFetchMode(PDO::FETCH_ASSOC); - - $song = $result->fetch(); - - return $song; - } - } - - /** - * @param $word - * @param $parameter - * @param int $page - * @param int $count - * @return array - */ - public static function getSongsList($word, $parameter, $oneVoise, $multiVoise, $page = 1, $count = self::SHOW_BY_DEFAULT){ - $db = Db::getConnection(); - - $page = intval($page); - $count = intval($count); - $offset = ( $page - 1 ) * $count; - $songsList = array(); - - if($oneVoise == false && $multiVoise == true){ - $voises = "AND (one_voice = 0)"; + WHERE id_song = ' . $id); + $result->setFetchMode(PDO::FETCH_ASSOC); + + $song = $result->fetch(); + + return $song; } - else if($oneVoise == true && $multiVoise == false){ + } + + /** + * @param $word + * @param $parameter + * @param int $page + * @param int $count + * @return array + */ + public static function getSongsList($word, $parameter, $oneVoise, $multiVoise, $page = 1, $actual, $count = self::SHOW_BY_DEFAULT) + { + $db = Db::getConnection(); + + $page = intval($page); + $count = intval($count); + $offset = ($page - 1) * $count; + + $songsList = array(); + + if ($oneVoise == false && $multiVoise == true) { + $voises = "AND (one_voice = 0)"; + } else if ($oneVoise == true && $multiVoise == false) { $voises = "AND (one_voice = 1)"; - } - else if($oneVoise == false && $multiVoise == false){ + } else if ($oneVoise == false && $multiVoise == false) { $voises = "AND (one_voice = 3)"; - } - else{ + } else { $voises = ""; } - $result = $db->query("SELECT id_song, name_song, count_p, author, one_voice, folder.name_folder + if ($actual == 1) { + $act = "AND actual = 1"; + } else + $act = ""; + + $result = $db->query("SELECT id_song, name_song, count_p, author, one_voice, actual, folder.name_folder FROM song LEFT JOIN folder ON song.id_folder = folder.id_folder - WHERE (name_song LIKE '%".$word."%' OR author LIKE '%".$word."%')" - .$voises." - ORDER BY ".$parameter." - LIMIT ".$count." - OFFSET ".$offset.";"); - - - - $result->setFetchMode(PDO::FETCH_ASSOC); - - $i = 0; - while($row=$result->fetch()){ - $songsList[$i]['id_song'] = $row['id_song']; - $songsList[$i]['name_song'] = $row['name_song']; - $songsList[$i]['count'] = $row['count_p']; - $songsList[$i]['author'] = $row['author']; - $songsList[$i]['one_voice'] = $row['one_voice']; - $songsList[$i]['name_folder'] = $row['name_folder']; - - $i++; - } - return $songsList; + WHERE (name_song LIKE '%" . $word . "%' OR author LIKE '%" . $word . "%')" + . $voises . " + " . $act . " + ORDER BY " . $parameter . " + LIMIT " . $count . " + OFFSET " . $offset . ";"); + + + $result->setFetchMode(PDO::FETCH_ASSOC); + + $i = 0; + while ($row = $result->fetch()) { + $songsList[$i]['id_song'] = $row['id_song']; + $songsList[$i]['name_song'] = $row['name_song']; + $songsList[$i]['count'] = $row['count_p']; + $songsList[$i]['author'] = $row['author']; + $songsList[$i]['one_voice'] = $row['one_voice']; + $songsList[$i]['actual'] = $row['actual']; + $songsList[$i]['name_folder'] = $row['name_folder']; + + $i++; + } + return $songsList; - } + } - /** - * @param $word - * @return mixed - */ - public static function getTotalSongs($word, $oneVoise, $multiVoise){ - $db = Db::getConnection(); + /** + * @param $word + * @return mixed + */ + public static function getTotalSongs($word, $oneVoise, $multiVoise, $actual) + { + $db = Db::getConnection(); - if($oneVoise == false && $multiVoise == true){ + if ($oneVoise == false && $multiVoise == true) { $voises = "AND (one_voice = 0)"; - } - else if($oneVoise == true && $multiVoise == false){ + } else if ($oneVoise == true && $multiVoise == false) { $voises = "AND (one_voice = 1)"; - } - else if($oneVoise == false && $multiVoise == false){ + } else if ($oneVoise == false && $multiVoise == false) { $voises = "AND (one_voice = 3)"; - } - else{ + } else { $voises = ""; } + if ($actual == 1) { + $act = "AND actual = 1"; + } else + $act = ""; + $result = $db->query("SELECT count(name_song) as kek FROM song WHERE (name_song LIKE '%" . $word . "%' OR author LIKE '%" . $word . "%') - ".$voises.";"); - - $result -> setFetchMode(PDO::FETCH_ASSOC); - - $row = $result->fetch(); - - return $row['kek']; - } - - /** - * @param $count_p - * @return bool - */ - public static function checkCount($count_p){ - if(($count_p)>0){ - return true; - } - return false; - } - - /** - * @param $name - * @return bool - */ - public static function checkName($name){ - if(strlen($name)>5){ - return true; - } - return false; - } - - /** - * @param $name - * @param $count_p - * @param $author - * @param $folder - * @param $note - * @return bool - */ - public static function addNewSong($name, $count_p, $author,$songType, $folder, $note){ - - $db = Db::getConnection(); - - $sql = 'INSERT INTO song(name_song, count_p, author, one_voice, id_folder, note) - values (:name_song, :count_p, :author, :voice, :folder, :note)'; + " . $act . " + " . $voises . ";"); - $result = $db->prepare($sql); - $result->bindParam(':name_song', $name, PDO::PARAM_STR); - $result->bindParam(':count_p', $count_p, PDO::PARAM_INT); - $result->bindParam(':author', $author, PDO::PARAM_STR); - $result->bindParam(':voice', $songType, PDO::PARAM_INT); - $result->bindParam(':folder', $folder, PDO::PARAM_INT); - $result->bindParam(':note', $note, PDO::PARAM_STR); + $result->setFetchMode(PDO::FETCH_ASSOC); - return $result->execute(); + $row = $result->fetch(); - } + return $row['kek']; + } - /** - * @param $id - * @param $name - * @param $count_p - * @param $author - * @param $folder - * @param $note - * @return bool - */ - public static function editSong($id, $name, $count_p, $author, $songType, $folder, $note){ - - $db = Db::getConnection(); + /** + * @param $count_p + * @return bool + */ + public static function checkCount($count_p) + { + if (($count_p) > 0) { + return true; + } + return false; + } + + /** + * @param $name + * @return bool + */ + public static function checkName($name) + { + if (strlen($name) > 5) { + return true; + } + return false; + } + + /** + * @param $name + * @param $count_p + * @param $author + * @param $folder + * @param $note + * @return bool + */ + public static function addNewSong($name, $count_p, $author, $songType, $folder, $note) + { + + $db = Db::getConnection(); + + $sql = 'INSERT INTO song(name_song, count_p, author, one_voice, id_folder, note) + values (:name_song, :count_p, :author, :voice, :folder, :note)'; - $sql = "UPDATE song + $result = $db->prepare($sql); + $result->bindParam(':name_song', $name, PDO::PARAM_STR); + $result->bindParam(':count_p', $count_p, PDO::PARAM_INT); + $result->bindParam(':author', $author, PDO::PARAM_STR); + $result->bindParam(':voice', $songType, PDO::PARAM_INT); + $result->bindParam(':folder', $folder, PDO::PARAM_INT); + $result->bindParam(':note', $note, PDO::PARAM_STR); + + return $result->execute(); + + } + + /** + * @param $id + * @param $name + * @param $count_p + * @param $author + * @param $folder + * @param $note + * @return bool + */ + public static function editSong($id, $name, $count_p, $author, $songType, $folder, $note) + { + + $db = Db::getConnection(); + + $sql = "UPDATE song SET name_song = '$name', count_p = '$count_p', @@ -188,25 +203,121 @@ public static function editSong($id, $name, $count_p, $author, $songType, $folde note = '$note' WHERE id_song = '$id'"; - $result = $db->prepare($sql); + $result = $db->prepare($sql); - return $result->execute(); + return $result->execute(); - } + } - /** - * @param $id - * @return bool - */ - public static function deleteSong($id){ - $db = Db::getConnection(); + /** + * @param $id + * @return bool + */ + public static function deleteSong($id) + { + $db = Db::getConnection(); - $sql = "DELETE FROM song + $sql = "DELETE FROM song WHERE id_song = '$id'"; - $result = $db->prepare($sql); + $result = $db->prepare($sql); + + return $result->execute(); + } + + + /** + * @param $id + * @return mixed + */ + public static function getActualById($id) + { + $db = Db::getConnection(); + + $result = $db->query("SELECT actual as act + FROM song + WHERE id_song = '$id';"); + + $result->setFetchMode(PDO::FETCH_ASSOC); + + $row = $result->fetch(); + + return $row['act']; + } + + + /** + * @param $id + * @param $status + * @return bool + */ + public static function changeActual($id, $status) + { + $db = Db::getConnection(); + + $sql = "UPDATE song + SET + actual = '$status' + WHERE id_song = '$id'"; + + $result = $db->prepare($sql); + + return $result->execute(); + + } + + /** + * @param $id + * @return bool|null + */ + public static function isFolderEmpty($id) + { + + $folderName = SongsController::getNameFolder($id); + $dir = ROOT . '/files/' . $folderName . '/' . $id; + + if (is_dir($dir)) { + if ($dh = opendir($dir)) { + while (false !== ($file = readdir($dh))) { + if ($file != "." && $file != "..") { + return false; + } + } + } + } + + return true; + + } + + + /** + * @return array + */ + public static function getActualSongs(){ + + $db = Db::getConnection(); + + $result = $db->query("SELECT id_song, name_song, author, actual, folder.name_folder + FROM song + LEFT JOIN folder ON song.id_folder = folder.id_folder + WHERE actual = 1"); + + + $result->setFetchMode(PDO::FETCH_ASSOC); + + $i = 0; + while ($row = $result->fetch()) { + $songsList[$i]['id_song'] = $row['id_song']; + $songsList[$i]['name_song'] = $row['name_song']; + $songsList[$i]['author'] = $row['author']; + $songsList[$i]['actual'] = $row['actual']; + $songsList[$i]['name_folder'] = $row['name_folder']; + + $i++; + } + return $songsList; + } - return $result->execute(); - } } diff --git a/models/User.php b/models/User.php index fcf6779..7595451 100644 --- a/models/User.php +++ b/models/User.php @@ -1,354 +1,443 @@ prepare($sql); - $result->bindParam(':email', $email, PDO::PARAM_STR); - $result->bindParam(':name', $name, PDO::PARAM_STR); - $result->bindParam(':surname', $surname, PDO::PARAM_STR); - $result->bindParam(':ac_password', $pass1, PDO::PARAM_STR); - - return $result->execute(); - - } - - /** - * @param $name - * @return bool - */ - public static function checkName($name){ - if(strlen($name) >= 3){ - return true; - } - return false; - } - - /** - * @param $surname - * @return bool - */ - public static function chekSurname($surname){ - if(strlen($surname) >= 3){ - return true; - } - return false; - } - - /** - * @param $email - * @return bool - */ - public static function chekEmail($email){ - if(filter_var($email, FILTER_VALIDATE_EMAIL)){ - return true; - } - return false; - } - - /** - * @param $pass1 - * @param $pass2 - * @return bool - */ - public static function chekPasswords($pass1, $pass2){ - if(strcasecmp($pass1, $pass2)==0){ - return true; - } - return false; - } - - /** - * @param $pass1 - * @return bool - */ - public static function chekPassword($pass1){ - /*if(strlen($pass1)>=6 && ){ - return true; - } - return false; */ - - $errors = false; - - if (strlen($pass1) < 8) { - $errors[] = "Password too short!"; - } - - if (!preg_match("#[0-9]+#", $pass1)) { - $errors[] = "Password must include at least one number!"; - } - - if (!preg_match("#[a-zA-Z]+#", $pass1)) { - $errors[] = "Password must include at least one letter!"; - } - - if($errors){ - return false; - } - return true; - } - - /** - * @param $email - * @return bool - */ - public static function checkEmailExists($email){ - - if(isset($_SESSION["email"])){ - if(strcmp($email, $_SESSION["email"])==0) - return false; - } - - $db = Db::getConnection(); - - $result = $db->query("SELECT COUNT(*) FROM accounts - WHERE email = '$email'"); - - $result->setFetchMode(PDO::FETCH_ASSOC); - - $row=$result->fetch(); - - if($row==1) - return true; - else{ - return false; - } - } - - /** - * @return array - */ - public static function getUsers(){ - $db = Db::getConnection(); - - $userList = array(); - - $result = $db->query("SELECT id_account, email, name, surname, ac_type, regist_date +class User +{ + + + /** + * @param $name + * @param $surname + * @param $email + * @param $pass1 + * @return bool + */ + public static function register($name, $surname, $email, $pass1) + { + $db = Db::getConnection(); + + $sql = 'INSERT INTO queries (email, ac_password, name, surname)' + . 'VALUES (:email, MD5(:ac_password), :name, :surname)'; + + $result = $db->prepare($sql); + $result->bindParam(':email', $email, PDO::PARAM_STR); + $result->bindParam(':name', $name, PDO::PARAM_STR); + $result->bindParam(':surname', $surname, PDO::PARAM_STR); + $result->bindParam(':ac_password', $pass1, PDO::PARAM_STR); + + return $result->execute(); + + } + + /** + * @param $name + * @return bool + */ + public static function checkName($name) + { + if (strlen($name) >= 3) { + return true; + } + return false; + } + + /** + * @param $surname + * @return bool + */ + public static function chekSurname($surname) + { + if (strlen($surname) >= 3) { + return true; + } + return false; + } + + /** + * @param $email + * @return bool + */ + public static function chekEmail($email) + { + if (filter_var($email, FILTER_VALIDATE_EMAIL)) { + return true; + } + return false; + } + + /** + * @param $pass1 + * @param $pass2 + * @return bool + */ + public static function chekPasswords($pass1, $pass2) + { + if (strcasecmp($pass1, $pass2) == 0) { + return true; + } + return false; + } + + /** + * @param $pass1 + * @return bool + */ + public static function chekPassword($pass1) + { + /*if(strlen($pass1)>=6 && ){ + return true; + } + return false; */ + + $errors = false; + + if (strlen($pass1) < 8) { + $errors[] = "Password too short!"; + } + + if (!preg_match("#[0-9]+#", $pass1)) { + $errors[] = "Password must include at least one number!"; + } + + if (!preg_match("#[a-zA-Z]+#", $pass1)) { + $errors[] = "Password must include at least one letter!"; + } + + if ($errors) { + return false; + } + return true; + } + + /** + * @param $email + * @return bool + */ + public static function checkEmailExists($email) + { + + $db = Db::getConnection(); + + $result = $db->query("SELECT COUNT(*) as cnt FROM accounts + WHERE email = '$email'"); + + $result->setFetchMode(PDO::FETCH_ASSOC); + + $row = $result->fetch(); + + echo $row['cnt']; + + if ($row['cnt'] > 0) + return true; + else { + return false; + } + } + + /** + * @return array + */ + public static function getUsers($word) + { + $db = Db::getConnection(); + + $userList = array(); + + $result = $db->query("SELECT id_account, email, name, surname, ac_type, last_online, regist_date FROM accounts + WHERE (name LIKE '%" . $word . "%' OR surname LIKE '%" . $word . "%') + ORDER BY last_online DESC; "); - $result->setFetchMode(PDO::FETCH_ASSOC); - - $i = 0; - while($row=$result->fetch()){ - $userList[$i]['id_account'] = $row['id_account']; - $userList[$i]['email'] = $row['email']; - $userList[$i]['name'] = $row['name']; - $userList[$i]['surname'] = $row['surname']; - $userList[$i]['ac_type'] = $row['ac_type']; - $userList[$i]['regist_date'] = $row['regist_date']; - - $i++; - } - - return $userList; - } - - /** - * @param $email - * @param $pass - * @return false|mixed - */ - public static function checkUserData($email, $pass){ - $db = Db::getConnection(); - - $userData = array(); - - $SQL = "SELECT * FROM accounts + $result->setFetchMode(PDO::FETCH_ASSOC); + + $i = 0; + while ($row = $result->fetch()) { + $userList[$i]['id_account'] = $row['id_account']; + $userList[$i]['email'] = $row['email']; + $userList[$i]['name'] = $row['name']; + $userList[$i]['surname'] = $row['surname']; + $userList[$i]['ac_type'] = $row['ac_type']; + $userList[$i]['last_online'] = $row['last_online']; + $userList[$i]['regist_date'] = $row['regist_date']; + + $i++; + } + + return $userList; + } + + /** + * @param $email + * @param $pass + * @return false|mixed + */ + public static function checkUserData($email, $pass) + { + $db = Db::getConnection(); + + $userData = array(); + + $SQL = "SELECT * FROM accounts WHERE email = '$email' AND ac_password = MD5('$pass')"; - $result = $db->query($SQL); - - $result->setFetchMode(PDO::FETCH_ASSOC); + $result = $db->query($SQL); + + $result->setFetchMode(PDO::FETCH_ASSOC); - while($row=$result->fetch()) { - $userData['id_account'] = $row['id_account']; - $userData['name'] = $row['name']; - $userData['surname'] = $row['surname']; - $userData['email'] = $row['email']; - $userData['ac_type'] = $row['ac_type']; - } + while ($row = $result->fetch()) { + $userData['id_account'] = $row['id_account']; + $userData['name'] = $row['name']; + $userData['surname'] = $row['surname']; + $userData['email'] = $row['email']; + $userData['ac_type'] = $row['ac_type']; + } - if($userData){ - return $userData; - } + if ($userData) { + return $userData; + } - return false; - } + return false; + } - /** - * @param $pass - * @return bool - */ - public static function isGoodPassword($pass){ + /** + * @param $pass + * @return bool + */ + public static function isGoodPassword($pass) + { - $db = Db::getConnection(); + $db = Db::getConnection(); - $sql = 'SELECT COUNT(*) FROM accounts WHERE ac_password = MD5(:pas) AND id_account = :id;'; + $sql = 'SELECT COUNT(*) FROM accounts WHERE ac_password = MD5(:pas) AND id_account = :id;'; - $result = $db->prepare($sql); - $result->bindParam(':pas', $pass,PDO::PARAM_STR); - $result->bindParam(':id', $_SESSION['user'],PDO::PARAM_STR); - $result->execute(); + $result = $db->prepare($sql); + $result->bindParam(':pas', $pass, PDO::PARAM_STR); + $result->bindParam(':id', $_SESSION['user'], PDO::PARAM_STR); + $result->execute(); - if($result->fetchColumn()) - return true; + if ($result->fetchColumn()) + return true; - return false; - } + return false; + } - /** - * @param $pass - * @return bool - */ - public static function changePassword($pass){ + /** + * @param $pass + * @return bool + */ + public static function changePassword($pass) + { - $db = Db::getConnection(); - $id = $_SESSION['user']; + $db = Db::getConnection(); + $id = $_SESSION['user']; - $sql = "UPDATE accounts + $sql = "UPDATE accounts SET ac_password = MD5('$pass') WHERE id_account = '$id'"; - $result = $db->prepare($sql); + $result = $db->prepare($sql); - return $result->execute(); + return $result->execute(); - } + } - /** - * @param $name - * @param $surname - * @param $email - * @return bool - */ - public static function changeData($name, $surname, $email){ + /** + * @param $name + * @param $surname + * @param $email + * @return bool + */ + public static function changeData($name, $surname, $email) + { - $db = Db::getConnection(); - $id = $_SESSION['user']; + $db = Db::getConnection(); + $id = $_SESSION['user']; - $sql = "UPDATE accounts + $sql = "UPDATE accounts SET name = '$name', surname = '$surname', email = '$email' WHERE id_account = '$id'"; - $result = $db->prepare($sql); + $result = $db->prepare($sql); - return $result->execute(); - } + return $result->execute(); + } - /** - * @param $id - * @param $rights - * @return bool - */ - public static function changeRights($id, $rights){ - $db = Db::getConnection(); + /** + * @param $id + * @param $rights + * @return bool + */ + public static function changeRights($id, $rights) + { + $db = Db::getConnection(); - $sql = "UPDATE accounts + $sql = "UPDATE accounts SET ac_type = '$rights' WHERE id_account = '$id'"; - $result = $db->prepare($sql); - - return $result->execute(); - } - - /** - * @return bool - */ - public static function isLogin(){ - if(isset($_SESSION['user']) && - $_SESSION['user']!=' ' && - isset($_SESSION['ac_type'])){ - return true; - } - die("Zabroniono w dostępie. Musisz się zalogować."); - } - - /** - * @return bool - */ - public static function isModerator(){ - if(self::isLogin()){ - if(strcasecmp( $_SESSION['ac_type'], "moder")==0 || - strcasecmp( $_SESSION['ac_type'], "admin")==0){ - return true; - } - } - die("Zabroniono w dostępie, nie masz uprawnień."); - } - - /** - * @return bool - */ - public static function isAdmin(){ - if(self::isLogin()){ - if(strcasecmp( $_SESSION['ac_type'], "admin")==0) - return true; - } - die("Zabroniono w dostępie, nie masz uprawnień."); - } - - public static function isUser(){ - if(self::isLogin()){ - if(strcasecmp($_SESSION['ac_type'], "user")==0) - return true; - } - die("Zabroniono w dostępie, nie masz uprawnień."); - } - - public static function checkRoot($root){ - if(strcasecmp($_SESSION['ac_type'],$root)==0) - return true; - return false; - } - - /** - * @param $userData - */ - public static function auth($userData){ - //session_start(); - $_SESSION['user'] = $userData['id_account']; - $_SESSION['name'] = $userData['name']; - $_SESSION['surname'] = $userData['surname']; - $_SESSION['email'] = $userData['email']; - $_SESSION['ac_type'] = $userData['ac_type']; + $result = $db->prepare($sql); + + return $result->execute(); + } + + + /** Проверяет права, если прав нет - смерть + * @param $rank + * @return bool|void + */ + public static function checkRights($rank){ + + $neededRoot = $rank; // admin + $currentRoot = $_SESSION['ac_type']; // moderator + + if (User::isLogin()) { + switch ($neededRoot){ + case 'user': + if(strcasecmp($currentRoot, "user") == 0 || strcasecmp($currentRoot, "moder") || strcasecmp($currentRoot, "admin")) + return true; + break; + case 'moder': + if(strcasecmp($currentRoot, "admin") == 0 || strcasecmp($currentRoot, "moder") == 0) + return true; + break; + case 'admin': + if(strcasecmp($currentRoot, "admin") == 0) + return true; + break; + default: + self::logout(); + $_SESSION["msg"] = 'Zabroniono w dostępie, nie masz uprawnień.'; + $_SESSION["stat"] = "alert-danger"; +// die("Zabroniono w dostępie, nie masz uprawnień."); + return false; + break; + } + } + else if(!User::isLogin()){ + self::logout(); + $_SESSION["msg"] = 'Zabroniono w dostępie, nie masz uprawnień.'; + $_SESSION["stat"] = "alert-danger"; +// die("Zabroniono w dostępie, nie jesteś zalogowany"); + } + else{ + return false; + } + self::logout(); + $_SESSION["msg"] = 'Zabroniono w dostępie, nie masz uprawnień.'; + $_SESSION["stat"] = "alert-danger"; +// die("Zabroniono w dostępie, nie masz uprawnień."); + } + + /** Возвращает true или false в зависимости залогинен ты или нет + * @return bool + */ + public static function isLogin() + { + if (isset($_SESSION['user']) || isset($_SESSION['ac_type'])) { + return true; + } + return false; + } + + + /** + * @return bool + */ + public static function isModerator() + { + if (self::isLogin()) { + if (strcasecmp($_SESSION['ac_type'], "moder") == 0 || + strcasecmp($_SESSION['ac_type'], "admin") == 0) { + return true; + } + } + return false; + } + + /** + * @return bool + */ + public static function isAdmin() + { + if (self::isLogin()) { + if (strcasecmp($_SESSION['ac_type'], "admin") == 0) + return true; + } + return false; + } + + + public static function checkRoot($root) + { + if (strcasecmp($_SESSION['ac_type'], $root) == 0) + return true; + return false; + } + + /** + * @param $userData + */ + public static function auth($userData) + { + $_SESSION['user'] = $userData['id_account']; + $_SESSION['name'] = $userData['name']; + $_SESSION['surname'] = $userData['surname']; + $_SESSION['email'] = $userData['email']; + $_SESSION['ac_type'] = $userData['ac_type']; $_SESSION["multiVoise"] = true; - } + $_SESSION["oneVoise"] = true; + } + + /** + * @param $id + * @return bool + */ + public static function deleteUser($id) + { + $db = Db::getConnection(); + + $sql = "DELETE FROM accounts + WHERE id_account = '$id'"; - /** - * @param $id - * @return bool - */ - public static function deleteUser($id){ - $db = Db::getConnection(); + $result = $db->prepare($sql); - $sql = "DELETE FROM accounts - WHERE id_account = '$id'"; + return $result->execute(); + } + + + /** + * @param $id + * @return bool + */ + public static function refreshOnline($id){ + + $db = Db::getConnection(); + + $now = date("Y-m-d H:i:s"); + + $sql = "UPDATE accounts + SET + last_online = '$now' + WHERE id_account = '$id'"; + + $result = $db->prepare($sql); + + return $result->execute(); + + } + + public static function logout(){ - $result = $db->prepare($sql); + session_unset(); + session_destroy(); - return $result->execute(); - } + header("Location: /users/login"); + } } \ No newline at end of file diff --git a/public/css/bootstrap/css/bootstrap-grid.css.map b/public/css/bootstrap/css/bootstrap-grid.css.map deleted file mode 100644 index 86ef4a9..0000000 --- a/public/css/bootstrap/css/bootstrap-grid.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../scss/bootstrap-grid.scss","../../scss/_root.scss","bootstrap-grid.css","../../scss/_containers.scss","../../scss/mixins/_container.scss","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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+BAAA;AP63DZ;;AOp4DQ;EAOI,6BAAA;APi4DZ;;AGx4DI;EIAI;IAOI,0BAAA;EPs4DV;;EO74DM;IAOI,gCAAA;EP04DV;;EOj5DM;IAOI,yBAAA;EP84DV;;EOr5DM;IAOI,wBAAA;EPk5DV;;EOz5DM;IAOI,yBAAA;EPs5DV;;EO75DM;IAOI,6BAAA;EP05DV;;EOj6DM;IAOI,8BAAA;EP85DV;;EOr6DM;IAOI,wBAAA;EPk6DV;;EOz6DM;IAOI,+BAAA;EPs6DV;;EO76DM;IAOI,wBAAA;EP06DV;;EOj7DM;IAOI,yBAAA;EP86DV;;EOr7DM;IAOI,8BAAA;EPk7DV;;EOz7DM;IAOI,iCAAA;EPs7DV;;EO77DM;IAOI,sCAAA;EP07DV;;EOj8DM;IAOI,yCAAA;EP87DV;;EOr8DM;IAOI,uBAAA;EPk8DV;;EOz8DM;IAOI,uBAAA;EPs8DV;;EO78DM;IAOI,yBAAA;EP08DV;;EOj9DM;IAOI,yBAAA;EP88DV;;EOr9DM;IAOI,0BAAA;EPk9DV;;EOz9DM;IAOI,4BAAA;EPs9DV;;EO79DM;IAOI,kCAAA;EP09DV;;EOj+DM;IAOI,sCAAA;EP89DV;;EOr+DM;IAOI,oCAAA;EPk+DV;;EOz+DM;IAOI,kCAAA;EPs+DV;;EO7+DM;IAOI,yCAAA;EP0+DV;;EOj/DM;IAOI,wCAAA;EP8+DV;;EOr/DM;IAOI,wCAAA;EPk/DV;;EOz/DM;IAOI,kCAAA;EPs/DV;;EO7/DM;IAOI,gCAAA;EP0/DV;;EOjgEM;IAOI,8BAAA;EP8/DV;;EOrgEM;IAOI,gCAAA;EPkgEV;;EOzgEM;IAOI,+BAAA;EPsgEV;;EO7gEM;IAOI,oCAAA;EP0gEV;;EOjhEM;IAOI,kCAAA;EP8gEV;;EOrhEM;IAOI,gCAAA;EPkhEV;;EOzhEM;IAOI,uCAAA;EPshEV;;EO7hEM;IAOI,sCAAA;EP0hEV;;EOjiEM;IAOI,iCAAA;EP8hEV;;EOriEM;IAOI,2BAAA;EPkiEV;;EOziEM;IAOI,iCAAA;EPsiEV;;EO7iEM;IAOI,+BAAA;EP0iEV;;EOjjEM;IAOI,6BAAA;EP8iEV;;EOrjEM;IAOI,+BAAA;EPkjEV;;EOzjEM;IAOI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Po5EV;;EO35EM;IAOI,2BAAA;EPw5EV;;EO/5EM;IAOI,iCAAA;EP45EV;;EOn6EM;IAOI,gCAAA;EPg6EV;;EOv6EM;IAOI,8BAAA;EPo6EV;;EO36EM;IAOI,gCAAA;EPw6EV;;EO/6EM;IAOI,8BAAA;EP46EV;;EOn7EM;IAOI,4BAAA;EPg7EV;;EOv7EM;IAOI,kCAAA;EPo7EV;;EO37EM;IAOI,iCAAA;EPw7EV;;EO/7EM;IAOI,+BAAA;EP47EV;;EOn8EM;IAOI,iCAAA;EPg8EV;;EOv8EM;IAOI,+BAAA;EPo8EV;;EO38EM;IAOI,0BAAA;EPw8EV;;EO/8EM;IAOI,gCAAA;EP48EV;;EOn9EM;IAOI,+BAAA;EPg9EV;;EOv9EM;IAOI,6BAAA;EPo9EV;;EO39EM;IAOI,+BAAA;EPw9EV;;EO/9EM;IAOI,6BAAA;EP49EV;AACF;AGp+EI;EIAI;IAOI,0BAAA;EPi+EV;;EOx+EM;IAOI,gCAAA;EPq+EV;;EO5+EM;IAOI,yBAAA;EPy+EV;;EOh/EM;IAOI,wBAAA;EP6+EV;;EOp/EM;IAOI,yBAAA;EPi/EV;;EOx/EM;IAOI,6BAAA;EPq/EV;;EO5/EM;IAOI,8BAAA;EPy/EV;;EOhgFM;IAOI,wBAAA;EP6/EV;;EOpgFM;IAOI,+BAAA;EPigFV;;EOxgFM;IAOI,wBAAA;EPqgFV;;EO5gFM;IAOI,yBAAA;EPygFV;;EOhhFM;IAOI,8BAAA;EP6gFV;;EOphFM;IAOI,iCAAA;EPihFV;;EOxhFM;IAOI,sCAAA;EPqhFV;;EO5hFM;IAOI,yCAAA;EPyhFV;;EOhiFM;IAOI,uBAAA;EP6hFV;;EOpiFM;IAOI,uBAAA;EPiiFV;;EOxiFM;IAOI,yBAAA;EPqiFV;;EO5iFM;IAOI,yBAAA;EPyiFV;;EOhjFM;IAOI,0BAAA;EP6iFV;;EOpjFM;IAOI,4BAAA;EPijFV;;EOxjFM;IAOI,kCAAA;EPqjFV;;EO5jFM;IAOI,sCAAA;EPyjFV;;EOhkFM;IAOI,oCAAA;EP6jFV;;EOpkFM;IAOI,kCAAA;EPikFV;;EOxkFM;IAOI,yCAAA;EPqkFV;;EO5kFM;IAOI,wCAAA;EPykFV;;EOhlFM;IAOI,wC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;EPomGV;;EO3mGM;IAOI,8BAAA;EPwmGV;;EO/mGM;IAOI,iCAAA;EP4mGV;;EOnnGM;IAOI,sCAAA;EPgnGV;;EOvnGM;IAOI,yCAAA;EPonGV;;EO3nGM;IAOI,uBAAA;EPwnGV;;EO/nGM;IAOI,uBAAA;EP4nGV;;EOnoGM;IAOI,yBAAA;EPgoGV;;EOvoGM;IAOI,yBAAA;EPooGV;;EO3oGM;IAOI,0BAAA;EPwoGV;;EO/oGM;IAOI,4BAAA;EP4oGV;;EOnpGM;IAOI,kCAAA;EPgpGV;;EOvpGM;IAOI,sCAAA;EPopGV;;EO3pGM;IAOI,oCAAA;EPwpGV;;EO/pGM;IAOI,kCAAA;EP4pGV;;EOnqGM;IAOI,yCAAA;EPgqGV;;EOvqGM;IAOI,wCAAA;EPoqGV;;EO3qGM;IAOI,wCAAA;EPwqGV;;EO/qGM;IAOI,kCAAA;EP4qGV;;EOnrGM;IAOI,gCAAA;EPgrGV;;EOvrGM;IAOI,8BAAA;EPorGV;;EO3rGM;IAOI,gCAAA;EPwrGV;;EO/rGM;IAOI,+BAAA;EP4rGV;;EOnsGM;IAOI,oCAAA;EPgsGV;;EOvsGM;IAOI,kCAAA;EPosGV;;EO3sGM;IAOI,gCAAA;EPwsGV;;EO/sGM;IAOI,uCAAA;EP4sGV;;EOntGM;IAOI,sCAAA;EPgtGV;;EOvtGM;IAOI,iCAAA;EPotGV;;EO3tGM;IAOI,2BAAA;EPwtGV;;EO/tGM;IAOI,iCAAA;EP4tGV;;EOnuGM;IAOI,+BAAA;EPguGV;;EOvuGM;IAOI,6BAAA;EPouGV;;EO3uGM;IAOI,+BAAA;EPwuGV;;EO/uGM;IAOI,8BAAA;EP4uGV;;EOnvGM;IAOI,oBAAA;EPgvGV;;EOvvGM;IAOI,mBAAA;EPovGV;;EO3vGM;IAOI,mBAAA;EPwvGV;;EO/vGM;IAOI,mBAAA;EP4vGV;;EOnwGM;IAOI,mBAAA;EPgwGV;;EOvwGM;IAOI,mBAAA;EPowGV;;EO3wGM;IAOI,mBAAA;EPwwGV;;EO/wGM;IAOI,mBAAA;EP4wGV;;EOnxGM;IAOI,oBAAA;EPgxGV;;EOvxGM;IAOI,0BAAA;EPoxGV;;EO3xGM;IAOI,yBAAA;EPwxGV;;EO/xGM;IAOI,uBAAA;EP4xGV;;EOnyGM;IAOI,yBAAA;EPgyGV;;EOvyGM;IAOI,uBAAA;EPoyGV;;EO3yGM;IAOI,uBAAA;EPwyGV;;EO/yGM;IAOI,0BAAA;IAAA,yBAAA;EP6yGV;;EOpzGM;IAOI,gCAAA;IAAA,+BAAA;EPkzGV;;EOzzGM;IAOI,+BAAA;IAAA,8BAAA;EPuzGV;;EO9zGM;IAOI,6BAAA;IAAA,4BAAA;EP4zGV;;EOn0GM;IAOI,+BAAA;IAAA,8BAAA;EPi0GV;;EOx0GM;IAOI,6BAAA;IAAA,4BAAA;EPs0GV;;EO70GM;IAOI,6BAAA;IAAA,4BAAA;EP20GV;;EOl1GM;IAOI,wBAAA;IAAA,2BAAA;EPg1GV;;EOv1GM;IAOI,8BAAA;IAAA,iCAAA;EPq1GV;;EO51GM;IAOI,6BAAA;IAAA,gCAAA;EP01GV;;EOj2GM;IAOI,2BAAA;IAAA,8BAAA;EP+1GV;;EOt2GM;IAOI,6BAAA;IAAA,gCAAA;EPo2GV;;EO32GM;IAOI,2BAAA;IAAA,8BAAA;EPy2GV;;EOh3GM;IAOI,2BAAA;IAAA,8BAAA;EP82GV;;EOr3GM;IAOI,wBAAA;EPk3GV;;EOz3GM;IAOI,8BAAA;EPs3GV;;EO73GM;IAOI,6BAAA;EP03GV;;EOj4GM;IAOI,2BAAA;EP83GV;;EOr4GM;IAOI,6BAAA;EPk4GV;;EOz4GM;IAOI,2BAAA;EPs4GV;;EO74GM;IAOI,2BAAA;EP04GV;;EOj5GM;IAOI,0BAAA;EP84GV;;EOr5GM;IAOI,gCAAA;EPk5GV;;EOz5GM;IAOI,+BAAA;EPs5GV;;EO75GM;IAOI,6BAAA;EP05GV;;EOj6GM;IAOI,+BAAA;EP85GV;;EOr6GM;IAOI,6BAAA;EPk6GV;;EOz6GM;IAOI,6BAAA;EPs6GV;;EO76GM;IAOI,2BAAA;EP06GV;;EOj7GM;IAOI,iCAAA;EP86GV;;EOr7GM;IAOI,gCAAA;EPk7GV;;EOz7GM;IAOI,8BAAA;EPs7GV;;EO77GM;IAOI,gCAAA;EP07GV;;EOj8GM;IAOI,8BAAA;EP87GV;;EOr8GM;IAOI,8BAAA;EPk8GV;;EOz8GM;IAOI,yBAAA;EPs8GV;;EO78GM;IAOI,+BAAA;EP08GV;;EOj9GM;IAOI,8BAAA;EP88GV;;EOr9GM;IAOI,4BAAA;EPk9GV;;EOz9GM;IAOI,8BAAA;EPs9GV;;EO79GM;IAOI,4BAAA;EP09GV;;EOj+GM;IAOI,4BAAA;EP89GV;;EOr+GM;IAOI,qBAAA;EPk+GV;;EOz+GM;IAOI,2BAAA;EPs+GV;;EO7+GM;IAOI,0BAAA;EP0+GV;;EOj/GM;IAOI,wBAAA;EP8+GV;;EOr/GM;IAOI,0BAAA;EPk/GV;;EOz/GM;IAOI,wBAAA;EPs/GV;;EO7/GM;IAOI,2BAAA;IAAA,0BAAA;EP2/GV;;EOlgHM;IAOI,iCAAA;IAAA,gCAAA;EPggHV;;EOvgHM;IAOI,gCAAA;IAAA,+BAAA;EPqgHV;;EO5gHM;IAOI,8BAAA;IAAA,6BAAA;EP0gHV;;EOjhHM;IAOI,gCAAA;IAAA,+BAAA;EP+gHV;;EOthHM;IAOI,8BAAA;IAAA,6BAAA;EPohHV;;EO3hHM;IAOI,yBAAA;IAAA,4BAAA;EPyhHV;;EOhiHM;IAOI,+BAAA;IAAA,kCAAA;EP8hHV;;EOriHM;IAOI,8BAAA;IAAA,iCAAA;EPmiHV;;EO1iHM;IAOI,4BAAA;IAAA,+BAAA;EPwiHV;;EO/iHM;IAOI,8BAAA;IAAA,iCAAA;EP6iHV;;EOpjHM;IAOI,4BAAA;IAAA,+BAAA;EPkjHV;;EOzjHM;IAOI,yBAAA;EPsjHV;;EO7jHM;IAOI,+BAAA;EP0jHV;;EOjkHM;IAOI,8BAAA;EP8jHV;;EOrkHM;IAOI,4BAAA;EPkkHV;;EOzkHM;IAOI,8BAAA;EPskHV;;EO7kHM;IAOI,4BAAA;EP0kHV;;EOjlHM;IAOI,2BAAA;EP8kHV;;EOrlHM;IAOI,iCAAA;EPklHV;;EOzlHM;IAOI,gCAAA;EPslHV;;EO7lHM;IAOI,8BAAA;EP0lHV;;EOjmHM;IAOI,gCAAA;EP8lHV;;EOrmHM;IAOI,8BAAA;EPkmHV;;EOzmHM;IAOI,4BAAA;EPsmHV;;EO7mHM;IAOI,kCAAA;EP0mHV;;EOjnHM;IAOI,iCAAA;EP8mHV;;EOrnHM;IAOI,+BAAA;EPknHV;;EOznHM;IAOI,iCAAA;EPsnHV;;EO7nHM;IAOI,+BAAA;EP0nHV;;EOjoHM;IAOI,0BAAA;EP8nHV;;EOroHM;IAOI,gCAAA;EPkoHV;;EOzoHM;IAOI,+BAAA;EPsoHV;;EO7oHM;IAOI,6BAAA;EP0oHV;;EOjpHM;IAOI,+BAAA;EP8oHV;;EOrpHM;IAOI,6BAAA;EPkpHV;AACF;AG1pHI;EIAI;IAOI,0BAAA;EPupHV;;EO9pHM;IAOI,gCAAA;EP2pHV;;EOlqHM;IAOI,yBAAA;EP+pHV;;EOtqHM;IAOI,wBAAA;EPmqHV;;EO1qHM;IAOI,yBAAA;EPuqHV;;EO9qHM;IAOI,6BAAA;EP2qHV;;EOlrHM;IAOI,8BAAA;EP+qHV;;EOtrHM;IAOI,wBAAA;EPmrHV;;EO1rHM;IAOI,+BAAA;EPurHV;;EO9rHM;IAOI,wBAAA;EP2rHV;;EOlsHM;IAOI,yBAAA;EP+rHV;;EOtsHM;IAOI,8BAAA;EPmsHV;;EO1sHM;IAOI,iCAAA;EPusHV;;EO9sHM;IAOI,sCAAA;EP2sHV;;EOltHM;IAOI,yCAAA;EP+sHV;;EOttHM;IAOI,uBAAA;EPmtHV;;EO1tHM;IAOI,uBAAA;EPutHV;;EO9tHM;IAOI,yBAAA;EP2tHV;;EOluHM;IAOI,yBAAA;EP+tHV;;EOtuHM;IAOI,0BAAA;EPmuHV;;EO1uHM;IAOI,4BAAA;EPuuHV;;EO9uHM;IAOI,kCAAA;EP2uHV;;EOlvHM;IAOI,sCAAA;EP+uHV;;EOtvHM;IAOI,oCAAA;EPmvHV;;EO1vHM;IAOI,kCAAA;EPuvHV;;EO9vHM;IAOI,yCAAA;EP2vHV;;EOlwHM;IAOI,wCAAA;EP+vHV;;EOtwHM;IAOI,wCAAA;EPmwHV;;EO1wHM;IAOI,kCAAA;EPuwHV;;EO9wHM;IAOI,gCAAA;EP2wHV;;EOlxHM;IAOI,8BAAA;EP+wHV;;EOtxHM;IAOI,gCAAA;EPmxHV;;EO1xHM;IAOI,+BAAA;EPuxHV;;EO9xHM;IAOI,oCAAA;EP2xHV;;EOlyHM;IAOI,kCAAA;EP+xHV;;EOtyHM;IAOI,gCAAA;EPmyHV;;EO1yHM;IAOI,uCAAA;EPuyHV;;EO9yHM;IAOI,sCAAA;EP2yHV;;EOlzHM;IAOI,iCAAA;EP+yHV;;EOtzHM;IAOI,2BAAA;EPmzHV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;IAOI,+BAAA;EPqpIV;;EO5pIM;IAOI,8BAAA;EPypIV;;EOhqIM;IAOI,4BAAA;EP6pIV;;EOpqIM;IAOI,8BAAA;EPiqIV;;EOxqIM;IAOI,4BAAA;EPqqIV;;EO5qIM;IAOI,2BAAA;EPyqIV;;EOhrIM;IAOI,iCAAA;EP6qIV;;EOprIM;IAOI,gCAAA;EPirIV;;EOxrIM;IAOI,8BAAA;EPqrIV;;EO5rIM;IAOI,gCAAA;EPyrIV;;EOhsIM;IAOI,8BAAA;EP6rIV;;EOpsIM;IAOI,4BAAA;EPisIV;;EOxsIM;IAOI,kCAAA;EPqsIV;;EO5sIM;IAOI,iCAAA;EPysIV;;EOhtIM;IAOI,+BAAA;EP6sIV;;EOptIM;IAOI,iCAAA;EPitIV;;EOxtIM;IAOI,+BAAA;EPqtIV;;EO5tIM;IAOI,0BAAA;EPytIV;;EOhuIM;IAOI,gCAAA;EP6tIV;;EOpuIM;IAOI,+BAAA;EPiuIV;;EOxuIM;IAOI,6BAAA;EPquIV;;EO5uIM;IAOI,+BAAA;EPyuIV;;EOhvIM;IAOI,6BAAA;EP6uIV;AACF;AGrvII;EIAI;IAOI,0BAAA;EPkvIV;;EOzvIM;IAOI,gCAAA;EPsvIV;;EO7vIM;IAOI,yBAAA;EP0vIV;;EOjwIM;IAOI,wBAAA;EP8vIV;;EOrwIM;IAOI,yBAAA;EPkwIV;;EOzwIM;IAOI,6BAAA;EPswIV;;EO7wIM;IAOI,8BAAA;EP0wIV;;EOjxIM;IAOI,wBAAA;EP8wIV;;EOrxIM;IAOI,+BAAA;EPkxIV;;EOzxIM;IAOI,wBAAA;EPsxIV;;EO7xIM;IAOI,yBAAA;EP0xIV;;EOjyIM;IAOI,8BAAA;EP8xIV;;EOryIM;IAOI,iCAAA;EPkyIV;;EOzyIM;IAOI,sCAAA;EPsyIV;;EO7yIM;IAOI,yCAAA;EP0yIV;;EOjzIM;IAOI,uBAAA;EP8yIV;;EOrzIM;IAOI,uBAAA;EPkzIV;;EOzzIM;IAOI,yBAAA;EPszIV;;EO7zIM;IAOI,yBAAA;EP0zIV;;EOj0IM;IAOI,0BAAA;EP8zIV;;EOr0IM;IAOI,4BAAA;EPk0IV;;EOz0IM;IAOI,kCAAA;EPs0IV;;EO70IM;IAOI,sCAAA;EP00IV;;E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","file":"bootstrap-grid.css","sourcesContent":["/*!\n * Bootstrap Grid v5.1.1 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\n$include-column-box-sizing: true !default;\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/lists\";\n@import \"mixins/breakpoints\";\n@import \"mixins/container\";\n@import \"mixins/grid\";\n@import \"mixins/utilities\";\n\n@import \"vendor/rfs\";\n\n@import \"root\";\n\n@import \"containers\";\n@import \"grid\";\n\n@import \"utilities\";\n// Only use the utilities we need\n// stylelint-disable-next-line scss/dollar-variable-default\n$utilities: map-get-multiple(\n $utilities,\n (\n \"display\",\n \"order\",\n \"flex\",\n \"flex-direction\",\n \"flex-grow\",\n \"flex-shrink\",\n \"flex-wrap\",\n \"justify-content\",\n \"align-items\",\n \"align-content\",\n \"align-self\",\n \"margin\",\n \"margin-x\",\n \"margin-y\",\n \"margin-top\",\n \"margin-end\",\n \"margin-bottom\",\n \"margin-start\",\n \"negative-margin\",\n \"negative-margin-x\",\n \"negative-margin-y\",\n \"negative-margin-top\",\n \"negative-margin-end\",\n \"negative-margin-bottom\",\n \"negative-margin-start\",\n \"padding\",\n \"padding-x\",\n \"padding-y\",\n \"padding-top\",\n \"padding-end\",\n \"padding-bottom\",\n \"padding-start\",\n )\n);\n\n@import \"utilities/api\";\n",":root {\n // Note: Custom variable values only support SassScript inside `#{}`.\n\n // Colors\n //\n // Generate palettes for full colors, grays, and theme colors.\n\n @each $color, $value in $colors {\n --#{$variable-prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $grays {\n --#{$variable-prefix}gray-#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$variable-prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors-rgb {\n --#{$variable-prefix}#{$color}-rgb: #{$value};\n }\n\n --#{$variable-prefix}white-rgb: #{to-rgb($white)};\n --#{$variable-prefix}black-rgb: #{to-rgb($black)};\n --#{$variable-prefix}body-color-rgb: #{to-rgb($body-color)};\n --#{$variable-prefix}body-bg-rgb: #{to-rgb($body-bg)};\n\n // Fonts\n\n // Note: Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --#{$variable-prefix}font-sans-serif: #{inspect($font-family-sans-serif)};\n --#{$variable-prefix}font-monospace: #{inspect($font-family-monospace)};\n --#{$variable-prefix}gradient: #{$gradient};\n\n // Root and body\n // stylelint-disable custom-property-empty-line-before\n // scss-docs-start root-body-variables\n @if $font-size-root != null {\n --#{$variable-prefix}root-font-size: #{$font-size-root};\n }\n --#{$variable-prefix}body-font-family: #{$font-family-base};\n --#{$variable-prefix}body-font-size: #{$font-size-base};\n --#{$variable-prefix}body-font-weight: #{$font-weight-base};\n --#{$variable-prefix}body-line-height: #{$line-height-base};\n --#{$variable-prefix}body-color: #{$body-color};\n @if $body-text-align != null {\n --#{$variable-prefix}body-text-align: #{$body-text-align};\n }\n --#{$variable-prefix}body-bg: #{$body-bg};\n // scss-docs-end root-body-variables\n // stylelint-enable custom-property-empty-line-before\n}\n","/*!\n * Bootstrap Grid v5.1.1 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n:root {\n --bs-blue: #0d6efd;\n --bs-indigo: #6610f2;\n --bs-purple: #6f42c1;\n --bs-pink: #d63384;\n --bs-red: #dc3545;\n --bs-orange: #fd7e14;\n --bs-yellow: #ffc107;\n --bs-green: #198754;\n --bs-teal: #20c997;\n --bs-cyan: #0dcaf0;\n --bs-white: #fff;\n --bs-gray: #6c757d;\n --bs-gray-dark: #343a40;\n --bs-gray-100: #f8f9fa;\n --bs-gray-200: #e9ecef;\n --bs-gray-300: #dee2e6;\n --bs-gray-400: #ced4da;\n --bs-gray-500: #adb5bd;\n --bs-gray-600: #6c757d;\n --bs-gray-700: #495057;\n --bs-gray-800: #343a40;\n --bs-gray-900: #212529;\n --bs-primary: #0d6efd;\n --bs-secondary: #6c757d;\n --bs-success: #198754;\n --bs-info: #0dcaf0;\n --bs-warning: #ffc107;\n --bs-danger: #dc3545;\n --bs-light: #f8f9fa;\n --bs-dark: #212529;\n --bs-primary-rgb: 13, 110, 253;\n --bs-secondary-rgb: 108, 117, 125;\n --bs-success-rgb: 25, 135, 84;\n --bs-info-rgb: 13, 202, 240;\n --bs-warning-rgb: 255, 193, 7;\n --bs-danger-rgb: 220, 53, 69;\n --bs-light-rgb: 248, 249, 250;\n --bs-dark-rgb: 33, 37, 41;\n --bs-white-rgb: 255, 255, 255;\n --bs-black-rgb: 0, 0, 0;\n --bs-body-color-rgb: 33, 37, 41;\n --bs-body-bg-rgb: 255, 255, 255;\n --bs-font-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));\n --bs-body-font-family: var(--bs-font-sans-serif);\n --bs-body-font-size: 1rem;\n --bs-body-font-weight: 400;\n --bs-body-line-height: 1.5;\n --bs-body-color: #212529;\n --bs-body-bg: #fff;\n}\n\n.container,\n.container-fluid,\n.container-xxl,\n.container-xl,\n.container-lg,\n.container-md,\n.container-sm {\n width: 100%;\n padding-right: var(--bs-gutter-x, 0.75rem);\n padding-left: var(--bs-gutter-x, 0.75rem);\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container-sm, .container {\n max-width: 540px;\n }\n}\n@media (min-width: 768px) {\n .container-md, .container-sm, .container {\n max-width: 720px;\n }\n}\n@media (min-width: 992px) {\n .container-lg, .container-md, .container-sm, .container {\n max-width: 960px;\n }\n}\n@media (min-width: 1200px) {\n .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1140px;\n }\n}\n@media (min-width: 1400px) {\n .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1320px;\n }\n}\n.row {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(var(--bs-gutter-y) * -1);\n margin-right: calc(var(--bs-gutter-x) * -.5);\n margin-left: calc(var(--bs-gutter-x) * -.5);\n}\n.row > * {\n box-sizing: border-box;\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-right: calc(var(--bs-gutter-x) * .5);\n padding-left: calc(var(--bs-gutter-x) * .5);\n margin-top: var(--bs-gutter-y);\n}\n\n.col {\n flex: 1 0 0%;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.33333333%;\n}\n\n.offset-2 {\n margin-left: 16.66666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.33333333%;\n}\n\n.offset-5 {\n margin-left: 41.66666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.33333333%;\n}\n\n.offset-8 {\n margin-left: 66.66666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.33333333%;\n}\n\n.offset-11 {\n margin-left: 91.66666667%;\n}\n\n.g-0,\n.gx-0 {\n --bs-gutter-x: 0;\n}\n\n.g-0,\n.gy-0 {\n --bs-gutter-y: 0;\n}\n\n.g-1,\n.gx-1 {\n --bs-gutter-x: 0.25rem;\n}\n\n.g-1,\n.gy-1 {\n --bs-gutter-y: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n --bs-gutter-x: 0.5rem;\n}\n\n.g-2,\n.gy-2 {\n --bs-gutter-y: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n --bs-gutter-x: 1rem;\n}\n\n.g-3,\n.gy-3 {\n --bs-gutter-y: 1rem;\n}\n\n.g-4,\n.gx-4 {\n --bs-gutter-x: 1.5rem;\n}\n\n.g-4,\n.gy-4 {\n --bs-gutter-y: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n --bs-gutter-x: 3rem;\n}\n\n.g-5,\n.gy-5 {\n --bs-gutter-y: 3rem;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0%;\n }\n\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-sm-0 {\n margin-left: 0;\n }\n\n .offset-sm-1 {\n margin-left: 8.33333333%;\n }\n\n .offset-sm-2 {\n margin-left: 16.66666667%;\n }\n\n .offset-sm-3 {\n margin-left: 25%;\n }\n\n .offset-sm-4 {\n margin-left: 33.33333333%;\n }\n\n .offset-sm-5 {\n margin-left: 41.66666667%;\n }\n\n .offset-sm-6 {\n margin-left: 50%;\n }\n\n .offset-sm-7 {\n margin-left: 58.33333333%;\n }\n\n .offset-sm-8 {\n margin-left: 66.66666667%;\n }\n\n .offset-sm-9 {\n margin-left: 75%;\n }\n\n .offset-sm-10 {\n margin-left: 83.33333333%;\n }\n\n .offset-sm-11 {\n margin-left: 91.66666667%;\n }\n\n .g-sm-0,\n.gx-sm-0 {\n --bs-gutter-x: 0;\n }\n\n .g-sm-0,\n.gy-sm-0 {\n --bs-gutter-y: 0;\n }\n\n .g-sm-1,\n.gx-sm-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-sm-1,\n.gy-sm-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-sm-2,\n.gx-sm-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-sm-2,\n.gy-sm-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-sm-3,\n.gx-sm-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-sm-3,\n.gy-sm-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-sm-4,\n.gx-sm-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-sm-4,\n.gy-sm-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-sm-5,\n.gx-sm-5 {\n --bs-gutter-x: 3rem;\n }\n\n .g-sm-5,\n.gy-sm-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0%;\n }\n\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-md-0 {\n margin-left: 0;\n }\n\n .offset-md-1 {\n margin-left: 8.33333333%;\n }\n\n .offset-md-2 {\n margin-left: 16.66666667%;\n }\n\n .offset-md-3 {\n margin-left: 25%;\n }\n\n .offset-md-4 {\n margin-left: 33.33333333%;\n }\n\n .offset-md-5 {\n margin-left: 41.66666667%;\n }\n\n .offset-md-6 {\n margin-left: 50%;\n }\n\n .offset-md-7 {\n margin-left: 58.33333333%;\n }\n\n .offset-md-8 {\n margin-left: 66.66666667%;\n }\n\n .offset-md-9 {\n margin-left: 75%;\n }\n\n .offset-md-10 {\n margin-left: 83.33333333%;\n }\n\n .offset-md-11 {\n margin-left: 91.66666667%;\n }\n\n .g-md-0,\n.gx-md-0 {\n --bs-gutter-x: 0;\n }\n\n .g-md-0,\n.gy-md-0 {\n --bs-gutter-y: 0;\n }\n\n .g-md-1,\n.gx-md-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-md-1,\n.gy-md-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-md-2,\n.gx-md-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-md-2,\n.gy-md-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-md-3,\n.gx-md-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-md-3,\n.gy-md-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-md-4,\n.gx-md-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-md-4,\n.gy-md-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-md-5,\n.gx-md-5 {\n --bs-gutter-x: 3rem;\n }\n\n .g-md-5,\n.gy-md-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0%;\n }\n\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-lg-0 {\n margin-left: 0;\n }\n\n .offset-lg-1 {\n margin-left: 8.33333333%;\n }\n\n .offset-lg-2 {\n margin-left: 16.66666667%;\n }\n\n .offset-lg-3 {\n margin-left: 25%;\n }\n\n .offset-lg-4 {\n margin-left: 33.33333333%;\n }\n\n .offset-lg-5 {\n margin-left: 41.66666667%;\n }\n\n .offset-lg-6 {\n margin-left: 50%;\n }\n\n .offset-lg-7 {\n margin-left: 58.33333333%;\n }\n\n .offset-lg-8 {\n margin-left: 66.66666667%;\n }\n\n .offset-lg-9 {\n margin-left: 75%;\n }\n\n .offset-lg-10 {\n margin-left: 83.33333333%;\n }\n\n .offset-lg-11 {\n margin-left: 91.66666667%;\n }\n\n .g-lg-0,\n.gx-lg-0 {\n --bs-gutter-x: 0;\n }\n\n .g-lg-0,\n.gy-lg-0 {\n --bs-gutter-y: 0;\n }\n\n .g-lg-1,\n.gx-lg-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-lg-1,\n.gy-lg-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-lg-2,\n.gx-lg-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-lg-2,\n.gy-lg-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-lg-3,\n.gx-lg-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-lg-3,\n.gy-lg-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-lg-4,\n.gx-lg-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-lg-4,\n.gy-lg-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-lg-5,\n.gx-lg-5 {\n --bs-gutter-x: 3rem;\n }\n\n .g-lg-5,\n.gy-lg-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0%;\n }\n\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-xl-0 {\n margin-left: 0;\n }\n\n .offset-xl-1 {\n margin-left: 8.33333333%;\n }\n\n .offset-xl-2 {\n margin-left: 16.66666667%;\n }\n\n .offset-xl-3 {\n margin-left: 25%;\n }\n\n .offset-xl-4 {\n margin-left: 33.33333333%;\n }\n\n .offset-xl-5 {\n margin-left: 41.66666667%;\n }\n\n .offset-xl-6 {\n margin-left: 50%;\n }\n\n .offset-xl-7 {\n margin-left: 58.33333333%;\n }\n\n .offset-xl-8 {\n margin-left: 66.66666667%;\n }\n\n .offset-xl-9 {\n margin-left: 75%;\n }\n\n .offset-xl-10 {\n margin-left: 83.33333333%;\n }\n\n .offset-xl-11 {\n margin-left: 91.66666667%;\n }\n\n .g-xl-0,\n.gx-xl-0 {\n --bs-gutter-x: 0;\n }\n\n .g-xl-0,\n.gy-xl-0 {\n --bs-gutter-y: 0;\n }\n\n .g-xl-1,\n.gx-xl-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-xl-1,\n.gy-xl-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-xl-2,\n.gx-xl-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-xl-2,\n.gy-xl-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-xl-3,\n.gx-xl-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-xl-3,\n.gy-xl-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-xl-4,\n.gx-xl-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-xl-4,\n.gy-xl-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-xl-5,\n.gx-xl-5 {\n --bs-gutter-x: 3rem;\n }\n\n .g-xl-5,\n.gy-xl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1400px) {\n .col-xxl {\n flex: 1 0 0%;\n }\n\n .row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-xxl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n\n .col-xxl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n\n .col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-xxl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n\n .col-xxl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n\n .col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-xxl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n\n .col-xxl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n\n .col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-xxl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n\n .col-xxl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n\n .col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-xxl-0 {\n margin-left: 0;\n }\n\n .offset-xxl-1 {\n margin-left: 8.33333333%;\n }\n\n .offset-xxl-2 {\n margin-left: 16.66666667%;\n }\n\n .offset-xxl-3 {\n margin-left: 25%;\n }\n\n .offset-xxl-4 {\n margin-left: 33.33333333%;\n }\n\n .offset-xxl-5 {\n margin-left: 41.66666667%;\n }\n\n .offset-xxl-6 {\n margin-left: 50%;\n }\n\n .offset-xxl-7 {\n margin-left: 58.33333333%;\n }\n\n .offset-xxl-8 {\n margin-left: 66.66666667%;\n }\n\n .offset-xxl-9 {\n margin-left: 75%;\n }\n\n .offset-xxl-10 {\n margin-left: 83.33333333%;\n }\n\n .offset-xxl-11 {\n margin-left: 91.66666667%;\n }\n\n .g-xxl-0,\n.gx-xxl-0 {\n --bs-gutter-x: 0;\n }\n\n .g-xxl-0,\n.gy-xxl-0 {\n --bs-gutter-y: 0;\n }\n\n .g-xxl-1,\n.gx-xxl-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-xxl-1,\n.gy-xxl-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-xxl-2,\n.gx-xxl-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-xxl-2,\n.gy-xxl-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-xxl-3,\n.gx-xxl-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-xxl-3,\n.gy-xxl-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-xxl-4,\n.gx-xxl-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-xxl-4,\n.gy-xxl-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-xxl-5,\n.gx-xxl-5 {\n --bs-gutter-x: 3rem;\n }\n\n .g-xxl-5,\n.gy-xxl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-grid {\n display: grid !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.me-0 {\n margin-right: 0 !important;\n}\n\n.me-1 {\n margin-right: 0.25rem !important;\n}\n\n.me-2 {\n margin-right: 0.5rem !important;\n}\n\n.me-3 {\n margin-right: 1rem !important;\n}\n\n.me-4 {\n margin-right: 1.5rem !important;\n}\n\n.me-5 {\n margin-right: 3rem !important;\n}\n\n.me-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ms-0 {\n margin-left: 0 !important;\n}\n\n.ms-1 {\n margin-left: 0.25rem !important;\n}\n\n.ms-2 {\n margin-left: 0.5rem !important;\n}\n\n.ms-3 {\n margin-left: 1rem !important;\n}\n\n.ms-4 {\n margin-left: 1.5rem !important;\n}\n\n.ms-5 {\n margin-left: 3rem !important;\n}\n\n.ms-auto {\n margin-left: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pe-0 {\n padding-right: 0 !important;\n}\n\n.pe-1 {\n padding-right: 0.25rem !important;\n}\n\n.pe-2 {\n padding-right: 0.5rem !important;\n}\n\n.pe-3 {\n padding-right: 1rem !important;\n}\n\n.pe-4 {\n padding-right: 1.5rem !important;\n}\n\n.pe-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.ps-0 {\n padding-left: 0 !important;\n}\n\n.ps-1 {\n padding-left: 0.25rem !important;\n}\n\n.ps-2 {\n padding-left: 0.5rem !important;\n}\n\n.ps-3 {\n padding-left: 1rem !important;\n}\n\n.ps-4 {\n padding-left: 1.5rem !important;\n}\n\n.ps-5 {\n padding-left: 3rem !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-inline {\n display: inline !important;\n }\n\n .d-sm-inline-block {\n display: inline-block !important;\n }\n\n .d-sm-block {\n display: block !important;\n }\n\n .d-sm-grid {\n display: grid !important;\n }\n\n .d-sm-table {\n display: table !important;\n }\n\n .d-sm-table-row {\n display: table-row !important;\n }\n\n .d-sm-table-cell {\n display: table-cell !important;\n }\n\n .d-sm-flex {\n display: flex !important;\n }\n\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n\n .d-sm-none {\n display: none !important;\n }\n\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-sm-row {\n flex-direction: row !important;\n }\n\n .flex-sm-column {\n flex-direction: column !important;\n }\n\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-sm-center {\n justify-content: center !important;\n }\n\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n\n .align-items-sm-center {\n align-items: center !important;\n }\n\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n\n .align-content-sm-center {\n align-content: center !important;\n }\n\n .align-content-sm-between {\n align-content: space-between !important;\n }\n\n .align-content-sm-around {\n align-content: space-around !important;\n }\n\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n\n .align-self-sm-auto {\n align-self: auto !important;\n }\n\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n\n .align-self-sm-center {\n align-self: center !important;\n }\n\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n\n .order-sm-first {\n order: -1 !important;\n }\n\n .order-sm-0 {\n order: 0 !important;\n }\n\n .order-sm-1 {\n order: 1 !important;\n }\n\n .order-sm-2 {\n order: 2 !important;\n }\n\n .order-sm-3 {\n order: 3 !important;\n }\n\n .order-sm-4 {\n order: 4 !important;\n }\n\n .order-sm-5 {\n order: 5 !important;\n }\n\n .order-sm-last {\n order: 6 !important;\n }\n\n .m-sm-0 {\n margin: 0 !important;\n }\n\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n\n .m-sm-3 {\n margin: 1rem !important;\n }\n\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n\n .m-sm-5 {\n margin: 3rem !important;\n }\n\n .m-sm-auto {\n margin: auto !important;\n }\n\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n\n .mt-sm-auto {\n margin-top: auto !important;\n }\n\n .me-sm-0 {\n margin-right: 0 !important;\n }\n\n .me-sm-1 {\n margin-right: 0.25rem !important;\n }\n\n .me-sm-2 {\n margin-right: 0.5rem !important;\n }\n\n .me-sm-3 {\n margin-right: 1rem !important;\n }\n\n .me-sm-4 {\n margin-right: 1.5rem !important;\n }\n\n .me-sm-5 {\n margin-right: 3rem !important;\n }\n\n .me-sm-auto {\n margin-right: auto !important;\n }\n\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n\n .ms-sm-0 {\n margin-left: 0 !important;\n }\n\n .ms-sm-1 {\n margin-left: 0.25rem !important;\n }\n\n .ms-sm-2 {\n margin-left: 0.5rem !important;\n }\n\n .ms-sm-3 {\n margin-left: 1rem !important;\n }\n\n .ms-sm-4 {\n margin-left: 1.5rem !important;\n }\n\n .ms-sm-5 {\n margin-left: 3rem !important;\n }\n\n .ms-sm-auto {\n margin-left: auto !important;\n }\n\n .p-sm-0 {\n padding: 0 !important;\n }\n\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n\n .p-sm-3 {\n padding: 1rem !important;\n }\n\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n\n .p-sm-5 {\n padding: 3rem !important;\n }\n\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n\n .pe-sm-0 {\n padding-right: 0 !important;\n }\n\n .pe-sm-1 {\n padding-right: 0.25rem !important;\n }\n\n .pe-sm-2 {\n padding-right: 0.5rem !important;\n }\n\n .pe-sm-3 {\n padding-right: 1rem !important;\n }\n\n .pe-sm-4 {\n padding-right: 1.5rem !important;\n }\n\n .pe-sm-5 {\n padding-right: 3rem !important;\n }\n\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n\n .ps-sm-0 {\n padding-left: 0 !important;\n }\n\n .ps-sm-1 {\n padding-left: 0.25rem !important;\n }\n\n .ps-sm-2 {\n padding-left: 0.5rem !important;\n }\n\n .ps-sm-3 {\n padding-left: 1rem !important;\n }\n\n .ps-sm-4 {\n padding-left: 1.5rem !important;\n }\n\n .ps-sm-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 768px) {\n .d-md-inline {\n display: inline !important;\n }\n\n .d-md-inline-block {\n display: inline-block !important;\n }\n\n .d-md-block {\n display: block !important;\n }\n\n .d-md-grid {\n display: grid !important;\n }\n\n .d-md-table {\n display: table !important;\n }\n\n .d-md-table-row {\n display: table-row !important;\n }\n\n .d-md-table-cell {\n display: table-cell !important;\n }\n\n .d-md-flex {\n display: flex !important;\n }\n\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n\n .d-md-none {\n display: none !important;\n }\n\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-md-row {\n flex-direction: row !important;\n }\n\n .flex-md-column {\n flex-direction: column !important;\n }\n\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-md-center {\n justify-content: center !important;\n }\n\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-md-start {\n align-items: flex-start !important;\n }\n\n .align-items-md-end {\n align-items: flex-end !important;\n }\n\n .align-items-md-center {\n align-items: center !important;\n }\n\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n\n .align-content-md-start {\n align-content: flex-start !important;\n }\n\n .align-content-md-end {\n align-content: flex-end !important;\n }\n\n .align-content-md-center {\n align-content: center !important;\n }\n\n .align-content-md-between {\n align-content: space-between !important;\n }\n\n .align-content-md-around {\n align-content: space-around !important;\n }\n\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n\n .align-self-md-auto {\n align-self: auto !important;\n }\n\n .align-self-md-start {\n align-self: flex-start !important;\n }\n\n .align-self-md-end {\n align-self: flex-end !important;\n }\n\n .align-self-md-center {\n align-self: center !important;\n }\n\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n\n .order-md-first {\n order: -1 !important;\n }\n\n .order-md-0 {\n order: 0 !important;\n }\n\n .order-md-1 {\n order: 1 !important;\n }\n\n .order-md-2 {\n order: 2 !important;\n }\n\n .order-md-3 {\n order: 3 !important;\n }\n\n .order-md-4 {\n order: 4 !important;\n }\n\n .order-md-5 {\n order: 5 !important;\n }\n\n .order-md-last {\n order: 6 !important;\n }\n\n .m-md-0 {\n margin: 0 !important;\n }\n\n .m-md-1 {\n margin: 0.25rem !important;\n }\n\n .m-md-2 {\n margin: 0.5rem !important;\n }\n\n .m-md-3 {\n margin: 1rem !important;\n }\n\n .m-md-4 {\n margin: 1.5rem !important;\n }\n\n .m-md-5 {\n margin: 3rem !important;\n }\n\n .m-md-auto {\n margin: auto !important;\n }\n\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-md-0 {\n margin-top: 0 !important;\n }\n\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n\n .mt-md-auto {\n margin-top: auto !important;\n }\n\n .me-md-0 {\n margin-right: 0 !important;\n }\n\n .me-md-1 {\n margin-right: 0.25rem !important;\n }\n\n .me-md-2 {\n margin-right: 0.5rem !important;\n }\n\n .me-md-3 {\n margin-right: 1rem !important;\n }\n\n .me-md-4 {\n margin-right: 1.5rem !important;\n }\n\n .me-md-5 {\n margin-right: 3rem !important;\n }\n\n .me-md-auto {\n margin-right: auto !important;\n }\n\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n\n .ms-md-0 {\n margin-left: 0 !important;\n }\n\n .ms-md-1 {\n margin-left: 0.25rem !important;\n }\n\n .ms-md-2 {\n margin-left: 0.5rem !important;\n }\n\n .ms-md-3 {\n margin-left: 1rem !important;\n }\n\n .ms-md-4 {\n margin-left: 1.5rem !important;\n }\n\n .ms-md-5 {\n margin-left: 3rem !important;\n }\n\n .ms-md-auto {\n margin-left: auto !important;\n }\n\n .p-md-0 {\n padding: 0 !important;\n }\n\n .p-md-1 {\n padding: 0.25rem !important;\n }\n\n .p-md-2 {\n padding: 0.5rem !important;\n }\n\n .p-md-3 {\n padding: 1rem !important;\n }\n\n .p-md-4 {\n padding: 1.5rem !important;\n }\n\n .p-md-5 {\n padding: 3rem !important;\n }\n\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-md-0 {\n padding-top: 0 !important;\n }\n\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n\n .pe-md-0 {\n padding-right: 0 !important;\n }\n\n .pe-md-1 {\n padding-right: 0.25rem !important;\n }\n\n .pe-md-2 {\n padding-right: 0.5rem !important;\n }\n\n .pe-md-3 {\n padding-right: 1rem !important;\n }\n\n .pe-md-4 {\n padding-right: 1.5rem !important;\n }\n\n .pe-md-5 {\n padding-right: 3rem !important;\n }\n\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n\n .ps-md-0 {\n padding-left: 0 !important;\n }\n\n .ps-md-1 {\n padding-left: 0.25rem !important;\n }\n\n .ps-md-2 {\n padding-left: 0.5rem !important;\n }\n\n .ps-md-3 {\n padding-left: 1rem !important;\n }\n\n .ps-md-4 {\n padding-left: 1.5rem !important;\n }\n\n .ps-md-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 992px) {\n .d-lg-inline {\n display: inline !important;\n }\n\n .d-lg-inline-block {\n display: inline-block !important;\n }\n\n .d-lg-block {\n display: block !important;\n }\n\n .d-lg-grid {\n display: grid !important;\n }\n\n .d-lg-table {\n display: table !important;\n }\n\n .d-lg-table-row {\n display: table-row !important;\n }\n\n .d-lg-table-cell {\n display: table-cell !important;\n }\n\n .d-lg-flex {\n display: flex !important;\n }\n\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n\n .d-lg-none {\n display: none !important;\n }\n\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-lg-row {\n flex-direction: row !important;\n }\n\n .flex-lg-column {\n flex-direction: column !important;\n }\n\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-lg-center {\n justify-content: center !important;\n }\n\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n\n .align-items-lg-center {\n align-items: center !important;\n }\n\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n\n .align-content-lg-center {\n align-content: center !important;\n }\n\n .align-content-lg-between {\n align-content: space-between !important;\n }\n\n .align-content-lg-around {\n align-content: space-around !important;\n }\n\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n\n .align-self-lg-auto {\n align-self: auto !important;\n }\n\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n\n .align-self-lg-center {\n align-self: center !important;\n }\n\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n\n .order-lg-first {\n order: -1 !important;\n }\n\n .order-lg-0 {\n order: 0 !important;\n }\n\n .order-lg-1 {\n order: 1 !important;\n }\n\n .order-lg-2 {\n order: 2 !important;\n }\n\n .order-lg-3 {\n order: 3 !important;\n }\n\n .order-lg-4 {\n order: 4 !important;\n }\n\n .order-lg-5 {\n order: 5 !important;\n }\n\n .order-lg-last {\n order: 6 !important;\n }\n\n .m-lg-0 {\n margin: 0 !important;\n }\n\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n\n .m-lg-3 {\n margin: 1rem !important;\n }\n\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n\n .m-lg-5 {\n margin: 3rem !important;\n }\n\n .m-lg-auto {\n margin: auto !important;\n }\n\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n\n .mt-lg-auto {\n margin-top: auto !important;\n }\n\n .me-lg-0 {\n margin-right: 0 !important;\n }\n\n .me-lg-1 {\n margin-right: 0.25rem !important;\n }\n\n .me-lg-2 {\n margin-right: 0.5rem !important;\n }\n\n .me-lg-3 {\n margin-right: 1rem !important;\n }\n\n .me-lg-4 {\n margin-right: 1.5rem !important;\n }\n\n .me-lg-5 {\n margin-right: 3rem !important;\n }\n\n .me-lg-auto {\n margin-right: auto !important;\n }\n\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n\n .ms-lg-0 {\n margin-left: 0 !important;\n }\n\n .ms-lg-1 {\n margin-left: 0.25rem !important;\n }\n\n .ms-lg-2 {\n margin-left: 0.5rem !important;\n }\n\n .ms-lg-3 {\n margin-left: 1rem !important;\n }\n\n .ms-lg-4 {\n margin-left: 1.5rem !important;\n }\n\n .ms-lg-5 {\n margin-left: 3rem !important;\n }\n\n .ms-lg-auto {\n margin-left: auto !important;\n }\n\n .p-lg-0 {\n padding: 0 !important;\n }\n\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n\n .p-lg-3 {\n padding: 1rem !important;\n }\n\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n\n .p-lg-5 {\n padding: 3rem !important;\n }\n\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n\n .pe-lg-0 {\n padding-right: 0 !important;\n }\n\n .pe-lg-1 {\n padding-right: 0.25rem !important;\n }\n\n .pe-lg-2 {\n padding-right: 0.5rem !important;\n }\n\n .pe-lg-3 {\n padding-right: 1rem !important;\n }\n\n .pe-lg-4 {\n padding-right: 1.5rem !important;\n }\n\n .pe-lg-5 {\n padding-right: 3rem !important;\n }\n\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n\n .ps-lg-0 {\n padding-left: 0 !important;\n }\n\n .ps-lg-1 {\n padding-left: 0.25rem !important;\n }\n\n .ps-lg-2 {\n padding-left: 0.5rem !important;\n }\n\n .ps-lg-3 {\n padding-left: 1rem !important;\n }\n\n .ps-lg-4 {\n padding-left: 1.5rem !important;\n }\n\n .ps-lg-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 1200px) {\n .d-xl-inline {\n display: inline !important;\n }\n\n .d-xl-inline-block {\n display: inline-block !important;\n }\n\n .d-xl-block {\n display: block !important;\n }\n\n .d-xl-grid {\n display: grid !important;\n }\n\n .d-xl-table {\n display: table !important;\n }\n\n .d-xl-table-row {\n display: table-row !important;\n }\n\n .d-xl-table-cell {\n display: table-cell !important;\n }\n\n .d-xl-flex {\n display: flex !important;\n }\n\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n\n .d-xl-none {\n display: none !important;\n }\n\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-xl-row {\n flex-direction: row !important;\n }\n\n .flex-xl-column {\n flex-direction: column !important;\n }\n\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-xl-center {\n justify-content: center !important;\n }\n\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n\n .align-items-xl-center {\n align-items: center !important;\n }\n\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n\n .align-content-xl-center {\n align-content: center !important;\n }\n\n .align-content-xl-between {\n align-content: space-between !important;\n }\n\n .align-content-xl-around {\n align-content: space-around !important;\n }\n\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n\n .align-self-xl-auto {\n align-self: auto !important;\n }\n\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n\n .align-self-xl-center {\n align-self: center !important;\n }\n\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n\n .order-xl-first {\n order: -1 !important;\n }\n\n .order-xl-0 {\n order: 0 !important;\n }\n\n .order-xl-1 {\n order: 1 !important;\n }\n\n .order-xl-2 {\n order: 2 !important;\n }\n\n .order-xl-3 {\n order: 3 !important;\n }\n\n .order-xl-4 {\n order: 4 !important;\n }\n\n .order-xl-5 {\n order: 5 !important;\n }\n\n .order-xl-last {\n order: 6 !important;\n }\n\n .m-xl-0 {\n margin: 0 !important;\n }\n\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n\n .m-xl-3 {\n margin: 1rem !important;\n }\n\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n\n .m-xl-5 {\n margin: 3rem !important;\n }\n\n .m-xl-auto {\n margin: auto !important;\n }\n\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n\n .mt-xl-auto {\n margin-top: auto !important;\n }\n\n .me-xl-0 {\n margin-right: 0 !important;\n }\n\n .me-xl-1 {\n margin-right: 0.25rem !important;\n }\n\n .me-xl-2 {\n margin-right: 0.5rem !important;\n }\n\n .me-xl-3 {\n margin-right: 1rem !important;\n }\n\n .me-xl-4 {\n margin-right: 1.5rem !important;\n }\n\n .me-xl-5 {\n margin-right: 3rem !important;\n }\n\n .me-xl-auto {\n margin-right: auto !important;\n }\n\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n\n .ms-xl-0 {\n margin-left: 0 !important;\n }\n\n .ms-xl-1 {\n margin-left: 0.25rem !important;\n }\n\n .ms-xl-2 {\n margin-left: 0.5rem !important;\n }\n\n .ms-xl-3 {\n margin-left: 1rem !important;\n }\n\n .ms-xl-4 {\n margin-left: 1.5rem !important;\n }\n\n .ms-xl-5 {\n margin-left: 3rem !important;\n }\n\n .ms-xl-auto {\n margin-left: auto !important;\n }\n\n .p-xl-0 {\n padding: 0 !important;\n }\n\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n\n .p-xl-3 {\n padding: 1rem !important;\n }\n\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n\n .p-xl-5 {\n padding: 3rem !important;\n }\n\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n\n .pe-xl-0 {\n padding-right: 0 !important;\n }\n\n .pe-xl-1 {\n padding-right: 0.25rem !important;\n }\n\n .pe-xl-2 {\n padding-right: 0.5rem !important;\n }\n\n .pe-xl-3 {\n padding-right: 1rem !important;\n }\n\n .pe-xl-4 {\n padding-right: 1.5rem !important;\n }\n\n .pe-xl-5 {\n padding-right: 3rem !important;\n }\n\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n\n .ps-xl-0 {\n padding-left: 0 !important;\n }\n\n .ps-xl-1 {\n padding-left: 0.25rem !important;\n }\n\n .ps-xl-2 {\n padding-left: 0.5rem !important;\n }\n\n .ps-xl-3 {\n padding-left: 1rem !important;\n }\n\n .ps-xl-4 {\n padding-left: 1.5rem !important;\n }\n\n .ps-xl-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 1400px) {\n .d-xxl-inline {\n display: inline !important;\n }\n\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n\n .d-xxl-block {\n display: block !important;\n }\n\n .d-xxl-grid {\n display: grid !important;\n }\n\n .d-xxl-table {\n display: table !important;\n }\n\n .d-xxl-table-row {\n display: table-row !important;\n }\n\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n\n .d-xxl-flex {\n display: flex !important;\n }\n\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n\n .d-xxl-none {\n display: none !important;\n }\n\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-xxl-row {\n flex-direction: row !important;\n }\n\n .flex-xxl-column {\n flex-direction: column !important;\n }\n\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n\n .align-items-xxl-center {\n align-items: center !important;\n }\n\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n\n .align-content-xxl-center {\n align-content: center !important;\n }\n\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n\n .align-self-xxl-center {\n align-self: center !important;\n }\n\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n\n .order-xxl-first {\n order: -1 !important;\n }\n\n .order-xxl-0 {\n order: 0 !important;\n }\n\n .order-xxl-1 {\n order: 1 !important;\n }\n\n .order-xxl-2 {\n order: 2 !important;\n }\n\n .order-xxl-3 {\n order: 3 !important;\n }\n\n .order-xxl-4 {\n order: 4 !important;\n }\n\n .order-xxl-5 {\n order: 5 !important;\n }\n\n .order-xxl-last {\n order: 6 !important;\n }\n\n .m-xxl-0 {\n margin: 0 !important;\n }\n\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n\n .m-xxl-3 {\n margin: 1rem !important;\n }\n\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n\n .m-xxl-5 {\n margin: 3rem !important;\n }\n\n .m-xxl-auto {\n margin: auto !important;\n }\n\n .mx-xxl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-xxl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-xxl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-xxl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-xxl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-xxl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-xxl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n\n .me-xxl-0 {\n margin-right: 0 !important;\n }\n\n .me-xxl-1 {\n margin-right: 0.25rem !important;\n }\n\n .me-xxl-2 {\n margin-right: 0.5rem !important;\n }\n\n .me-xxl-3 {\n margin-right: 1rem !important;\n }\n\n .me-xxl-4 {\n margin-right: 1.5rem !important;\n }\n\n .me-xxl-5 {\n margin-right: 3rem !important;\n }\n\n .me-xxl-auto {\n margin-right: auto !important;\n }\n\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n\n .ms-xxl-0 {\n margin-left: 0 !important;\n }\n\n .ms-xxl-1 {\n margin-left: 0.25rem !important;\n }\n\n .ms-xxl-2 {\n margin-left: 0.5rem !important;\n }\n\n .ms-xxl-3 {\n margin-left: 1rem !important;\n }\n\n .ms-xxl-4 {\n margin-left: 1.5rem !important;\n }\n\n .ms-xxl-5 {\n margin-left: 3rem !important;\n }\n\n .ms-xxl-auto {\n margin-left: auto !important;\n }\n\n .p-xxl-0 {\n padding: 0 !important;\n }\n\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n\n .p-xxl-3 {\n padding: 1rem !important;\n }\n\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n\n .p-xxl-5 {\n padding: 3rem !important;\n }\n\n .px-xxl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-xxl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-xxl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-xxl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-xxl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-xxl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n\n .pe-xxl-0 {\n padding-right: 0 !important;\n }\n\n .pe-xxl-1 {\n padding-right: 0.25rem !important;\n }\n\n .pe-xxl-2 {\n padding-right: 0.5rem !important;\n }\n\n .pe-xxl-3 {\n padding-right: 1rem !important;\n }\n\n .pe-xxl-4 {\n padding-right: 1.5rem !important;\n }\n\n .pe-xxl-5 {\n padding-right: 3rem !important;\n }\n\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n\n .ps-xxl-0 {\n padding-left: 0 !important;\n }\n\n .ps-xxl-1 {\n padding-left: 0.25rem !important;\n }\n\n .ps-xxl-2 {\n padding-left: 0.5rem !important;\n }\n\n .ps-xxl-3 {\n padding-left: 1rem !important;\n }\n\n .ps-xxl-4 {\n padding-left: 1.5rem !important;\n }\n\n .ps-xxl-5 {\n padding-left: 3rem !important;\n }\n}\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n\n .d-print-inline-block {\n display: inline-block !important;\n }\n\n .d-print-block {\n display: block !important;\n }\n\n .d-print-grid {\n display: grid !important;\n }\n\n .d-print-table {\n display: table !important;\n }\n\n .d-print-table-row {\n display: table-row !important;\n }\n\n .d-print-table-cell {\n display: table-cell !important;\n }\n\n .d-print-flex {\n display: flex !important;\n }\n\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n\n .d-print-none {\n display: none !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n","// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n width: 100%;\n padding-right: var(--#{$variable-prefix}gutter-x, #{$gutter});\n padding-left: var(--#{$variable-prefix}gutter-x, #{$gutter});\n margin-right: auto;\n margin-left: auto;\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n// scss-docs-start gray-color-variables\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n// scss-docs-end gray-color-variables\n\n// fusv-disable\n// scss-docs-start gray-colors-map\n$grays: (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n) !default;\n// scss-docs-end gray-colors-map\n// fusv-enable\n\n// scss-docs-start color-variables\n$blue: #0d6efd !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #d63384 !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #198754 !default;\n$teal: #20c997 !default;\n$cyan: #0dcaf0 !default;\n// scss-docs-end color-variables\n\n// scss-docs-start colors-map\n$colors: (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n) !default;\n// scss-docs-end colors-map\n\n// scss-docs-start theme-color-variables\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-900 !default;\n// scss-docs-end theme-color-variables\n\n// scss-docs-start theme-colors-map\n$theme-colors: (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n) !default;\n// scss-docs-end theme-colors-map\n\n// scss-docs-start theme-colors-rgb\n$theme-colors-rgb: map-loop($theme-colors, to-rgb, \"$value\") !default;\n// scss-docs-end theme-colors-rgb\n\n// The contrast ratio to reach against white, to determine if color changes from \"light\" to \"dark\". Acceptable values for WCAG 2.0 are 3, 4.5 and 7.\n// See https://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast\n$min-contrast-ratio: 4.5 !default;\n\n// Customize the light and dark text colors for use in our color contrast function.\n$color-contrast-dark: $black !default;\n$color-contrast-light: $white !default;\n\n// fusv-disable\n$blue-100: tint-color($blue, 80%) !default;\n$blue-200: tint-color($blue, 60%) !default;\n$blue-300: tint-color($blue, 40%) !default;\n$blue-400: tint-color($blue, 20%) !default;\n$blue-500: $blue !default;\n$blue-600: shade-color($blue, 20%) !default;\n$blue-700: shade-color($blue, 40%) !default;\n$blue-800: shade-color($blue, 60%) !default;\n$blue-900: shade-color($blue, 80%) !default;\n\n$indigo-100: tint-color($indigo, 80%) !default;\n$indigo-200: tint-color($indigo, 60%) !default;\n$indigo-300: tint-color($indigo, 40%) !default;\n$indigo-400: tint-color($indigo, 20%) !default;\n$indigo-500: $indigo !default;\n$indigo-600: shade-color($indigo, 20%) !default;\n$indigo-700: shade-color($indigo, 40%) !default;\n$indigo-800: shade-color($indigo, 60%) !default;\n$indigo-900: shade-color($indigo, 80%) !default;\n\n$purple-100: tint-color($purple, 80%) !default;\n$purple-200: tint-color($purple, 60%) !default;\n$purple-300: tint-color($purple, 40%) !default;\n$purple-400: tint-color($purple, 20%) !default;\n$purple-500: $purple !default;\n$purple-600: shade-color($purple, 20%) !default;\n$purple-700: shade-color($purple, 40%) !default;\n$purple-800: shade-color($purple, 60%) !default;\n$purple-900: shade-color($purple, 80%) !default;\n\n$pink-100: tint-color($pink, 80%) !default;\n$pink-200: tint-color($pink, 60%) !default;\n$pink-300: tint-color($pink, 40%) !default;\n$pink-400: tint-color($pink, 20%) !default;\n$pink-500: $pink !default;\n$pink-600: shade-color($pink, 20%) !default;\n$pink-700: shade-color($pink, 40%) !default;\n$pink-800: shade-color($pink, 60%) !default;\n$pink-900: shade-color($pink, 80%) !default;\n\n$red-100: tint-color($red, 80%) !default;\n$red-200: tint-color($red, 60%) !default;\n$red-300: tint-color($red, 40%) !default;\n$red-400: tint-color($red, 20%) !default;\n$red-500: $red !default;\n$red-600: shade-color($red, 20%) !default;\n$red-700: shade-color($red, 40%) !default;\n$red-800: shade-color($red, 60%) !default;\n$red-900: shade-color($red, 80%) !default;\n\n$orange-100: tint-color($orange, 80%) !default;\n$orange-200: tint-color($orange, 60%) !default;\n$orange-300: tint-color($orange, 40%) !default;\n$orange-400: tint-color($orange, 20%) !default;\n$orange-500: $orange !default;\n$orange-600: shade-color($orange, 20%) !default;\n$orange-700: shade-color($orange, 40%) !default;\n$orange-800: shade-color($orange, 60%) !default;\n$orange-900: shade-color($orange, 80%) !default;\n\n$yellow-100: tint-color($yellow, 80%) !default;\n$yellow-200: tint-color($yellow, 60%) !default;\n$yellow-300: tint-color($yellow, 40%) !default;\n$yellow-400: tint-color($yellow, 20%) !default;\n$yellow-500: $yellow !default;\n$yellow-600: shade-color($yellow, 20%) !default;\n$yellow-700: shade-color($yellow, 40%) !default;\n$yellow-800: shade-color($yellow, 60%) !default;\n$yellow-900: shade-color($yellow, 80%) !default;\n\n$green-100: tint-color($green, 80%) !default;\n$green-200: tint-color($green, 60%) !default;\n$green-300: tint-color($green, 40%) !default;\n$green-400: tint-color($green, 20%) !default;\n$green-500: $green !default;\n$green-600: shade-color($green, 20%) !default;\n$green-700: shade-color($green, 40%) !default;\n$green-800: shade-color($green, 60%) !default;\n$green-900: shade-color($green, 80%) !default;\n\n$teal-100: tint-color($teal, 80%) !default;\n$teal-200: tint-color($teal, 60%) !default;\n$teal-300: tint-color($teal, 40%) !default;\n$teal-400: tint-color($teal, 20%) !default;\n$teal-500: $teal !default;\n$teal-600: shade-color($teal, 20%) !default;\n$teal-700: shade-color($teal, 40%) !default;\n$teal-800: shade-color($teal, 60%) !default;\n$teal-900: shade-color($teal, 80%) !default;\n\n$cyan-100: tint-color($cyan, 80%) !default;\n$cyan-200: tint-color($cyan, 60%) !default;\n$cyan-300: tint-color($cyan, 40%) !default;\n$cyan-400: tint-color($cyan, 20%) !default;\n$cyan-500: $cyan !default;\n$cyan-600: shade-color($cyan, 20%) !default;\n$cyan-700: shade-color($cyan, 40%) !default;\n$cyan-800: shade-color($cyan, 60%) !default;\n$cyan-900: shade-color($cyan, 80%) !default;\n\n$blues: (\n \"blue-100\": $blue-100,\n \"blue-200\": $blue-200,\n \"blue-300\": $blue-300,\n \"blue-400\": $blue-400,\n \"blue-500\": $blue-500,\n \"blue-600\": $blue-600,\n \"blue-700\": $blue-700,\n \"blue-800\": $blue-800,\n \"blue-900\": $blue-900\n) !default;\n\n$indigos: (\n \"indigo-100\": $indigo-100,\n \"indigo-200\": $indigo-200,\n \"indigo-300\": $indigo-300,\n \"indigo-400\": $indigo-400,\n \"indigo-500\": $indigo-500,\n \"indigo-600\": $indigo-600,\n \"indigo-700\": $indigo-700,\n \"indigo-800\": $indigo-800,\n \"indigo-900\": $indigo-900\n) !default;\n\n$purples: (\n \"purple-100\": $purple-200,\n \"purple-200\": $purple-100,\n \"purple-300\": $purple-300,\n \"purple-400\": $purple-400,\n \"purple-500\": $purple-500,\n \"purple-600\": $purple-600,\n \"purple-700\": $purple-700,\n \"purple-800\": $purple-800,\n \"purple-900\": $purple-900\n) !default;\n\n$pinks: (\n \"pink-100\": $pink-100,\n \"pink-200\": $pink-200,\n \"pink-300\": $pink-300,\n \"pink-400\": $pink-400,\n \"pink-500\": $pink-500,\n \"pink-600\": $pink-600,\n \"pink-700\": $pink-700,\n \"pink-800\": $pink-800,\n \"pink-900\": $pink-900\n) !default;\n\n$reds: (\n \"red-100\": $red-100,\n \"red-200\": $red-200,\n \"red-300\": $red-300,\n \"red-400\": $red-400,\n \"red-500\": $red-500,\n \"red-600\": $red-600,\n \"red-700\": $red-700,\n \"red-800\": $red-800,\n \"red-900\": $red-900\n) !default;\n\n$oranges: (\n \"orange-100\": $orange-100,\n \"orange-200\": $orange-200,\n \"orange-300\": $orange-300,\n \"orange-400\": $orange-400,\n \"orange-500\": $orange-500,\n \"orange-600\": $orange-600,\n \"orange-700\": $orange-700,\n \"orange-800\": $orange-800,\n \"orange-900\": $orange-900\n) !default;\n\n$yellows: (\n \"yellow-100\": $yellow-100,\n \"yellow-200\": $yellow-200,\n \"yellow-300\": $yellow-300,\n \"yellow-400\": $yellow-400,\n \"yellow-500\": $yellow-500,\n \"yellow-600\": $yellow-600,\n \"yellow-700\": $yellow-700,\n \"yellow-800\": $yellow-800,\n \"yellow-900\": $yellow-900\n) !default;\n\n$greens: (\n \"green-100\": $green-100,\n \"green-200\": $green-200,\n \"green-300\": $green-300,\n \"green-400\": $green-400,\n \"green-500\": $green-500,\n \"green-600\": $green-600,\n \"green-700\": $green-700,\n \"green-800\": $green-800,\n \"green-900\": $green-900\n) !default;\n\n$teals: (\n \"teal-100\": $teal-100,\n \"teal-200\": $teal-200,\n \"teal-300\": $teal-300,\n \"teal-400\": $teal-400,\n \"teal-500\": $teal-500,\n \"teal-600\": $teal-600,\n \"teal-700\": $teal-700,\n \"teal-800\": $teal-800,\n \"teal-900\": $teal-900\n) !default;\n\n$cyans: (\n \"cyan-100\": $cyan-100,\n \"cyan-200\": $cyan-200,\n \"cyan-300\": $cyan-300,\n \"cyan-400\": $cyan-400,\n \"cyan-500\": $cyan-500,\n \"cyan-600\": $cyan-600,\n \"cyan-700\": $cyan-700,\n \"cyan-800\": $cyan-800,\n \"cyan-900\": $cyan-900\n) !default;\n// fusv-enable\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\", \"%3c\"),\n (\">\", \"%3e\"),\n (\"#\", \"%23\"),\n (\"(\", \"%28\"),\n (\")\", \"%29\"),\n) !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-reduced-motion: true !default;\n$enable-smooth-scroll: true !default;\n$enable-grid-classes: true !default;\n$enable-cssgrid: false !default;\n$enable-button-pointers: true !default;\n$enable-rfs: true !default;\n$enable-validation-icons: true !default;\n$enable-negative-margins: false !default;\n$enable-deprecation-messages: true !default;\n$enable-important-utilities: true !default;\n\n// Prefix for :root CSS variables\n\n$variable-prefix: bs- !default;\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n// scss-docs-start variable-gradient\n$gradient: linear-gradient(180deg, rgba($white, .15), rgba($white, 0)) !default;\n// scss-docs-end variable-gradient\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n 0: 0,\n 1: $spacer * .25,\n 2: $spacer * .5,\n 3: $spacer,\n 4: $spacer * 1.5,\n 5: $spacer * 3,\n) !default;\n\n$negative-spacers: if($enable-negative-margins, negativify-map($spacers), null) !default;\n// scss-docs-end spacer-variables-maps\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n// scss-docs-start position-map\n$position-values: (\n 0: 0,\n 50: 50%,\n 100: 100%\n) !default;\n// scss-docs-end position-map\n\n// Body\n//\n// Settings for the `` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n$body-text-align: null !default;\n\n// Utilities maps\n//\n// Extends the default `$theme-colors` maps to help create our utilities.\n\n// Come v6, we'll de-dupe these variables. Until then, for backward compatibility, we keep them to reassign.\n// scss-docs-start utilities-colors\n$utilities-colors: $theme-colors-rgb !default;\n// scss-docs-end utilities-colors\n\n// scss-docs-start utilities-text-colors\n$utilities-text: map-merge(\n $utilities-colors,\n (\n \"black\": to-rgb($black),\n \"white\": to-rgb($white),\n \"body\": to-rgb($body-color)\n )\n) !default;\n$utilities-text-colors: map-loop($utilities-text, rgba-css-var, \"$key\", \"text\") !default;\n// scss-docs-end utilities-text-colors\n\n// scss-docs-start utilities-bg-colors\n$utilities-bg: map-merge(\n $utilities-colors,\n (\n \"black\": to-rgb($black),\n \"white\": to-rgb($white),\n \"body\": to-rgb($body-bg)\n )\n) !default;\n$utilities-bg-colors: map-loop($utilities-bg, rgba-css-var, \"$key\", \"bg\") !default;\n// scss-docs-end utilities-bg-colors\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: $primary !default;\n$link-decoration: underline !default;\n$link-shade-percentage: 20% !default;\n$link-hover-color: shift-color($link-color, $link-shade-percentage) !default;\n$link-hover-decoration: null !default;\n\n$stretched-link-pseudo-element: after !default;\n$stretched-link-z-index: 1 !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n// scss-docs-start grid-breakpoints\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px,\n xxl: 1400px\n) !default;\n// scss-docs-end grid-breakpoints\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px,\n xxl: 1320px\n) !default;\n// scss-docs-end container-max-widths\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 1.5rem !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Container padding\n\n$container-padding-x: $grid-gutter-width * .5 !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width: 1px !default;\n$border-widths: (\n 1: 1px,\n 2: 2px,\n 3: 3px,\n 4: 4px,\n 5: 5px\n) !default;\n\n$border-color: $gray-300 !default;\n// scss-docs-end border-variables\n\n// scss-docs-start border-radius-variables\n$border-radius: .25rem !default;\n$border-radius-sm: .2rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-pill: 50rem !default;\n// scss-docs-end border-radius-variables\n\n// scss-docs-start box-shadow-variables\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset: inset 0 1px 2px rgba($black, .075) !default;\n// scss-docs-end box-shadow-variables\n\n$component-active-color: $white !default;\n$component-active-bg: $primary !default;\n\n// scss-docs-start caret-variables\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n// scss-docs-end caret-variables\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n// scss-docs-start collapse-transition\n$transition-collapse: height .35s ease !default;\n$transition-collapse-width: width .35s ease !default;\n// scss-docs-end collapse-transition\n\n// stylelint-disable function-disallowed-list\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n \"1x1\": 100%,\n \"4x3\": calc(3 / 4 * 100%),\n \"16x9\": calc(9 / 16 * 100%),\n \"21x9\": calc(9 / 21 * 100%)\n) !default;\n// scss-docs-end aspect-ratios\n// stylelint-enable function-disallowed-list\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// scss-docs-start font-variables\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n// stylelint-enable value-keyword-case\n$font-family-base: var(--#{$variable-prefix}font-sans-serif) !default;\n$font-family-code: var(--#{$variable-prefix}font-monospace) !default;\n\n// $font-size-root affects the value of `rem`, which is used for as well font sizes, paddings, and margins\n// $font-size-base affects the font size of the body text\n$font-size-root: null !default;\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-sm: $font-size-base * .875 !default;\n$font-size-lg: $font-size-base * 1.25 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n\n$line-height-base: 1.5 !default;\n$line-height-sm: 1.25 !default;\n$line-height-lg: 2 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: (\n 1: $h1-font-size,\n 2: $h2-font-size,\n 3: $h3-font-size,\n 4: $h4-font-size,\n 5: $h5-font-size,\n 6: $h6-font-size\n) !default;\n// scss-docs-end font-sizes\n\n// scss-docs-start headings-variables\n$headings-margin-bottom: $spacer * .5 !default;\n$headings-font-family: null !default;\n$headings-font-style: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n// scss-docs-end headings-variables\n\n// scss-docs-start display-headings\n$display-font-sizes: (\n 1: 5rem,\n 2: 4.5rem,\n 3: 4rem,\n 4: 3.5rem,\n 5: 3rem,\n 6: 2.5rem\n) !default;\n\n$display-font-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n// scss-docs-end display-headings\n\n// scss-docs-start type-variables\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: .875em !default;\n\n$sub-sup-font-size: .75em !default;\n\n$text-muted: $gray-600 !default;\n\n$initialism-font-size: $small-font-size !default;\n\n$blockquote-margin-y: $spacer !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n$blockquote-footer-color: $gray-600 !default;\n$blockquote-footer-font-size: $small-font-size !default;\n\n$hr-margin-y: $spacer !default;\n$hr-color: inherit !default;\n$hr-height: $border-width !default;\n$hr-opacity: .25 !default;\n\n$legend-margin-bottom: .5rem !default;\n$legend-font-size: 1.5rem !default;\n$legend-font-weight: null !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n// scss-docs-end type-variables\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n// scss-docs-start table-variables\n$table-cell-padding-y: .5rem !default;\n$table-cell-padding-x: .5rem !default;\n$table-cell-padding-y-sm: .25rem !default;\n$table-cell-padding-x-sm: .25rem !default;\n\n$table-cell-vertical-align: top !default;\n\n$table-color: $body-color !default;\n$table-bg: transparent !default;\n$table-accent-bg: transparent !default;\n\n$table-th-font-weight: null !default;\n\n$table-striped-color: $table-color !default;\n$table-striped-bg-factor: .05 !default;\n$table-striped-bg: rgba($black, $table-striped-bg-factor) !default;\n\n$table-active-color: $table-color !default;\n$table-active-bg-factor: .1 !default;\n$table-active-bg: rgba($black, $table-active-bg-factor) !default;\n\n$table-hover-color: $table-color !default;\n$table-hover-bg-factor: .075 !default;\n$table-hover-bg: rgba($black, $table-hover-bg-factor) !default;\n\n$table-border-factor: .1 !default;\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-striped-order: odd !default;\n\n$table-group-separator-color: currentColor !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-scale: -80% !default;\n// scss-docs-end table-variables\n\n// scss-docs-start table-loop\n$table-variants: (\n \"primary\": shift-color($primary, $table-bg-scale),\n \"secondary\": shift-color($secondary, $table-bg-scale),\n \"success\": shift-color($success, $table-bg-scale),\n \"info\": shift-color($info, $table-bg-scale),\n \"warning\": shift-color($warning, $table-bg-scale),\n \"danger\": shift-color($danger, $table-bg-scale),\n \"light\": $light,\n \"dark\": $dark,\n) !default;\n// scss-docs-end table-loop\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n// scss-docs-start input-btn-variables\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .25rem !default;\n$input-btn-focus-color-opacity: .25 !default;\n$input-btn-focus-color: rgba($component-active-bg, $input-btn-focus-color-opacity) !default;\n$input-btn-focus-blur: 0 !default;\n$input-btn-focus-box-shadow: 0 0 $input-btn-focus-blur $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n\n$input-btn-border-width: $border-width !default;\n// scss-docs-end input-btn-variables\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n// scss-docs-start btn-variables\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-color: $link-color !default;\n$btn-link-hover-color: $link-hover-color !default;\n$btn-link-disabled-color: $gray-600 !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$btn-hover-bg-shade-amount: 15% !default;\n$btn-hover-bg-tint-amount: 15% !default;\n$btn-hover-border-shade-amount: 20% !default;\n$btn-hover-border-tint-amount: 10% !default;\n$btn-active-bg-shade-amount: 20% !default;\n$btn-active-bg-tint-amount: 20% !default;\n$btn-active-border-shade-amount: 25% !default;\n$btn-active-border-tint-amount: 10% !default;\n// scss-docs-end btn-variables\n\n\n// Forms\n\n// scss-docs-start form-text-variables\n$form-text-margin-top: .25rem !default;\n$form-text-font-size: $small-font-size !default;\n$form-text-font-style: null !default;\n$form-text-font-weight: null !default;\n$form-text-color: $text-muted !default;\n// scss-docs-end form-text-variables\n\n// scss-docs-start form-label-variables\n$form-label-margin-bottom: .5rem !default;\n$form-label-font-size: null !default;\n$form-label-font-style: null !default;\n$form-label-font-weight: null !default;\n$form-label-color: null !default;\n// scss-docs-end form-label-variables\n\n// scss-docs-start form-input-variables\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n\n$input-bg: $body-bg !default;\n$input-disabled-bg: $gray-200 !default;\n$input-disabled-border-color: null !default;\n\n$input-color: $body-color !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: $box-shadow-inset !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-sm: $border-radius-sm !default;\n$input-border-radius-lg: $border-radius-lg !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: tint-color($component-active-bg, 50%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y * .5) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-color-width: 3rem !default;\n// scss-docs-end form-input-variables\n\n// scss-docs-start form-check-variables\n$form-check-input-width: 1em !default;\n$form-check-min-height: $font-size-base * $line-height-base !default;\n$form-check-padding-start: $form-check-input-width + .5em !default;\n$form-check-margin-bottom: .125rem !default;\n$form-check-label-color: null !default;\n$form-check-label-cursor: null !default;\n$form-check-transition: null !default;\n\n$form-check-input-active-filter: brightness(90%) !default;\n\n$form-check-input-bg: $input-bg !default;\n$form-check-input-border: 1px solid rgba($black, .25) !default;\n$form-check-input-border-radius: .25em !default;\n$form-check-radio-border-radius: 50% !default;\n$form-check-input-focus-border: $input-focus-border-color !default;\n$form-check-input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$form-check-input-checked-color: $component-active-color !default;\n$form-check-input-checked-bg-color: $component-active-bg !default;\n$form-check-input-checked-border-color: $form-check-input-checked-bg-color !default;\n$form-check-input-checked-bg-image: url(\"data:image/svg+xml,\") !default;\n$form-check-radio-checked-bg-image: url(\"data:image/svg+xml,\") !default;\n\n$form-check-input-indeterminate-color: $component-active-color !default;\n$form-check-input-indeterminate-bg-color: $component-active-bg !default;\n$form-check-input-indeterminate-border-color: $form-check-input-indeterminate-bg-color !default;\n$form-check-input-indeterminate-bg-image: url(\"data:image/svg+xml,\") !default;\n\n$form-check-input-disabled-opacity: .5 !default;\n$form-check-label-disabled-opacity: $form-check-input-disabled-opacity !default;\n$form-check-btn-check-disabled-opacity: $btn-disabled-opacity !default;\n\n$form-check-inline-margin-end: 1rem !default;\n// scss-docs-end form-check-variables\n\n// scss-docs-start form-switch-variables\n$form-switch-color: rgba(0, 0, 0, .25) !default;\n$form-switch-width: 2em !default;\n$form-switch-padding-start: $form-switch-width + .5em !default;\n$form-switch-bg-image: url(\"data:image/svg+xml,\") !default;\n$form-switch-border-radius: $form-switch-width !default;\n$form-switch-transition: background-position .15s ease-in-out !default;\n\n$form-switch-focus-color: $input-focus-border-color !default;\n$form-switch-focus-bg-image: url(\"data:image/svg+xml,\") !default;\n\n$form-switch-checked-color: $component-active-color !default;\n$form-switch-checked-bg-image: url(\"data:image/svg+xml,\") !default;\n$form-switch-checked-bg-position: right center !default;\n// scss-docs-end form-switch-variables\n\n// scss-docs-start input-group-variables\n$input-group-addon-padding-y: $input-padding-y !default;\n$input-group-addon-padding-x: $input-padding-x !default;\n$input-group-addon-font-weight: $input-font-weight !default;\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n// scss-docs-end input-group-variables\n\n// scss-docs-start form-select-variables\n$form-select-padding-y: $input-padding-y !default;\n$form-select-padding-x: $input-padding-x !default;\n$form-select-font-family: $input-font-family !default;\n$form-select-font-size: $input-font-size !default;\n$form-select-indicator-padding: $form-select-padding-x * 3 !default; // Extra padding for background-image\n$form-select-font-weight: $input-font-weight !default;\n$form-select-line-height: $input-line-height !default;\n$form-select-color: $input-color !default;\n$form-select-bg: $input-bg !default;\n$form-select-disabled-color: null !default;\n$form-select-disabled-bg: $gray-200 !default;\n$form-select-disabled-border-color: $input-disabled-border-color !default;\n$form-select-bg-position: right $form-select-padding-x center !default;\n$form-select-bg-size: 16px 12px !default; // In pixels because image dimensions\n$form-select-indicator-color: $gray-800 !default;\n$form-select-indicator: url(\"data:image/svg+xml,\") !default;\n\n$form-select-feedback-icon-padding-end: $form-select-padding-x * 2.5 + $form-select-indicator-padding !default;\n$form-select-feedback-icon-position: center right $form-select-indicator-padding !default;\n$form-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$form-select-border-width: $input-border-width !default;\n$form-select-border-color: $input-border-color !default;\n$form-select-border-radius: $border-radius !default;\n$form-select-box-shadow: $box-shadow-inset !default;\n\n$form-select-focus-border-color: $input-focus-border-color !default;\n$form-select-focus-width: $input-focus-width !default;\n$form-select-focus-box-shadow: 0 0 0 $form-select-focus-width $input-btn-focus-color !default;\n\n$form-select-padding-y-sm: $input-padding-y-sm !default;\n$form-select-padding-x-sm: $input-padding-x-sm !default;\n$form-select-font-size-sm: $input-font-size-sm !default;\n\n$form-select-padding-y-lg: $input-padding-y-lg !default;\n$form-select-padding-x-lg: $input-padding-x-lg !default;\n$form-select-font-size-lg: $input-font-size-lg !default;\n\n$form-select-transition: $input-transition !default;\n// scss-docs-end form-select-variables\n\n// scss-docs-start form-range-variables\n$form-range-track-width: 100% !default;\n$form-range-track-height: .5rem !default;\n$form-range-track-cursor: pointer !default;\n$form-range-track-bg: $gray-300 !default;\n$form-range-track-border-radius: 1rem !default;\n$form-range-track-box-shadow: $box-shadow-inset !default;\n\n$form-range-thumb-width: 1rem !default;\n$form-range-thumb-height: $form-range-thumb-width !default;\n$form-range-thumb-bg: $component-active-bg !default;\n$form-range-thumb-border: 0 !default;\n$form-range-thumb-border-radius: 1rem !default;\n$form-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$form-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$form-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in Edge\n$form-range-thumb-active-bg: tint-color($component-active-bg, 70%) !default;\n$form-range-thumb-disabled-bg: $gray-500 !default;\n$form-range-thumb-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n// scss-docs-end form-range-variables\n\n// scss-docs-start form-file-variables\n$form-file-button-color: $input-color !default;\n$form-file-button-bg: $input-group-addon-bg !default;\n$form-file-button-hover-bg: shade-color($form-file-button-bg, 5%) !default;\n// scss-docs-end form-file-variables\n\n// scss-docs-start form-floating-variables\n$form-floating-height: add(3.5rem, $input-height-border) !default;\n$form-floating-line-height: 1.25 !default;\n$form-floating-padding-x: $input-padding-x !default;\n$form-floating-padding-y: 1rem !default;\n$form-floating-input-padding-t: 1.625rem !default;\n$form-floating-input-padding-b: .625rem !default;\n$form-floating-label-opacity: .65 !default;\n$form-floating-label-transform: scale(.85) translateY(-.5rem) translateX(.15rem) !default;\n$form-floating-transition: opacity .1s ease-in-out, transform .1s ease-in-out !default;\n// scss-docs-end form-floating-variables\n\n// Form validation\n\n// scss-docs-start form-feedback-variables\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $form-text-font-size !default;\n$form-feedback-font-style: $form-text-font-style !default;\n$form-feedback-valid-color: $success !default;\n$form-feedback-invalid-color: $danger !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,\") !default;\n// scss-docs-end form-feedback-variables\n\n// scss-docs-start form-validation-states\n$form-validation-states: (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n )\n) !default;\n// scss-docs-end form-validation-states\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-offcanvas-backdrop: 1040 !default;\n$zindex-offcanvas: 1045 !default;\n$zindex-modal-backdrop: 1050 !default;\n$zindex-modal: 1055 !default;\n$zindex-popover: 1070 !default;\n$zindex-tooltip: 1080 !default;\n// scss-docs-end zindex-stack\n\n\n// Navs\n\n// scss-docs-start nav-variables\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-font-size: null !default;\n$nav-link-font-weight: null !default;\n$nav-link-color: $link-color !default;\n$nav-link-hover-color: $link-hover-color !default;\n$nav-link-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n// scss-docs-end nav-variables\n\n\n// Navbar\n\n// scss-docs-start navbar-variables\n$navbar-padding-y: $spacer * .5 !default;\n$navbar-padding-x: null !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) * .5 !default;\n$navbar-brand-margin-end: 1rem !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n$navbar-toggler-focus-width: $btn-focus-width !default;\n$navbar-toggler-transition: box-shadow .15s ease-in-out !default;\n// scss-docs-end navbar-variables\n\n// scss-docs-start navbar-theme-variables\n$navbar-dark-color: rgba($white, .55) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .55) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n// scss-docs-end navbar-theme-variables\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n// scss-docs-start dropdown-variables\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-x: 0 !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;\n$dropdown-divider-bg: $dropdown-border-color !default;\n$dropdown-divider-margin-y: $spacer * .5 !default;\n$dropdown-box-shadow: $box-shadow !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: shade-color($dropdown-link-color, 10%) !default;\n$dropdown-link-hover-bg: $gray-200 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-500 !default;\n\n$dropdown-item-padding-y: $spacer * .25 !default;\n$dropdown-item-padding-x: $spacer !default;\n\n$dropdown-header-color: $gray-600 !default;\n$dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x !default;\n// scss-docs-end dropdown-variables\n\n// scss-docs-start dropdown-dark-variables\n$dropdown-dark-color: $gray-300 !default;\n$dropdown-dark-bg: $gray-800 !default;\n$dropdown-dark-border-color: $dropdown-border-color !default;\n$dropdown-dark-divider-bg: $dropdown-divider-bg !default;\n$dropdown-dark-box-shadow: null !default;\n$dropdown-dark-link-color: $dropdown-dark-color !default;\n$dropdown-dark-link-hover-color: $white !default;\n$dropdown-dark-link-hover-bg: rgba($white, .15) !default;\n$dropdown-dark-link-active-color: $dropdown-link-active-color !default;\n$dropdown-dark-link-active-bg: $dropdown-link-active-bg !default;\n$dropdown-dark-link-disabled-color: $gray-500 !default;\n$dropdown-dark-header-color: $gray-500 !default;\n// scss-docs-end dropdown-dark-variables\n\n\n// Pagination\n\n// scss-docs-start pagination-variables\n$pagination-padding-y: .375rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-radius: $border-radius !default;\n$pagination-margin-start: -$pagination-border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-color: $link-hover-color !default;\n$pagination-focus-bg: $gray-200 !default;\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n$pagination-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$pagination-border-radius-sm: $border-radius-sm !default;\n$pagination-border-radius-lg: $border-radius-lg !default;\n// scss-docs-end pagination-variables\n\n\n// Placeholders\n\n// scss-docs-start placeholders\n$placeholder-opacity-max: .5 !default;\n$placeholder-opacity-min: .2 !default;\n// scss-docs-end placeholders\n\n// Cards\n\n// scss-docs-start card-variables\n$card-spacer-y: $spacer !default;\n$card-spacer-x: $spacer !default;\n$card-title-spacer-y: $spacer * .5 !default;\n$card-border-width: $border-width !default;\n$card-border-color: rgba($black, .125) !default;\n$card-border-radius: $border-radius !default;\n$card-box-shadow: null !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-padding-y: $card-spacer-y * .5 !default;\n$card-cap-padding-x: $card-spacer-x !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n$card-img-overlay-padding: $spacer !default;\n$card-group-margin: $grid-gutter-width * .5 !default;\n// scss-docs-end card-variables\n\n// Accordion\n\n// scss-docs-start accordion-variables\n$accordion-padding-y: 1rem !default;\n$accordion-padding-x: 1.25rem !default;\n$accordion-color: $body-color !default;\n$accordion-bg: $body-bg !default;\n$accordion-border-width: $border-width !default;\n$accordion-border-color: rgba($black, .125) !default;\n$accordion-border-radius: $border-radius !default;\n$accordion-inner-border-radius: subtract($accordion-border-radius, $accordion-border-width) !default;\n\n$accordion-body-padding-y: $accordion-padding-y !default;\n$accordion-body-padding-x: $accordion-padding-x !default;\n\n$accordion-button-padding-y: $accordion-padding-y !default;\n$accordion-button-padding-x: $accordion-padding-x !default;\n$accordion-button-color: $accordion-color !default;\n$accordion-button-bg: $accordion-bg !default;\n$accordion-transition: $btn-transition, border-radius .15s ease !default;\n$accordion-button-active-bg: tint-color($component-active-bg, 90%) !default;\n$accordion-button-active-color: shade-color($primary, 10%) !default;\n\n$accordion-button-focus-border-color: $input-focus-border-color !default;\n$accordion-button-focus-box-shadow: $btn-focus-box-shadow !default;\n\n$accordion-icon-width: 1.25rem !default;\n$accordion-icon-color: $accordion-button-color !default;\n$accordion-icon-active-color: $accordion-button-active-color !default;\n$accordion-icon-transition: transform .2s ease-in-out !default;\n$accordion-icon-transform: rotate(-180deg) !default;\n\n$accordion-button-icon: url(\"data:image/svg+xml,\") !default;\n$accordion-button-active-icon: url(\"data:image/svg+xml,\") !default;\n// scss-docs-end accordion-variables\n\n// Tooltips\n\n// scss-docs-start tooltip-variables\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: $spacer * .25 !default;\n$tooltip-padding-x: $spacer * .5 !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n// scss-docs-end tooltip-variables\n\n// Form tooltips must come after regular tooltips\n// scss-docs-start tooltip-feedback-variables\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: null !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n// scss-docs-end tooltip-feedback-variables\n\n\n// Popovers\n\n// scss-docs-start popover-variables\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;\n$popover-box-shadow: $box-shadow !default;\n\n$popover-header-bg: shade-color($popover-bg, 6%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: $spacer !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $spacer !default;\n$popover-body-padding-x: $spacer !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n// scss-docs-end popover-variables\n\n\n// Toasts\n\n// scss-docs-start toast-variables\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .5rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: $border-radius !default;\n$toast-box-shadow: $box-shadow !default;\n$toast-spacing: $container-padding-x !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n// scss-docs-end toast-variables\n\n\n// Badges\n\n// scss-docs-start badge-variables\n$badge-font-size: .75em !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-color: $white !default;\n$badge-padding-y: .35em !default;\n$badge-padding-x: .65em !default;\n$badge-border-radius: $border-radius !default;\n// scss-docs-end badge-variables\n\n\n// Modals\n\n// scss-docs-start modal-variables\n$modal-inner-padding: $spacer !default;\n\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: $box-shadow-sm !default;\n$modal-content-box-shadow-sm-up: $box-shadow !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: $modal-inner-padding !default;\n$modal-header-padding-x: $modal-inner-padding !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-sm: 300px !default;\n$modal-md: 500px !default;\n$modal-lg: 800px !default;\n$modal-xl: 1140px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n// scss-docs-end modal-variables\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n// scss-docs-start alert-variables\n$alert-padding-y: $spacer !default;\n$alert-padding-x: $spacer !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n$alert-bg-scale: -80% !default;\n$alert-border-scale: -70% !default;\n$alert-color-scale: 40% !default;\n$alert-dismissible-padding-r: $alert-padding-x * 3 !default; // 3x covers width of x plus default padding on either side\n// scss-docs-end alert-variables\n\n\n// Progress bars\n\n// scss-docs-start progress-variables\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: $box-shadow-inset !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: $primary !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n// scss-docs-end progress-variables\n\n\n// List group\n\n// scss-docs-start list-group-variables\n$list-group-color: $gray-900 !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: $spacer * .5 !default;\n$list-group-item-padding-x: $spacer !default;\n$list-group-item-bg-scale: -80% !default;\n$list-group-item-color-scale: 40% !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n// scss-docs-end list-group-variables\n\n\n// Image thumbnails\n\n// scss-docs-start thumbnail-variables\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: $box-shadow-sm !default;\n// scss-docs-end thumbnail-variables\n\n\n// Figures\n\n// scss-docs-start figure-variables\n$figure-caption-font-size: $small-font-size !default;\n$figure-caption-color: $gray-600 !default;\n// scss-docs-end figure-variables\n\n\n// Breadcrumbs\n\n// scss-docs-start breadcrumb-variables\n$breadcrumb-font-size: null !default;\n$breadcrumb-padding-y: 0 !default;\n$breadcrumb-padding-x: 0 !default;\n$breadcrumb-item-padding-x: .5rem !default;\n$breadcrumb-margin-bottom: 1rem !default;\n$breadcrumb-bg: null !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n$breadcrumb-divider-flipped: $breadcrumb-divider !default;\n$breadcrumb-border-radius: null !default;\n// scss-docs-end breadcrumb-variables\n\n// Carousel\n\n// scss-docs-start carousel-variables\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-opacity: .5 !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-active-opacity: 1 !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n$carousel-caption-padding-y: 1.25rem !default;\n$carousel-caption-spacer: 1.25rem !default;\n\n$carousel-control-icon-width: 2rem !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n$carousel-dark-indicator-active-bg: $black !default;\n$carousel-dark-caption-color: $black !default;\n$carousel-dark-control-icon-filter: invert(1) grayscale(100) !default;\n// scss-docs-end carousel-variables\n\n\n// Spinners\n\n// scss-docs-start spinner-variables\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-vertical-align: -.125em !default;\n$spinner-border-width: .25em !default;\n$spinner-animation-speed: .75s !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n// scss-docs-end spinner-variables\n\n\n// Close\n\n// scss-docs-start close-variables\n$btn-close-width: 1em !default;\n$btn-close-height: $btn-close-width !default;\n$btn-close-padding-x: .25em !default;\n$btn-close-padding-y: $btn-close-padding-x !default;\n$btn-close-color: $black !default;\n$btn-close-bg: url(\"data:image/svg+xml,\") !default;\n$btn-close-focus-shadow: $input-btn-focus-box-shadow !default;\n$btn-close-opacity: .5 !default;\n$btn-close-hover-opacity: .75 !default;\n$btn-close-focus-opacity: 1 !default;\n$btn-close-disabled-opacity: .25 !default;\n$btn-close-white-filter: invert(1) grayscale(100%) brightness(200%) !default;\n// scss-docs-end close-variables\n\n\n// Offcanvas\n\n// scss-docs-start offcanvas-variables\n$offcanvas-padding-y: $modal-inner-padding !default;\n$offcanvas-padding-x: $modal-inner-padding !default;\n$offcanvas-horizontal-width: 400px !default;\n$offcanvas-vertical-height: 30vh !default;\n$offcanvas-transition-duration: .3s !default;\n$offcanvas-border-color: $modal-content-border-color !default;\n$offcanvas-border-width: $modal-content-border-width !default;\n$offcanvas-title-line-height: $modal-title-line-height !default;\n$offcanvas-bg-color: $modal-content-bg !default;\n$offcanvas-color: $modal-content-color !default;\n$offcanvas-box-shadow: $modal-content-box-shadow-xs !default;\n$offcanvas-backdrop-bg: $modal-backdrop-bg !default;\n$offcanvas-backdrop-opacity: $modal-backdrop-opacity !default;\n// scss-docs-end offcanvas-variables\n\n// Code\n\n$code-font-size: $small-font-size !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: null !default;\n","// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n}\n\n@if $enable-cssgrid {\n .grid {\n display: grid;\n grid-template-rows: repeat(var(--#{$variable-prefix}rows, 1), 1fr);\n grid-template-columns: repeat(var(--#{$variable-prefix}columns, #{$grid-columns}), 1fr);\n gap: var(--#{$variable-prefix}gap, #{$grid-gutter-width});\n\n @include make-cssgrid();\n }\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n --#{$variable-prefix}gutter-x: #{$gutter};\n --#{$variable-prefix}gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(var(--#{$variable-prefix}gutter-y) * -1); // stylelint-disable-line function-disallowed-list\n margin-right: calc(var(--#{$variable-prefix}gutter-x) * -.5); // stylelint-disable-line function-disallowed-list\n margin-left: calc(var(--#{$variable-prefix}gutter-x) * -.5); // stylelint-disable-line function-disallowed-list\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n // Add box sizing if only the grid is loaded\n box-sizing: if(variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-right: calc(var(--#{$variable-prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$variable-prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n margin-top: var(--#{$variable-prefix}gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n @if $size {\n flex: 0 0 auto;\n width: percentage(divide($size, $columns));\n\n } @else {\n flex: 1 1 0;\n max-width: 100%;\n }\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: divide($size, $columns);\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 auto;\n width: divide(100%, $count);\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0%; // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n }\n\n .row-cols#{$infix}-auto > * {\n @include make-col-auto();\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n\n // Gutters\n //\n // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n @each $key, $value in $gutters {\n .g#{$infix}-#{$key},\n .gx#{$infix}-#{$key} {\n --#{$variable-prefix}gutter-x: #{$value};\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n --#{$variable-prefix}gutter-y: #{$value};\n }\n }\n }\n }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .g-col#{$infix}-#{$i} {\n grid-column: auto / span $i;\n }\n }\n\n // Start with `1` because `0` is and invalid value.\n // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n @for $i from 1 through ($columns - 1) {\n .g-start#{$infix}-#{$i} {\n grid-column-start: $i;\n }\n }\n }\n }\n }\n}\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix, $is-rfs-media-query: false) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n // State params to generate pseudo-classes\n $state: if(map-has-key($utility, state), map-get($utility, state), ());\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (eg. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n @if map-get($utility, rfs) {\n // Inside the media query\n @if $is-rfs-media-query {\n $val: rfs-value($value);\n\n // Do not render anything if fluid and non fluid values are the same\n $value: if($val == rfs-fluid-value($value), null, $val);\n }\n @else {\n $value: rfs-fluid-value($value);\n }\n }\n\n $is-css-var: map-get($utility, css-var);\n $is-local-vars: map-get($utility, local-vars);\n $is-rtl: map-get($utility, rtl);\n\n @if $value != null {\n @if $is-rtl == false {\n /* rtl:begin:remove */\n }\n\n @if $is-css-var {\n .#{$property-class + $infix + $property-class-modifier} {\n --#{$variable-prefix}#{$property-class}: #{$value};\n }\n\n @each $pseudo in $state {\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n --#{$variable-prefix}#{$property-class}: #{$value};\n }\n }\n } @else {\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n @if $is-local-vars {\n @each $local-var, $value in $is-local-vars {\n --#{$variable-prefix}#{$local-var}: #{$value};\n }\n }\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n\n @each $pseudo in $state {\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n @each $property in $properties {\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n }\n }\n\n @if $is-rtl == false {\n /* rtl:end:remove */\n }\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n// RFS rescaling\n@media (min-width: $rfs-mq-value) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and map-get($utility, rfs) and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix, true);\n }\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file diff --git a/public/css/bootstrap/css/bootstrap-grid.min.css.map b/public/css/bootstrap/css/bootstrap-grid.min.css.map deleted file mode 100644 index d620c0d..0000000 --- a/public/css/bootstrap/css/bootstrap-grid.min.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../scss/bootstrap-grid.scss","../../scss/_root.scss","../../scss/_containers.scss","dist/css/bootstrap-grid.css","../../scss/mixins/_container.scss","../../scss/mixins/_breakpoints.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"AAAA;;;;;ACAA,MAQI,UAAA,QAAA,YAAA,QAAA,YAAA,QAAA,UAAA,QAAA,SAAA,QAAA,YAAA,QAAA,YAAA,QAAA,WAAA,QAAA,UAAA,QAAA,UAAA,QAAA,WAAA,KAAA,UAAA,QAAA,eAAA,QAIA,cAAA,QAAA,cAAA,QAAA,cAAA,QAAA,cAAA,QAAA,cAAA,QAAA,cAAA,QAAA,cAAA,QAAA,cAAA,QAAA,cAAA,QAIA,aAAA,QAAA,eAAA,QAAA,aAAA,QAAA,UAAA,QAAA,aAAA,QAAA,YAAA,QAAA,WAAA,QAAA,UAAA,QAIA,iBAAA,EAAA,CAAA,GAAA,CAAA,IAAA,mBAAA,GAAA,CAAA,GAAA,CAAA,IAAA,iBAAA,EAAA,CAAA,GAAA,CAAA,GAAA,cAAA,EAAA,CAAA,GAAA,CAAA,IAAA,iBAAA,GAAA,CAAA,GAAA,CAAA,EAAA,gBAAA,GAAA,CAAA,EAAA,CAAA,GAAA,eAAA,GAAA,CAAA,GAAA,CAAA,IAAA,cAAA,EAAA,CAAA,EAAA,CAAA,GAGF,eAAA,GAAA,CAAA,GAAA,CAAA,IACA,eAAA,CAAA,CAAA,CAAA,CAAA,EACA,oBAAA,EAAA,CAAA,EAAA,CAAA,GACA,iBAAA,GAAA,CAAA,GAAA,CAAA,IAMA,qBAAA,SAAA,CAAA,aAAA,CAAA,UAAA,CAAA,MAAA,CAAA,gBAAA,CAAA,KAAA,CAAA,WAAA,CAAA,iBAAA,CAAA,UAAA,CAAA,mBAAA,CAAA,gBAAA,CAAA,iBAAA,CAAA,mBACA,oBAAA,cAAA,CAAA,KAAA,CAAA,MAAA,CAAA,QAAA,CAAA,iBAAA,CAAA,aAAA,CAAA,UACA,cAAA,2EAQA,sBAAA,0BACA,oBAAA,KACA,sBAAA,IACA,sBAAA,IACA,gBAAA,QAIA,aAAA,KC5CA,WCuDF,iBAGA,cACA,cACA,cAHA,cADA,eC3DE,MAAA,KACA,cAAA,0BACA,aAAA,0BACA,aAAA,KACA,YAAA,KCwDE,yBH5CE,WAAA,cACE,UAAA,OG2CJ,yBH5CE,WAAA,cAAA,cACE,UAAA,OG2CJ,yBH5CE,WAAA,cAAA,cAAA,cACE,UAAA,OG2CJ,0BH5CE,WAAA,cAAA,cAAA,cAAA,cACE,UAAA,QG2CJ,0BH5CE,WAAA,cAAA,cAAA,cAAA,cAAA,eACE,UAAA,QIfN,KCAA,cAAA,OACA,cAAA,EACA,QAAA,KACA,UAAA,KACA,WAAA,8BACA,aAAA,+BACA,YAAA,+BDHE,OCQF,WAAA,WAIA,YAAA,EACA,MAAA,KACA,UAAA,KACA,cAAA,8BACA,aAAA,8BACA,WAAA,mBA+CI,KACE,KAAA,EAAA,EAAA,GAGF,iBApCJ,KAAA,EAAA,EAAA,KACA,MAAA,KAcA,cACE,KAAA,EAAA,EAAA,KACA,MAAA,KAFF,cACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,cACE,KAAA,EAAA,EAAA,KACA,MAAA,eAFF,cACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,cACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,cACE,KAAA,EAAA,EAAA,KACA,MAAA,eA+BE,UAhDJ,KAAA,EAAA,EAAA,KACA,MAAA,KAqDQ,OAhEN,KAAA,EAAA,EAAA,KACA,MAAA,YA+DM,OAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,OAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,OAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,OAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,OAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,OAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,OAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,OAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,QAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,QAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,QAhEN,KAAA,EAAA,EAAA,KACA,MAAA,KAuEQ,UAxDV,YAAA,YAwDU,UAxDV,YAAA,aAwDU,UAxDV,YAAA,IAwDU,UAxDV,YAAA,aAwDU,UAxDV,YAAA,aAwDU,UAxDV,YAAA,IAwDU,UAxDV,YAAA,aAwDU,UAxDV,YAAA,aAwDU,UAxDV,YAAA,IAwDU,WAxDV,YAAA,aAwDU,WAxDV,YAAA,aAmEM,KJ0JR,MIxJU,cAAA,EAGF,KJ0JR,MIxJU,cAAA,EAPF,KJoKR,MIlKU,cAAA,QAGF,KJoKR,MIlKU,cAAA,QAPF,KJ8KR,MI5KU,cAAA,OAGF,KJ8KR,MI5KU,cAAA,OAPF,KJwLR,MItLU,cAAA,KAGF,KJwLR,MItLU,cAAA,KAPF,KJkMR,MIhMU,cAAA,OAGF,KJkMR,MIhMU,cAAA,OAPF,KJ4MR,MI1MU,cAAA,KAGF,KJ4MR,MI1MU,cAAA,KFzDN,yBESE,QACE,KAAA,EAAA,EAAA,GAGF,oBApCJ,KAAA,EAAA,EAAA,KACA,MAAA,KAcA,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,KAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,eAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,eA+BE,aAhDJ,KAAA,EAAA,EAAA,KACA,MAAA,KAqDQ,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,YA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,KAuEQ,aAxDV,YAAA,EAwDU,aAxDV,YAAA,YAwDU,aAxDV,YAAA,aAwDU,aAxDV,YAAA,IAwDU,aAxDV,YAAA,aAwDU,aAxDV,YAAA,aAwDU,aAxDV,YAAA,IAwDU,aAxDV,YAAA,aAwDU,aAxDV,YAAA,aAwDU,aAxDV,YAAA,IAwDU,cAxDV,YAAA,aAwDU,cAxDV,YAAA,aAmEM,QJ+WR,SI7WU,cAAA,EAGF,QJ+WR,SI7WU,cAAA,EAPF,QJyXR,SIvXU,cAAA,QAGF,QJyXR,SIvXU,cAAA,QAPF,QJmYR,SIjYU,cAAA,OAGF,QJmYR,SIjYU,cAAA,OAPF,QJ6YR,SI3YU,cAAA,KAGF,QJ6YR,SI3YU,cAAA,KAPF,QJuZR,SIrZU,cAAA,OAGF,QJuZR,SIrZU,cAAA,OAPF,QJiaR,SI/ZU,cAAA,KAGF,QJiaR,SI/ZU,cAAA,MFzDN,yBESE,QACE,KAAA,EAAA,EAAA,GAGF,oBApCJ,KAAA,EAAA,EAAA,KACA,MAAA,KAcA,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,KAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,eAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,eA+BE,aAhDJ,KAAA,EAAA,EAAA,KACA,MAAA,KAqDQ,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,YA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,KAuEQ,aAxDV,YAAA,EAwDU,aAxDV,YAAA,YAwDU,aAxDV,YAAA,aAwDU,aAxDV,YAAA,IAwDU,aAxDV,YAAA,aAwDU,aAxDV,YAAA,aAwDU,aAxDV,YAAA,IAwDU,aAxDV,YAAA,aAwDU,aAxDV,YAAA,aAwDU,aAxDV,YAAA,IAwDU,cAxDV,YAAA,aAwDU,cAxDV,YAAA,aAmEM,QJokBR,SIlkBU,cAAA,EAGF,QJokBR,SIlkBU,cAAA,EAPF,QJ8kBR,SI5kBU,cAAA,QAGF,QJ8kBR,SI5kBU,cAAA,QAPF,QJwlBR,SItlBU,cAAA,OAGF,QJwlBR,SItlBU,cAAA,OAPF,QJkmBR,SIhmBU,cAAA,KAGF,QJkmBR,SIhmBU,cAAA,KAPF,QJ4mBR,SI1mBU,cAAA,OAGF,QJ4mBR,SI1mBU,cAAA,OAPF,QJsnBR,SIpnBU,cAAA,KAGF,QJsnBR,SIpnBU,cAAA,MFzDN,yBESE,QACE,KAAA,EAAA,EAAA,GAGF,oBApCJ,KAAA,EAAA,EAAA,KACA,MAAA,KAcA,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,KAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,eAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,eA+BE,aAhDJ,KAAA,EAAA,EAAA,KACA,MAAA,KAqDQ,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,YA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,KAuEQ,aAxDV,YAAA,EAwDU,aAxDV,YAAA,YAwDU,aAxDV,YAAA,aAwDU,aAxDV,YAAA,IAwDU,aAxDV,YAAA,aAwDU,aAxDV,YAAA,aAwDU,aAxDV,YAAA,IAwDU,aAxDV,YAAA,aAwDU,aAxDV,YAAA,aAwDU,aAxDV,YAAA,IAwDU,cAxDV,YAAA,aAwDU,cAxDV,YAAA,aAmEM,QJyxBR,SIvxBU,cAAA,EAGF,QJyxBR,SIvxBU,cAAA,EAPF,QJmyBR,SIjyBU,cAAA,QAGF,QJmyBR,SIjyBU,cAAA,QAPF,QJ6yBR,SI3yBU,cAAA,OAGF,QJ6yBR,SI3yBU,cAAA,OAPF,QJuzBR,SIrzBU,cAAA,KAGF,QJuzBR,SIrzBU,cAAA,KAPF,QJi0BR,SI/zBU,cAAA,OAGF,QJi0BR,SI/zBU,cAAA,OAPF,QJ20BR,SIz0BU,cAAA,KAGF,QJ20BR,SIz0BU,cAAA,MFzDN,0BESE,QACE,KAAA,EAAA,EAAA,GAGF,oBApCJ,KAAA,EAAA,EAAA,KACA,MAAA,KAcA,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,KAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,eAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,iBACE,KAAA,EAAA,EAAA,KACA,MAAA,eA+BE,aAhDJ,KAAA,EAAA,EAAA,KACA,MAAA,KAqDQ,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,YA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,UAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,KAuEQ,aAxDV,YAAA,EAwDU,aAxDV,YAAA,YAwDU,aAxDV,YAAA,aAwDU,aAxDV,YAAA,IAwDU,aAxDV,YAAA,aAwDU,aAxDV,YAAA,aAwDU,aAxDV,YAAA,IAwDU,aAxDV,YAAA,aAwDU,aAxDV,YAAA,aAwDU,aAxDV,YAAA,IAwDU,cAxDV,YAAA,aAwDU,cAxDV,YAAA,aAmEM,QJ8+BR,SI5+BU,cAAA,EAGF,QJ8+BR,SI5+BU,cAAA,EAPF,QJw/BR,SIt/BU,cAAA,QAGF,QJw/BR,SIt/BU,cAAA,QAPF,QJkgCR,SIhgCU,cAAA,OAGF,QJkgCR,SIhgCU,cAAA,OAPF,QJ4gCR,SI1gCU,cAAA,KAGF,QJ4gCR,SI1gCU,cAAA,KAPF,QJshCR,SIphCU,cAAA,OAGF,QJshCR,SIphCU,cAAA,OAPF,QJgiCR,SI9hCU,cAAA,KAGF,QJgiCR,SI9hCU,cAAA,MFzDN,0BESE,SACE,KAAA,EAAA,EAAA,GAGF,qBApCJ,KAAA,EAAA,EAAA,KACA,MAAA,KAcA,kBACE,KAAA,EAAA,EAAA,KACA,MAAA,KAFF,kBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,kBACE,KAAA,EAAA,EAAA,KACA,MAAA,eAFF,kBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,kBACE,KAAA,EAAA,EAAA,KACA,MAAA,IAFF,kBACE,KAAA,EAAA,EAAA,KACA,MAAA,eA+BE,cAhDJ,KAAA,EAAA,EAAA,KACA,MAAA,KAqDQ,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,YA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,WAhEN,KAAA,EAAA,EAAA,KACA,MAAA,IA+DM,YAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,YAhEN,KAAA,EAAA,EAAA,KACA,MAAA,aA+DM,YAhEN,KAAA,EAAA,EAAA,KACA,MAAA,KAuEQ,cAxDV,YAAA,EAwDU,cAxDV,YAAA,YAwDU,cAxDV,YAAA,aAwDU,cAxDV,YAAA,IAwDU,cAxDV,YAAA,aAwDU,cAxDV,YAAA,aAwDU,cAxDV,YAAA,IAwDU,cAxDV,YAAA,aAwDU,cAxDV,YAAA,aAwDU,cAxDV,YAAA,IAwDU,eAxDV,YAAA,aAwDU,eAxDV,YAAA,aAmEM,SJmsCR,UIjsCU,cAAA,EAGF,SJmsCR,UIjsCU,cAAA,EAPF,SJ6sCR,UI3sCU,cAAA,QAGF,SJ6sCR,UI3sCU,cAAA,QAPF,SJutCR,UIrtCU,cAAA,OAGF,SJutCR,UIrtCU,cAAA,OAPF,SJiuCR,UI/tCU,cAAA,KAGF,SJiuCR,UI/tCU,cAAA,KAPF,SJ2uCR,UIzuCU,cAAA,OAGF,SJ2uCR,UIzuCU,cAAA,OAPF,SJqvCR,UInvCU,cAAA,KAGF,SJqvCR,UInvCU,cAAA,MCzDF,UAOI,QAAA,iBAPJ,gBAOI,QAAA,uBAPJ,SAOI,QAAA,gBAPJ,QAOI,QAAA,eAPJ,SAOI,QAAA,gBAPJ,aAOI,QAAA,oBAPJ,cAOI,QAAA,qBAPJ,QAOI,QAAA,eAPJ,eAOI,QAAA,sBAPJ,QAOI,QAAA,eAPJ,WAOI,KAAA,EAAA,EAAA,eAPJ,UAOI,eAAA,cAPJ,aAOI,eAAA,iBAPJ,kBAOI,eAAA,sBAPJ,qBAOI,eAAA,yBAPJ,aAOI,UAAA,YAPJ,aAOI,UAAA,YAPJ,eAOI,YAAA,YAPJ,eAOI,YAAA,YAPJ,WAOI,UAAA,eAPJ,aAOI,UAAA,iBAPJ,mBAOI,UAAA,uBAPJ,uBAOI,gBAAA,qBAPJ,qBAOI,gBAAA,mBAPJ,wBAOI,gBAAA,iBAPJ,yBAOI,gBAAA,wBAPJ,wBAOI,gBAAA,uBAPJ,wBAOI,gBAAA,uBAPJ,mBAOI,YAAA,qBAPJ,iBAOI,YAAA,mBAPJ,oBAOI,YAAA,iBAPJ,sBAOI,YAAA,mBAPJ,qBAOI,YAAA,kBAPJ,qBAOI,cAAA,qBAPJ,mBAOI,cAAA,mBAPJ,sBAOI,cAAA,iBAPJ,uBAOI,cAAA,wBAPJ,sBAOI,cAAA,uBAPJ,uBAOI,cAAA,kBAPJ,iBAOI,WAAA,eAPJ,kBAOI,WAAA,qBAPJ,gBAOI,WAAA,mBAPJ,mBAOI,WAAA,iBAPJ,qBAOI,WAAA,mBAPJ,oBAOI,WAAA,kBAPJ,aAOI,MAAA,aAPJ,SAOI,MAAA,YAPJ,SAOI,MAAA,YAPJ,SAOI,MAAA,YAPJ,SAOI,MAAA,YAPJ,SAOI,MAAA,YAPJ,SAOI,MAAA,YAPJ,YAOI,MAAA,YAPJ,KAOI,OAAA,YAPJ,KAOI,OAAA,iBAPJ,KAOI,OAAA,gBAPJ,KAOI,OAAA,eAPJ,KAOI,OAAA,iBAPJ,KAOI,OAAA,eAPJ,QAOI,OAAA,eAPJ,MAOI,aAAA,YAAA,YAAA,YAPJ,MAOI,aAAA,iBAAA,YAAA,iBAPJ,MAOI,aAAA,gBAAA,YAAA,gBAPJ,MAOI,aAAA,eAAA,YAAA,eAPJ,MAOI,aAAA,iBAAA,YAAA,iBAPJ,MAOI,aAAA,eAAA,YAAA,eAPJ,SAOI,aAAA,eAAA,YAAA,eAPJ,MAOI,WAAA,YAAA,cAAA,YAPJ,MAOI,WAAA,iBAAA,cAAA,iBAPJ,MAOI,WAAA,gBAAA,cAAA,gBAPJ,MAOI,WAAA,eAAA,cAAA,eAPJ,MAOI,WAAA,iBAAA,cAAA,iBAPJ,MAOI,WAAA,eAAA,cAAA,eAPJ,SAOI,WAAA,eAAA,cAAA,eAPJ,MAOI,WAAA,YAPJ,MAOI,WAAA,iBAPJ,MAOI,WAAA,gBAPJ,MAOI,WAAA,eAPJ,MAOI,WAAA,iBAPJ,MAOI,WAAA,eAPJ,SAOI,WAAA,eAPJ,MAOI,aAAA,YAPJ,MAOI,aAAA,iBAPJ,MAOI,aAAA,gBAPJ,MAOI,aAAA,eAPJ,MAOI,aAAA,iBAPJ,MAOI,aAAA,eAPJ,SAOI,aAAA,eAPJ,MAOI,cAAA,YAPJ,MAOI,cAAA,iBAPJ,MAOI,cAAA,gBAPJ,MAOI,cAAA,eAPJ,MAOI,cAAA,iBAPJ,MAOI,cAAA,eAPJ,SAOI,cAAA,eAPJ,MAOI,YAAA,YAPJ,MAOI,YAAA,iBAPJ,MAOI,YAAA,gBAPJ,MAOI,YAAA,eAPJ,MAOI,YAAA,iBAPJ,MAOI,YAAA,eAPJ,SAOI,YAAA,eAPJ,KAOI,QAAA,YAPJ,KAOI,QAAA,iBAPJ,KAOI,QAAA,gBAPJ,KAOI,QAAA,eAPJ,KAOI,QAAA,iBAPJ,KAOI,QAAA,eAPJ,MAOI,cAAA,YAAA,aAAA,YAPJ,MAOI,cAAA,iBAAA,aAAA,iBAPJ,MAOI,cAAA,gBAAA,aAAA,gBAPJ,MAOI,cAAA,eAAA,aAAA,eAPJ,MAOI,cAAA,iBAAA,aAAA,iBAPJ,MAOI,cAAA,eAAA,aAAA,eAPJ,MAOI,YAAA,YAAA,eAAA,YAPJ,MAOI,YAAA,iBAAA,eAAA,iBAPJ,MAOI,YAAA,gBAAA,eAAA,gBAPJ,MAOI,YAAA,eAAA,eAAA,eAPJ,MAOI,YAAA,iBAAA,eAAA,iBAPJ,MAOI,YAAA,eAAA,eAAA,eAPJ,MAOI,YAAA,YAPJ,MAOI,YAAA,iBAPJ,MAOI,YAAA,gBAPJ,MAOI,YAAA,eAPJ,MAOI,YAAA,iBAPJ,MAOI,YAAA,eAPJ,MAOI,cAAA,YAPJ,MAOI,cAAA,iBAPJ,MAOI,cAAA,gBAPJ,MAOI,cAAA,eAPJ,MAOI,cAAA,iBAPJ,MAOI,cAAA,eAPJ,MAOI,eAAA,YAPJ,MAOI,eAAA,iBAPJ,MAOI,eAAA,gBAPJ,MAOI,eAAA,eAPJ,MAOI,eAAA,iBAPJ,MAOI,eAAA,eAPJ,MAOI,aAAA,YAPJ,MAOI,aAAA,iBAPJ,MAOI,aAAA,gBAPJ,MAOI,aAAA,eAPJ,MAOI,aAAA,iBAPJ,MAOI,aAAA,eHPR,yBGAI,aAOI,QAAA,iBAPJ,mBAOI,QAAA,uBAPJ,YAOI,QAAA,gBAPJ,WAOI,QAAA,eAPJ,YAOI,QAAA,gBAPJ,gBAOI,QAAA,oBAPJ,iBAOI,QAAA,qBAPJ,WAOI,QAAA,eAPJ,kBAOI,QAAA,sBAPJ,WAOI,QAAA,eAPJ,cAOI,KAAA,EAAA,EAAA,eAPJ,aAOI,eAAA,cAPJ,gBAOI,eAAA,iBAPJ,qBAOI,eAAA,sBAPJ,wBAOI,eAAA,yBAPJ,gBAOI,UAAA,YAPJ,gBAOI,UAAA,YAPJ,kBAOI,YAAA,YAPJ,kBAOI,YAAA,YAPJ,cAOI,UAAA,eAPJ,gBAOI,UAAA,iBAPJ,sBAOI,UAAA,uBAPJ,0BAOI,gBAAA,qBAPJ,wBAOI,gBAAA,mBAPJ,2BAOI,gBAAA,iBAPJ,4BAOI,gBAAA,wBAPJ,2BAOI,gBAAA,uBAPJ,2BAOI,gBAAA,uBAPJ,sBAOI,YAAA,qBAPJ,oBAOI,YAAA,mBAPJ,uBAOI,YAAA,iBAPJ,yBAOI,YAAA,mBAPJ,wBAOI,YAAA,kBAPJ,wBAOI,cAAA,qBAPJ,sBAOI,cAAA,mBAPJ,yBAOI,cAAA,iBAPJ,0BAOI,cAAA,wBAPJ,yBAOI,cAAA,uBAPJ,0BAOI,cAAA,kBAPJ,oBAOI,WAAA,eAPJ,qBAOI,WAAA,qBAPJ,mBAOI,WAAA,mBAPJ,sBAOI,WAAA,iBAPJ,wBAOI,WAAA,mBAPJ,uBAOI,WAAA,kBAPJ,gBAOI,MAAA,aAPJ,YAOI,MAAA,YAPJ,YAOI,MAAA,YAPJ,YAOI,MAAA,YAPJ,YAOI,MAAA,YAPJ,YAOI,MAAA,YAPJ,YAOI,MAAA,YAPJ,eAOI,MAAA,YAPJ,QAOI,OAAA,YAPJ,QAOI,OAAA,iBAPJ,QAOI,OAAA,gBAPJ,QAOI,OAAA,eAPJ,QAOI,OAAA,iBAPJ,QAOI,OAAA,eAPJ,WAOI,OAAA,eAPJ,SAOI,aAAA,YAAA,YAAA,YAPJ,SAOI,aAAA,iBAAA,YAAA,iBAPJ,SAOI,aAAA,gBAAA,YAAA,gBAPJ,SAOI,aAAA,eAAA,YAAA,eAPJ,SAOI,aAAA,iBAAA,YAAA,iBAPJ,SAOI,aAAA,eAAA,YAAA,eAPJ,YAOI,aAAA,eAAA,YAAA,eAPJ,SAOI,WAAA,YAAA,cAAA,YAPJ,SAOI,WAAA,iBAAA,cAAA,iBAPJ,SAOI,WAAA,gBAAA,cAAA,gBAPJ,SAOI,WAAA,eAAA,cAAA,eAPJ,SAOI,WAAA,iBAAA,cAAA,iBAPJ,SAOI,WAAA,eAAA,cAAA,eAPJ,YAOI,WAAA,eAAA,cAAA,eAPJ,SAOI,WAAA,YAPJ,SAOI,WAAA,iBAPJ,SAOI,WAAA,gBAPJ,SAOI,WAAA,eAPJ,SAOI,WAAA,iBAPJ,SAOI,WAAA,eAPJ,YAOI,WAAA,eAPJ,SAOI,aAAA,YAPJ,SAOI,aAAA,iBAPJ,SAOI,aAAA,gBAPJ,SAOI,aAAA,eAPJ,SAOI,aAAA,iBAPJ,SAOI,aAAA,eAPJ,YAOI,aAAA,eAPJ,SAOI,cAAA,YAPJ,SAOI,cAAA,iBAPJ,SAOI,cAAA,gBAPJ,SAOI,cAAA,eAPJ,SAOI,cAAA,iBAPJ,SAOI,cAAA,eAPJ,YAOI,cAAA,eAPJ,SAOI,YAAA,YAPJ,SAOI,YAAA,iBAPJ,SAOI,YAAA,gBAPJ,SAOI,YAAA,eAPJ,SAOI,YAAA,iBAPJ,SAOI,YAAA,eAPJ,YAOI,YAAA,eAPJ,QAOI,QAAA,YAPJ,QAOI,QAAA,iBAPJ,QAOI,QAAA,gBAPJ,QAOI,QAAA,eAPJ,QAOI,QAAA,iBAPJ,QAOI,QAAA,eAPJ,SAOI,cAAA,YAAA,aAAA,YAPJ,SAOI,cAAA,iBAAA,aAAA,iBAPJ,SAOI,cAAA,gBAAA,aAAA,gBAPJ,SAOI,cAAA,eAAA,aAAA,eAPJ,SAOI,cAAA,iBAAA,aAAA,iBAPJ,SAOI,cAAA,eAAA,aAAA,eAPJ,SAOI,YAAA,YAAA,eAAA,YAPJ,SAOI,YAAA,iBAAA,eAAA,iBAPJ,SAOI,YAAA,gBAAA,eAAA,gBAPJ,SAOI,YAAA,eAAA,eAAA,eAPJ,SAOI,YAAA,iBAAA,eAAA,iBAPJ,SAOI,YAAA,eAAA,eAAA,eAPJ,SAOI,YAAA,YAPJ,SAOI,YAAA,iBAPJ,SAOI,YAAA,gBAPJ,SAOI,YAAA,eAPJ,SAOI,YAAA,iBAPJ,SAOI,YAAA,eAPJ,SAOI,cAAA,YAPJ,SAOI,cAAA,iBAPJ,SAOI,cAAA,gBAPJ,SAOI,cAAA,eAPJ,SAOI,cAAA,iBAPJ,SAOI,cAAA,eAPJ,SAOI,eAAA,YAPJ,SAOI,eAAA,iBAPJ,SAOI,eAAA,gBAPJ,SAOI,eAAA,eAPJ,SAOI,eAAA,iBAPJ,SAOI,eAAA,eAPJ,SAOI,aAAA,YAPJ,SAOI,aAAA,iBAPJ,SAOI,aAAA,gBAPJ,SAOI,aAAA,eAPJ,SAOI,aAAA,iBAPJ,SAOI,aAAA,gBHPR,yBGAI,aAOI,QAAA,iBAPJ,mBAOI,QAAA,uBAPJ,YAOI,QAAA,gBAPJ,WAOI,QAAA,eAPJ,YAOI,QAAA,gBAPJ,gBAOI,QAAA,oBAPJ,iBAOI,QAAA,qBAPJ,WAOI,QAAA,eAPJ,kBAOI,QAAA,sBAPJ,WAOI,QAAA,eAPJ,cAOI,KAAA,EAAA,EAAA,eAPJ,aAOI,eAAA,cAPJ,gBAOI,eAAA,iBAPJ,qBAOI,eAAA,sBAPJ,wBAOI,eAAA,yBAPJ,gBAOI,UAAA,YAPJ,gBAOI,UAAA,YAPJ,kBAOI,YAAA,YAPJ,kBAOI,YAAA,YAPJ,cAOI,UAAA,eAPJ,gBAOI,UAAA,iBAPJ,sBAOI,UAAA,uBAPJ,0BAOI,gBAAA,qBAPJ,wBAOI,gBAAA,mBAPJ,2BAOI,gBAAA,iBAPJ,4BAOI,gBAAA,wBAPJ,2BAOI,gBAAA,uBAPJ,2BAOI,gBAAA,uBAPJ,sBAOI,YAAA,qBAPJ,oBAOI,YAAA,mBAPJ,uBAOI,YAAA,iBAPJ,yBAOI,YAAA,mBAPJ,wBAOI,YAAA,kBAPJ,wBAOI,cAAA,qBAPJ,sBAOI,cAAA,mBAPJ,yBAOI,cAAA,iBAPJ,0BAOI,cAAA,wBAPJ,yBAOI,cAAA,uBAPJ,0BAOI,cAAA,kBAPJ,oBAOI,WAAA,eAPJ,qBAOI,WAAA,qBAPJ,mBAOI,WAAA,mBAPJ,sBAOI,WAAA,iBAPJ,wBAOI,WAAA,mBAPJ,uBAOI,WAAA,kBAPJ,gBAOI,MAAA,aAPJ,YAOI,MAAA,YAPJ,YAOI,MAAA,YAPJ,YAOI,MAAA,YAPJ,YAOI,MAAA,YAPJ,YAOI,MAAA,YAPJ,YAOI,MAAA,YAPJ,eAOI,MAAA,YAPJ,QAOI,OAAA,YAPJ,QAOI,OAAA,iBAPJ,QAOI,OAAA,gBAPJ,QAOI,OAAA,eAPJ,QAOI,OAAA,iBAPJ,QAOI,OAAA,eAPJ,WAOI,OAAA,eAPJ,SAOI,aAAA,YAAA,YAAA,YAPJ,SAOI,aAAA,iBAAA,YAAA,iBAPJ,SAOI,aAAA,gBAAA,YAAA,gBAPJ,SAOI,aAAA,eAAA,YAAA,eAPJ,SAOI,aAAA,iBAAA,YAAA,iBAPJ,SAOI,aAAA,eAAA,YAAA,eAPJ,YAOI,aAAA,eAAA,YAAA,eAPJ,SAOI,WAAA,YAAA,cAAA,YAPJ,SAOI,WAAA,iBAAA,cAAA,iBAPJ,SAOI,WAAA,gBAAA,cAAA,gBAPJ,SAOI,WAAA,eAAA,cAAA,eAPJ,SAOI,WAAA,iBAAA,cAAA,iBAPJ,SAOI,WAAA,eAAA,cAAA,eAPJ,YAOI,WAAA,eAAA,cAAA,eAPJ,SAOI,WAAA,YAPJ,SAOI,WAAA,iBAPJ,SAOI,WAAA,gBAPJ,SAOI,WAAA,eAPJ,SAOI,WAAA,iBAPJ,SAOI,WAAA,eAPJ,YAOI,WAAA,eAPJ,SAOI,aAAA,YAPJ,SAOI,aAAA,iBAPJ,SAOI,aAAA,gBAPJ,SAOI,aAAA,eAPJ,SAOI,aAAA,iBAPJ,SAOI,aAAA,eAPJ,YAOI,aAAA,eAPJ,SAOI,cAAA,YAPJ,SAOI,cAAA,iBAPJ,SAOI,cAAA,gBAPJ,SAOI,cAAA,eAPJ,SAOI,cAAA,iBAPJ,SAOI,cAAA,eAPJ,YAOI,cAAA,eAPJ,SAOI,YAAA,YAPJ,SAOI,YAAA,iBAPJ,SAOI,YAAA,gBAPJ,SAOI,YAAA,eAPJ,SAOI,YAAA,iBAPJ,SAOI,YAAA,eAPJ,YAOI,YAAA,eAPJ,QAOI,QAAA,YAPJ,QAOI,QAAA,iBAPJ,QAOI,QAAA,gBAPJ,QAOI,QAAA,eAPJ,QAOI,QAAA,iBAPJ,QAOI,QAAA,eAPJ,SAOI,cAAA,YAAA,aAAA,YAPJ,SAOI,cAAA,iBAAA,aAAA,iBAPJ,SAOI,cAAA,gBAAA,aAAA,gBAPJ,SAOI,cAAA,eAAA,aAAA,eAPJ,SAOI,cAAA,iBAAA,aAAA,iBAPJ,SAOI,cAAA,eAAA,aAAA,eAPJ,SAOI,YAAA,YAAA,eAAA,YAPJ,SAOI,YAAA,iBAAA,eAAA,iBAPJ,SAOI,YAAA,gBAAA,eAAA,gBAPJ,SAOI,YAAA,eAAA,eAAA,eAPJ,SAOI,YAAA,iBAAA,eAAA,iBAPJ,SAOI,YAAA,eAAA,eAAA,eAPJ,SAOI,YAAA,YAPJ,SAOI,YAAA,iBAPJ,SAOI,YAAA,gBAPJ,SAOI,YAAA,eAPJ,SAOI,YAAA,iBAPJ,SAOI,YAAA,eAPJ,SAOI,cAAA,YAPJ,SAOI,cAAA,iBAPJ,SAOI,cAAA,gBAPJ,SAOI,cAAA,eAPJ,SAOI,cAAA,iBAPJ,SAOI,cAAA,eAPJ,SAOI,eAAA,YAPJ,SAOI,eAAA,iBAPJ,SAOI,eAAA,gBAPJ,SAOI,eAAA,eAPJ,SAOI,eAAA,iBAPJ,SAOI,eAAA,eAPJ,SAOI,aAAA,YAPJ,SAOI,aAAA,iBAPJ,SAOI,aAAA,gBAPJ,SAOI,aAAA,eAPJ,SAOI,aAAA,iBAPJ,SAOI,aAAA,gBHPR,yBGAI,aAOI,QAAA,iBAPJ,mBAOI,QAAA,uBAPJ,YAOI,QAAA,gBAPJ,WAOI,QAAA,eAPJ,YAOI,QAAA,gBAPJ,gBAOI,QAAA,oBAPJ,iBAOI,QAAA,qBAPJ,WAOI,QAAA,eAPJ,kBAOI,QAAA,sBAPJ,WAOI,QAAA,eAPJ,cAOI,KAAA,EAAA,EAAA,eAPJ,aAOI,eAAA,cAPJ,gBAOI,eAAA,iBAPJ,qBAOI,eAAA,sBAPJ,wBAOI,eAAA,yBAPJ,gBAOI,UAAA,YAPJ,gBAOI,UAAA,YAPJ,kBAOI,YAAA,YAPJ,kBAOI,YAAA,YAPJ,cAOI,UAAA,eAPJ,gBAOI,UAAA,iBAPJ,sBAOI,UAAA,uBAPJ,0BAOI,gBAAA,qBAPJ,wBAOI,gBAAA,mBAPJ,2BAOI,gBAAA,iBAPJ,4BAOI,gBAAA,wBAPJ,2BAOI,gBAAA,uBAPJ,2BAOI,gBAAA,uBAPJ,sBAOI,YAAA,qBAPJ,oBAOI,YAAA,mBAPJ,uBAOI,YAAA,iBAPJ,yBAOI,YAAA,mBAPJ,wBAOI,YAAA,kBAPJ,wBAOI,cAAA,qBAPJ,sBAOI,cAAA,mBAPJ,yBAOI,cAAA,iBAPJ,0BAOI,cAAA,wBAPJ,yBAOI,cAAA,uBAPJ,0BAOI,cAAA,kBAPJ,oBAOI,WAAA,eAPJ,qBAOI,WAAA,qBAPJ,mBAOI,WAAA,mBAPJ,sBAOI,WAAA,iBAPJ,wBAOI,WAAA,mBAPJ,uBAOI,WAAA,kBAPJ,gBAOI,MAAA,aAPJ,YAOI,MAAA,YAPJ,YAOI,MAAA,YAPJ,YAOI,MAAA,YAPJ,YAOI,MAAA,YAPJ,YAOI,MAAA,YAPJ,YAOI,MAAA,YAPJ,eAOI,MAAA,YAPJ,QAOI,OAAA,YAPJ,QAOI,OAAA,iBAPJ,QAOI,OAAA,gBAPJ,QAOI,OAAA,eAPJ,QAOI,OAAA,iBAPJ,QAOI,OAAA,eAPJ,WAOI,OAAA,eAPJ,SAOI,aAAA,YAAA,YAAA,YAPJ,SAOI,aAAA,iBAAA,YAAA,iBAPJ,SAOI,aAAA,gBAAA,YAAA,gBAPJ,SAOI,aAAA,eAAA,YAAA,eAPJ,SAOI,aAAA,iBAAA,YAAA,iBAPJ,SAOI,aAAA,eAAA,YAAA,eAPJ,YAOI,aAAA,eAAA,YAAA,eAPJ,SAOI,WAAA,YAAA,cAAA,YAPJ,SAOI,WAAA,iBAAA,cAAA,iBAPJ,SAOI,WAAA,gBAAA,cAAA,gBAPJ,SAOI,WAAA,eAAA,cAAA,eAPJ,SAOI,WAAA,iBAAA,cAAA,iBAPJ,SAOI,WAAA,eAAA,cAAA,eAPJ,YAOI,WAAA,eAAA,cAAA,eAPJ,SAOI,WAAA,YAPJ,SAOI,WAAA,iBAPJ,SAOI,WAAA,gBAPJ,SAOI,WAAA,eAPJ,SAOI,WAAA,iBAPJ,SAOI,WAAA,eAPJ,YAOI,WAAA,eAPJ,SAOI,aAAA,YAPJ,SAOI,aAAA,iBAPJ,SAOI,aAAA,gBAPJ,SAOI,aAAA,eAPJ,SAOI,aAAA,iBAPJ,SAOI,aAAA,eAPJ,YAOI,aAAA,eAPJ,SAOI,cAAA,YAPJ,SAOI,cAAA,iBAPJ,SAOI,cAAA,gBAPJ,SAOI,cAAA,eAPJ,SAOI,cAAA,iBAPJ,SAOI,cAAA,eAPJ,YAOI,cAAA,eAPJ,SAOI,YAAA,YAPJ,SAOI,YAAA,iBAPJ,SAOI,YAAA,gBAPJ,SAOI,YAAA,eAPJ,SAOI,YAAA,iBAPJ,SAOI,YAAA,eAPJ,YAOI,YAAA,eAPJ,QAOI,QAAA,YAPJ,QAOI,QAAA,iBAPJ,QAOI,QAAA,gBAPJ,QAOI,QAAA,eAPJ,QAOI,QAAA,iBAPJ,QAOI,QAAA,eAPJ,SAOI,cAAA,YAAA,aAAA,YAPJ,SAOI,cAAA,iBAAA,aAAA,iBAPJ,SAOI,cAAA,gBAAA,aAAA,gBAPJ,SAOI,cAAA,eAAA,aAAA,eAPJ,SAOI,cAAA,iBAAA,aAAA,iBAPJ,SAOI,cAAA,eAAA,aAAA,eAPJ,SAOI,YAAA,YAAA,eAAA,YAPJ,SAOI,YAAA,iBAAA,eAAA,iBAPJ,SAOI,YAAA,gBAAA,eAAA,gBAPJ,SAOI,YAAA,eAAA,eAAA,eAPJ,SAOI,YAAA,iBAAA,eAAA,iBAPJ,SAOI,YAAA,eAAA,eAAA,eAPJ,SAOI,YAAA,YAPJ,SAOI,YAAA,iBAPJ,SAOI,YAAA,gBAPJ,SAOI,YAAA,eAPJ,SAOI,YAAA,iBAPJ,SAOI,YAAA,eAPJ,SAOI,cAAA,YAPJ,SAOI,cAAA,iBAPJ,SAOI,cAAA,gBAPJ,SAOI,cAAA,eAPJ,SAOI,cAAA,iBAPJ,SAOI,cAAA,eAPJ,SAOI,eAAA,YAPJ,SAOI,eAAA,iBAPJ,SAOI,eAAA,gBAPJ,SAOI,eAAA,eAPJ,SAOI,eAAA,iBAPJ,SAOI,eAAA,eAPJ,SAOI,aAAA,YAPJ,SAOI,aAAA,iBAPJ,SAOI,aAAA,gBAPJ,SAOI,aAAA,eAPJ,SAOI,aAAA,iBAPJ,SAOI,aAAA,gBHPR,0BGAI,aAOI,QAAA,iBAPJ,mBAOI,QAAA,uBAPJ,YAOI,QAAA,gBAPJ,WAOI,QAAA,eAPJ,YAOI,QAAA,gBAPJ,gBAOI,QAAA,oBAPJ,iBAOI,QAAA,qBAPJ,WAOI,QAAA,eAPJ,kBAOI,QAAA,sBAPJ,WAOI,QAAA,eAPJ,cAOI,KAAA,EAAA,EAAA,eAPJ,aAOI,eAAA,cAPJ,gBAOI,eAAA,iBAPJ,qBAOI,eAAA,sBAPJ,wBAOI,eAAA,yBAPJ,gBAOI,UAAA,YAPJ,gBAOI,UAAA,YAPJ,kBAOI,YAAA,YAPJ,kBAOI,YAAA,YAPJ,cAOI,UAAA,eAPJ,gBAOI,UAAA,iBAPJ,sBAOI,UAAA,uBAPJ,0BAOI,gBAAA,qBAPJ,wBAOI,gBAAA,mBAPJ,2BAOI,gBAAA,iBAPJ,4BAOI,gBAAA,wBAPJ,2BAOI,gBAAA,uBAPJ,2BAOI,gBAAA,uBAPJ,sBAOI,YAAA,qBAPJ,oBAOI,YAAA,mBAPJ,uBAOI,YAAA,iBAPJ,yBAOI,YAAA,mBAPJ,wBAOI,YAAA,kBAPJ,wBAOI,cAAA,qBAPJ,sBAOI,cAAA,mBAPJ,yBAOI,cAAA,iBAPJ,0BAOI,cAAA,wBAPJ,yBAOI,cAAA,uBAPJ,0BAOI,cAAA,kBAPJ,oBAOI,WAAA,eAPJ,qBAOI,WAAA,qBAPJ,mBAOI,WAAA,mBAPJ,sBAOI,WAAA,iBAPJ,wBAOI,WAAA,mBAPJ,uBAOI,WAAA,kBAPJ,gBAOI,MAAA,aAPJ,YAOI,MAAA,YAPJ,YAOI,MAAA,YAPJ,YAOI,MAAA,YAPJ,YAOI,MAAA,YAPJ,YAOI,MAAA,YAPJ,YAOI,MAAA,YAPJ,eAOI,MAAA,YAPJ,QAOI,OAAA,YAPJ,QAOI,OAAA,iBAPJ,QAOI,OAAA,gBAPJ,QAOI,OAAA,eAPJ,QAOI,OAAA,iBAPJ,QAOI,OAAA,eAPJ,WAOI,OAAA,eAPJ,SAOI,aAAA,YAAA,YAAA,YAPJ,SAOI,aAAA,iBAAA,YAAA,iBAPJ,SAOI,aAAA,gBAAA,YAAA,gBAPJ,SAOI,aAAA,eAAA,YAAA,eAPJ,SAOI,aAAA,iBAAA,YAAA,iBAPJ,SAOI,aAAA,eAAA,YAAA,eAPJ,YAOI,aAAA,eAAA,YAAA,eAPJ,SAOI,WAAA,YAAA,cAAA,YAPJ,SAOI,WAAA,iBAAA,cAAA,iBAPJ,SAOI,WAAA,gBAAA,cAAA,gBAPJ,SAOI,WAAA,eAAA,cAAA,eAPJ,SAOI,WAAA,iBAAA,cAAA,iBAPJ,SAOI,WAAA,eAAA,cAAA,eAPJ,YAOI,WAAA,eAAA,cAAA,eAPJ,SAOI,WAAA,YAPJ,SAOI,WAAA,iBAPJ,SAOI,WAAA,gBAPJ,SAOI,WAAA,eAPJ,SAOI,WAAA,iBAPJ,SAOI,WAAA,eAPJ,YAOI,WAAA,eAPJ,SAOI,aAAA,YAPJ,SAOI,aAAA,iBAPJ,SAOI,aAAA,gBAPJ,SAOI,aAAA,eAPJ,SAOI,aAAA,iBAPJ,SAOI,aAAA,eAPJ,YAOI,aAAA,eAPJ,SAOI,cAAA,YAPJ,SAOI,cAAA,iBAPJ,SAOI,cAAA,gBAPJ,SAOI,cAAA,eAPJ,SAOI,cAAA,iBAPJ,SAOI,cAAA,eAPJ,YAOI,cAAA,eAPJ,SAOI,YAAA,YAPJ,SAOI,YAAA,iBAPJ,SAOI,YAAA,gBAPJ,SAOI,YAAA,eAPJ,SAOI,YAAA,iBAPJ,SAOI,YAAA,eAPJ,YAOI,YAAA,eAPJ,QAOI,QAAA,YAPJ,QAOI,QAAA,iBAPJ,QAOI,QAAA,gBAPJ,QAOI,QAAA,eAPJ,QAOI,QAAA,iBAPJ,QAOI,QAAA,eAPJ,SAOI,cAAA,YAAA,aAAA,YAPJ,SAOI,cAAA,iBAAA,aAAA,iBAPJ,SAOI,cAAA,gBAAA,aAAA,gBAPJ,SAOI,cAAA,eAAA,aAAA,eAPJ,SAOI,cAAA,iBAAA,aAAA,iBAPJ,SAOI,cAAA,eAAA,aAAA,eAPJ,SAOI,YAAA,YAAA,eAAA,YAPJ,SAOI,YAAA,iBAAA,eAAA,iBAPJ,SAOI,YAAA,gBAAA,eAAA,gBAPJ,SAOI,YAAA,eAAA,eAAA,eAPJ,SAOI,YAAA,iBAAA,eAAA,iBAPJ,SAOI,YAAA,eAAA,eAAA,eAPJ,SAOI,YAAA,YAPJ,SAOI,YAAA,iBAPJ,SAOI,YAAA,gBAPJ,SAOI,YAAA,eAPJ,SAOI,YAAA,iBAPJ,SAOI,YAAA,eAPJ,SAOI,cAAA,YAPJ,SAOI,cAAA,iBAPJ,SAOI,cAAA,gBAPJ,SAOI,cAAA,eAPJ,SAOI,cAAA,iBAPJ,SAOI,cAAA,eAPJ,SAOI,eAAA,YAPJ,SAOI,eAAA,iBAPJ,SAOI,eAAA,gBAPJ,SAOI,eAAA,eAPJ,SAOI,eAAA,iBAPJ,SAOI,eAAA,eAPJ,SAOI,aAAA,YAPJ,SAOI,aAAA,iBAPJ,SAOI,aAAA,gBAPJ,SAOI,aAAA,eAPJ,SAOI,aAAA,iBAPJ,SAOI,aAAA,gBHPR,0BGAI,cAOI,QAAA,iBAPJ,oBAOI,QAAA,uBAPJ,aAOI,QAAA,gBAPJ,YAOI,QAAA,eAPJ,aAOI,QAAA,gBAPJ,iBAOI,QAAA,oBAPJ,kBAOI,QAAA,qBAPJ,YAOI,QAAA,eAPJ,mBAOI,QAAA,sBAPJ,YAOI,QAAA,eAPJ,eAOI,KAAA,EAAA,EAAA,eAPJ,cAOI,eAAA,cAPJ,iBAOI,eAAA,iBAPJ,sBAOI,eAAA,sBAPJ,yBAOI,eAAA,yBAPJ,iBAOI,UAAA,YAPJ,iBAOI,UAAA,YAPJ,mBAOI,YAAA,YAPJ,mBAOI,YAAA,YAPJ,eAOI,UAAA,eAPJ,iBAOI,UAAA,iBAPJ,uBAOI,UAAA,uBAPJ,2BAOI,gBAAA,qBAPJ,yBAOI,gBAAA,mBAPJ,4BAOI,gBAAA,iBAPJ,6BAOI,gBAAA,wBAPJ,4BAOI,gBAAA,uBAPJ,4BAOI,gBAAA,uBAPJ,uBAOI,YAAA,qBAPJ,qBAOI,YAAA,mBAPJ,wBAOI,YAAA,iBAPJ,0BAOI,YAAA,mBAPJ,yBAOI,YAAA,kBAPJ,yBAOI,cAAA,qBAPJ,uBAOI,cAAA,mBAPJ,0BAOI,cAAA,iBAPJ,2BAOI,cAAA,wBAPJ,0BAOI,cAAA,uBAPJ,2BAOI,cAAA,kBAPJ,qBAOI,WAAA,eAPJ,sBAOI,WAAA,qBAPJ,oBAOI,WAAA,mBAPJ,uBAOI,WAAA,iBAPJ,yBAOI,WAAA,mBAPJ,wBAOI,WAAA,kBAPJ,iBAOI,MAAA,aAPJ,aAOI,MAAA,YAPJ,aAOI,MAAA,YAPJ,aAOI,MAAA,YAPJ,aAOI,MAAA,YAPJ,aAOI,MAAA,YAPJ,aAOI,MAAA,YAPJ,gBAOI,MAAA,YAPJ,SAOI,OAAA,YAPJ,SAOI,OAAA,iBAPJ,SAOI,OAAA,gBAPJ,SAOI,OAAA,eAPJ,SAOI,OAAA,iBAPJ,SAOI,OAAA,eAPJ,YAOI,OAAA,eAPJ,UAOI,aAAA,YAAA,YAAA,YAPJ,UAOI,aAAA,iBAAA,YAAA,iBAPJ,UAOI,aAAA,gBAAA,YAAA,gBAPJ,UAOI,aAAA,eAAA,YAAA,eAPJ,UAOI,aAAA,iBAAA,YAAA,iBAPJ,UAOI,aAAA,eAAA,YAAA,eAPJ,aAOI,aAAA,eAAA,YAAA,eAPJ,UAOI,WAAA,YAAA,cAAA,YAPJ,UAOI,WAAA,iBAAA,cAAA,iBAPJ,UAOI,WAAA,gBAAA,cAAA,gBAPJ,UAOI,WAAA,eAAA,cAAA,eAPJ,UAOI,WAAA,iBAAA,cAAA,iBAPJ,UAOI,WAAA,eAAA,cAAA,eAPJ,aAOI,WAAA,eAAA,cAAA,eAPJ,UAOI,WAAA,YAPJ,UAOI,WAAA,iBAPJ,UAOI,WAAA,gBAPJ,UAOI,WAAA,eAPJ,UAOI,WAAA,iBAPJ,UAOI,WAAA,eAPJ,aAOI,WAAA,eAPJ,UAOI,aAAA,YAPJ,UAOI,aAAA,iBAPJ,UAOI,aAAA,gBAPJ,UAOI,aAAA,eAPJ,UAOI,aAAA,iBAPJ,UAOI,aAAA,eAPJ,aAOI,aAAA,eAPJ,UAOI,cAAA,YAPJ,UAOI,cAAA,iBAPJ,UAOI,cAAA,gBAPJ,UAOI,cAAA,eAPJ,UAOI,cAAA,iBAPJ,UAOI,cAAA,eAPJ,aAOI,cAAA,eAPJ,UAOI,YAAA,YAPJ,UAOI,YAAA,iBAPJ,UAOI,YAAA,gBAPJ,UAOI,YAAA,eAPJ,UAOI,YAAA,iBAPJ,UAOI,YAAA,eAPJ,aAOI,YAAA,eAPJ,SAOI,QAAA,YAPJ,SAOI,QAAA,iBAPJ,SAOI,QAAA,gBAPJ,SAOI,QAAA,eAPJ,SAOI,QAAA,iBAPJ,SAOI,QAAA,eAPJ,UAOI,cAAA,YAAA,aAAA,YAPJ,UAOI,cAAA,iBAAA,aAAA,iBAPJ,UAOI,cAAA,gBAAA,aAAA,gBAPJ,UAOI,cAAA,eAAA,aAAA,eAPJ,UAOI,cAAA,iBAAA,aAAA,iBAPJ,UAOI,cAAA,eAAA,aAAA,eAPJ,UAOI,YAAA,YAAA,eAAA,YAPJ,UAOI,YAAA,iBAAA,eAAA,iBAPJ,UAOI,YAAA,gBAAA,eAAA,gBAPJ,UAOI,YAAA,eAAA,eAAA,eAPJ,UAOI,YAAA,iBAAA,eAAA,iBAPJ,UAOI,YAAA,eAAA,eAAA,eAPJ,UAOI,YAAA,YAPJ,UAOI,YAAA,iBAPJ,UAOI,YAAA,gBAPJ,UAOI,YAAA,eAPJ,UAOI,YAAA,iBAPJ,UAOI,YAAA,eAPJ,UAOI,cAAA,YAPJ,UAOI,cAAA,iBAPJ,UAOI,cAAA,gBAPJ,UAOI,cAAA,eAPJ,UAOI,cAAA,iBAPJ,UAOI,cAAA,eAPJ,UAOI,eAAA,YAPJ,UAOI,eAAA,iBAPJ,UAOI,eAAA,gBAPJ,UAOI,eAAA,eAPJ,UAOI,eAAA,iBAPJ,UAOI,eAAA,eAPJ,UAOI,aAAA,YAPJ,UAOI,aAAA,iBAPJ,UAOI,aAAA,gBAPJ,UAOI,aAAA,eAPJ,UAOI,aAAA,iBAPJ,UAOI,aAAA,gBChCZ,aDyBQ,gBAOI,QAAA,iBAPJ,sBAOI,QAAA,uBAPJ,eAOI,QAAA,gBAPJ,cAOI,QAAA,eAPJ,eAOI,QAAA,gBAPJ,mBAOI,QAAA,oBAPJ,oBAOI,QAAA,qBAPJ,cAOI,QAAA,eAPJ,qBAOI,QAAA,sBAPJ,cAOI,QAAA","sourcesContent":["/*!\n * Bootstrap Grid v5.1.1 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\n$include-column-box-sizing: true !default;\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/lists\";\n@import \"mixins/breakpoints\";\n@import \"mixins/container\";\n@import \"mixins/grid\";\n@import \"mixins/utilities\";\n\n@import \"vendor/rfs\";\n\n@import \"root\";\n\n@import \"containers\";\n@import \"grid\";\n\n@import \"utilities\";\n// Only use the utilities we need\n// stylelint-disable-next-line scss/dollar-variable-default\n$utilities: map-get-multiple(\n $utilities,\n (\n \"display\",\n \"order\",\n \"flex\",\n \"flex-direction\",\n \"flex-grow\",\n \"flex-shrink\",\n \"flex-wrap\",\n \"justify-content\",\n \"align-items\",\n \"align-content\",\n \"align-self\",\n \"margin\",\n \"margin-x\",\n \"margin-y\",\n \"margin-top\",\n \"margin-end\",\n \"margin-bottom\",\n \"margin-start\",\n \"negative-margin\",\n \"negative-margin-x\",\n \"negative-margin-y\",\n \"negative-margin-top\",\n \"negative-margin-end\",\n \"negative-margin-bottom\",\n \"negative-margin-start\",\n \"padding\",\n \"padding-x\",\n \"padding-y\",\n \"padding-top\",\n \"padding-end\",\n \"padding-bottom\",\n \"padding-start\",\n )\n);\n\n@import \"utilities/api\";\n",":root {\n // Note: Custom variable values only support SassScript inside `#{}`.\n\n // Colors\n //\n // Generate palettes for full colors, grays, and theme colors.\n\n @each $color, $value in $colors {\n --#{$variable-prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $grays {\n --#{$variable-prefix}gray-#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$variable-prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors-rgb {\n --#{$variable-prefix}#{$color}-rgb: #{$value};\n }\n\n --#{$variable-prefix}white-rgb: #{to-rgb($white)};\n --#{$variable-prefix}black-rgb: #{to-rgb($black)};\n --#{$variable-prefix}body-color-rgb: #{to-rgb($body-color)};\n --#{$variable-prefix}body-bg-rgb: #{to-rgb($body-bg)};\n\n // Fonts\n\n // Note: Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --#{$variable-prefix}font-sans-serif: #{inspect($font-family-sans-serif)};\n --#{$variable-prefix}font-monospace: #{inspect($font-family-monospace)};\n --#{$variable-prefix}gradient: #{$gradient};\n\n // Root and body\n // stylelint-disable custom-property-empty-line-before\n // scss-docs-start root-body-variables\n @if $font-size-root != null {\n --#{$variable-prefix}root-font-size: #{$font-size-root};\n }\n --#{$variable-prefix}body-font-family: #{$font-family-base};\n --#{$variable-prefix}body-font-size: #{$font-size-base};\n --#{$variable-prefix}body-font-weight: #{$font-weight-base};\n --#{$variable-prefix}body-line-height: #{$line-height-base};\n --#{$variable-prefix}body-color: #{$body-color};\n @if $body-text-align != null {\n --#{$variable-prefix}body-text-align: #{$body-text-align};\n }\n --#{$variable-prefix}body-bg: #{$body-bg};\n // scss-docs-end root-body-variables\n // stylelint-enable custom-property-empty-line-before\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n","/*!\n * Bootstrap Grid v5.1.1 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n:root {\n --bs-blue: #0d6efd;\n --bs-indigo: #6610f2;\n --bs-purple: #6f42c1;\n --bs-pink: #d63384;\n --bs-red: #dc3545;\n --bs-orange: #fd7e14;\n --bs-yellow: #ffc107;\n --bs-green: #198754;\n --bs-teal: #20c997;\n --bs-cyan: #0dcaf0;\n --bs-white: #fff;\n --bs-gray: #6c757d;\n --bs-gray-dark: #343a40;\n --bs-gray-100: #f8f9fa;\n --bs-gray-200: #e9ecef;\n --bs-gray-300: #dee2e6;\n --bs-gray-400: #ced4da;\n --bs-gray-500: #adb5bd;\n --bs-gray-600: #6c757d;\n --bs-gray-700: #495057;\n --bs-gray-800: #343a40;\n --bs-gray-900: #212529;\n --bs-primary: #0d6efd;\n --bs-secondary: #6c757d;\n --bs-success: #198754;\n --bs-info: #0dcaf0;\n --bs-warning: #ffc107;\n --bs-danger: #dc3545;\n --bs-light: #f8f9fa;\n --bs-dark: #212529;\n --bs-primary-rgb: 13, 110, 253;\n --bs-secondary-rgb: 108, 117, 125;\n --bs-success-rgb: 25, 135, 84;\n --bs-info-rgb: 13, 202, 240;\n --bs-warning-rgb: 255, 193, 7;\n --bs-danger-rgb: 220, 53, 69;\n --bs-light-rgb: 248, 249, 250;\n --bs-dark-rgb: 33, 37, 41;\n --bs-white-rgb: 255, 255, 255;\n --bs-black-rgb: 0, 0, 0;\n --bs-body-color-rgb: 33, 37, 41;\n --bs-body-bg-rgb: 255, 255, 255;\n --bs-font-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));\n --bs-body-font-family: var(--bs-font-sans-serif);\n --bs-body-font-size: 1rem;\n --bs-body-font-weight: 400;\n --bs-body-line-height: 1.5;\n --bs-body-color: #212529;\n --bs-body-bg: #fff;\n}\n\n.container,\n.container-fluid,\n.container-xxl,\n.container-xl,\n.container-lg,\n.container-md,\n.container-sm {\n width: 100%;\n padding-right: var(--bs-gutter-x, 0.75rem);\n padding-left: var(--bs-gutter-x, 0.75rem);\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container-sm, .container {\n max-width: 540px;\n }\n}\n@media (min-width: 768px) {\n .container-md, .container-sm, .container {\n max-width: 720px;\n }\n}\n@media (min-width: 992px) {\n .container-lg, .container-md, .container-sm, .container {\n max-width: 960px;\n }\n}\n@media (min-width: 1200px) {\n .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1140px;\n }\n}\n@media (min-width: 1400px) {\n .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1320px;\n }\n}\n.row {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(var(--bs-gutter-y) * -1);\n margin-right: calc(var(--bs-gutter-x) * -.5);\n margin-left: calc(var(--bs-gutter-x) * -.5);\n}\n.row > * {\n box-sizing: border-box;\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-right: calc(var(--bs-gutter-x) * .5);\n padding-left: calc(var(--bs-gutter-x) * .5);\n margin-top: var(--bs-gutter-y);\n}\n\n.col {\n flex: 1 0 0%;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.33333333%;\n}\n\n.offset-2 {\n margin-left: 16.66666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.33333333%;\n}\n\n.offset-5 {\n margin-left: 41.66666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.33333333%;\n}\n\n.offset-8 {\n margin-left: 66.66666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.33333333%;\n}\n\n.offset-11 {\n margin-left: 91.66666667%;\n}\n\n.g-0,\n.gx-0 {\n --bs-gutter-x: 0;\n}\n\n.g-0,\n.gy-0 {\n --bs-gutter-y: 0;\n}\n\n.g-1,\n.gx-1 {\n --bs-gutter-x: 0.25rem;\n}\n\n.g-1,\n.gy-1 {\n --bs-gutter-y: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n --bs-gutter-x: 0.5rem;\n}\n\n.g-2,\n.gy-2 {\n --bs-gutter-y: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n --bs-gutter-x: 1rem;\n}\n\n.g-3,\n.gy-3 {\n --bs-gutter-y: 1rem;\n}\n\n.g-4,\n.gx-4 {\n --bs-gutter-x: 1.5rem;\n}\n\n.g-4,\n.gy-4 {\n --bs-gutter-y: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n --bs-gutter-x: 3rem;\n}\n\n.g-5,\n.gy-5 {\n --bs-gutter-y: 3rem;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0%;\n }\n\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-sm-0 {\n margin-left: 0;\n }\n\n .offset-sm-1 {\n margin-left: 8.33333333%;\n }\n\n .offset-sm-2 {\n margin-left: 16.66666667%;\n }\n\n .offset-sm-3 {\n margin-left: 25%;\n }\n\n .offset-sm-4 {\n margin-left: 33.33333333%;\n }\n\n .offset-sm-5 {\n margin-left: 41.66666667%;\n }\n\n .offset-sm-6 {\n margin-left: 50%;\n }\n\n .offset-sm-7 {\n margin-left: 58.33333333%;\n }\n\n .offset-sm-8 {\n margin-left: 66.66666667%;\n }\n\n .offset-sm-9 {\n margin-left: 75%;\n }\n\n .offset-sm-10 {\n margin-left: 83.33333333%;\n }\n\n .offset-sm-11 {\n margin-left: 91.66666667%;\n }\n\n .g-sm-0,\n.gx-sm-0 {\n --bs-gutter-x: 0;\n }\n\n .g-sm-0,\n.gy-sm-0 {\n --bs-gutter-y: 0;\n }\n\n .g-sm-1,\n.gx-sm-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-sm-1,\n.gy-sm-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-sm-2,\n.gx-sm-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-sm-2,\n.gy-sm-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-sm-3,\n.gx-sm-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-sm-3,\n.gy-sm-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-sm-4,\n.gx-sm-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-sm-4,\n.gy-sm-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-sm-5,\n.gx-sm-5 {\n --bs-gutter-x: 3rem;\n }\n\n .g-sm-5,\n.gy-sm-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0%;\n }\n\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-md-0 {\n margin-left: 0;\n }\n\n .offset-md-1 {\n margin-left: 8.33333333%;\n }\n\n .offset-md-2 {\n margin-left: 16.66666667%;\n }\n\n .offset-md-3 {\n margin-left: 25%;\n }\n\n .offset-md-4 {\n margin-left: 33.33333333%;\n }\n\n .offset-md-5 {\n margin-left: 41.66666667%;\n }\n\n .offset-md-6 {\n margin-left: 50%;\n }\n\n .offset-md-7 {\n margin-left: 58.33333333%;\n }\n\n .offset-md-8 {\n margin-left: 66.66666667%;\n }\n\n .offset-md-9 {\n margin-left: 75%;\n }\n\n .offset-md-10 {\n margin-left: 83.33333333%;\n }\n\n .offset-md-11 {\n margin-left: 91.66666667%;\n }\n\n .g-md-0,\n.gx-md-0 {\n --bs-gutter-x: 0;\n }\n\n .g-md-0,\n.gy-md-0 {\n --bs-gutter-y: 0;\n }\n\n .g-md-1,\n.gx-md-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-md-1,\n.gy-md-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-md-2,\n.gx-md-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-md-2,\n.gy-md-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-md-3,\n.gx-md-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-md-3,\n.gy-md-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-md-4,\n.gx-md-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-md-4,\n.gy-md-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-md-5,\n.gx-md-5 {\n --bs-gutter-x: 3rem;\n }\n\n .g-md-5,\n.gy-md-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0%;\n }\n\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-lg-0 {\n margin-left: 0;\n }\n\n .offset-lg-1 {\n margin-left: 8.33333333%;\n }\n\n .offset-lg-2 {\n margin-left: 16.66666667%;\n }\n\n .offset-lg-3 {\n margin-left: 25%;\n }\n\n .offset-lg-4 {\n margin-left: 33.33333333%;\n }\n\n .offset-lg-5 {\n margin-left: 41.66666667%;\n }\n\n .offset-lg-6 {\n margin-left: 50%;\n }\n\n .offset-lg-7 {\n margin-left: 58.33333333%;\n }\n\n .offset-lg-8 {\n margin-left: 66.66666667%;\n }\n\n .offset-lg-9 {\n margin-left: 75%;\n }\n\n .offset-lg-10 {\n margin-left: 83.33333333%;\n }\n\n .offset-lg-11 {\n margin-left: 91.66666667%;\n }\n\n .g-lg-0,\n.gx-lg-0 {\n --bs-gutter-x: 0;\n }\n\n .g-lg-0,\n.gy-lg-0 {\n --bs-gutter-y: 0;\n }\n\n .g-lg-1,\n.gx-lg-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-lg-1,\n.gy-lg-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-lg-2,\n.gx-lg-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-lg-2,\n.gy-lg-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-lg-3,\n.gx-lg-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-lg-3,\n.gy-lg-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-lg-4,\n.gx-lg-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-lg-4,\n.gy-lg-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-lg-5,\n.gx-lg-5 {\n --bs-gutter-x: 3rem;\n }\n\n .g-lg-5,\n.gy-lg-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0%;\n }\n\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-xl-0 {\n margin-left: 0;\n }\n\n .offset-xl-1 {\n margin-left: 8.33333333%;\n }\n\n .offset-xl-2 {\n margin-left: 16.66666667%;\n }\n\n .offset-xl-3 {\n margin-left: 25%;\n }\n\n .offset-xl-4 {\n margin-left: 33.33333333%;\n }\n\n .offset-xl-5 {\n margin-left: 41.66666667%;\n }\n\n .offset-xl-6 {\n margin-left: 50%;\n }\n\n .offset-xl-7 {\n margin-left: 58.33333333%;\n }\n\n .offset-xl-8 {\n margin-left: 66.66666667%;\n }\n\n .offset-xl-9 {\n margin-left: 75%;\n }\n\n .offset-xl-10 {\n margin-left: 83.33333333%;\n }\n\n .offset-xl-11 {\n margin-left: 91.66666667%;\n }\n\n .g-xl-0,\n.gx-xl-0 {\n --bs-gutter-x: 0;\n }\n\n .g-xl-0,\n.gy-xl-0 {\n --bs-gutter-y: 0;\n }\n\n .g-xl-1,\n.gx-xl-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-xl-1,\n.gy-xl-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-xl-2,\n.gx-xl-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-xl-2,\n.gy-xl-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-xl-3,\n.gx-xl-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-xl-3,\n.gy-xl-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-xl-4,\n.gx-xl-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-xl-4,\n.gy-xl-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-xl-5,\n.gx-xl-5 {\n --bs-gutter-x: 3rem;\n }\n\n .g-xl-5,\n.gy-xl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1400px) {\n .col-xxl {\n flex: 1 0 0%;\n }\n\n .row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-xxl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n\n .col-xxl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n\n .col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-xxl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n\n .col-xxl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n\n .col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-xxl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n\n .col-xxl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n\n .col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-xxl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n\n .col-xxl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n\n .col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-xxl-0 {\n margin-left: 0;\n }\n\n .offset-xxl-1 {\n margin-left: 8.33333333%;\n }\n\n .offset-xxl-2 {\n margin-left: 16.66666667%;\n }\n\n .offset-xxl-3 {\n margin-left: 25%;\n }\n\n .offset-xxl-4 {\n margin-left: 33.33333333%;\n }\n\n .offset-xxl-5 {\n margin-left: 41.66666667%;\n }\n\n .offset-xxl-6 {\n margin-left: 50%;\n }\n\n .offset-xxl-7 {\n margin-left: 58.33333333%;\n }\n\n .offset-xxl-8 {\n margin-left: 66.66666667%;\n }\n\n .offset-xxl-9 {\n margin-left: 75%;\n }\n\n .offset-xxl-10 {\n margin-left: 83.33333333%;\n }\n\n .offset-xxl-11 {\n margin-left: 91.66666667%;\n }\n\n .g-xxl-0,\n.gx-xxl-0 {\n --bs-gutter-x: 0;\n }\n\n .g-xxl-0,\n.gy-xxl-0 {\n --bs-gutter-y: 0;\n }\n\n .g-xxl-1,\n.gx-xxl-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-xxl-1,\n.gy-xxl-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-xxl-2,\n.gx-xxl-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-xxl-2,\n.gy-xxl-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-xxl-3,\n.gx-xxl-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-xxl-3,\n.gy-xxl-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-xxl-4,\n.gx-xxl-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-xxl-4,\n.gy-xxl-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-xxl-5,\n.gx-xxl-5 {\n --bs-gutter-x: 3rem;\n }\n\n .g-xxl-5,\n.gy-xxl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-grid {\n display: grid !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.me-0 {\n margin-right: 0 !important;\n}\n\n.me-1 {\n margin-right: 0.25rem !important;\n}\n\n.me-2 {\n margin-right: 0.5rem !important;\n}\n\n.me-3 {\n margin-right: 1rem !important;\n}\n\n.me-4 {\n margin-right: 1.5rem !important;\n}\n\n.me-5 {\n margin-right: 3rem !important;\n}\n\n.me-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ms-0 {\n margin-left: 0 !important;\n}\n\n.ms-1 {\n margin-left: 0.25rem !important;\n}\n\n.ms-2 {\n margin-left: 0.5rem !important;\n}\n\n.ms-3 {\n margin-left: 1rem !important;\n}\n\n.ms-4 {\n margin-left: 1.5rem !important;\n}\n\n.ms-5 {\n margin-left: 3rem !important;\n}\n\n.ms-auto {\n margin-left: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pe-0 {\n padding-right: 0 !important;\n}\n\n.pe-1 {\n padding-right: 0.25rem !important;\n}\n\n.pe-2 {\n padding-right: 0.5rem !important;\n}\n\n.pe-3 {\n padding-right: 1rem !important;\n}\n\n.pe-4 {\n padding-right: 1.5rem !important;\n}\n\n.pe-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.ps-0 {\n padding-left: 0 !important;\n}\n\n.ps-1 {\n padding-left: 0.25rem !important;\n}\n\n.ps-2 {\n padding-left: 0.5rem !important;\n}\n\n.ps-3 {\n padding-left: 1rem !important;\n}\n\n.ps-4 {\n padding-left: 1.5rem !important;\n}\n\n.ps-5 {\n padding-left: 3rem !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-inline {\n display: inline !important;\n }\n\n .d-sm-inline-block {\n display: inline-block !important;\n }\n\n .d-sm-block {\n display: block !important;\n }\n\n .d-sm-grid {\n display: grid !important;\n }\n\n .d-sm-table {\n display: table !important;\n }\n\n .d-sm-table-row {\n display: table-row !important;\n }\n\n .d-sm-table-cell {\n display: table-cell !important;\n }\n\n .d-sm-flex {\n display: flex !important;\n }\n\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n\n .d-sm-none {\n display: none !important;\n }\n\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-sm-row {\n flex-direction: row !important;\n }\n\n .flex-sm-column {\n flex-direction: column !important;\n }\n\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-sm-center {\n justify-content: center !important;\n }\n\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n\n .align-items-sm-center {\n align-items: center !important;\n }\n\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n\n .align-content-sm-center {\n align-content: center !important;\n }\n\n .align-content-sm-between {\n align-content: space-between !important;\n }\n\n .align-content-sm-around {\n align-content: space-around !important;\n }\n\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n\n .align-self-sm-auto {\n align-self: auto !important;\n }\n\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n\n .align-self-sm-center {\n align-self: center !important;\n }\n\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n\n .order-sm-first {\n order: -1 !important;\n }\n\n .order-sm-0 {\n order: 0 !important;\n }\n\n .order-sm-1 {\n order: 1 !important;\n }\n\n .order-sm-2 {\n order: 2 !important;\n }\n\n .order-sm-3 {\n order: 3 !important;\n }\n\n .order-sm-4 {\n order: 4 !important;\n }\n\n .order-sm-5 {\n order: 5 !important;\n }\n\n .order-sm-last {\n order: 6 !important;\n }\n\n .m-sm-0 {\n margin: 0 !important;\n }\n\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n\n .m-sm-3 {\n margin: 1rem !important;\n }\n\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n\n .m-sm-5 {\n margin: 3rem !important;\n }\n\n .m-sm-auto {\n margin: auto !important;\n }\n\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n\n .mt-sm-auto {\n margin-top: auto !important;\n }\n\n .me-sm-0 {\n margin-right: 0 !important;\n }\n\n .me-sm-1 {\n margin-right: 0.25rem !important;\n }\n\n .me-sm-2 {\n margin-right: 0.5rem !important;\n }\n\n .me-sm-3 {\n margin-right: 1rem !important;\n }\n\n .me-sm-4 {\n margin-right: 1.5rem !important;\n }\n\n .me-sm-5 {\n margin-right: 3rem !important;\n }\n\n .me-sm-auto {\n margin-right: auto !important;\n }\n\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n\n .ms-sm-0 {\n margin-left: 0 !important;\n }\n\n .ms-sm-1 {\n margin-left: 0.25rem !important;\n }\n\n .ms-sm-2 {\n margin-left: 0.5rem !important;\n }\n\n .ms-sm-3 {\n margin-left: 1rem !important;\n }\n\n .ms-sm-4 {\n margin-left: 1.5rem !important;\n }\n\n .ms-sm-5 {\n margin-left: 3rem !important;\n }\n\n .ms-sm-auto {\n margin-left: auto !important;\n }\n\n .p-sm-0 {\n padding: 0 !important;\n }\n\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n\n .p-sm-3 {\n padding: 1rem !important;\n }\n\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n\n .p-sm-5 {\n padding: 3rem !important;\n }\n\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n\n .pe-sm-0 {\n padding-right: 0 !important;\n }\n\n .pe-sm-1 {\n padding-right: 0.25rem !important;\n }\n\n .pe-sm-2 {\n padding-right: 0.5rem !important;\n }\n\n .pe-sm-3 {\n padding-right: 1rem !important;\n }\n\n .pe-sm-4 {\n padding-right: 1.5rem !important;\n }\n\n .pe-sm-5 {\n padding-right: 3rem !important;\n }\n\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n\n .ps-sm-0 {\n padding-left: 0 !important;\n }\n\n .ps-sm-1 {\n padding-left: 0.25rem !important;\n }\n\n .ps-sm-2 {\n padding-left: 0.5rem !important;\n }\n\n .ps-sm-3 {\n padding-left: 1rem !important;\n }\n\n .ps-sm-4 {\n padding-left: 1.5rem !important;\n }\n\n .ps-sm-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 768px) {\n .d-md-inline {\n display: inline !important;\n }\n\n .d-md-inline-block {\n display: inline-block !important;\n }\n\n .d-md-block {\n display: block !important;\n }\n\n .d-md-grid {\n display: grid !important;\n }\n\n .d-md-table {\n display: table !important;\n }\n\n .d-md-table-row {\n display: table-row !important;\n }\n\n .d-md-table-cell {\n display: table-cell !important;\n }\n\n .d-md-flex {\n display: flex !important;\n }\n\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n\n .d-md-none {\n display: none !important;\n }\n\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-md-row {\n flex-direction: row !important;\n }\n\n .flex-md-column {\n flex-direction: column !important;\n }\n\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-md-center {\n justify-content: center !important;\n }\n\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-md-start {\n align-items: flex-start !important;\n }\n\n .align-items-md-end {\n align-items: flex-end !important;\n }\n\n .align-items-md-center {\n align-items: center !important;\n }\n\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n\n .align-content-md-start {\n align-content: flex-start !important;\n }\n\n .align-content-md-end {\n align-content: flex-end !important;\n }\n\n .align-content-md-center {\n align-content: center !important;\n }\n\n .align-content-md-between {\n align-content: space-between !important;\n }\n\n .align-content-md-around {\n align-content: space-around !important;\n }\n\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n\n .align-self-md-auto {\n align-self: auto !important;\n }\n\n .align-self-md-start {\n align-self: flex-start !important;\n }\n\n .align-self-md-end {\n align-self: flex-end !important;\n }\n\n .align-self-md-center {\n align-self: center !important;\n }\n\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n\n .order-md-first {\n order: -1 !important;\n }\n\n .order-md-0 {\n order: 0 !important;\n }\n\n .order-md-1 {\n order: 1 !important;\n }\n\n .order-md-2 {\n order: 2 !important;\n }\n\n .order-md-3 {\n order: 3 !important;\n }\n\n .order-md-4 {\n order: 4 !important;\n }\n\n .order-md-5 {\n order: 5 !important;\n }\n\n .order-md-last {\n order: 6 !important;\n }\n\n .m-md-0 {\n margin: 0 !important;\n }\n\n .m-md-1 {\n margin: 0.25rem !important;\n }\n\n .m-md-2 {\n margin: 0.5rem !important;\n }\n\n .m-md-3 {\n margin: 1rem !important;\n }\n\n .m-md-4 {\n margin: 1.5rem !important;\n }\n\n .m-md-5 {\n margin: 3rem !important;\n }\n\n .m-md-auto {\n margin: auto !important;\n }\n\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-md-0 {\n margin-top: 0 !important;\n }\n\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n\n .mt-md-auto {\n margin-top: auto !important;\n }\n\n .me-md-0 {\n margin-right: 0 !important;\n }\n\n .me-md-1 {\n margin-right: 0.25rem !important;\n }\n\n .me-md-2 {\n margin-right: 0.5rem !important;\n }\n\n .me-md-3 {\n margin-right: 1rem !important;\n }\n\n .me-md-4 {\n margin-right: 1.5rem !important;\n }\n\n .me-md-5 {\n margin-right: 3rem !important;\n }\n\n .me-md-auto {\n margin-right: auto !important;\n }\n\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n\n .ms-md-0 {\n margin-left: 0 !important;\n }\n\n .ms-md-1 {\n margin-left: 0.25rem !important;\n }\n\n .ms-md-2 {\n margin-left: 0.5rem !important;\n }\n\n .ms-md-3 {\n margin-left: 1rem !important;\n }\n\n .ms-md-4 {\n margin-left: 1.5rem !important;\n }\n\n .ms-md-5 {\n margin-left: 3rem !important;\n }\n\n .ms-md-auto {\n margin-left: auto !important;\n }\n\n .p-md-0 {\n padding: 0 !important;\n }\n\n .p-md-1 {\n padding: 0.25rem !important;\n }\n\n .p-md-2 {\n padding: 0.5rem !important;\n }\n\n .p-md-3 {\n padding: 1rem !important;\n }\n\n .p-md-4 {\n padding: 1.5rem !important;\n }\n\n .p-md-5 {\n padding: 3rem !important;\n }\n\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-md-0 {\n padding-top: 0 !important;\n }\n\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n\n .pe-md-0 {\n padding-right: 0 !important;\n }\n\n .pe-md-1 {\n padding-right: 0.25rem !important;\n }\n\n .pe-md-2 {\n padding-right: 0.5rem !important;\n }\n\n .pe-md-3 {\n padding-right: 1rem !important;\n }\n\n .pe-md-4 {\n padding-right: 1.5rem !important;\n }\n\n .pe-md-5 {\n padding-right: 3rem !important;\n }\n\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n\n .ps-md-0 {\n padding-left: 0 !important;\n }\n\n .ps-md-1 {\n padding-left: 0.25rem !important;\n }\n\n .ps-md-2 {\n padding-left: 0.5rem !important;\n }\n\n .ps-md-3 {\n padding-left: 1rem !important;\n }\n\n .ps-md-4 {\n padding-left: 1.5rem !important;\n }\n\n .ps-md-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 992px) {\n .d-lg-inline {\n display: inline !important;\n }\n\n .d-lg-inline-block {\n display: inline-block !important;\n }\n\n .d-lg-block {\n display: block !important;\n }\n\n .d-lg-grid {\n display: grid !important;\n }\n\n .d-lg-table {\n display: table !important;\n }\n\n .d-lg-table-row {\n display: table-row !important;\n }\n\n .d-lg-table-cell {\n display: table-cell !important;\n }\n\n .d-lg-flex {\n display: flex !important;\n }\n\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n\n .d-lg-none {\n display: none !important;\n }\n\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-lg-row {\n flex-direction: row !important;\n }\n\n .flex-lg-column {\n flex-direction: column !important;\n }\n\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-lg-center {\n justify-content: center !important;\n }\n\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n\n .align-items-lg-center {\n align-items: center !important;\n }\n\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n\n .align-content-lg-center {\n align-content: center !important;\n }\n\n .align-content-lg-between {\n align-content: space-between !important;\n }\n\n .align-content-lg-around {\n align-content: space-around !important;\n }\n\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n\n .align-self-lg-auto {\n align-self: auto !important;\n }\n\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n\n .align-self-lg-center {\n align-self: center !important;\n }\n\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n\n .order-lg-first {\n order: -1 !important;\n }\n\n .order-lg-0 {\n order: 0 !important;\n }\n\n .order-lg-1 {\n order: 1 !important;\n }\n\n .order-lg-2 {\n order: 2 !important;\n }\n\n .order-lg-3 {\n order: 3 !important;\n }\n\n .order-lg-4 {\n order: 4 !important;\n }\n\n .order-lg-5 {\n order: 5 !important;\n }\n\n .order-lg-last {\n order: 6 !important;\n }\n\n .m-lg-0 {\n margin: 0 !important;\n }\n\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n\n .m-lg-3 {\n margin: 1rem !important;\n }\n\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n\n .m-lg-5 {\n margin: 3rem !important;\n }\n\n .m-lg-auto {\n margin: auto !important;\n }\n\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n\n .mt-lg-auto {\n margin-top: auto !important;\n }\n\n .me-lg-0 {\n margin-right: 0 !important;\n }\n\n .me-lg-1 {\n margin-right: 0.25rem !important;\n }\n\n .me-lg-2 {\n margin-right: 0.5rem !important;\n }\n\n .me-lg-3 {\n margin-right: 1rem !important;\n }\n\n .me-lg-4 {\n margin-right: 1.5rem !important;\n }\n\n .me-lg-5 {\n margin-right: 3rem !important;\n }\n\n .me-lg-auto {\n margin-right: auto !important;\n }\n\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n\n .ms-lg-0 {\n margin-left: 0 !important;\n }\n\n .ms-lg-1 {\n margin-left: 0.25rem !important;\n }\n\n .ms-lg-2 {\n margin-left: 0.5rem !important;\n }\n\n .ms-lg-3 {\n margin-left: 1rem !important;\n }\n\n .ms-lg-4 {\n margin-left: 1.5rem !important;\n }\n\n .ms-lg-5 {\n margin-left: 3rem !important;\n }\n\n .ms-lg-auto {\n margin-left: auto !important;\n }\n\n .p-lg-0 {\n padding: 0 !important;\n }\n\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n\n .p-lg-3 {\n padding: 1rem !important;\n }\n\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n\n .p-lg-5 {\n padding: 3rem !important;\n }\n\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n\n .pe-lg-0 {\n padding-right: 0 !important;\n }\n\n .pe-lg-1 {\n padding-right: 0.25rem !important;\n }\n\n .pe-lg-2 {\n padding-right: 0.5rem !important;\n }\n\n .pe-lg-3 {\n padding-right: 1rem !important;\n }\n\n .pe-lg-4 {\n padding-right: 1.5rem !important;\n }\n\n .pe-lg-5 {\n padding-right: 3rem !important;\n }\n\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n\n .ps-lg-0 {\n padding-left: 0 !important;\n }\n\n .ps-lg-1 {\n padding-left: 0.25rem !important;\n }\n\n .ps-lg-2 {\n padding-left: 0.5rem !important;\n }\n\n .ps-lg-3 {\n padding-left: 1rem !important;\n }\n\n .ps-lg-4 {\n padding-left: 1.5rem !important;\n }\n\n .ps-lg-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 1200px) {\n .d-xl-inline {\n display: inline !important;\n }\n\n .d-xl-inline-block {\n display: inline-block !important;\n }\n\n .d-xl-block {\n display: block !important;\n }\n\n .d-xl-grid {\n display: grid !important;\n }\n\n .d-xl-table {\n display: table !important;\n }\n\n .d-xl-table-row {\n display: table-row !important;\n }\n\n .d-xl-table-cell {\n display: table-cell !important;\n }\n\n .d-xl-flex {\n display: flex !important;\n }\n\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n\n .d-xl-none {\n display: none !important;\n }\n\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-xl-row {\n flex-direction: row !important;\n }\n\n .flex-xl-column {\n flex-direction: column !important;\n }\n\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-xl-center {\n justify-content: center !important;\n }\n\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n\n .align-items-xl-center {\n align-items: center !important;\n }\n\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n\n .align-content-xl-center {\n align-content: center !important;\n }\n\n .align-content-xl-between {\n align-content: space-between !important;\n }\n\n .align-content-xl-around {\n align-content: space-around !important;\n }\n\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n\n .align-self-xl-auto {\n align-self: auto !important;\n }\n\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n\n .align-self-xl-center {\n align-self: center !important;\n }\n\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n\n .order-xl-first {\n order: -1 !important;\n }\n\n .order-xl-0 {\n order: 0 !important;\n }\n\n .order-xl-1 {\n order: 1 !important;\n }\n\n .order-xl-2 {\n order: 2 !important;\n }\n\n .order-xl-3 {\n order: 3 !important;\n }\n\n .order-xl-4 {\n order: 4 !important;\n }\n\n .order-xl-5 {\n order: 5 !important;\n }\n\n .order-xl-last {\n order: 6 !important;\n }\n\n .m-xl-0 {\n margin: 0 !important;\n }\n\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n\n .m-xl-3 {\n margin: 1rem !important;\n }\n\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n\n .m-xl-5 {\n margin: 3rem !important;\n }\n\n .m-xl-auto {\n margin: auto !important;\n }\n\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n\n .mt-xl-auto {\n margin-top: auto !important;\n }\n\n .me-xl-0 {\n margin-right: 0 !important;\n }\n\n .me-xl-1 {\n margin-right: 0.25rem !important;\n }\n\n .me-xl-2 {\n margin-right: 0.5rem !important;\n }\n\n .me-xl-3 {\n margin-right: 1rem !important;\n }\n\n .me-xl-4 {\n margin-right: 1.5rem !important;\n }\n\n .me-xl-5 {\n margin-right: 3rem !important;\n }\n\n .me-xl-auto {\n margin-right: auto !important;\n }\n\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n\n .ms-xl-0 {\n margin-left: 0 !important;\n }\n\n .ms-xl-1 {\n margin-left: 0.25rem !important;\n }\n\n .ms-xl-2 {\n margin-left: 0.5rem !important;\n }\n\n .ms-xl-3 {\n margin-left: 1rem !important;\n }\n\n .ms-xl-4 {\n margin-left: 1.5rem !important;\n }\n\n .ms-xl-5 {\n margin-left: 3rem !important;\n }\n\n .ms-xl-auto {\n margin-left: auto !important;\n }\n\n .p-xl-0 {\n padding: 0 !important;\n }\n\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n\n .p-xl-3 {\n padding: 1rem !important;\n }\n\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n\n .p-xl-5 {\n padding: 3rem !important;\n }\n\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n\n .pe-xl-0 {\n padding-right: 0 !important;\n }\n\n .pe-xl-1 {\n padding-right: 0.25rem !important;\n }\n\n .pe-xl-2 {\n padding-right: 0.5rem !important;\n }\n\n .pe-xl-3 {\n padding-right: 1rem !important;\n }\n\n .pe-xl-4 {\n padding-right: 1.5rem !important;\n }\n\n .pe-xl-5 {\n padding-right: 3rem !important;\n }\n\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n\n .ps-xl-0 {\n padding-left: 0 !important;\n }\n\n .ps-xl-1 {\n padding-left: 0.25rem !important;\n }\n\n .ps-xl-2 {\n padding-left: 0.5rem !important;\n }\n\n .ps-xl-3 {\n padding-left: 1rem !important;\n }\n\n .ps-xl-4 {\n padding-left: 1.5rem !important;\n }\n\n .ps-xl-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 1400px) {\n .d-xxl-inline {\n display: inline !important;\n }\n\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n\n .d-xxl-block {\n display: block !important;\n }\n\n .d-xxl-grid {\n display: grid !important;\n }\n\n .d-xxl-table {\n display: table !important;\n }\n\n .d-xxl-table-row {\n display: table-row !important;\n }\n\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n\n .d-xxl-flex {\n display: flex !important;\n }\n\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n\n .d-xxl-none {\n display: none !important;\n }\n\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-xxl-row {\n flex-direction: row !important;\n }\n\n .flex-xxl-column {\n flex-direction: column !important;\n }\n\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n\n .align-items-xxl-center {\n align-items: center !important;\n }\n\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n\n .align-content-xxl-center {\n align-content: center !important;\n }\n\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n\n .align-self-xxl-center {\n align-self: center !important;\n }\n\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n\n .order-xxl-first {\n order: -1 !important;\n }\n\n .order-xxl-0 {\n order: 0 !important;\n }\n\n .order-xxl-1 {\n order: 1 !important;\n }\n\n .order-xxl-2 {\n order: 2 !important;\n }\n\n .order-xxl-3 {\n order: 3 !important;\n }\n\n .order-xxl-4 {\n order: 4 !important;\n }\n\n .order-xxl-5 {\n order: 5 !important;\n }\n\n .order-xxl-last {\n order: 6 !important;\n }\n\n .m-xxl-0 {\n margin: 0 !important;\n }\n\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n\n .m-xxl-3 {\n margin: 1rem !important;\n }\n\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n\n .m-xxl-5 {\n margin: 3rem !important;\n }\n\n .m-xxl-auto {\n margin: auto !important;\n }\n\n .mx-xxl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-xxl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-xxl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-xxl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-xxl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-xxl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-xxl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n\n .me-xxl-0 {\n margin-right: 0 !important;\n }\n\n .me-xxl-1 {\n margin-right: 0.25rem !important;\n }\n\n .me-xxl-2 {\n margin-right: 0.5rem !important;\n }\n\n .me-xxl-3 {\n margin-right: 1rem !important;\n }\n\n .me-xxl-4 {\n margin-right: 1.5rem !important;\n }\n\n .me-xxl-5 {\n margin-right: 3rem !important;\n }\n\n .me-xxl-auto {\n margin-right: auto !important;\n }\n\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n\n .ms-xxl-0 {\n margin-left: 0 !important;\n }\n\n .ms-xxl-1 {\n margin-left: 0.25rem !important;\n }\n\n .ms-xxl-2 {\n margin-left: 0.5rem !important;\n }\n\n .ms-xxl-3 {\n margin-left: 1rem !important;\n }\n\n .ms-xxl-4 {\n margin-left: 1.5rem !important;\n }\n\n .ms-xxl-5 {\n margin-left: 3rem !important;\n }\n\n .ms-xxl-auto {\n margin-left: auto !important;\n }\n\n .p-xxl-0 {\n padding: 0 !important;\n }\n\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n\n .p-xxl-3 {\n padding: 1rem !important;\n }\n\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n\n .p-xxl-5 {\n padding: 3rem !important;\n }\n\n .px-xxl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-xxl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-xxl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-xxl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-xxl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-xxl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n\n .pe-xxl-0 {\n padding-right: 0 !important;\n }\n\n .pe-xxl-1 {\n padding-right: 0.25rem !important;\n }\n\n .pe-xxl-2 {\n padding-right: 0.5rem !important;\n }\n\n .pe-xxl-3 {\n padding-right: 1rem !important;\n }\n\n .pe-xxl-4 {\n padding-right: 1.5rem !important;\n }\n\n .pe-xxl-5 {\n padding-right: 3rem !important;\n }\n\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n\n .ps-xxl-0 {\n padding-left: 0 !important;\n }\n\n .ps-xxl-1 {\n padding-left: 0.25rem !important;\n }\n\n .ps-xxl-2 {\n padding-left: 0.5rem !important;\n }\n\n .ps-xxl-3 {\n padding-left: 1rem !important;\n }\n\n .ps-xxl-4 {\n padding-left: 1.5rem !important;\n }\n\n .ps-xxl-5 {\n padding-left: 3rem !important;\n }\n}\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n\n .d-print-inline-block {\n display: inline-block !important;\n }\n\n .d-print-block {\n display: block !important;\n }\n\n .d-print-grid {\n display: grid !important;\n }\n\n .d-print-table {\n display: table !important;\n }\n\n .d-print-table-row {\n display: table-row !important;\n }\n\n .d-print-table-cell {\n display: table-cell !important;\n }\n\n .d-print-flex {\n display: flex !important;\n }\n\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n\n .d-print-none {\n display: none !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */","// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n width: 100%;\n padding-right: var(--#{$variable-prefix}gutter-x, #{$gutter});\n padding-left: var(--#{$variable-prefix}gutter-x, #{$gutter});\n margin-right: auto;\n margin-left: auto;\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n","// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n}\n\n@if $enable-cssgrid {\n .grid {\n display: grid;\n grid-template-rows: repeat(var(--#{$variable-prefix}rows, 1), 1fr);\n grid-template-columns: repeat(var(--#{$variable-prefix}columns, #{$grid-columns}), 1fr);\n gap: var(--#{$variable-prefix}gap, #{$grid-gutter-width});\n\n @include make-cssgrid();\n }\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n --#{$variable-prefix}gutter-x: #{$gutter};\n --#{$variable-prefix}gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(var(--#{$variable-prefix}gutter-y) * -1); // stylelint-disable-line function-disallowed-list\n margin-right: calc(var(--#{$variable-prefix}gutter-x) * -.5); // stylelint-disable-line function-disallowed-list\n margin-left: calc(var(--#{$variable-prefix}gutter-x) * -.5); // stylelint-disable-line function-disallowed-list\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n // Add box sizing if only the grid is loaded\n box-sizing: if(variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-right: calc(var(--#{$variable-prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$variable-prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n margin-top: var(--#{$variable-prefix}gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n @if $size {\n flex: 0 0 auto;\n width: percentage(divide($size, $columns));\n\n } @else {\n flex: 1 1 0;\n max-width: 100%;\n }\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: divide($size, $columns);\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 auto;\n width: divide(100%, $count);\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0%; // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n }\n\n .row-cols#{$infix}-auto > * {\n @include make-col-auto();\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n\n // Gutters\n //\n // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n @each $key, $value in $gutters {\n .g#{$infix}-#{$key},\n .gx#{$infix}-#{$key} {\n --#{$variable-prefix}gutter-x: #{$value};\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n --#{$variable-prefix}gutter-y: #{$value};\n }\n }\n }\n }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .g-col#{$infix}-#{$i} {\n grid-column: auto / span $i;\n }\n }\n\n // Start with `1` because `0` is and invalid value.\n // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n @for $i from 1 through ($columns - 1) {\n .g-start#{$infix}-#{$i} {\n grid-column-start: $i;\n }\n }\n }\n }\n }\n}\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix, $is-rfs-media-query: false) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n // State params to generate pseudo-classes\n $state: if(map-has-key($utility, state), map-get($utility, state), ());\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (eg. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n @if map-get($utility, rfs) {\n // Inside the media query\n @if $is-rfs-media-query {\n $val: rfs-value($value);\n\n // Do not render anything if fluid and non fluid values are the same\n $value: if($val == rfs-fluid-value($value), null, $val);\n }\n @else {\n $value: rfs-fluid-value($value);\n }\n }\n\n $is-css-var: map-get($utility, css-var);\n $is-local-vars: map-get($utility, local-vars);\n $is-rtl: map-get($utility, rtl);\n\n @if $value != null {\n @if $is-rtl == false {\n /* rtl:begin:remove */\n }\n\n @if $is-css-var {\n .#{$property-class + $infix + $property-class-modifier} {\n --#{$variable-prefix}#{$property-class}: #{$value};\n }\n\n @each $pseudo in $state {\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n --#{$variable-prefix}#{$property-class}: #{$value};\n }\n }\n } @else {\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n @if $is-local-vars {\n @each $local-var, $value in $is-local-vars {\n --#{$variable-prefix}#{$local-var}: #{$value};\n }\n }\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n\n @each $pseudo in $state {\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n @each $property in $properties {\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n }\n }\n\n @if $is-rtl == false {\n /* rtl:end:remove */\n }\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n// RFS rescaling\n@media (min-width: $rfs-mq-value) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and map-get($utility, rfs) and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix, true);\n }\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file diff --git a/public/css/bootstrap/css/bootstrap-grid.rtl.css.map b/public/css/bootstrap/css/bootstrap-grid.rtl.css.map deleted file mode 100644 index a3843e0..0000000 --- a/public/css/bootstrap/css/bootstrap-grid.rtl.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../scss/bootstrap-grid.scss","../../scss/_root.scss","bootstrap-grid.css","../../scss/_containers.scss","../../scss/mixins/_container.scss","../../scss/mixins/_breakpoints.scss","../../scss/_variables.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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gCAAA;AP63DZ;;AOp4DQ;EAOI,8BAAA;APi4DZ;;AGx4DI;EIAI;IAOI,0BAAA;EPs4DV;;EO74DM;IAOI,gCAAA;EP04DV;;EOj5DM;IAOI,yBAAA;EP84DV;;EOr5DM;IAOI,wBAAA;EPk5DV;;EOz5DM;IAOI,yBAAA;EPs5DV;;EO75DM;IAOI,6BAAA;EP05DV;;EOj6DM;IAOI,8BAAA;EP85DV;;EOr6DM;IAOI,wBAAA;EPk6DV;;EOz6DM;IAOI,+BAAA;EPs6DV;;EO76DM;IAOI,wBAAA;EP06DV;;EOj7DM;IAOI,yBAAA;EP86DV;;EOr7DM;IAOI,8BAAA;EPk7DV;;EOz7DM;IAOI,iCAAA;EPs7DV;;EO77DM;IAOI,sCAAA;EP07DV;;EOj8DM;IAOI,yCAAA;EP87DV;;EOr8DM;IAOI,uBAAA;EPk8DV;;EOz8DM;IAOI,uBAAA;EPs8DV;;EO78DM;IAOI,yBAAA;EP08DV;;EOj9DM;IAOI,yBAAA;EP88DV;;EOr9DM;IAOI,0BAAA;EPk9DV;;EOz9DM;IAOI,4BAAA;EPs9DV;;EO79DM;IAOI,kCAAA;EP09DV;;EOj+DM;IAOI,sCAAA;EP89DV;;EOr+DM;IAOI,oCAAA;EPk+DV;;EOz+DM;IAOI,kCAAA;EPs+DV;;EO7+DM;IAOI,yCAAA;EP0+DV;;EOj/DM;IAOI,wCAAA;EP8+DV;;EOr/DM;IAOI,wCAAA;EPk/DV;;EOz/DM;IAOI,kCAAA;EPs/DV;;EO7/DM;IAOI,gCAAA;EP0/DV;;EOjgEM;IAOI,8BAAA;EP8/DV;;EOrgEM;IAOI,gCAAA;EPkgEV;;EOzgEM;IAOI,+BAAA;EPsgEV;;EO7gEM;IAOI,oCAAA;EP0gEV;;EOjhEM;IAOI,kCAAA;EP8gEV;;EOrhEM;IAOI,gCAAA;EPkhEV;;EOzhEM;IAOI,uCAAA;EPshEV;;EO7hEM;IAOI,sCAAA;EP0hEV;;EOjiEM;IAOI,iCAAA;EP8hEV;;EOriEM;IAOI,2BAAA;EPkiEV;;EOziEM;IAOI,iCAAA;EPsiEV;;EO7iEM;IAOI,+BAAA;EP0iEV;;EOjjEM;IAOI,6BAAA;EP8iEV;;EOrjEM;IAOI,+BAAA;EPkjEV;;EOzjEM;IAOI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Po5EV;;EO35EM;IAOI,0BAAA;EPw5EV;;EO/5EM;IAOI,gCAAA;EP45EV;;EOn6EM;IAOI,+BAAA;EPg6EV;;EOv6EM;IAOI,6BAAA;EPo6EV;;EO36EM;IAOI,+BAAA;EPw6EV;;EO/6EM;IAOI,6BAAA;EP46EV;;EOn7EM;IAOI,4BAAA;EPg7EV;;EOv7EM;IAOI,kCAAA;EPo7EV;;EO37EM;IAOI,iCAAA;EPw7EV;;EO/7EM;IAOI,+BAAA;EP47EV;;EOn8EM;IAOI,iCAAA;EPg8EV;;EOv8EM;IAOI,+BAAA;EPo8EV;;EO38EM;IAOI,2BAAA;EPw8EV;;EO/8EM;IAOI,iCAAA;EP48EV;;EOn9EM;IAOI,gCAAA;EPg9EV;;EOv9EM;IAOI,8BAAA;EPo9EV;;EO39EM;IAOI,gCAAA;EPw9EV;;EO/9EM;IAOI,8BAAA;EP49EV;AACF;AGp+EI;EIAI;IAOI,0BAAA;EPi+EV;;EOx+EM;IAOI,gCAAA;EPq+EV;;EO5+EM;IAOI,yBAAA;EPy+EV;;EOh/EM;IAOI,wBAAA;EP6+EV;;EOp/EM;IAOI,yBAAA;EPi/EV;;EOx/EM;IAOI,6BAAA;EPq/EV;;EO5/EM;IAOI,8BAAA;EPy/EV;;EOhgFM;IAOI,wBAAA;EP6/EV;;EOpgFM;IAOI,+BAAA;EPigFV;;EOxgFM;IAOI,wBAAA;EPqgFV;;EO5gFM;IAOI,yBAAA;EPygFV;;EOhhFM;IAOI,8BAAA;EP6gFV;;EOphFM;IAOI,iCAAA;EPihFV;;EOxhFM;IAOI,sCAAA;EPqhFV;;EO5hFM;IAOI,yCAAA;EPyhFV;;EOhiFM;IAOI,uBAAA;EP6hFV;;EOpiFM;IAOI,uBAAA;EPiiFV;;EOxiFM;IAOI,yBAAA;EPqiFV;;EO5iFM;IAOI,yBAAA;EPyiFV;;EOhjFM;IAOI,0BAAA;EP6iFV;;EOpjFM;IAOI,4BAAA;EPijFV;;EOxjFM;IAOI,kCAAA;EPqjFV;;EO5jFM;IAOI,sCAAA;EPyjFV;;EOhkFM;IAOI,oCAAA;EP6jFV;;EOpkFM;IAOI,kCAAA;EPikFV;;EOxkFM;IAOI,yCAAA;EPqkFV;;EO5kFM;IAOI,wCAAA;EPykFV;;EOhlFM;IAOI,wC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;EPomGV;;EO3mGM;IAOI,8BAAA;EPwmGV;;EO/mGM;IAOI,iCAAA;EP4mGV;;EOnnGM;IAOI,sCAAA;EPgnGV;;EOvnGM;IAOI,yCAAA;EPonGV;;EO3nGM;IAOI,uBAAA;EPwnGV;;EO/nGM;IAOI,uBAAA;EP4nGV;;EOnoGM;IAOI,yBAAA;EPgoGV;;EOvoGM;IAOI,yBAAA;EPooGV;;EO3oGM;IAOI,0BAAA;EPwoGV;;EO/oGM;IAOI,4BAAA;EP4oGV;;EOnpGM;IAOI,kCAAA;EPgpGV;;EOvpGM;IAOI,sCAAA;EPopGV;;EO3pGM;IAOI,oCAAA;EPwpGV;;EO/pGM;IAOI,kCAAA;EP4pGV;;EOnqGM;IAOI,yCAAA;EPgqGV;;EOvqGM;IAOI,wCAAA;EPoqGV;;EO3qGM;IAOI,wCAAA;EPwqGV;;EO/qGM;IAOI,kCAAA;EP4qGV;;EOnrGM;IAOI,gCAAA;EPgrGV;;EOvrGM;IAOI,8BAAA;EPorGV;;EO3rGM;IAOI,gCAAA;EPwrGV;;EO/rGM;IAOI,+BAAA;EP4rGV;;EOnsGM;IAOI,oCAAA;EPgsGV;;EOvsGM;IAOI,kCAAA;EPosGV;;EO3sGM;IAOI,gCAAA;EPwsGV;;EO/sGM;IAOI,uCAAA;EP4sGV;;EOntGM;IAOI,sCAAA;EPgtGV;;EOvtGM;IAOI,iCAAA;EPotGV;;EO3tGM;IAOI,2BAAA;EPwtGV;;EO/tGM;IAOI,iCAAA;EP4tGV;;EOnuGM;IAOI,+BAAA;EPguGV;;EOvuGM;IAOI,6BAAA;EPouGV;;EO3uGM;IAOI,+BAAA;EPwuGV;;EO/uGM;IAOI,8BAAA;EP4uGV;;EOnvGM;IAOI,oBAAA;EPgvGV;;EOvvGM;IAOI,mBAAA;EPovGV;;EO3vGM;IAOI,mBAAA;EPwvGV;;EO/vGM;IAOI,mBAAA;EP4vGV;;EOnwGM;IAOI,mBAAA;EPgwGV;;EOvwGM;IAOI,mBAAA;EPowGV;;EO3wGM;IAOI,mBAAA;EPwwGV;;EO/wGM;IAOI,mBAAA;EP4wGV;;EOnxGM;IAOI,oBAAA;EPgxGV;;EOvxGM;IAOI,0BAAA;EPoxGV;;EO3xGM;IAOI,yBAAA;EPwxGV;;EO/xGM;IAOI,uBAAA;EP4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oHM;IAOI,2BAAA;EP8nHV;;EOroHM;IAOI,iCAAA;EPkoHV;;EOzoHM;IAOI,gCAAA;EPsoHV;;EO7oHM;IAOI,8BAAA;EP0oHV;;EOjpHM;IAOI,gCAAA;EP8oHV;;EOrpHM;IAOI,8BAAA;EPkpHV;AACF;AG1pHI;EIAI;IAOI,0BAAA;EPupHV;;EO9pHM;IAOI,gCAAA;EP2pHV;;EOlqHM;IAOI,yBAAA;EP+pHV;;EOtqHM;IAOI,wBAAA;EPmqHV;;EO1qHM;IAOI,yBAAA;EPuqHV;;EO9qHM;IAOI,6BAAA;EP2qHV;;EOlrHM;IAOI,8BAAA;EP+qHV;;EOtrHM;IAOI,wBAAA;EPmrHV;;EO1rHM;IAOI,+BAAA;EPurHV;;EO9rHM;IAOI,wBAAA;EP2rHV;;EOlsHM;IAOI,yBAAA;EP+rHV;;EOtsHM;IAOI,8BAAA;EPmsHV;;EO1sHM;IAOI,iCAAA;EPusHV;;EO9sHM;IAOI,sCAAA;EP2sHV;;EOltHM;IAOI,yCAAA;EP+sHV;;EOttHM;IAOI,uBAAA;EPmtHV;;EO1tHM;IAOI,uBAAA;EPutHV;;EO9tHM;IAOI,yBAAA;EP2tHV;;EOluHM;IAOI,yBAAA;EP+tHV;;EOtuHM;IAOI,0BAAA;EPmuHV;;EO1uHM;IAOI,4BAAA;EPuuHV;;EO9uHM;IAOI,kCAAA;EP2uHV;;EOlvHM;IAOI,sCAAA;EP+uHV;;EOtvHM;IAOI,oCAAA;EPmvHV;;EO1vHM;IAOI,kCAAA;EPuvHV;;EO9vHM;IAOI,yCAAA;EP2vHV;;EOlwHM;IAOI,wCAAA;EP+vHV;;EOtwHM;IAOI,wCAAA;EPmwHV;;EO1wHM;IAOI,kCAAA;EPuwHV;;EO9wHM;IAOI,gCAAA;EP2wHV;;EOlxHM;IAOI,8BAAA;EP+wHV;;EOtxHM;IAOI,gCAAA;EPmxHV;;EO1xHM;IAOI,+BAAA;EPuxHV;;EO9xHM;IAOI,oCAAA;EP2xHV;;EOlyHM;IAOI,kCAAA;EP+xHV;;EOtyHM;IAOI,gCAAA;EPmyHV;;EO1yHM;IAOI,uCAAA;EPuyHV;;EO9yHM;IAOI,sCAAA;EP2yHV;;EOlzHM;IAOI,iCAAA;EP+yHV;;EOtzHM;IAOI,2BAAA;EPmzHV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;IAOI,+BAAA;EPqpIV;;EO5pIM;IAOI,8BAAA;EPypIV;;EOhqIM;IAOI,4BAAA;EP6pIV;;EOpqIM;IAOI,8BAAA;EPiqIV;;EOxqIM;IAOI,4BAAA;EPqqIV;;EO5qIM;IAOI,0BAAA;EPyqIV;;EOhrIM;IAOI,gCAAA;EP6qIV;;EOprIM;IAOI,+BAAA;EPirIV;;EOxrIM;IAOI,6BAAA;EPqrIV;;EO5rIM;IAOI,+BAAA;EPyrIV;;EOhsIM;IAOI,6BAAA;EP6rIV;;EOpsIM;IAOI,4BAAA;EPisIV;;EOxsIM;IAOI,kCAAA;EPqsIV;;EO5sIM;IAOI,iCAAA;EPysIV;;EOhtIM;IAOI,+BAAA;EP6sIV;;EOptIM;IAOI,iCAAA;EPitIV;;EOxtIM;IAOI,+BAAA;EPqtIV;;EO5tIM;IAOI,2BAAA;EPytIV;;EOhuIM;IAOI,iCAAA;EP6tIV;;EOpuIM;IAOI,gCAAA;EPiuIV;;EOxuIM;IAOI,8BAAA;EPquIV;;EO5uIM;IAOI,gCAAA;EPyuIV;;EOhvIM;IAOI,8BAAA;EP6uIV;AACF;AGrvII;EIAI;IAOI,0BAAA;EPkvIV;;EOzvIM;IAOI,gCAAA;EPsvIV;;EO7vIM;IAOI,yBAAA;EP0vIV;;EOjwIM;IAOI,wBAAA;EP8vIV;;EOrwIM;IAOI,yBAAA;EPkwIV;;EOzwIM;IAOI,6BAAA;EPswIV;;EO7wIM;IAOI,8BAAA;EP0wIV;;EOjxIM;IAOI,wBAAA;EP8wIV;;EOrxIM;IAOI,+BAAA;EPkxIV;;EOzxIM;IAOI,wBAAA;EPsxIV;;EO7xIM;IAOI,yBAAA;EP0xIV;;EOjyIM;IAOI,8BAAA;EP8xIV;;EOryIM;IAOI,iCAAA;EPkyIV;;EOzyIM;IAOI,sCAAA;EPsyIV;;EO7yIM;IAOI,yCAAA;EP0yIV;;EOjzIM;IAOI,uBAAA;EP8yIV;;EOrzIM;IAOI,uBAAA;EPkzIV;;EOzzIM;IAOI,yBAAA;EPszIV;;EO7zIM;IAOI,yBAAA;EP0zIV;;EOj0IM;IAOI,0BAAA;EP8zIV;;EOr0IM;IAOI,4BAAA;EPk0IV;;EOz0IM;IAOI,kCAAA;EPs0IV;;EO70IM;IAOI,sCAAA;EP00IV;;E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","file":"bootstrap-grid.rtl.css","sourcesContent":["/*!\n * Bootstrap Grid v5.1.1 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\n$include-column-box-sizing: true !default;\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/lists\";\n@import \"mixins/breakpoints\";\n@import \"mixins/container\";\n@import \"mixins/grid\";\n@import \"mixins/utilities\";\n\n@import \"vendor/rfs\";\n\n@import \"root\";\n\n@import \"containers\";\n@import \"grid\";\n\n@import \"utilities\";\n// Only use the utilities we need\n// stylelint-disable-next-line scss/dollar-variable-default\n$utilities: map-get-multiple(\n $utilities,\n (\n \"display\",\n \"order\",\n \"flex\",\n \"flex-direction\",\n \"flex-grow\",\n \"flex-shrink\",\n \"flex-wrap\",\n \"justify-content\",\n \"align-items\",\n \"align-content\",\n \"align-self\",\n \"margin\",\n \"margin-x\",\n \"margin-y\",\n \"margin-top\",\n \"margin-end\",\n \"margin-bottom\",\n \"margin-start\",\n \"negative-margin\",\n \"negative-margin-x\",\n \"negative-margin-y\",\n \"negative-margin-top\",\n \"negative-margin-end\",\n \"negative-margin-bottom\",\n \"negative-margin-start\",\n \"padding\",\n \"padding-x\",\n \"padding-y\",\n \"padding-top\",\n \"padding-end\",\n \"padding-bottom\",\n \"padding-start\",\n )\n);\n\n@import \"utilities/api\";\n",":root {\n // Note: Custom variable values only support SassScript inside `#{}`.\n\n // Colors\n //\n // Generate palettes for full colors, grays, and theme colors.\n\n @each $color, $value in $colors {\n --#{$variable-prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $grays {\n --#{$variable-prefix}gray-#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$variable-prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors-rgb {\n --#{$variable-prefix}#{$color}-rgb: #{$value};\n }\n\n --#{$variable-prefix}white-rgb: #{to-rgb($white)};\n --#{$variable-prefix}black-rgb: #{to-rgb($black)};\n --#{$variable-prefix}body-color-rgb: #{to-rgb($body-color)};\n --#{$variable-prefix}body-bg-rgb: #{to-rgb($body-bg)};\n\n // Fonts\n\n // Note: Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --#{$variable-prefix}font-sans-serif: #{inspect($font-family-sans-serif)};\n --#{$variable-prefix}font-monospace: #{inspect($font-family-monospace)};\n --#{$variable-prefix}gradient: #{$gradient};\n\n // Root and body\n // stylelint-disable custom-property-empty-line-before\n // scss-docs-start root-body-variables\n @if $font-size-root != null {\n --#{$variable-prefix}root-font-size: #{$font-size-root};\n }\n --#{$variable-prefix}body-font-family: #{$font-family-base};\n --#{$variable-prefix}body-font-size: #{$font-size-base};\n --#{$variable-prefix}body-font-weight: #{$font-weight-base};\n --#{$variable-prefix}body-line-height: #{$line-height-base};\n --#{$variable-prefix}body-color: #{$body-color};\n @if $body-text-align != null {\n --#{$variable-prefix}body-text-align: #{$body-text-align};\n }\n --#{$variable-prefix}body-bg: #{$body-bg};\n // scss-docs-end root-body-variables\n // stylelint-enable custom-property-empty-line-before\n}\n","/*!\n * Bootstrap Grid v5.1.1 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n:root {\n --bs-blue: #0d6efd;\n --bs-indigo: #6610f2;\n --bs-purple: #6f42c1;\n --bs-pink: #d63384;\n --bs-red: #dc3545;\n --bs-orange: #fd7e14;\n --bs-yellow: #ffc107;\n --bs-green: #198754;\n --bs-teal: #20c997;\n --bs-cyan: #0dcaf0;\n --bs-white: #fff;\n --bs-gray: #6c757d;\n --bs-gray-dark: #343a40;\n --bs-gray-100: #f8f9fa;\n --bs-gray-200: #e9ecef;\n --bs-gray-300: #dee2e6;\n --bs-gray-400: #ced4da;\n --bs-gray-500: #adb5bd;\n --bs-gray-600: #6c757d;\n --bs-gray-700: #495057;\n --bs-gray-800: #343a40;\n --bs-gray-900: #212529;\n --bs-primary: #0d6efd;\n --bs-secondary: #6c757d;\n --bs-success: #198754;\n --bs-info: #0dcaf0;\n --bs-warning: #ffc107;\n --bs-danger: #dc3545;\n --bs-light: #f8f9fa;\n --bs-dark: #212529;\n --bs-primary-rgb: 13, 110, 253;\n --bs-secondary-rgb: 108, 117, 125;\n --bs-success-rgb: 25, 135, 84;\n --bs-info-rgb: 13, 202, 240;\n --bs-warning-rgb: 255, 193, 7;\n --bs-danger-rgb: 220, 53, 69;\n --bs-light-rgb: 248, 249, 250;\n --bs-dark-rgb: 33, 37, 41;\n --bs-white-rgb: 255, 255, 255;\n --bs-black-rgb: 0, 0, 0;\n --bs-body-color-rgb: 33, 37, 41;\n --bs-body-bg-rgb: 255, 255, 255;\n --bs-font-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));\n --bs-body-font-family: var(--bs-font-sans-serif);\n --bs-body-font-size: 1rem;\n --bs-body-font-weight: 400;\n --bs-body-line-height: 1.5;\n --bs-body-color: #212529;\n --bs-body-bg: #fff;\n}\n\n.container,\n.container-fluid,\n.container-xxl,\n.container-xl,\n.container-lg,\n.container-md,\n.container-sm {\n width: 100%;\n padding-right: var(--bs-gutter-x, 0.75rem);\n padding-left: var(--bs-gutter-x, 0.75rem);\n margin-right: auto;\n margin-left: auto;\n}\n\n@media (min-width: 576px) {\n .container-sm, .container {\n max-width: 540px;\n }\n}\n@media (min-width: 768px) {\n .container-md, .container-sm, .container {\n max-width: 720px;\n }\n}\n@media (min-width: 992px) {\n .container-lg, .container-md, .container-sm, .container {\n max-width: 960px;\n }\n}\n@media (min-width: 1200px) {\n .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1140px;\n }\n}\n@media (min-width: 1400px) {\n .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1320px;\n }\n}\n.row {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(var(--bs-gutter-y) * -1);\n margin-right: calc(var(--bs-gutter-x) * -.5);\n margin-left: calc(var(--bs-gutter-x) * -.5);\n}\n.row > * {\n box-sizing: border-box;\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-right: calc(var(--bs-gutter-x) * .5);\n padding-left: calc(var(--bs-gutter-x) * .5);\n margin-top: var(--bs-gutter-y);\n}\n\n.col {\n flex: 1 0 0%;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.offset-1 {\n margin-left: 8.33333333%;\n}\n\n.offset-2 {\n margin-left: 16.66666667%;\n}\n\n.offset-3 {\n margin-left: 25%;\n}\n\n.offset-4 {\n margin-left: 33.33333333%;\n}\n\n.offset-5 {\n margin-left: 41.66666667%;\n}\n\n.offset-6 {\n margin-left: 50%;\n}\n\n.offset-7 {\n margin-left: 58.33333333%;\n}\n\n.offset-8 {\n margin-left: 66.66666667%;\n}\n\n.offset-9 {\n margin-left: 75%;\n}\n\n.offset-10 {\n margin-left: 83.33333333%;\n}\n\n.offset-11 {\n margin-left: 91.66666667%;\n}\n\n.g-0,\n.gx-0 {\n --bs-gutter-x: 0;\n}\n\n.g-0,\n.gy-0 {\n --bs-gutter-y: 0;\n}\n\n.g-1,\n.gx-1 {\n --bs-gutter-x: 0.25rem;\n}\n\n.g-1,\n.gy-1 {\n --bs-gutter-y: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n --bs-gutter-x: 0.5rem;\n}\n\n.g-2,\n.gy-2 {\n --bs-gutter-y: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n --bs-gutter-x: 1rem;\n}\n\n.g-3,\n.gy-3 {\n --bs-gutter-y: 1rem;\n}\n\n.g-4,\n.gx-4 {\n --bs-gutter-x: 1.5rem;\n}\n\n.g-4,\n.gy-4 {\n --bs-gutter-y: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n --bs-gutter-x: 3rem;\n}\n\n.g-5,\n.gy-5 {\n --bs-gutter-y: 3rem;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0%;\n }\n\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-sm-0 {\n margin-left: 0;\n }\n\n .offset-sm-1 {\n margin-left: 8.33333333%;\n }\n\n .offset-sm-2 {\n margin-left: 16.66666667%;\n }\n\n .offset-sm-3 {\n margin-left: 25%;\n }\n\n .offset-sm-4 {\n margin-left: 33.33333333%;\n }\n\n .offset-sm-5 {\n margin-left: 41.66666667%;\n }\n\n .offset-sm-6 {\n margin-left: 50%;\n }\n\n .offset-sm-7 {\n margin-left: 58.33333333%;\n }\n\n .offset-sm-8 {\n margin-left: 66.66666667%;\n }\n\n .offset-sm-9 {\n margin-left: 75%;\n }\n\n .offset-sm-10 {\n margin-left: 83.33333333%;\n }\n\n .offset-sm-11 {\n margin-left: 91.66666667%;\n }\n\n .g-sm-0,\n.gx-sm-0 {\n --bs-gutter-x: 0;\n }\n\n .g-sm-0,\n.gy-sm-0 {\n --bs-gutter-y: 0;\n }\n\n .g-sm-1,\n.gx-sm-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-sm-1,\n.gy-sm-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-sm-2,\n.gx-sm-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-sm-2,\n.gy-sm-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-sm-3,\n.gx-sm-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-sm-3,\n.gy-sm-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-sm-4,\n.gx-sm-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-sm-4,\n.gy-sm-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-sm-5,\n.gx-sm-5 {\n --bs-gutter-x: 3rem;\n }\n\n .g-sm-5,\n.gy-sm-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0%;\n }\n\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-md-0 {\n margin-left: 0;\n }\n\n .offset-md-1 {\n margin-left: 8.33333333%;\n }\n\n .offset-md-2 {\n margin-left: 16.66666667%;\n }\n\n .offset-md-3 {\n margin-left: 25%;\n }\n\n .offset-md-4 {\n margin-left: 33.33333333%;\n }\n\n .offset-md-5 {\n margin-left: 41.66666667%;\n }\n\n .offset-md-6 {\n margin-left: 50%;\n }\n\n .offset-md-7 {\n margin-left: 58.33333333%;\n }\n\n .offset-md-8 {\n margin-left: 66.66666667%;\n }\n\n .offset-md-9 {\n margin-left: 75%;\n }\n\n .offset-md-10 {\n margin-left: 83.33333333%;\n }\n\n .offset-md-11 {\n margin-left: 91.66666667%;\n }\n\n .g-md-0,\n.gx-md-0 {\n --bs-gutter-x: 0;\n }\n\n .g-md-0,\n.gy-md-0 {\n --bs-gutter-y: 0;\n }\n\n .g-md-1,\n.gx-md-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-md-1,\n.gy-md-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-md-2,\n.gx-md-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-md-2,\n.gy-md-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-md-3,\n.gx-md-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-md-3,\n.gy-md-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-md-4,\n.gx-md-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-md-4,\n.gy-md-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-md-5,\n.gx-md-5 {\n --bs-gutter-x: 3rem;\n }\n\n .g-md-5,\n.gy-md-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0%;\n }\n\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-lg-0 {\n margin-left: 0;\n }\n\n .offset-lg-1 {\n margin-left: 8.33333333%;\n }\n\n .offset-lg-2 {\n margin-left: 16.66666667%;\n }\n\n .offset-lg-3 {\n margin-left: 25%;\n }\n\n .offset-lg-4 {\n margin-left: 33.33333333%;\n }\n\n .offset-lg-5 {\n margin-left: 41.66666667%;\n }\n\n .offset-lg-6 {\n margin-left: 50%;\n }\n\n .offset-lg-7 {\n margin-left: 58.33333333%;\n }\n\n .offset-lg-8 {\n margin-left: 66.66666667%;\n }\n\n .offset-lg-9 {\n margin-left: 75%;\n }\n\n .offset-lg-10 {\n margin-left: 83.33333333%;\n }\n\n .offset-lg-11 {\n margin-left: 91.66666667%;\n }\n\n .g-lg-0,\n.gx-lg-0 {\n --bs-gutter-x: 0;\n }\n\n .g-lg-0,\n.gy-lg-0 {\n --bs-gutter-y: 0;\n }\n\n .g-lg-1,\n.gx-lg-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-lg-1,\n.gy-lg-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-lg-2,\n.gx-lg-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-lg-2,\n.gy-lg-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-lg-3,\n.gx-lg-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-lg-3,\n.gy-lg-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-lg-4,\n.gx-lg-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-lg-4,\n.gy-lg-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-lg-5,\n.gx-lg-5 {\n --bs-gutter-x: 3rem;\n }\n\n .g-lg-5,\n.gy-lg-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0%;\n }\n\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-xl-0 {\n margin-left: 0;\n }\n\n .offset-xl-1 {\n margin-left: 8.33333333%;\n }\n\n .offset-xl-2 {\n margin-left: 16.66666667%;\n }\n\n .offset-xl-3 {\n margin-left: 25%;\n }\n\n .offset-xl-4 {\n margin-left: 33.33333333%;\n }\n\n .offset-xl-5 {\n margin-left: 41.66666667%;\n }\n\n .offset-xl-6 {\n margin-left: 50%;\n }\n\n .offset-xl-7 {\n margin-left: 58.33333333%;\n }\n\n .offset-xl-8 {\n margin-left: 66.66666667%;\n }\n\n .offset-xl-9 {\n margin-left: 75%;\n }\n\n .offset-xl-10 {\n margin-left: 83.33333333%;\n }\n\n .offset-xl-11 {\n margin-left: 91.66666667%;\n }\n\n .g-xl-0,\n.gx-xl-0 {\n --bs-gutter-x: 0;\n }\n\n .g-xl-0,\n.gy-xl-0 {\n --bs-gutter-y: 0;\n }\n\n .g-xl-1,\n.gx-xl-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-xl-1,\n.gy-xl-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-xl-2,\n.gx-xl-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-xl-2,\n.gy-xl-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-xl-3,\n.gx-xl-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-xl-3,\n.gy-xl-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-xl-4,\n.gx-xl-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-xl-4,\n.gy-xl-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-xl-5,\n.gx-xl-5 {\n --bs-gutter-x: 3rem;\n }\n\n .g-xl-5,\n.gy-xl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1400px) {\n .col-xxl {\n flex: 1 0 0%;\n }\n\n .row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-xxl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n\n .col-xxl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n\n .col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-xxl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n\n .col-xxl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n\n .col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-xxl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n\n .col-xxl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n\n .col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-xxl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n\n .col-xxl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n\n .col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-xxl-0 {\n margin-left: 0;\n }\n\n .offset-xxl-1 {\n margin-left: 8.33333333%;\n }\n\n .offset-xxl-2 {\n margin-left: 16.66666667%;\n }\n\n .offset-xxl-3 {\n margin-left: 25%;\n }\n\n .offset-xxl-4 {\n margin-left: 33.33333333%;\n }\n\n .offset-xxl-5 {\n margin-left: 41.66666667%;\n }\n\n .offset-xxl-6 {\n margin-left: 50%;\n }\n\n .offset-xxl-7 {\n margin-left: 58.33333333%;\n }\n\n .offset-xxl-8 {\n margin-left: 66.66666667%;\n }\n\n .offset-xxl-9 {\n margin-left: 75%;\n }\n\n .offset-xxl-10 {\n margin-left: 83.33333333%;\n }\n\n .offset-xxl-11 {\n margin-left: 91.66666667%;\n }\n\n .g-xxl-0,\n.gx-xxl-0 {\n --bs-gutter-x: 0;\n }\n\n .g-xxl-0,\n.gy-xxl-0 {\n --bs-gutter-y: 0;\n }\n\n .g-xxl-1,\n.gx-xxl-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-xxl-1,\n.gy-xxl-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-xxl-2,\n.gx-xxl-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-xxl-2,\n.gy-xxl-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-xxl-3,\n.gx-xxl-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-xxl-3,\n.gy-xxl-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-xxl-4,\n.gx-xxl-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-xxl-4,\n.gy-xxl-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-xxl-5,\n.gx-xxl-5 {\n --bs-gutter-x: 3rem;\n }\n\n .g-xxl-5,\n.gy-xxl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-grid {\n display: grid !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n}\n\n.mx-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n}\n\n.mx-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n}\n\n.mx-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n}\n\n.mx-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n}\n\n.mx-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n}\n\n.mx-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.me-0 {\n margin-right: 0 !important;\n}\n\n.me-1 {\n margin-right: 0.25rem !important;\n}\n\n.me-2 {\n margin-right: 0.5rem !important;\n}\n\n.me-3 {\n margin-right: 1rem !important;\n}\n\n.me-4 {\n margin-right: 1.5rem !important;\n}\n\n.me-5 {\n margin-right: 3rem !important;\n}\n\n.me-auto {\n margin-right: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ms-0 {\n margin-left: 0 !important;\n}\n\n.ms-1 {\n margin-left: 0.25rem !important;\n}\n\n.ms-2 {\n margin-left: 0.5rem !important;\n}\n\n.ms-3 {\n margin-left: 1rem !important;\n}\n\n.ms-4 {\n margin-left: 1.5rem !important;\n}\n\n.ms-5 {\n margin-left: 3rem !important;\n}\n\n.ms-auto {\n margin-left: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n}\n\n.px-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n}\n\n.px-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n}\n\n.px-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n}\n\n.px-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n}\n\n.px-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pe-0 {\n padding-right: 0 !important;\n}\n\n.pe-1 {\n padding-right: 0.25rem !important;\n}\n\n.pe-2 {\n padding-right: 0.5rem !important;\n}\n\n.pe-3 {\n padding-right: 1rem !important;\n}\n\n.pe-4 {\n padding-right: 1.5rem !important;\n}\n\n.pe-5 {\n padding-right: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.ps-0 {\n padding-left: 0 !important;\n}\n\n.ps-1 {\n padding-left: 0.25rem !important;\n}\n\n.ps-2 {\n padding-left: 0.5rem !important;\n}\n\n.ps-3 {\n padding-left: 1rem !important;\n}\n\n.ps-4 {\n padding-left: 1.5rem !important;\n}\n\n.ps-5 {\n padding-left: 3rem !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-inline {\n display: inline !important;\n }\n\n .d-sm-inline-block {\n display: inline-block !important;\n }\n\n .d-sm-block {\n display: block !important;\n }\n\n .d-sm-grid {\n display: grid !important;\n }\n\n .d-sm-table {\n display: table !important;\n }\n\n .d-sm-table-row {\n display: table-row !important;\n }\n\n .d-sm-table-cell {\n display: table-cell !important;\n }\n\n .d-sm-flex {\n display: flex !important;\n }\n\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n\n .d-sm-none {\n display: none !important;\n }\n\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-sm-row {\n flex-direction: row !important;\n }\n\n .flex-sm-column {\n flex-direction: column !important;\n }\n\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-sm-center {\n justify-content: center !important;\n }\n\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n\n .align-items-sm-center {\n align-items: center !important;\n }\n\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n\n .align-content-sm-center {\n align-content: center !important;\n }\n\n .align-content-sm-between {\n align-content: space-between !important;\n }\n\n .align-content-sm-around {\n align-content: space-around !important;\n }\n\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n\n .align-self-sm-auto {\n align-self: auto !important;\n }\n\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n\n .align-self-sm-center {\n align-self: center !important;\n }\n\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n\n .order-sm-first {\n order: -1 !important;\n }\n\n .order-sm-0 {\n order: 0 !important;\n }\n\n .order-sm-1 {\n order: 1 !important;\n }\n\n .order-sm-2 {\n order: 2 !important;\n }\n\n .order-sm-3 {\n order: 3 !important;\n }\n\n .order-sm-4 {\n order: 4 !important;\n }\n\n .order-sm-5 {\n order: 5 !important;\n }\n\n .order-sm-last {\n order: 6 !important;\n }\n\n .m-sm-0 {\n margin: 0 !important;\n }\n\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n\n .m-sm-3 {\n margin: 1rem !important;\n }\n\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n\n .m-sm-5 {\n margin: 3rem !important;\n }\n\n .m-sm-auto {\n margin: auto !important;\n }\n\n .mx-sm-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-sm-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-sm-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-sm-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-sm-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-sm-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-sm-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n\n .mt-sm-auto {\n margin-top: auto !important;\n }\n\n .me-sm-0 {\n margin-right: 0 !important;\n }\n\n .me-sm-1 {\n margin-right: 0.25rem !important;\n }\n\n .me-sm-2 {\n margin-right: 0.5rem !important;\n }\n\n .me-sm-3 {\n margin-right: 1rem !important;\n }\n\n .me-sm-4 {\n margin-right: 1.5rem !important;\n }\n\n .me-sm-5 {\n margin-right: 3rem !important;\n }\n\n .me-sm-auto {\n margin-right: auto !important;\n }\n\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n\n .ms-sm-0 {\n margin-left: 0 !important;\n }\n\n .ms-sm-1 {\n margin-left: 0.25rem !important;\n }\n\n .ms-sm-2 {\n margin-left: 0.5rem !important;\n }\n\n .ms-sm-3 {\n margin-left: 1rem !important;\n }\n\n .ms-sm-4 {\n margin-left: 1.5rem !important;\n }\n\n .ms-sm-5 {\n margin-left: 3rem !important;\n }\n\n .ms-sm-auto {\n margin-left: auto !important;\n }\n\n .p-sm-0 {\n padding: 0 !important;\n }\n\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n\n .p-sm-3 {\n padding: 1rem !important;\n }\n\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n\n .p-sm-5 {\n padding: 3rem !important;\n }\n\n .px-sm-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-sm-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-sm-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-sm-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-sm-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-sm-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n\n .pe-sm-0 {\n padding-right: 0 !important;\n }\n\n .pe-sm-1 {\n padding-right: 0.25rem !important;\n }\n\n .pe-sm-2 {\n padding-right: 0.5rem !important;\n }\n\n .pe-sm-3 {\n padding-right: 1rem !important;\n }\n\n .pe-sm-4 {\n padding-right: 1.5rem !important;\n }\n\n .pe-sm-5 {\n padding-right: 3rem !important;\n }\n\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n\n .ps-sm-0 {\n padding-left: 0 !important;\n }\n\n .ps-sm-1 {\n padding-left: 0.25rem !important;\n }\n\n .ps-sm-2 {\n padding-left: 0.5rem !important;\n }\n\n .ps-sm-3 {\n padding-left: 1rem !important;\n }\n\n .ps-sm-4 {\n padding-left: 1.5rem !important;\n }\n\n .ps-sm-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 768px) {\n .d-md-inline {\n display: inline !important;\n }\n\n .d-md-inline-block {\n display: inline-block !important;\n }\n\n .d-md-block {\n display: block !important;\n }\n\n .d-md-grid {\n display: grid !important;\n }\n\n .d-md-table {\n display: table !important;\n }\n\n .d-md-table-row {\n display: table-row !important;\n }\n\n .d-md-table-cell {\n display: table-cell !important;\n }\n\n .d-md-flex {\n display: flex !important;\n }\n\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n\n .d-md-none {\n display: none !important;\n }\n\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-md-row {\n flex-direction: row !important;\n }\n\n .flex-md-column {\n flex-direction: column !important;\n }\n\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-md-center {\n justify-content: center !important;\n }\n\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-md-start {\n align-items: flex-start !important;\n }\n\n .align-items-md-end {\n align-items: flex-end !important;\n }\n\n .align-items-md-center {\n align-items: center !important;\n }\n\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n\n .align-content-md-start {\n align-content: flex-start !important;\n }\n\n .align-content-md-end {\n align-content: flex-end !important;\n }\n\n .align-content-md-center {\n align-content: center !important;\n }\n\n .align-content-md-between {\n align-content: space-between !important;\n }\n\n .align-content-md-around {\n align-content: space-around !important;\n }\n\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n\n .align-self-md-auto {\n align-self: auto !important;\n }\n\n .align-self-md-start {\n align-self: flex-start !important;\n }\n\n .align-self-md-end {\n align-self: flex-end !important;\n }\n\n .align-self-md-center {\n align-self: center !important;\n }\n\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n\n .order-md-first {\n order: -1 !important;\n }\n\n .order-md-0 {\n order: 0 !important;\n }\n\n .order-md-1 {\n order: 1 !important;\n }\n\n .order-md-2 {\n order: 2 !important;\n }\n\n .order-md-3 {\n order: 3 !important;\n }\n\n .order-md-4 {\n order: 4 !important;\n }\n\n .order-md-5 {\n order: 5 !important;\n }\n\n .order-md-last {\n order: 6 !important;\n }\n\n .m-md-0 {\n margin: 0 !important;\n }\n\n .m-md-1 {\n margin: 0.25rem !important;\n }\n\n .m-md-2 {\n margin: 0.5rem !important;\n }\n\n .m-md-3 {\n margin: 1rem !important;\n }\n\n .m-md-4 {\n margin: 1.5rem !important;\n }\n\n .m-md-5 {\n margin: 3rem !important;\n }\n\n .m-md-auto {\n margin: auto !important;\n }\n\n .mx-md-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-md-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-md-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-md-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-md-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-md-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-md-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-md-0 {\n margin-top: 0 !important;\n }\n\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n\n .mt-md-auto {\n margin-top: auto !important;\n }\n\n .me-md-0 {\n margin-right: 0 !important;\n }\n\n .me-md-1 {\n margin-right: 0.25rem !important;\n }\n\n .me-md-2 {\n margin-right: 0.5rem !important;\n }\n\n .me-md-3 {\n margin-right: 1rem !important;\n }\n\n .me-md-4 {\n margin-right: 1.5rem !important;\n }\n\n .me-md-5 {\n margin-right: 3rem !important;\n }\n\n .me-md-auto {\n margin-right: auto !important;\n }\n\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n\n .ms-md-0 {\n margin-left: 0 !important;\n }\n\n .ms-md-1 {\n margin-left: 0.25rem !important;\n }\n\n .ms-md-2 {\n margin-left: 0.5rem !important;\n }\n\n .ms-md-3 {\n margin-left: 1rem !important;\n }\n\n .ms-md-4 {\n margin-left: 1.5rem !important;\n }\n\n .ms-md-5 {\n margin-left: 3rem !important;\n }\n\n .ms-md-auto {\n margin-left: auto !important;\n }\n\n .p-md-0 {\n padding: 0 !important;\n }\n\n .p-md-1 {\n padding: 0.25rem !important;\n }\n\n .p-md-2 {\n padding: 0.5rem !important;\n }\n\n .p-md-3 {\n padding: 1rem !important;\n }\n\n .p-md-4 {\n padding: 1.5rem !important;\n }\n\n .p-md-5 {\n padding: 3rem !important;\n }\n\n .px-md-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-md-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-md-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-md-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-md-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-md-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-md-0 {\n padding-top: 0 !important;\n }\n\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n\n .pe-md-0 {\n padding-right: 0 !important;\n }\n\n .pe-md-1 {\n padding-right: 0.25rem !important;\n }\n\n .pe-md-2 {\n padding-right: 0.5rem !important;\n }\n\n .pe-md-3 {\n padding-right: 1rem !important;\n }\n\n .pe-md-4 {\n padding-right: 1.5rem !important;\n }\n\n .pe-md-5 {\n padding-right: 3rem !important;\n }\n\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n\n .ps-md-0 {\n padding-left: 0 !important;\n }\n\n .ps-md-1 {\n padding-left: 0.25rem !important;\n }\n\n .ps-md-2 {\n padding-left: 0.5rem !important;\n }\n\n .ps-md-3 {\n padding-left: 1rem !important;\n }\n\n .ps-md-4 {\n padding-left: 1.5rem !important;\n }\n\n .ps-md-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 992px) {\n .d-lg-inline {\n display: inline !important;\n }\n\n .d-lg-inline-block {\n display: inline-block !important;\n }\n\n .d-lg-block {\n display: block !important;\n }\n\n .d-lg-grid {\n display: grid !important;\n }\n\n .d-lg-table {\n display: table !important;\n }\n\n .d-lg-table-row {\n display: table-row !important;\n }\n\n .d-lg-table-cell {\n display: table-cell !important;\n }\n\n .d-lg-flex {\n display: flex !important;\n }\n\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n\n .d-lg-none {\n display: none !important;\n }\n\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-lg-row {\n flex-direction: row !important;\n }\n\n .flex-lg-column {\n flex-direction: column !important;\n }\n\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-lg-center {\n justify-content: center !important;\n }\n\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n\n .align-items-lg-center {\n align-items: center !important;\n }\n\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n\n .align-content-lg-center {\n align-content: center !important;\n }\n\n .align-content-lg-between {\n align-content: space-between !important;\n }\n\n .align-content-lg-around {\n align-content: space-around !important;\n }\n\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n\n .align-self-lg-auto {\n align-self: auto !important;\n }\n\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n\n .align-self-lg-center {\n align-self: center !important;\n }\n\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n\n .order-lg-first {\n order: -1 !important;\n }\n\n .order-lg-0 {\n order: 0 !important;\n }\n\n .order-lg-1 {\n order: 1 !important;\n }\n\n .order-lg-2 {\n order: 2 !important;\n }\n\n .order-lg-3 {\n order: 3 !important;\n }\n\n .order-lg-4 {\n order: 4 !important;\n }\n\n .order-lg-5 {\n order: 5 !important;\n }\n\n .order-lg-last {\n order: 6 !important;\n }\n\n .m-lg-0 {\n margin: 0 !important;\n }\n\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n\n .m-lg-3 {\n margin: 1rem !important;\n }\n\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n\n .m-lg-5 {\n margin: 3rem !important;\n }\n\n .m-lg-auto {\n margin: auto !important;\n }\n\n .mx-lg-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-lg-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-lg-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-lg-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-lg-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-lg-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-lg-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n\n .mt-lg-auto {\n margin-top: auto !important;\n }\n\n .me-lg-0 {\n margin-right: 0 !important;\n }\n\n .me-lg-1 {\n margin-right: 0.25rem !important;\n }\n\n .me-lg-2 {\n margin-right: 0.5rem !important;\n }\n\n .me-lg-3 {\n margin-right: 1rem !important;\n }\n\n .me-lg-4 {\n margin-right: 1.5rem !important;\n }\n\n .me-lg-5 {\n margin-right: 3rem !important;\n }\n\n .me-lg-auto {\n margin-right: auto !important;\n }\n\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n\n .ms-lg-0 {\n margin-left: 0 !important;\n }\n\n .ms-lg-1 {\n margin-left: 0.25rem !important;\n }\n\n .ms-lg-2 {\n margin-left: 0.5rem !important;\n }\n\n .ms-lg-3 {\n margin-left: 1rem !important;\n }\n\n .ms-lg-4 {\n margin-left: 1.5rem !important;\n }\n\n .ms-lg-5 {\n margin-left: 3rem !important;\n }\n\n .ms-lg-auto {\n margin-left: auto !important;\n }\n\n .p-lg-0 {\n padding: 0 !important;\n }\n\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n\n .p-lg-3 {\n padding: 1rem !important;\n }\n\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n\n .p-lg-5 {\n padding: 3rem !important;\n }\n\n .px-lg-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-lg-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-lg-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-lg-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-lg-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-lg-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n\n .pe-lg-0 {\n padding-right: 0 !important;\n }\n\n .pe-lg-1 {\n padding-right: 0.25rem !important;\n }\n\n .pe-lg-2 {\n padding-right: 0.5rem !important;\n }\n\n .pe-lg-3 {\n padding-right: 1rem !important;\n }\n\n .pe-lg-4 {\n padding-right: 1.5rem !important;\n }\n\n .pe-lg-5 {\n padding-right: 3rem !important;\n }\n\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n\n .ps-lg-0 {\n padding-left: 0 !important;\n }\n\n .ps-lg-1 {\n padding-left: 0.25rem !important;\n }\n\n .ps-lg-2 {\n padding-left: 0.5rem !important;\n }\n\n .ps-lg-3 {\n padding-left: 1rem !important;\n }\n\n .ps-lg-4 {\n padding-left: 1.5rem !important;\n }\n\n .ps-lg-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 1200px) {\n .d-xl-inline {\n display: inline !important;\n }\n\n .d-xl-inline-block {\n display: inline-block !important;\n }\n\n .d-xl-block {\n display: block !important;\n }\n\n .d-xl-grid {\n display: grid !important;\n }\n\n .d-xl-table {\n display: table !important;\n }\n\n .d-xl-table-row {\n display: table-row !important;\n }\n\n .d-xl-table-cell {\n display: table-cell !important;\n }\n\n .d-xl-flex {\n display: flex !important;\n }\n\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n\n .d-xl-none {\n display: none !important;\n }\n\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-xl-row {\n flex-direction: row !important;\n }\n\n .flex-xl-column {\n flex-direction: column !important;\n }\n\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-xl-center {\n justify-content: center !important;\n }\n\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n\n .align-items-xl-center {\n align-items: center !important;\n }\n\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n\n .align-content-xl-center {\n align-content: center !important;\n }\n\n .align-content-xl-between {\n align-content: space-between !important;\n }\n\n .align-content-xl-around {\n align-content: space-around !important;\n }\n\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n\n .align-self-xl-auto {\n align-self: auto !important;\n }\n\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n\n .align-self-xl-center {\n align-self: center !important;\n }\n\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n\n .order-xl-first {\n order: -1 !important;\n }\n\n .order-xl-0 {\n order: 0 !important;\n }\n\n .order-xl-1 {\n order: 1 !important;\n }\n\n .order-xl-2 {\n order: 2 !important;\n }\n\n .order-xl-3 {\n order: 3 !important;\n }\n\n .order-xl-4 {\n order: 4 !important;\n }\n\n .order-xl-5 {\n order: 5 !important;\n }\n\n .order-xl-last {\n order: 6 !important;\n }\n\n .m-xl-0 {\n margin: 0 !important;\n }\n\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n\n .m-xl-3 {\n margin: 1rem !important;\n }\n\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n\n .m-xl-5 {\n margin: 3rem !important;\n }\n\n .m-xl-auto {\n margin: auto !important;\n }\n\n .mx-xl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-xl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-xl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-xl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-xl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-xl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-xl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n\n .mt-xl-auto {\n margin-top: auto !important;\n }\n\n .me-xl-0 {\n margin-right: 0 !important;\n }\n\n .me-xl-1 {\n margin-right: 0.25rem !important;\n }\n\n .me-xl-2 {\n margin-right: 0.5rem !important;\n }\n\n .me-xl-3 {\n margin-right: 1rem !important;\n }\n\n .me-xl-4 {\n margin-right: 1.5rem !important;\n }\n\n .me-xl-5 {\n margin-right: 3rem !important;\n }\n\n .me-xl-auto {\n margin-right: auto !important;\n }\n\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n\n .ms-xl-0 {\n margin-left: 0 !important;\n }\n\n .ms-xl-1 {\n margin-left: 0.25rem !important;\n }\n\n .ms-xl-2 {\n margin-left: 0.5rem !important;\n }\n\n .ms-xl-3 {\n margin-left: 1rem !important;\n }\n\n .ms-xl-4 {\n margin-left: 1.5rem !important;\n }\n\n .ms-xl-5 {\n margin-left: 3rem !important;\n }\n\n .ms-xl-auto {\n margin-left: auto !important;\n }\n\n .p-xl-0 {\n padding: 0 !important;\n }\n\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n\n .p-xl-3 {\n padding: 1rem !important;\n }\n\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n\n .p-xl-5 {\n padding: 3rem !important;\n }\n\n .px-xl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-xl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-xl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-xl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-xl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-xl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n\n .pe-xl-0 {\n padding-right: 0 !important;\n }\n\n .pe-xl-1 {\n padding-right: 0.25rem !important;\n }\n\n .pe-xl-2 {\n padding-right: 0.5rem !important;\n }\n\n .pe-xl-3 {\n padding-right: 1rem !important;\n }\n\n .pe-xl-4 {\n padding-right: 1.5rem !important;\n }\n\n .pe-xl-5 {\n padding-right: 3rem !important;\n }\n\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n\n .ps-xl-0 {\n padding-left: 0 !important;\n }\n\n .ps-xl-1 {\n padding-left: 0.25rem !important;\n }\n\n .ps-xl-2 {\n padding-left: 0.5rem !important;\n }\n\n .ps-xl-3 {\n padding-left: 1rem !important;\n }\n\n .ps-xl-4 {\n padding-left: 1.5rem !important;\n }\n\n .ps-xl-5 {\n padding-left: 3rem !important;\n }\n}\n@media (min-width: 1400px) {\n .d-xxl-inline {\n display: inline !important;\n }\n\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n\n .d-xxl-block {\n display: block !important;\n }\n\n .d-xxl-grid {\n display: grid !important;\n }\n\n .d-xxl-table {\n display: table !important;\n }\n\n .d-xxl-table-row {\n display: table-row !important;\n }\n\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n\n .d-xxl-flex {\n display: flex !important;\n }\n\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n\n .d-xxl-none {\n display: none !important;\n }\n\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-xxl-row {\n flex-direction: row !important;\n }\n\n .flex-xxl-column {\n flex-direction: column !important;\n }\n\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n\n .align-items-xxl-center {\n align-items: center !important;\n }\n\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n\n .align-content-xxl-center {\n align-content: center !important;\n }\n\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n\n .align-self-xxl-center {\n align-self: center !important;\n }\n\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n\n .order-xxl-first {\n order: -1 !important;\n }\n\n .order-xxl-0 {\n order: 0 !important;\n }\n\n .order-xxl-1 {\n order: 1 !important;\n }\n\n .order-xxl-2 {\n order: 2 !important;\n }\n\n .order-xxl-3 {\n order: 3 !important;\n }\n\n .order-xxl-4 {\n order: 4 !important;\n }\n\n .order-xxl-5 {\n order: 5 !important;\n }\n\n .order-xxl-last {\n order: 6 !important;\n }\n\n .m-xxl-0 {\n margin: 0 !important;\n }\n\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n\n .m-xxl-3 {\n margin: 1rem !important;\n }\n\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n\n .m-xxl-5 {\n margin: 3rem !important;\n }\n\n .m-xxl-auto {\n margin: auto !important;\n }\n\n .mx-xxl-0 {\n margin-right: 0 !important;\n margin-left: 0 !important;\n }\n\n .mx-xxl-1 {\n margin-right: 0.25rem !important;\n margin-left: 0.25rem !important;\n }\n\n .mx-xxl-2 {\n margin-right: 0.5rem !important;\n margin-left: 0.5rem !important;\n }\n\n .mx-xxl-3 {\n margin-right: 1rem !important;\n margin-left: 1rem !important;\n }\n\n .mx-xxl-4 {\n margin-right: 1.5rem !important;\n margin-left: 1.5rem !important;\n }\n\n .mx-xxl-5 {\n margin-right: 3rem !important;\n margin-left: 3rem !important;\n }\n\n .mx-xxl-auto {\n margin-right: auto !important;\n margin-left: auto !important;\n }\n\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n\n .me-xxl-0 {\n margin-right: 0 !important;\n }\n\n .me-xxl-1 {\n margin-right: 0.25rem !important;\n }\n\n .me-xxl-2 {\n margin-right: 0.5rem !important;\n }\n\n .me-xxl-3 {\n margin-right: 1rem !important;\n }\n\n .me-xxl-4 {\n margin-right: 1.5rem !important;\n }\n\n .me-xxl-5 {\n margin-right: 3rem !important;\n }\n\n .me-xxl-auto {\n margin-right: auto !important;\n }\n\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n\n .ms-xxl-0 {\n margin-left: 0 !important;\n }\n\n .ms-xxl-1 {\n margin-left: 0.25rem !important;\n }\n\n .ms-xxl-2 {\n margin-left: 0.5rem !important;\n }\n\n .ms-xxl-3 {\n margin-left: 1rem !important;\n }\n\n .ms-xxl-4 {\n margin-left: 1.5rem !important;\n }\n\n .ms-xxl-5 {\n margin-left: 3rem !important;\n }\n\n .ms-xxl-auto {\n margin-left: auto !important;\n }\n\n .p-xxl-0 {\n padding: 0 !important;\n }\n\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n\n .p-xxl-3 {\n padding: 1rem !important;\n }\n\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n\n .p-xxl-5 {\n padding: 3rem !important;\n }\n\n .px-xxl-0 {\n padding-right: 0 !important;\n padding-left: 0 !important;\n }\n\n .px-xxl-1 {\n padding-right: 0.25rem !important;\n padding-left: 0.25rem !important;\n }\n\n .px-xxl-2 {\n padding-right: 0.5rem !important;\n padding-left: 0.5rem !important;\n }\n\n .px-xxl-3 {\n padding-right: 1rem !important;\n padding-left: 1rem !important;\n }\n\n .px-xxl-4 {\n padding-right: 1.5rem !important;\n padding-left: 1.5rem !important;\n }\n\n .px-xxl-5 {\n padding-right: 3rem !important;\n padding-left: 3rem !important;\n }\n\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n\n .pe-xxl-0 {\n padding-right: 0 !important;\n }\n\n .pe-xxl-1 {\n padding-right: 0.25rem !important;\n }\n\n .pe-xxl-2 {\n padding-right: 0.5rem !important;\n }\n\n .pe-xxl-3 {\n padding-right: 1rem !important;\n }\n\n .pe-xxl-4 {\n padding-right: 1.5rem !important;\n }\n\n .pe-xxl-5 {\n padding-right: 3rem !important;\n }\n\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n\n .ps-xxl-0 {\n padding-left: 0 !important;\n }\n\n .ps-xxl-1 {\n padding-left: 0.25rem !important;\n }\n\n .ps-xxl-2 {\n padding-left: 0.5rem !important;\n }\n\n .ps-xxl-3 {\n padding-left: 1rem !important;\n }\n\n .ps-xxl-4 {\n padding-left: 1.5rem !important;\n }\n\n .ps-xxl-5 {\n padding-left: 3rem !important;\n }\n}\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n\n .d-print-inline-block {\n display: inline-block !important;\n }\n\n .d-print-block {\n display: block !important;\n }\n\n .d-print-grid {\n display: grid !important;\n }\n\n .d-print-table {\n display: table !important;\n }\n\n .d-print-table-row {\n display: table-row !important;\n }\n\n .d-print-table-cell {\n display: table-cell !important;\n }\n\n .d-print-flex {\n display: flex !important;\n }\n\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n\n .d-print-none {\n display: none !important;\n }\n}\n\n/*# sourceMappingURL=bootstrap-grid.css.map */\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n","// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n width: 100%;\n padding-right: var(--#{$variable-prefix}gutter-x, #{$gutter});\n padding-left: var(--#{$variable-prefix}gutter-x, #{$gutter});\n margin-right: auto;\n margin-left: auto;\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n","// Variables\n//\n// Variables should follow the `$component-state-property-size` formula for\n// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.\n\n// Color system\n\n// scss-docs-start gray-color-variables\n$white: #fff !default;\n$gray-100: #f8f9fa !default;\n$gray-200: #e9ecef !default;\n$gray-300: #dee2e6 !default;\n$gray-400: #ced4da !default;\n$gray-500: #adb5bd !default;\n$gray-600: #6c757d !default;\n$gray-700: #495057 !default;\n$gray-800: #343a40 !default;\n$gray-900: #212529 !default;\n$black: #000 !default;\n// scss-docs-end gray-color-variables\n\n// fusv-disable\n// scss-docs-start gray-colors-map\n$grays: (\n \"100\": $gray-100,\n \"200\": $gray-200,\n \"300\": $gray-300,\n \"400\": $gray-400,\n \"500\": $gray-500,\n \"600\": $gray-600,\n \"700\": $gray-700,\n \"800\": $gray-800,\n \"900\": $gray-900\n) !default;\n// scss-docs-end gray-colors-map\n// fusv-enable\n\n// scss-docs-start color-variables\n$blue: #0d6efd !default;\n$indigo: #6610f2 !default;\n$purple: #6f42c1 !default;\n$pink: #d63384 !default;\n$red: #dc3545 !default;\n$orange: #fd7e14 !default;\n$yellow: #ffc107 !default;\n$green: #198754 !default;\n$teal: #20c997 !default;\n$cyan: #0dcaf0 !default;\n// scss-docs-end color-variables\n\n// scss-docs-start colors-map\n$colors: (\n \"blue\": $blue,\n \"indigo\": $indigo,\n \"purple\": $purple,\n \"pink\": $pink,\n \"red\": $red,\n \"orange\": $orange,\n \"yellow\": $yellow,\n \"green\": $green,\n \"teal\": $teal,\n \"cyan\": $cyan,\n \"white\": $white,\n \"gray\": $gray-600,\n \"gray-dark\": $gray-800\n) !default;\n// scss-docs-end colors-map\n\n// scss-docs-start theme-color-variables\n$primary: $blue !default;\n$secondary: $gray-600 !default;\n$success: $green !default;\n$info: $cyan !default;\n$warning: $yellow !default;\n$danger: $red !default;\n$light: $gray-100 !default;\n$dark: $gray-900 !default;\n// scss-docs-end theme-color-variables\n\n// scss-docs-start theme-colors-map\n$theme-colors: (\n \"primary\": $primary,\n \"secondary\": $secondary,\n \"success\": $success,\n \"info\": $info,\n \"warning\": $warning,\n \"danger\": $danger,\n \"light\": $light,\n \"dark\": $dark\n) !default;\n// scss-docs-end theme-colors-map\n\n// scss-docs-start theme-colors-rgb\n$theme-colors-rgb: map-loop($theme-colors, to-rgb, \"$value\") !default;\n// scss-docs-end theme-colors-rgb\n\n// The contrast ratio to reach against white, to determine if color changes from \"light\" to \"dark\". Acceptable values for WCAG 2.0 are 3, 4.5 and 7.\n// See https://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast\n$min-contrast-ratio: 4.5 !default;\n\n// Customize the light and dark text colors for use in our color contrast function.\n$color-contrast-dark: $black !default;\n$color-contrast-light: $white !default;\n\n// fusv-disable\n$blue-100: tint-color($blue, 80%) !default;\n$blue-200: tint-color($blue, 60%) !default;\n$blue-300: tint-color($blue, 40%) !default;\n$blue-400: tint-color($blue, 20%) !default;\n$blue-500: $blue !default;\n$blue-600: shade-color($blue, 20%) !default;\n$blue-700: shade-color($blue, 40%) !default;\n$blue-800: shade-color($blue, 60%) !default;\n$blue-900: shade-color($blue, 80%) !default;\n\n$indigo-100: tint-color($indigo, 80%) !default;\n$indigo-200: tint-color($indigo, 60%) !default;\n$indigo-300: tint-color($indigo, 40%) !default;\n$indigo-400: tint-color($indigo, 20%) !default;\n$indigo-500: $indigo !default;\n$indigo-600: shade-color($indigo, 20%) !default;\n$indigo-700: shade-color($indigo, 40%) !default;\n$indigo-800: shade-color($indigo, 60%) !default;\n$indigo-900: shade-color($indigo, 80%) !default;\n\n$purple-100: tint-color($purple, 80%) !default;\n$purple-200: tint-color($purple, 60%) !default;\n$purple-300: tint-color($purple, 40%) !default;\n$purple-400: tint-color($purple, 20%) !default;\n$purple-500: $purple !default;\n$purple-600: shade-color($purple, 20%) !default;\n$purple-700: shade-color($purple, 40%) !default;\n$purple-800: shade-color($purple, 60%) !default;\n$purple-900: shade-color($purple, 80%) !default;\n\n$pink-100: tint-color($pink, 80%) !default;\n$pink-200: tint-color($pink, 60%) !default;\n$pink-300: tint-color($pink, 40%) !default;\n$pink-400: tint-color($pink, 20%) !default;\n$pink-500: $pink !default;\n$pink-600: shade-color($pink, 20%) !default;\n$pink-700: shade-color($pink, 40%) !default;\n$pink-800: shade-color($pink, 60%) !default;\n$pink-900: shade-color($pink, 80%) !default;\n\n$red-100: tint-color($red, 80%) !default;\n$red-200: tint-color($red, 60%) !default;\n$red-300: tint-color($red, 40%) !default;\n$red-400: tint-color($red, 20%) !default;\n$red-500: $red !default;\n$red-600: shade-color($red, 20%) !default;\n$red-700: shade-color($red, 40%) !default;\n$red-800: shade-color($red, 60%) !default;\n$red-900: shade-color($red, 80%) !default;\n\n$orange-100: tint-color($orange, 80%) !default;\n$orange-200: tint-color($orange, 60%) !default;\n$orange-300: tint-color($orange, 40%) !default;\n$orange-400: tint-color($orange, 20%) !default;\n$orange-500: $orange !default;\n$orange-600: shade-color($orange, 20%) !default;\n$orange-700: shade-color($orange, 40%) !default;\n$orange-800: shade-color($orange, 60%) !default;\n$orange-900: shade-color($orange, 80%) !default;\n\n$yellow-100: tint-color($yellow, 80%) !default;\n$yellow-200: tint-color($yellow, 60%) !default;\n$yellow-300: tint-color($yellow, 40%) !default;\n$yellow-400: tint-color($yellow, 20%) !default;\n$yellow-500: $yellow !default;\n$yellow-600: shade-color($yellow, 20%) !default;\n$yellow-700: shade-color($yellow, 40%) !default;\n$yellow-800: shade-color($yellow, 60%) !default;\n$yellow-900: shade-color($yellow, 80%) !default;\n\n$green-100: tint-color($green, 80%) !default;\n$green-200: tint-color($green, 60%) !default;\n$green-300: tint-color($green, 40%) !default;\n$green-400: tint-color($green, 20%) !default;\n$green-500: $green !default;\n$green-600: shade-color($green, 20%) !default;\n$green-700: shade-color($green, 40%) !default;\n$green-800: shade-color($green, 60%) !default;\n$green-900: shade-color($green, 80%) !default;\n\n$teal-100: tint-color($teal, 80%) !default;\n$teal-200: tint-color($teal, 60%) !default;\n$teal-300: tint-color($teal, 40%) !default;\n$teal-400: tint-color($teal, 20%) !default;\n$teal-500: $teal !default;\n$teal-600: shade-color($teal, 20%) !default;\n$teal-700: shade-color($teal, 40%) !default;\n$teal-800: shade-color($teal, 60%) !default;\n$teal-900: shade-color($teal, 80%) !default;\n\n$cyan-100: tint-color($cyan, 80%) !default;\n$cyan-200: tint-color($cyan, 60%) !default;\n$cyan-300: tint-color($cyan, 40%) !default;\n$cyan-400: tint-color($cyan, 20%) !default;\n$cyan-500: $cyan !default;\n$cyan-600: shade-color($cyan, 20%) !default;\n$cyan-700: shade-color($cyan, 40%) !default;\n$cyan-800: shade-color($cyan, 60%) !default;\n$cyan-900: shade-color($cyan, 80%) !default;\n\n$blues: (\n \"blue-100\": $blue-100,\n \"blue-200\": $blue-200,\n \"blue-300\": $blue-300,\n \"blue-400\": $blue-400,\n \"blue-500\": $blue-500,\n \"blue-600\": $blue-600,\n \"blue-700\": $blue-700,\n \"blue-800\": $blue-800,\n \"blue-900\": $blue-900\n) !default;\n\n$indigos: (\n \"indigo-100\": $indigo-100,\n \"indigo-200\": $indigo-200,\n \"indigo-300\": $indigo-300,\n \"indigo-400\": $indigo-400,\n \"indigo-500\": $indigo-500,\n \"indigo-600\": $indigo-600,\n \"indigo-700\": $indigo-700,\n \"indigo-800\": $indigo-800,\n \"indigo-900\": $indigo-900\n) !default;\n\n$purples: (\n \"purple-100\": $purple-200,\n \"purple-200\": $purple-100,\n \"purple-300\": $purple-300,\n \"purple-400\": $purple-400,\n \"purple-500\": $purple-500,\n \"purple-600\": $purple-600,\n \"purple-700\": $purple-700,\n \"purple-800\": $purple-800,\n \"purple-900\": $purple-900\n) !default;\n\n$pinks: (\n \"pink-100\": $pink-100,\n \"pink-200\": $pink-200,\n \"pink-300\": $pink-300,\n \"pink-400\": $pink-400,\n \"pink-500\": $pink-500,\n \"pink-600\": $pink-600,\n \"pink-700\": $pink-700,\n \"pink-800\": $pink-800,\n \"pink-900\": $pink-900\n) !default;\n\n$reds: (\n \"red-100\": $red-100,\n \"red-200\": $red-200,\n \"red-300\": $red-300,\n \"red-400\": $red-400,\n \"red-500\": $red-500,\n \"red-600\": $red-600,\n \"red-700\": $red-700,\n \"red-800\": $red-800,\n \"red-900\": $red-900\n) !default;\n\n$oranges: (\n \"orange-100\": $orange-100,\n \"orange-200\": $orange-200,\n \"orange-300\": $orange-300,\n \"orange-400\": $orange-400,\n \"orange-500\": $orange-500,\n \"orange-600\": $orange-600,\n \"orange-700\": $orange-700,\n \"orange-800\": $orange-800,\n \"orange-900\": $orange-900\n) !default;\n\n$yellows: (\n \"yellow-100\": $yellow-100,\n \"yellow-200\": $yellow-200,\n \"yellow-300\": $yellow-300,\n \"yellow-400\": $yellow-400,\n \"yellow-500\": $yellow-500,\n \"yellow-600\": $yellow-600,\n \"yellow-700\": $yellow-700,\n \"yellow-800\": $yellow-800,\n \"yellow-900\": $yellow-900\n) !default;\n\n$greens: (\n \"green-100\": $green-100,\n \"green-200\": $green-200,\n \"green-300\": $green-300,\n \"green-400\": $green-400,\n \"green-500\": $green-500,\n \"green-600\": $green-600,\n \"green-700\": $green-700,\n \"green-800\": $green-800,\n \"green-900\": $green-900\n) !default;\n\n$teals: (\n \"teal-100\": $teal-100,\n \"teal-200\": $teal-200,\n \"teal-300\": $teal-300,\n \"teal-400\": $teal-400,\n \"teal-500\": $teal-500,\n \"teal-600\": $teal-600,\n \"teal-700\": $teal-700,\n \"teal-800\": $teal-800,\n \"teal-900\": $teal-900\n) !default;\n\n$cyans: (\n \"cyan-100\": $cyan-100,\n \"cyan-200\": $cyan-200,\n \"cyan-300\": $cyan-300,\n \"cyan-400\": $cyan-400,\n \"cyan-500\": $cyan-500,\n \"cyan-600\": $cyan-600,\n \"cyan-700\": $cyan-700,\n \"cyan-800\": $cyan-800,\n \"cyan-900\": $cyan-900\n) !default;\n// fusv-enable\n\n// Characters which are escaped by the escape-svg function\n$escaped-characters: (\n (\"<\", \"%3c\"),\n (\">\", \"%3e\"),\n (\"#\", \"%23\"),\n (\"(\", \"%28\"),\n (\")\", \"%29\"),\n) !default;\n\n// Options\n//\n// Quickly modify global styling by enabling or disabling optional features.\n\n$enable-caret: true !default;\n$enable-rounded: true !default;\n$enable-shadows: false !default;\n$enable-gradients: false !default;\n$enable-transitions: true !default;\n$enable-reduced-motion: true !default;\n$enable-smooth-scroll: true !default;\n$enable-grid-classes: true !default;\n$enable-cssgrid: false !default;\n$enable-button-pointers: true !default;\n$enable-rfs: true !default;\n$enable-validation-icons: true !default;\n$enable-negative-margins: false !default;\n$enable-deprecation-messages: true !default;\n$enable-important-utilities: true !default;\n\n// Prefix for :root CSS variables\n\n$variable-prefix: bs- !default;\n\n// Gradient\n//\n// The gradient which is added to components if `$enable-gradients` is `true`\n// This gradient is also added to elements with `.bg-gradient`\n// scss-docs-start variable-gradient\n$gradient: linear-gradient(180deg, rgba($white, .15), rgba($white, 0)) !default;\n// scss-docs-end variable-gradient\n\n// Spacing\n//\n// Control the default styling of most Bootstrap elements by modifying these\n// variables. Mostly focused on spacing.\n// You can add more entries to the $spacers map, should you need more variation.\n\n// scss-docs-start spacer-variables-maps\n$spacer: 1rem !default;\n$spacers: (\n 0: 0,\n 1: $spacer * .25,\n 2: $spacer * .5,\n 3: $spacer,\n 4: $spacer * 1.5,\n 5: $spacer * 3,\n) !default;\n\n$negative-spacers: if($enable-negative-margins, negativify-map($spacers), null) !default;\n// scss-docs-end spacer-variables-maps\n\n// Position\n//\n// Define the edge positioning anchors of the position utilities.\n\n// scss-docs-start position-map\n$position-values: (\n 0: 0,\n 50: 50%,\n 100: 100%\n) !default;\n// scss-docs-end position-map\n\n// Body\n//\n// Settings for the `` element.\n\n$body-bg: $white !default;\n$body-color: $gray-900 !default;\n$body-text-align: null !default;\n\n// Utilities maps\n//\n// Extends the default `$theme-colors` maps to help create our utilities.\n\n// Come v6, we'll de-dupe these variables. Until then, for backward compatibility, we keep them to reassign.\n// scss-docs-start utilities-colors\n$utilities-colors: $theme-colors-rgb !default;\n// scss-docs-end utilities-colors\n\n// scss-docs-start utilities-text-colors\n$utilities-text: map-merge(\n $utilities-colors,\n (\n \"black\": to-rgb($black),\n \"white\": to-rgb($white),\n \"body\": to-rgb($body-color)\n )\n) !default;\n$utilities-text-colors: map-loop($utilities-text, rgba-css-var, \"$key\", \"text\") !default;\n// scss-docs-end utilities-text-colors\n\n// scss-docs-start utilities-bg-colors\n$utilities-bg: map-merge(\n $utilities-colors,\n (\n \"black\": to-rgb($black),\n \"white\": to-rgb($white),\n \"body\": to-rgb($body-bg)\n )\n) !default;\n$utilities-bg-colors: map-loop($utilities-bg, rgba-css-var, \"$key\", \"bg\") !default;\n// scss-docs-end utilities-bg-colors\n\n// Links\n//\n// Style anchor elements.\n\n$link-color: $primary !default;\n$link-decoration: underline !default;\n$link-shade-percentage: 20% !default;\n$link-hover-color: shift-color($link-color, $link-shade-percentage) !default;\n$link-hover-decoration: null !default;\n\n$stretched-link-pseudo-element: after !default;\n$stretched-link-z-index: 1 !default;\n\n// Paragraphs\n//\n// Style p element.\n\n$paragraph-margin-bottom: 1rem !default;\n\n\n// Grid breakpoints\n//\n// Define the minimum dimensions at which your layout will change,\n// adapting to different screen sizes, for use in media queries.\n\n// scss-docs-start grid-breakpoints\n$grid-breakpoints: (\n xs: 0,\n sm: 576px,\n md: 768px,\n lg: 992px,\n xl: 1200px,\n xxl: 1400px\n) !default;\n// scss-docs-end grid-breakpoints\n\n@include _assert-ascending($grid-breakpoints, \"$grid-breakpoints\");\n@include _assert-starts-at-zero($grid-breakpoints, \"$grid-breakpoints\");\n\n\n// Grid containers\n//\n// Define the maximum width of `.container` for different screen sizes.\n\n// scss-docs-start container-max-widths\n$container-max-widths: (\n sm: 540px,\n md: 720px,\n lg: 960px,\n xl: 1140px,\n xxl: 1320px\n) !default;\n// scss-docs-end container-max-widths\n\n@include _assert-ascending($container-max-widths, \"$container-max-widths\");\n\n\n// Grid columns\n//\n// Set the number of columns and specify the width of the gutters.\n\n$grid-columns: 12 !default;\n$grid-gutter-width: 1.5rem !default;\n$grid-row-columns: 6 !default;\n\n$gutters: $spacers !default;\n\n// Container padding\n\n$container-padding-x: $grid-gutter-width * .5 !default;\n\n\n// Components\n//\n// Define common padding and border radius sizes and more.\n\n// scss-docs-start border-variables\n$border-width: 1px !default;\n$border-widths: (\n 1: 1px,\n 2: 2px,\n 3: 3px,\n 4: 4px,\n 5: 5px\n) !default;\n\n$border-color: $gray-300 !default;\n// scss-docs-end border-variables\n\n// scss-docs-start border-radius-variables\n$border-radius: .25rem !default;\n$border-radius-sm: .2rem !default;\n$border-radius-lg: .3rem !default;\n$border-radius-pill: 50rem !default;\n// scss-docs-end border-radius-variables\n\n// scss-docs-start box-shadow-variables\n$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;\n$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;\n$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;\n$box-shadow-inset: inset 0 1px 2px rgba($black, .075) !default;\n// scss-docs-end box-shadow-variables\n\n$component-active-color: $white !default;\n$component-active-bg: $primary !default;\n\n// scss-docs-start caret-variables\n$caret-width: .3em !default;\n$caret-vertical-align: $caret-width * .85 !default;\n$caret-spacing: $caret-width * .85 !default;\n// scss-docs-end caret-variables\n\n$transition-base: all .2s ease-in-out !default;\n$transition-fade: opacity .15s linear !default;\n// scss-docs-start collapse-transition\n$transition-collapse: height .35s ease !default;\n$transition-collapse-width: width .35s ease !default;\n// scss-docs-end collapse-transition\n\n// stylelint-disable function-disallowed-list\n// scss-docs-start aspect-ratios\n$aspect-ratios: (\n \"1x1\": 100%,\n \"4x3\": calc(3 / 4 * 100%),\n \"16x9\": calc(9 / 16 * 100%),\n \"21x9\": calc(9 / 21 * 100%)\n) !default;\n// scss-docs-end aspect-ratios\n// stylelint-enable function-disallowed-list\n\n// Typography\n//\n// Font, line-height, and color for body text, headings, and more.\n\n// scss-docs-start font-variables\n// stylelint-disable value-keyword-case\n$font-family-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\" !default;\n$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace !default;\n// stylelint-enable value-keyword-case\n$font-family-base: var(--#{$variable-prefix}font-sans-serif) !default;\n$font-family-code: var(--#{$variable-prefix}font-monospace) !default;\n\n// $font-size-root affects the value of `rem`, which is used for as well font sizes, paddings, and margins\n// $font-size-base affects the font size of the body text\n$font-size-root: null !default;\n$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`\n$font-size-sm: $font-size-base * .875 !default;\n$font-size-lg: $font-size-base * 1.25 !default;\n\n$font-weight-lighter: lighter !default;\n$font-weight-light: 300 !default;\n$font-weight-normal: 400 !default;\n$font-weight-bold: 700 !default;\n$font-weight-bolder: bolder !default;\n\n$font-weight-base: $font-weight-normal !default;\n\n$line-height-base: 1.5 !default;\n$line-height-sm: 1.25 !default;\n$line-height-lg: 2 !default;\n\n$h1-font-size: $font-size-base * 2.5 !default;\n$h2-font-size: $font-size-base * 2 !default;\n$h3-font-size: $font-size-base * 1.75 !default;\n$h4-font-size: $font-size-base * 1.5 !default;\n$h5-font-size: $font-size-base * 1.25 !default;\n$h6-font-size: $font-size-base !default;\n// scss-docs-end font-variables\n\n// scss-docs-start font-sizes\n$font-sizes: (\n 1: $h1-font-size,\n 2: $h2-font-size,\n 3: $h3-font-size,\n 4: $h4-font-size,\n 5: $h5-font-size,\n 6: $h6-font-size\n) !default;\n// scss-docs-end font-sizes\n\n// scss-docs-start headings-variables\n$headings-margin-bottom: $spacer * .5 !default;\n$headings-font-family: null !default;\n$headings-font-style: null !default;\n$headings-font-weight: 500 !default;\n$headings-line-height: 1.2 !default;\n$headings-color: null !default;\n// scss-docs-end headings-variables\n\n// scss-docs-start display-headings\n$display-font-sizes: (\n 1: 5rem,\n 2: 4.5rem,\n 3: 4rem,\n 4: 3.5rem,\n 5: 3rem,\n 6: 2.5rem\n) !default;\n\n$display-font-weight: 300 !default;\n$display-line-height: $headings-line-height !default;\n// scss-docs-end display-headings\n\n// scss-docs-start type-variables\n$lead-font-size: $font-size-base * 1.25 !default;\n$lead-font-weight: 300 !default;\n\n$small-font-size: .875em !default;\n\n$sub-sup-font-size: .75em !default;\n\n$text-muted: $gray-600 !default;\n\n$initialism-font-size: $small-font-size !default;\n\n$blockquote-margin-y: $spacer !default;\n$blockquote-font-size: $font-size-base * 1.25 !default;\n$blockquote-footer-color: $gray-600 !default;\n$blockquote-footer-font-size: $small-font-size !default;\n\n$hr-margin-y: $spacer !default;\n$hr-color: inherit !default;\n$hr-height: $border-width !default;\n$hr-opacity: .25 !default;\n\n$legend-margin-bottom: .5rem !default;\n$legend-font-size: 1.5rem !default;\n$legend-font-weight: null !default;\n\n$mark-padding: .2em !default;\n\n$dt-font-weight: $font-weight-bold !default;\n\n$nested-kbd-font-weight: $font-weight-bold !default;\n\n$list-inline-padding: .5rem !default;\n\n$mark-bg: #fcf8e3 !default;\n// scss-docs-end type-variables\n\n\n// Tables\n//\n// Customizes the `.table` component with basic values, each used across all table variations.\n\n// scss-docs-start table-variables\n$table-cell-padding-y: .5rem !default;\n$table-cell-padding-x: .5rem !default;\n$table-cell-padding-y-sm: .25rem !default;\n$table-cell-padding-x-sm: .25rem !default;\n\n$table-cell-vertical-align: top !default;\n\n$table-color: $body-color !default;\n$table-bg: transparent !default;\n$table-accent-bg: transparent !default;\n\n$table-th-font-weight: null !default;\n\n$table-striped-color: $table-color !default;\n$table-striped-bg-factor: .05 !default;\n$table-striped-bg: rgba($black, $table-striped-bg-factor) !default;\n\n$table-active-color: $table-color !default;\n$table-active-bg-factor: .1 !default;\n$table-active-bg: rgba($black, $table-active-bg-factor) !default;\n\n$table-hover-color: $table-color !default;\n$table-hover-bg-factor: .075 !default;\n$table-hover-bg: rgba($black, $table-hover-bg-factor) !default;\n\n$table-border-factor: .1 !default;\n$table-border-width: $border-width !default;\n$table-border-color: $border-color !default;\n\n$table-striped-order: odd !default;\n\n$table-group-separator-color: currentColor !default;\n\n$table-caption-color: $text-muted !default;\n\n$table-bg-scale: -80% !default;\n// scss-docs-end table-variables\n\n// scss-docs-start table-loop\n$table-variants: (\n \"primary\": shift-color($primary, $table-bg-scale),\n \"secondary\": shift-color($secondary, $table-bg-scale),\n \"success\": shift-color($success, $table-bg-scale),\n \"info\": shift-color($info, $table-bg-scale),\n \"warning\": shift-color($warning, $table-bg-scale),\n \"danger\": shift-color($danger, $table-bg-scale),\n \"light\": $light,\n \"dark\": $dark,\n) !default;\n// scss-docs-end table-loop\n\n\n// Buttons + Forms\n//\n// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.\n\n// scss-docs-start input-btn-variables\n$input-btn-padding-y: .375rem !default;\n$input-btn-padding-x: .75rem !default;\n$input-btn-font-family: null !default;\n$input-btn-font-size: $font-size-base !default;\n$input-btn-line-height: $line-height-base !default;\n\n$input-btn-focus-width: .25rem !default;\n$input-btn-focus-color-opacity: .25 !default;\n$input-btn-focus-color: rgba($component-active-bg, $input-btn-focus-color-opacity) !default;\n$input-btn-focus-blur: 0 !default;\n$input-btn-focus-box-shadow: 0 0 $input-btn-focus-blur $input-btn-focus-width $input-btn-focus-color !default;\n\n$input-btn-padding-y-sm: .25rem !default;\n$input-btn-padding-x-sm: .5rem !default;\n$input-btn-font-size-sm: $font-size-sm !default;\n\n$input-btn-padding-y-lg: .5rem !default;\n$input-btn-padding-x-lg: 1rem !default;\n$input-btn-font-size-lg: $font-size-lg !default;\n\n$input-btn-border-width: $border-width !default;\n// scss-docs-end input-btn-variables\n\n\n// Buttons\n//\n// For each of Bootstrap's buttons, define text, background, and border color.\n\n// scss-docs-start btn-variables\n$btn-padding-y: $input-btn-padding-y !default;\n$btn-padding-x: $input-btn-padding-x !default;\n$btn-font-family: $input-btn-font-family !default;\n$btn-font-size: $input-btn-font-size !default;\n$btn-line-height: $input-btn-line-height !default;\n$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping\n\n$btn-padding-y-sm: $input-btn-padding-y-sm !default;\n$btn-padding-x-sm: $input-btn-padding-x-sm !default;\n$btn-font-size-sm: $input-btn-font-size-sm !default;\n\n$btn-padding-y-lg: $input-btn-padding-y-lg !default;\n$btn-padding-x-lg: $input-btn-padding-x-lg !default;\n$btn-font-size-lg: $input-btn-font-size-lg !default;\n\n$btn-border-width: $input-btn-border-width !default;\n\n$btn-font-weight: $font-weight-normal !default;\n$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;\n$btn-focus-width: $input-btn-focus-width !default;\n$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$btn-disabled-opacity: .65 !default;\n$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;\n\n$btn-link-color: $link-color !default;\n$btn-link-hover-color: $link-hover-color !default;\n$btn-link-disabled-color: $gray-600 !default;\n\n// Allows for customizing button radius independently from global border radius\n$btn-border-radius: $border-radius !default;\n$btn-border-radius-sm: $border-radius-sm !default;\n$btn-border-radius-lg: $border-radius-lg !default;\n\n$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$btn-hover-bg-shade-amount: 15% !default;\n$btn-hover-bg-tint-amount: 15% !default;\n$btn-hover-border-shade-amount: 20% !default;\n$btn-hover-border-tint-amount: 10% !default;\n$btn-active-bg-shade-amount: 20% !default;\n$btn-active-bg-tint-amount: 20% !default;\n$btn-active-border-shade-amount: 25% !default;\n$btn-active-border-tint-amount: 10% !default;\n// scss-docs-end btn-variables\n\n\n// Forms\n\n// scss-docs-start form-text-variables\n$form-text-margin-top: .25rem !default;\n$form-text-font-size: $small-font-size !default;\n$form-text-font-style: null !default;\n$form-text-font-weight: null !default;\n$form-text-color: $text-muted !default;\n// scss-docs-end form-text-variables\n\n// scss-docs-start form-label-variables\n$form-label-margin-bottom: .5rem !default;\n$form-label-font-size: null !default;\n$form-label-font-style: null !default;\n$form-label-font-weight: null !default;\n$form-label-color: null !default;\n// scss-docs-end form-label-variables\n\n// scss-docs-start form-input-variables\n$input-padding-y: $input-btn-padding-y !default;\n$input-padding-x: $input-btn-padding-x !default;\n$input-font-family: $input-btn-font-family !default;\n$input-font-size: $input-btn-font-size !default;\n$input-font-weight: $font-weight-base !default;\n$input-line-height: $input-btn-line-height !default;\n\n$input-padding-y-sm: $input-btn-padding-y-sm !default;\n$input-padding-x-sm: $input-btn-padding-x-sm !default;\n$input-font-size-sm: $input-btn-font-size-sm !default;\n\n$input-padding-y-lg: $input-btn-padding-y-lg !default;\n$input-padding-x-lg: $input-btn-padding-x-lg !default;\n$input-font-size-lg: $input-btn-font-size-lg !default;\n\n$input-bg: $body-bg !default;\n$input-disabled-bg: $gray-200 !default;\n$input-disabled-border-color: null !default;\n\n$input-color: $body-color !default;\n$input-border-color: $gray-400 !default;\n$input-border-width: $input-btn-border-width !default;\n$input-box-shadow: $box-shadow-inset !default;\n\n$input-border-radius: $border-radius !default;\n$input-border-radius-sm: $border-radius-sm !default;\n$input-border-radius-lg: $border-radius-lg !default;\n\n$input-focus-bg: $input-bg !default;\n$input-focus-border-color: tint-color($component-active-bg, 50%) !default;\n$input-focus-color: $input-color !default;\n$input-focus-width: $input-btn-focus-width !default;\n$input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$input-placeholder-color: $gray-600 !default;\n$input-plaintext-color: $body-color !default;\n\n$input-height-border: $input-border-width * 2 !default;\n\n$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;\n$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;\n$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y * .5) !default;\n\n$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;\n$input-height-sm: add($input-line-height * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;\n$input-height-lg: add($input-line-height * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;\n\n$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$form-color-width: 3rem !default;\n// scss-docs-end form-input-variables\n\n// scss-docs-start form-check-variables\n$form-check-input-width: 1em !default;\n$form-check-min-height: $font-size-base * $line-height-base !default;\n$form-check-padding-start: $form-check-input-width + .5em !default;\n$form-check-margin-bottom: .125rem !default;\n$form-check-label-color: null !default;\n$form-check-label-cursor: null !default;\n$form-check-transition: null !default;\n\n$form-check-input-active-filter: brightness(90%) !default;\n\n$form-check-input-bg: $input-bg !default;\n$form-check-input-border: 1px solid rgba($black, .25) !default;\n$form-check-input-border-radius: .25em !default;\n$form-check-radio-border-radius: 50% !default;\n$form-check-input-focus-border: $input-focus-border-color !default;\n$form-check-input-focus-box-shadow: $input-btn-focus-box-shadow !default;\n\n$form-check-input-checked-color: $component-active-color !default;\n$form-check-input-checked-bg-color: $component-active-bg !default;\n$form-check-input-checked-border-color: $form-check-input-checked-bg-color !default;\n$form-check-input-checked-bg-image: url(\"data:image/svg+xml,\") !default;\n$form-check-radio-checked-bg-image: url(\"data:image/svg+xml,\") !default;\n\n$form-check-input-indeterminate-color: $component-active-color !default;\n$form-check-input-indeterminate-bg-color: $component-active-bg !default;\n$form-check-input-indeterminate-border-color: $form-check-input-indeterminate-bg-color !default;\n$form-check-input-indeterminate-bg-image: url(\"data:image/svg+xml,\") !default;\n\n$form-check-input-disabled-opacity: .5 !default;\n$form-check-label-disabled-opacity: $form-check-input-disabled-opacity !default;\n$form-check-btn-check-disabled-opacity: $btn-disabled-opacity !default;\n\n$form-check-inline-margin-end: 1rem !default;\n// scss-docs-end form-check-variables\n\n// scss-docs-start form-switch-variables\n$form-switch-color: rgba(0, 0, 0, .25) !default;\n$form-switch-width: 2em !default;\n$form-switch-padding-start: $form-switch-width + .5em !default;\n$form-switch-bg-image: url(\"data:image/svg+xml,\") !default;\n$form-switch-border-radius: $form-switch-width !default;\n$form-switch-transition: background-position .15s ease-in-out !default;\n\n$form-switch-focus-color: $input-focus-border-color !default;\n$form-switch-focus-bg-image: url(\"data:image/svg+xml,\") !default;\n\n$form-switch-checked-color: $component-active-color !default;\n$form-switch-checked-bg-image: url(\"data:image/svg+xml,\") !default;\n$form-switch-checked-bg-position: right center !default;\n// scss-docs-end form-switch-variables\n\n// scss-docs-start input-group-variables\n$input-group-addon-padding-y: $input-padding-y !default;\n$input-group-addon-padding-x: $input-padding-x !default;\n$input-group-addon-font-weight: $input-font-weight !default;\n$input-group-addon-color: $input-color !default;\n$input-group-addon-bg: $gray-200 !default;\n$input-group-addon-border-color: $input-border-color !default;\n// scss-docs-end input-group-variables\n\n// scss-docs-start form-select-variables\n$form-select-padding-y: $input-padding-y !default;\n$form-select-padding-x: $input-padding-x !default;\n$form-select-font-family: $input-font-family !default;\n$form-select-font-size: $input-font-size !default;\n$form-select-indicator-padding: $form-select-padding-x * 3 !default; // Extra padding for background-image\n$form-select-font-weight: $input-font-weight !default;\n$form-select-line-height: $input-line-height !default;\n$form-select-color: $input-color !default;\n$form-select-bg: $input-bg !default;\n$form-select-disabled-color: null !default;\n$form-select-disabled-bg: $gray-200 !default;\n$form-select-disabled-border-color: $input-disabled-border-color !default;\n$form-select-bg-position: right $form-select-padding-x center !default;\n$form-select-bg-size: 16px 12px !default; // In pixels because image dimensions\n$form-select-indicator-color: $gray-800 !default;\n$form-select-indicator: url(\"data:image/svg+xml,\") !default;\n\n$form-select-feedback-icon-padding-end: $form-select-padding-x * 2.5 + $form-select-indicator-padding !default;\n$form-select-feedback-icon-position: center right $form-select-indicator-padding !default;\n$form-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;\n\n$form-select-border-width: $input-border-width !default;\n$form-select-border-color: $input-border-color !default;\n$form-select-border-radius: $border-radius !default;\n$form-select-box-shadow: $box-shadow-inset !default;\n\n$form-select-focus-border-color: $input-focus-border-color !default;\n$form-select-focus-width: $input-focus-width !default;\n$form-select-focus-box-shadow: 0 0 0 $form-select-focus-width $input-btn-focus-color !default;\n\n$form-select-padding-y-sm: $input-padding-y-sm !default;\n$form-select-padding-x-sm: $input-padding-x-sm !default;\n$form-select-font-size-sm: $input-font-size-sm !default;\n\n$form-select-padding-y-lg: $input-padding-y-lg !default;\n$form-select-padding-x-lg: $input-padding-x-lg !default;\n$form-select-font-size-lg: $input-font-size-lg !default;\n\n$form-select-transition: $input-transition !default;\n// scss-docs-end form-select-variables\n\n// scss-docs-start form-range-variables\n$form-range-track-width: 100% !default;\n$form-range-track-height: .5rem !default;\n$form-range-track-cursor: pointer !default;\n$form-range-track-bg: $gray-300 !default;\n$form-range-track-border-radius: 1rem !default;\n$form-range-track-box-shadow: $box-shadow-inset !default;\n\n$form-range-thumb-width: 1rem !default;\n$form-range-thumb-height: $form-range-thumb-width !default;\n$form-range-thumb-bg: $component-active-bg !default;\n$form-range-thumb-border: 0 !default;\n$form-range-thumb-border-radius: 1rem !default;\n$form-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;\n$form-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;\n$form-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in Edge\n$form-range-thumb-active-bg: tint-color($component-active-bg, 70%) !default;\n$form-range-thumb-disabled-bg: $gray-500 !default;\n$form-range-thumb-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n// scss-docs-end form-range-variables\n\n// scss-docs-start form-file-variables\n$form-file-button-color: $input-color !default;\n$form-file-button-bg: $input-group-addon-bg !default;\n$form-file-button-hover-bg: shade-color($form-file-button-bg, 5%) !default;\n// scss-docs-end form-file-variables\n\n// scss-docs-start form-floating-variables\n$form-floating-height: add(3.5rem, $input-height-border) !default;\n$form-floating-line-height: 1.25 !default;\n$form-floating-padding-x: $input-padding-x !default;\n$form-floating-padding-y: 1rem !default;\n$form-floating-input-padding-t: 1.625rem !default;\n$form-floating-input-padding-b: .625rem !default;\n$form-floating-label-opacity: .65 !default;\n$form-floating-label-transform: scale(.85) translateY(-.5rem) translateX(.15rem) !default;\n$form-floating-transition: opacity .1s ease-in-out, transform .1s ease-in-out !default;\n// scss-docs-end form-floating-variables\n\n// Form validation\n\n// scss-docs-start form-feedback-variables\n$form-feedback-margin-top: $form-text-margin-top !default;\n$form-feedback-font-size: $form-text-font-size !default;\n$form-feedback-font-style: $form-text-font-style !default;\n$form-feedback-valid-color: $success !default;\n$form-feedback-invalid-color: $danger !default;\n\n$form-feedback-icon-valid-color: $form-feedback-valid-color !default;\n$form-feedback-icon-valid: url(\"data:image/svg+xml,\") !default;\n$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;\n$form-feedback-icon-invalid: url(\"data:image/svg+xml,\") !default;\n// scss-docs-end form-feedback-variables\n\n// scss-docs-start form-validation-states\n$form-validation-states: (\n \"valid\": (\n \"color\": $form-feedback-valid-color,\n \"icon\": $form-feedback-icon-valid\n ),\n \"invalid\": (\n \"color\": $form-feedback-invalid-color,\n \"icon\": $form-feedback-icon-invalid\n )\n) !default;\n// scss-docs-end form-validation-states\n\n// Z-index master list\n//\n// Warning: Avoid customizing these values. They're used for a bird's eye view\n// of components dependent on the z-axis and are designed to all work together.\n\n// scss-docs-start zindex-stack\n$zindex-dropdown: 1000 !default;\n$zindex-sticky: 1020 !default;\n$zindex-fixed: 1030 !default;\n$zindex-offcanvas-backdrop: 1040 !default;\n$zindex-offcanvas: 1045 !default;\n$zindex-modal-backdrop: 1050 !default;\n$zindex-modal: 1055 !default;\n$zindex-popover: 1070 !default;\n$zindex-tooltip: 1080 !default;\n// scss-docs-end zindex-stack\n\n\n// Navs\n\n// scss-docs-start nav-variables\n$nav-link-padding-y: .5rem !default;\n$nav-link-padding-x: 1rem !default;\n$nav-link-font-size: null !default;\n$nav-link-font-weight: null !default;\n$nav-link-color: $link-color !default;\n$nav-link-hover-color: $link-hover-color !default;\n$nav-link-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out !default;\n$nav-link-disabled-color: $gray-600 !default;\n\n$nav-tabs-border-color: $gray-300 !default;\n$nav-tabs-border-width: $border-width !default;\n$nav-tabs-border-radius: $border-radius !default;\n$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;\n$nav-tabs-link-active-color: $gray-700 !default;\n$nav-tabs-link-active-bg: $body-bg !default;\n$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;\n\n$nav-pills-border-radius: $border-radius !default;\n$nav-pills-link-active-color: $component-active-color !default;\n$nav-pills-link-active-bg: $component-active-bg !default;\n// scss-docs-end nav-variables\n\n\n// Navbar\n\n// scss-docs-start navbar-variables\n$navbar-padding-y: $spacer * .5 !default;\n$navbar-padding-x: null !default;\n\n$navbar-nav-link-padding-x: .5rem !default;\n\n$navbar-brand-font-size: $font-size-lg !default;\n// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link\n$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;\n$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;\n$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) * .5 !default;\n$navbar-brand-margin-end: 1rem !default;\n\n$navbar-toggler-padding-y: .25rem !default;\n$navbar-toggler-padding-x: .75rem !default;\n$navbar-toggler-font-size: $font-size-lg !default;\n$navbar-toggler-border-radius: $btn-border-radius !default;\n$navbar-toggler-focus-width: $btn-focus-width !default;\n$navbar-toggler-transition: box-shadow .15s ease-in-out !default;\n// scss-docs-end navbar-variables\n\n// scss-docs-start navbar-theme-variables\n$navbar-dark-color: rgba($white, .55) !default;\n$navbar-dark-hover-color: rgba($white, .75) !default;\n$navbar-dark-active-color: $white !default;\n$navbar-dark-disabled-color: rgba($white, .25) !default;\n$navbar-dark-toggler-icon-bg: url(\"data:image/svg+xml,\") !default;\n$navbar-dark-toggler-border-color: rgba($white, .1) !default;\n\n$navbar-light-color: rgba($black, .55) !default;\n$navbar-light-hover-color: rgba($black, .7) !default;\n$navbar-light-active-color: rgba($black, .9) !default;\n$navbar-light-disabled-color: rgba($black, .3) !default;\n$navbar-light-toggler-icon-bg: url(\"data:image/svg+xml,\") !default;\n$navbar-light-toggler-border-color: rgba($black, .1) !default;\n\n$navbar-light-brand-color: $navbar-light-active-color !default;\n$navbar-light-brand-hover-color: $navbar-light-active-color !default;\n$navbar-dark-brand-color: $navbar-dark-active-color !default;\n$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;\n// scss-docs-end navbar-theme-variables\n\n\n// Dropdowns\n//\n// Dropdown menu container and contents.\n\n// scss-docs-start dropdown-variables\n$dropdown-min-width: 10rem !default;\n$dropdown-padding-x: 0 !default;\n$dropdown-padding-y: .5rem !default;\n$dropdown-spacer: .125rem !default;\n$dropdown-font-size: $font-size-base !default;\n$dropdown-color: $body-color !default;\n$dropdown-bg: $white !default;\n$dropdown-border-color: rgba($black, .15) !default;\n$dropdown-border-radius: $border-radius !default;\n$dropdown-border-width: $border-width !default;\n$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;\n$dropdown-divider-bg: $dropdown-border-color !default;\n$dropdown-divider-margin-y: $spacer * .5 !default;\n$dropdown-box-shadow: $box-shadow !default;\n\n$dropdown-link-color: $gray-900 !default;\n$dropdown-link-hover-color: shade-color($dropdown-link-color, 10%) !default;\n$dropdown-link-hover-bg: $gray-200 !default;\n\n$dropdown-link-active-color: $component-active-color !default;\n$dropdown-link-active-bg: $component-active-bg !default;\n\n$dropdown-link-disabled-color: $gray-500 !default;\n\n$dropdown-item-padding-y: $spacer * .25 !default;\n$dropdown-item-padding-x: $spacer !default;\n\n$dropdown-header-color: $gray-600 !default;\n$dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x !default;\n// scss-docs-end dropdown-variables\n\n// scss-docs-start dropdown-dark-variables\n$dropdown-dark-color: $gray-300 !default;\n$dropdown-dark-bg: $gray-800 !default;\n$dropdown-dark-border-color: $dropdown-border-color !default;\n$dropdown-dark-divider-bg: $dropdown-divider-bg !default;\n$dropdown-dark-box-shadow: null !default;\n$dropdown-dark-link-color: $dropdown-dark-color !default;\n$dropdown-dark-link-hover-color: $white !default;\n$dropdown-dark-link-hover-bg: rgba($white, .15) !default;\n$dropdown-dark-link-active-color: $dropdown-link-active-color !default;\n$dropdown-dark-link-active-bg: $dropdown-link-active-bg !default;\n$dropdown-dark-link-disabled-color: $gray-500 !default;\n$dropdown-dark-header-color: $gray-500 !default;\n// scss-docs-end dropdown-dark-variables\n\n\n// Pagination\n\n// scss-docs-start pagination-variables\n$pagination-padding-y: .375rem !default;\n$pagination-padding-x: .75rem !default;\n$pagination-padding-y-sm: .25rem !default;\n$pagination-padding-x-sm: .5rem !default;\n$pagination-padding-y-lg: .75rem !default;\n$pagination-padding-x-lg: 1.5rem !default;\n\n$pagination-color: $link-color !default;\n$pagination-bg: $white !default;\n$pagination-border-width: $border-width !default;\n$pagination-border-radius: $border-radius !default;\n$pagination-margin-start: -$pagination-border-width !default;\n$pagination-border-color: $gray-300 !default;\n\n$pagination-focus-color: $link-hover-color !default;\n$pagination-focus-bg: $gray-200 !default;\n$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;\n$pagination-focus-outline: 0 !default;\n\n$pagination-hover-color: $link-hover-color !default;\n$pagination-hover-bg: $gray-200 !default;\n$pagination-hover-border-color: $gray-300 !default;\n\n$pagination-active-color: $component-active-color !default;\n$pagination-active-bg: $component-active-bg !default;\n$pagination-active-border-color: $pagination-active-bg !default;\n\n$pagination-disabled-color: $gray-600 !default;\n$pagination-disabled-bg: $white !default;\n$pagination-disabled-border-color: $gray-300 !default;\n\n$pagination-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;\n\n$pagination-border-radius-sm: $border-radius-sm !default;\n$pagination-border-radius-lg: $border-radius-lg !default;\n// scss-docs-end pagination-variables\n\n\n// Placeholders\n\n// scss-docs-start placeholders\n$placeholder-opacity-max: .5 !default;\n$placeholder-opacity-min: .2 !default;\n// scss-docs-end placeholders\n\n// Cards\n\n// scss-docs-start card-variables\n$card-spacer-y: $spacer !default;\n$card-spacer-x: $spacer !default;\n$card-title-spacer-y: $spacer * .5 !default;\n$card-border-width: $border-width !default;\n$card-border-color: rgba($black, .125) !default;\n$card-border-radius: $border-radius !default;\n$card-box-shadow: null !default;\n$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;\n$card-cap-padding-y: $card-spacer-y * .5 !default;\n$card-cap-padding-x: $card-spacer-x !default;\n$card-cap-bg: rgba($black, .03) !default;\n$card-cap-color: null !default;\n$card-height: null !default;\n$card-color: null !default;\n$card-bg: $white !default;\n$card-img-overlay-padding: $spacer !default;\n$card-group-margin: $grid-gutter-width * .5 !default;\n// scss-docs-end card-variables\n\n// Accordion\n\n// scss-docs-start accordion-variables\n$accordion-padding-y: 1rem !default;\n$accordion-padding-x: 1.25rem !default;\n$accordion-color: $body-color !default;\n$accordion-bg: $body-bg !default;\n$accordion-border-width: $border-width !default;\n$accordion-border-color: rgba($black, .125) !default;\n$accordion-border-radius: $border-radius !default;\n$accordion-inner-border-radius: subtract($accordion-border-radius, $accordion-border-width) !default;\n\n$accordion-body-padding-y: $accordion-padding-y !default;\n$accordion-body-padding-x: $accordion-padding-x !default;\n\n$accordion-button-padding-y: $accordion-padding-y !default;\n$accordion-button-padding-x: $accordion-padding-x !default;\n$accordion-button-color: $accordion-color !default;\n$accordion-button-bg: $accordion-bg !default;\n$accordion-transition: $btn-transition, border-radius .15s ease !default;\n$accordion-button-active-bg: tint-color($component-active-bg, 90%) !default;\n$accordion-button-active-color: shade-color($primary, 10%) !default;\n\n$accordion-button-focus-border-color: $input-focus-border-color !default;\n$accordion-button-focus-box-shadow: $btn-focus-box-shadow !default;\n\n$accordion-icon-width: 1.25rem !default;\n$accordion-icon-color: $accordion-button-color !default;\n$accordion-icon-active-color: $accordion-button-active-color !default;\n$accordion-icon-transition: transform .2s ease-in-out !default;\n$accordion-icon-transform: rotate(-180deg) !default;\n\n$accordion-button-icon: url(\"data:image/svg+xml,\") !default;\n$accordion-button-active-icon: url(\"data:image/svg+xml,\") !default;\n// scss-docs-end accordion-variables\n\n// Tooltips\n\n// scss-docs-start tooltip-variables\n$tooltip-font-size: $font-size-sm !default;\n$tooltip-max-width: 200px !default;\n$tooltip-color: $white !default;\n$tooltip-bg: $black !default;\n$tooltip-border-radius: $border-radius !default;\n$tooltip-opacity: .9 !default;\n$tooltip-padding-y: $spacer * .25 !default;\n$tooltip-padding-x: $spacer * .5 !default;\n$tooltip-margin: 0 !default;\n\n$tooltip-arrow-width: .8rem !default;\n$tooltip-arrow-height: .4rem !default;\n$tooltip-arrow-color: $tooltip-bg !default;\n// scss-docs-end tooltip-variables\n\n// Form tooltips must come after regular tooltips\n// scss-docs-start tooltip-feedback-variables\n$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;\n$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;\n$form-feedback-tooltip-font-size: $tooltip-font-size !default;\n$form-feedback-tooltip-line-height: null !default;\n$form-feedback-tooltip-opacity: $tooltip-opacity !default;\n$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;\n// scss-docs-end tooltip-feedback-variables\n\n\n// Popovers\n\n// scss-docs-start popover-variables\n$popover-font-size: $font-size-sm !default;\n$popover-bg: $white !default;\n$popover-max-width: 276px !default;\n$popover-border-width: $border-width !default;\n$popover-border-color: rgba($black, .2) !default;\n$popover-border-radius: $border-radius-lg !default;\n$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;\n$popover-box-shadow: $box-shadow !default;\n\n$popover-header-bg: shade-color($popover-bg, 6%) !default;\n$popover-header-color: $headings-color !default;\n$popover-header-padding-y: .5rem !default;\n$popover-header-padding-x: $spacer !default;\n\n$popover-body-color: $body-color !default;\n$popover-body-padding-y: $spacer !default;\n$popover-body-padding-x: $spacer !default;\n\n$popover-arrow-width: 1rem !default;\n$popover-arrow-height: .5rem !default;\n$popover-arrow-color: $popover-bg !default;\n\n$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;\n// scss-docs-end popover-variables\n\n\n// Toasts\n\n// scss-docs-start toast-variables\n$toast-max-width: 350px !default;\n$toast-padding-x: .75rem !default;\n$toast-padding-y: .5rem !default;\n$toast-font-size: .875rem !default;\n$toast-color: null !default;\n$toast-background-color: rgba($white, .85) !default;\n$toast-border-width: 1px !default;\n$toast-border-color: rgba(0, 0, 0, .1) !default;\n$toast-border-radius: $border-radius !default;\n$toast-box-shadow: $box-shadow !default;\n$toast-spacing: $container-padding-x !default;\n\n$toast-header-color: $gray-600 !default;\n$toast-header-background-color: rgba($white, .85) !default;\n$toast-header-border-color: rgba(0, 0, 0, .05) !default;\n// scss-docs-end toast-variables\n\n\n// Badges\n\n// scss-docs-start badge-variables\n$badge-font-size: .75em !default;\n$badge-font-weight: $font-weight-bold !default;\n$badge-color: $white !default;\n$badge-padding-y: .35em !default;\n$badge-padding-x: .65em !default;\n$badge-border-radius: $border-radius !default;\n// scss-docs-end badge-variables\n\n\n// Modals\n\n// scss-docs-start modal-variables\n$modal-inner-padding: $spacer !default;\n\n$modal-footer-margin-between: .5rem !default;\n\n$modal-dialog-margin: .5rem !default;\n$modal-dialog-margin-y-sm-up: 1.75rem !default;\n\n$modal-title-line-height: $line-height-base !default;\n\n$modal-content-color: null !default;\n$modal-content-bg: $white !default;\n$modal-content-border-color: rgba($black, .2) !default;\n$modal-content-border-width: $border-width !default;\n$modal-content-border-radius: $border-radius-lg !default;\n$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;\n$modal-content-box-shadow-xs: $box-shadow-sm !default;\n$modal-content-box-shadow-sm-up: $box-shadow !default;\n\n$modal-backdrop-bg: $black !default;\n$modal-backdrop-opacity: .5 !default;\n$modal-header-border-color: $border-color !default;\n$modal-footer-border-color: $modal-header-border-color !default;\n$modal-header-border-width: $modal-content-border-width !default;\n$modal-footer-border-width: $modal-header-border-width !default;\n$modal-header-padding-y: $modal-inner-padding !default;\n$modal-header-padding-x: $modal-inner-padding !default;\n$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility\n\n$modal-sm: 300px !default;\n$modal-md: 500px !default;\n$modal-lg: 800px !default;\n$modal-xl: 1140px !default;\n\n$modal-fade-transform: translate(0, -50px) !default;\n$modal-show-transform: none !default;\n$modal-transition: transform .3s ease-out !default;\n$modal-scale-transform: scale(1.02) !default;\n// scss-docs-end modal-variables\n\n\n// Alerts\n//\n// Define alert colors, border radius, and padding.\n\n// scss-docs-start alert-variables\n$alert-padding-y: $spacer !default;\n$alert-padding-x: $spacer !default;\n$alert-margin-bottom: 1rem !default;\n$alert-border-radius: $border-radius !default;\n$alert-link-font-weight: $font-weight-bold !default;\n$alert-border-width: $border-width !default;\n$alert-bg-scale: -80% !default;\n$alert-border-scale: -70% !default;\n$alert-color-scale: 40% !default;\n$alert-dismissible-padding-r: $alert-padding-x * 3 !default; // 3x covers width of x plus default padding on either side\n// scss-docs-end alert-variables\n\n\n// Progress bars\n\n// scss-docs-start progress-variables\n$progress-height: 1rem !default;\n$progress-font-size: $font-size-base * .75 !default;\n$progress-bg: $gray-200 !default;\n$progress-border-radius: $border-radius !default;\n$progress-box-shadow: $box-shadow-inset !default;\n$progress-bar-color: $white !default;\n$progress-bar-bg: $primary !default;\n$progress-bar-animation-timing: 1s linear infinite !default;\n$progress-bar-transition: width .6s ease !default;\n// scss-docs-end progress-variables\n\n\n// List group\n\n// scss-docs-start list-group-variables\n$list-group-color: $gray-900 !default;\n$list-group-bg: $white !default;\n$list-group-border-color: rgba($black, .125) !default;\n$list-group-border-width: $border-width !default;\n$list-group-border-radius: $border-radius !default;\n\n$list-group-item-padding-y: $spacer * .5 !default;\n$list-group-item-padding-x: $spacer !default;\n$list-group-item-bg-scale: -80% !default;\n$list-group-item-color-scale: 40% !default;\n\n$list-group-hover-bg: $gray-100 !default;\n$list-group-active-color: $component-active-color !default;\n$list-group-active-bg: $component-active-bg !default;\n$list-group-active-border-color: $list-group-active-bg !default;\n\n$list-group-disabled-color: $gray-600 !default;\n$list-group-disabled-bg: $list-group-bg !default;\n\n$list-group-action-color: $gray-700 !default;\n$list-group-action-hover-color: $list-group-action-color !default;\n\n$list-group-action-active-color: $body-color !default;\n$list-group-action-active-bg: $gray-200 !default;\n// scss-docs-end list-group-variables\n\n\n// Image thumbnails\n\n// scss-docs-start thumbnail-variables\n$thumbnail-padding: .25rem !default;\n$thumbnail-bg: $body-bg !default;\n$thumbnail-border-width: $border-width !default;\n$thumbnail-border-color: $gray-300 !default;\n$thumbnail-border-radius: $border-radius !default;\n$thumbnail-box-shadow: $box-shadow-sm !default;\n// scss-docs-end thumbnail-variables\n\n\n// Figures\n\n// scss-docs-start figure-variables\n$figure-caption-font-size: $small-font-size !default;\n$figure-caption-color: $gray-600 !default;\n// scss-docs-end figure-variables\n\n\n// Breadcrumbs\n\n// scss-docs-start breadcrumb-variables\n$breadcrumb-font-size: null !default;\n$breadcrumb-padding-y: 0 !default;\n$breadcrumb-padding-x: 0 !default;\n$breadcrumb-item-padding-x: .5rem !default;\n$breadcrumb-margin-bottom: 1rem !default;\n$breadcrumb-bg: null !default;\n$breadcrumb-divider-color: $gray-600 !default;\n$breadcrumb-active-color: $gray-600 !default;\n$breadcrumb-divider: quote(\"/\") !default;\n$breadcrumb-divider-flipped: $breadcrumb-divider !default;\n$breadcrumb-border-radius: null !default;\n// scss-docs-end breadcrumb-variables\n\n// Carousel\n\n// scss-docs-start carousel-variables\n$carousel-control-color: $white !default;\n$carousel-control-width: 15% !default;\n$carousel-control-opacity: .5 !default;\n$carousel-control-hover-opacity: .9 !default;\n$carousel-control-transition: opacity .15s ease !default;\n\n$carousel-indicator-width: 30px !default;\n$carousel-indicator-height: 3px !default;\n$carousel-indicator-hit-area-height: 10px !default;\n$carousel-indicator-spacer: 3px !default;\n$carousel-indicator-opacity: .5 !default;\n$carousel-indicator-active-bg: $white !default;\n$carousel-indicator-active-opacity: 1 !default;\n$carousel-indicator-transition: opacity .6s ease !default;\n\n$carousel-caption-width: 70% !default;\n$carousel-caption-color: $white !default;\n$carousel-caption-padding-y: 1.25rem !default;\n$carousel-caption-spacer: 1.25rem !default;\n\n$carousel-control-icon-width: 2rem !default;\n\n$carousel-control-prev-icon-bg: url(\"data:image/svg+xml,\") !default;\n$carousel-control-next-icon-bg: url(\"data:image/svg+xml,\") !default;\n\n$carousel-transition-duration: .6s !default;\n$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)\n\n$carousel-dark-indicator-active-bg: $black !default;\n$carousel-dark-caption-color: $black !default;\n$carousel-dark-control-icon-filter: invert(1) grayscale(100) !default;\n// scss-docs-end carousel-variables\n\n\n// Spinners\n\n// scss-docs-start spinner-variables\n$spinner-width: 2rem !default;\n$spinner-height: $spinner-width !default;\n$spinner-vertical-align: -.125em !default;\n$spinner-border-width: .25em !default;\n$spinner-animation-speed: .75s !default;\n\n$spinner-width-sm: 1rem !default;\n$spinner-height-sm: $spinner-width-sm !default;\n$spinner-border-width-sm: .2em !default;\n// scss-docs-end spinner-variables\n\n\n// Close\n\n// scss-docs-start close-variables\n$btn-close-width: 1em !default;\n$btn-close-height: $btn-close-width !default;\n$btn-close-padding-x: .25em !default;\n$btn-close-padding-y: $btn-close-padding-x !default;\n$btn-close-color: $black !default;\n$btn-close-bg: url(\"data:image/svg+xml,\") !default;\n$btn-close-focus-shadow: $input-btn-focus-box-shadow !default;\n$btn-close-opacity: .5 !default;\n$btn-close-hover-opacity: .75 !default;\n$btn-close-focus-opacity: 1 !default;\n$btn-close-disabled-opacity: .25 !default;\n$btn-close-white-filter: invert(1) grayscale(100%) brightness(200%) !default;\n// scss-docs-end close-variables\n\n\n// Offcanvas\n\n// scss-docs-start offcanvas-variables\n$offcanvas-padding-y: $modal-inner-padding !default;\n$offcanvas-padding-x: $modal-inner-padding !default;\n$offcanvas-horizontal-width: 400px !default;\n$offcanvas-vertical-height: 30vh !default;\n$offcanvas-transition-duration: .3s !default;\n$offcanvas-border-color: $modal-content-border-color !default;\n$offcanvas-border-width: $modal-content-border-width !default;\n$offcanvas-title-line-height: $modal-title-line-height !default;\n$offcanvas-bg-color: $modal-content-bg !default;\n$offcanvas-color: $modal-content-color !default;\n$offcanvas-box-shadow: $modal-content-box-shadow-xs !default;\n$offcanvas-backdrop-bg: $modal-backdrop-bg !default;\n$offcanvas-backdrop-opacity: $modal-backdrop-opacity !default;\n// scss-docs-end offcanvas-variables\n\n// Code\n\n$code-font-size: $small-font-size !default;\n$code-color: $pink !default;\n\n$kbd-padding-y: .2rem !default;\n$kbd-padding-x: .4rem !default;\n$kbd-font-size: $code-font-size !default;\n$kbd-color: $white !default;\n$kbd-bg: $gray-900 !default;\n\n$pre-color: null !default;\n","// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n}\n\n@if $enable-cssgrid {\n .grid {\n display: grid;\n grid-template-rows: repeat(var(--#{$variable-prefix}rows, 1), 1fr);\n grid-template-columns: repeat(var(--#{$variable-prefix}columns, #{$grid-columns}), 1fr);\n gap: var(--#{$variable-prefix}gap, #{$grid-gutter-width});\n\n @include make-cssgrid();\n }\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n --#{$variable-prefix}gutter-x: #{$gutter};\n --#{$variable-prefix}gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(var(--#{$variable-prefix}gutter-y) * -1); // stylelint-disable-line function-disallowed-list\n margin-right: calc(var(--#{$variable-prefix}gutter-x) * -.5); // stylelint-disable-line function-disallowed-list\n margin-left: calc(var(--#{$variable-prefix}gutter-x) * -.5); // stylelint-disable-line function-disallowed-list\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n // Add box sizing if only the grid is loaded\n box-sizing: if(variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-right: calc(var(--#{$variable-prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$variable-prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n margin-top: var(--#{$variable-prefix}gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n @if $size {\n flex: 0 0 auto;\n width: percentage(divide($size, $columns));\n\n } @else {\n flex: 1 1 0;\n max-width: 100%;\n }\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: divide($size, $columns);\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 auto;\n width: divide(100%, $count);\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0%; // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n }\n\n .row-cols#{$infix}-auto > * {\n @include make-col-auto();\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n\n // Gutters\n //\n // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n @each $key, $value in $gutters {\n .g#{$infix}-#{$key},\n .gx#{$infix}-#{$key} {\n --#{$variable-prefix}gutter-x: #{$value};\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n --#{$variable-prefix}gutter-y: #{$value};\n }\n }\n }\n }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .g-col#{$infix}-#{$i} {\n grid-column: auto / span $i;\n }\n }\n\n // Start with `1` because `0` is and invalid value.\n // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n @for $i from 1 through ($columns - 1) {\n .g-start#{$infix}-#{$i} {\n grid-column-start: $i;\n }\n }\n }\n }\n }\n}\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix, $is-rfs-media-query: false) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n // State params to generate pseudo-classes\n $state: if(map-has-key($utility, state), map-get($utility, state), ());\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (eg. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n @if map-get($utility, rfs) {\n // Inside the media query\n @if $is-rfs-media-query {\n $val: rfs-value($value);\n\n // Do not render anything if fluid and non fluid values are the same\n $value: if($val == rfs-fluid-value($value), null, $val);\n }\n @else {\n $value: rfs-fluid-value($value);\n }\n }\n\n $is-css-var: map-get($utility, css-var);\n $is-local-vars: map-get($utility, local-vars);\n $is-rtl: map-get($utility, rtl);\n\n @if $value != null {\n @if $is-rtl == false {\n /* rtl:begin:remove */\n }\n\n @if $is-css-var {\n .#{$property-class + $infix + $property-class-modifier} {\n --#{$variable-prefix}#{$property-class}: #{$value};\n }\n\n @each $pseudo in $state {\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n --#{$variable-prefix}#{$property-class}: #{$value};\n }\n }\n } @else {\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n @if $is-local-vars {\n @each $local-var, $value in $is-local-vars {\n --#{$variable-prefix}#{$local-var}: #{$value};\n }\n }\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n\n @each $pseudo in $state {\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n @each $property in $properties {\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n }\n }\n\n @if $is-rtl == false {\n /* rtl:end:remove */\n }\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n// RFS rescaling\n@media (min-width: $rfs-mq-value) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and map-get($utility, rfs) and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix, true);\n }\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file diff --git a/public/css/bootstrap/css/bootstrap-grid.rtl.min.css.map b/public/css/bootstrap/css/bootstrap-grid.rtl.min.css.map deleted file mode 100644 index 3e42d70..0000000 --- a/public/css/bootstrap/css/bootstrap-grid.rtl.min.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../scss/bootstrap-grid.scss","../../scss/_root.scss","../../scss/_containers.scss","dist/css/bootstrap-grid.rtl.css","../../scss/mixins/_container.scss","../../scss/mixins/_breakpoints.scss","../../scss/_grid.scss","../../scss/mixins/_grid.scss","../../scss/mixins/_utilities.scss","../../scss/utilities/_api.scss"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Bootstrap Grid v5.1.1 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n\n$include-column-box-sizing: true !default;\n\n@import \"functions\";\n@import \"variables\";\n\n@import \"mixins/lists\";\n@import \"mixins/breakpoints\";\n@import \"mixins/container\";\n@import \"mixins/grid\";\n@import \"mixins/utilities\";\n\n@import \"vendor/rfs\";\n\n@import \"root\";\n\n@import \"containers\";\n@import \"grid\";\n\n@import \"utilities\";\n// Only use the utilities we need\n// stylelint-disable-next-line scss/dollar-variable-default\n$utilities: map-get-multiple(\n $utilities,\n (\n \"display\",\n \"order\",\n \"flex\",\n \"flex-direction\",\n \"flex-grow\",\n \"flex-shrink\",\n \"flex-wrap\",\n \"justify-content\",\n \"align-items\",\n \"align-content\",\n \"align-self\",\n \"margin\",\n \"margin-x\",\n \"margin-y\",\n \"margin-top\",\n \"margin-end\",\n \"margin-bottom\",\n \"margin-start\",\n \"negative-margin\",\n \"negative-margin-x\",\n \"negative-margin-y\",\n \"negative-margin-top\",\n \"negative-margin-end\",\n \"negative-margin-bottom\",\n \"negative-margin-start\",\n \"padding\",\n \"padding-x\",\n \"padding-y\",\n \"padding-top\",\n \"padding-end\",\n \"padding-bottom\",\n \"padding-start\",\n )\n);\n\n@import \"utilities/api\";\n",":root {\n // Note: Custom variable values only support SassScript inside `#{}`.\n\n // Colors\n //\n // Generate palettes for full colors, grays, and theme colors.\n\n @each $color, $value in $colors {\n --#{$variable-prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $grays {\n --#{$variable-prefix}gray-#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$variable-prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors-rgb {\n --#{$variable-prefix}#{$color}-rgb: #{$value};\n }\n\n --#{$variable-prefix}white-rgb: #{to-rgb($white)};\n --#{$variable-prefix}black-rgb: #{to-rgb($black)};\n --#{$variable-prefix}body-color-rgb: #{to-rgb($body-color)};\n --#{$variable-prefix}body-bg-rgb: #{to-rgb($body-bg)};\n\n // Fonts\n\n // Note: Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --#{$variable-prefix}font-sans-serif: #{inspect($font-family-sans-serif)};\n --#{$variable-prefix}font-monospace: #{inspect($font-family-monospace)};\n --#{$variable-prefix}gradient: #{$gradient};\n\n // Root and body\n // stylelint-disable custom-property-empty-line-before\n // scss-docs-start root-body-variables\n @if $font-size-root != null {\n --#{$variable-prefix}root-font-size: #{$font-size-root};\n }\n --#{$variable-prefix}body-font-family: #{$font-family-base};\n --#{$variable-prefix}body-font-size: #{$font-size-base};\n --#{$variable-prefix}body-font-weight: #{$font-weight-base};\n --#{$variable-prefix}body-line-height: #{$line-height-base};\n --#{$variable-prefix}body-color: #{$body-color};\n @if $body-text-align != null {\n --#{$variable-prefix}body-text-align: #{$body-text-align};\n }\n --#{$variable-prefix}body-bg: #{$body-bg};\n // scss-docs-end root-body-variables\n // stylelint-enable custom-property-empty-line-before\n}\n","// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n@if $enable-grid-classes {\n // Single container class with breakpoint max-widths\n .container,\n // 100% wide container at all breakpoints\n .container-fluid {\n @include make-container();\n }\n\n // Responsive containers that are 100% wide until a breakpoint\n @each $breakpoint, $container-max-width in $container-max-widths {\n .container-#{$breakpoint} {\n @extend .container-fluid;\n }\n\n @include media-breakpoint-up($breakpoint, $grid-breakpoints) {\n %responsive-container-#{$breakpoint} {\n max-width: $container-max-width;\n }\n\n // Extend each breakpoint which is smaller or equal to the current breakpoint\n $extend-breakpoint: true;\n\n @each $name, $width in $grid-breakpoints {\n @if ($extend-breakpoint) {\n .container#{breakpoint-infix($name, $grid-breakpoints)} {\n @extend %responsive-container-#{$breakpoint};\n }\n\n // Once the current breakpoint is reached, stop extending\n @if ($breakpoint == $name) {\n $extend-breakpoint: false;\n }\n }\n }\n }\n }\n}\n","/*!\n * Bootstrap Grid v5.1.1 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n */\n:root {\n --bs-blue: #0d6efd;\n --bs-indigo: #6610f2;\n --bs-purple: #6f42c1;\n --bs-pink: #d63384;\n --bs-red: #dc3545;\n --bs-orange: #fd7e14;\n --bs-yellow: #ffc107;\n --bs-green: #198754;\n --bs-teal: #20c997;\n --bs-cyan: #0dcaf0;\n --bs-white: #fff;\n --bs-gray: #6c757d;\n --bs-gray-dark: #343a40;\n --bs-gray-100: #f8f9fa;\n --bs-gray-200: #e9ecef;\n --bs-gray-300: #dee2e6;\n --bs-gray-400: #ced4da;\n --bs-gray-500: #adb5bd;\n --bs-gray-600: #6c757d;\n --bs-gray-700: #495057;\n --bs-gray-800: #343a40;\n --bs-gray-900: #212529;\n --bs-primary: #0d6efd;\n --bs-secondary: #6c757d;\n --bs-success: #198754;\n --bs-info: #0dcaf0;\n --bs-warning: #ffc107;\n --bs-danger: #dc3545;\n --bs-light: #f8f9fa;\n --bs-dark: #212529;\n --bs-primary-rgb: 13, 110, 253;\n --bs-secondary-rgb: 108, 117, 125;\n --bs-success-rgb: 25, 135, 84;\n --bs-info-rgb: 13, 202, 240;\n --bs-warning-rgb: 255, 193, 7;\n --bs-danger-rgb: 220, 53, 69;\n --bs-light-rgb: 248, 249, 250;\n --bs-dark-rgb: 33, 37, 41;\n --bs-white-rgb: 255, 255, 255;\n --bs-black-rgb: 0, 0, 0;\n --bs-body-color-rgb: 33, 37, 41;\n --bs-body-bg-rgb: 255, 255, 255;\n --bs-font-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));\n --bs-body-font-family: var(--bs-font-sans-serif);\n --bs-body-font-size: 1rem;\n --bs-body-font-weight: 400;\n --bs-body-line-height: 1.5;\n --bs-body-color: #212529;\n --bs-body-bg: #fff;\n}\n\n.container,\n.container-fluid,\n.container-xxl,\n.container-xl,\n.container-lg,\n.container-md,\n.container-sm {\n width: 100%;\n padding-left: var(--bs-gutter-x, 0.75rem);\n padding-right: var(--bs-gutter-x, 0.75rem);\n margin-left: auto;\n margin-right: auto;\n}\n\n@media (min-width: 576px) {\n .container-sm, .container {\n max-width: 540px;\n }\n}\n@media (min-width: 768px) {\n .container-md, .container-sm, .container {\n max-width: 720px;\n }\n}\n@media (min-width: 992px) {\n .container-lg, .container-md, .container-sm, .container {\n max-width: 960px;\n }\n}\n@media (min-width: 1200px) {\n .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1140px;\n }\n}\n@media (min-width: 1400px) {\n .container-xxl, .container-xl, .container-lg, .container-md, .container-sm, .container {\n max-width: 1320px;\n }\n}\n.row {\n --bs-gutter-x: 1.5rem;\n --bs-gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(var(--bs-gutter-y) * -1);\n margin-left: calc(var(--bs-gutter-x) * -.5);\n margin-right: calc(var(--bs-gutter-x) * -.5);\n}\n.row > * {\n box-sizing: border-box;\n flex-shrink: 0;\n width: 100%;\n max-width: 100%;\n padding-left: calc(var(--bs-gutter-x) * .5);\n padding-right: calc(var(--bs-gutter-x) * .5);\n margin-top: var(--bs-gutter-y);\n}\n\n.col {\n flex: 1 0 0%;\n}\n\n.row-cols-auto > * {\n flex: 0 0 auto;\n width: auto;\n}\n\n.row-cols-1 > * {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.row-cols-2 > * {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.row-cols-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n}\n\n.row-cols-4 > * {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.row-cols-5 > * {\n flex: 0 0 auto;\n width: 20%;\n}\n\n.row-cols-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n}\n\n.col-auto {\n flex: 0 0 auto;\n width: auto;\n}\n\n.col-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n}\n\n.col-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n}\n\n.col-3 {\n flex: 0 0 auto;\n width: 25%;\n}\n\n.col-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n}\n\n.col-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n}\n\n.col-6 {\n flex: 0 0 auto;\n width: 50%;\n}\n\n.col-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n}\n\n.col-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n}\n\n.col-9 {\n flex: 0 0 auto;\n width: 75%;\n}\n\n.col-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n}\n\n.col-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n}\n\n.col-12 {\n flex: 0 0 auto;\n width: 100%;\n}\n\n.offset-1 {\n margin-right: 8.33333333%;\n}\n\n.offset-2 {\n margin-right: 16.66666667%;\n}\n\n.offset-3 {\n margin-right: 25%;\n}\n\n.offset-4 {\n margin-right: 33.33333333%;\n}\n\n.offset-5 {\n margin-right: 41.66666667%;\n}\n\n.offset-6 {\n margin-right: 50%;\n}\n\n.offset-7 {\n margin-right: 58.33333333%;\n}\n\n.offset-8 {\n margin-right: 66.66666667%;\n}\n\n.offset-9 {\n margin-right: 75%;\n}\n\n.offset-10 {\n margin-right: 83.33333333%;\n}\n\n.offset-11 {\n margin-right: 91.66666667%;\n}\n\n.g-0,\n.gx-0 {\n --bs-gutter-x: 0;\n}\n\n.g-0,\n.gy-0 {\n --bs-gutter-y: 0;\n}\n\n.g-1,\n.gx-1 {\n --bs-gutter-x: 0.25rem;\n}\n\n.g-1,\n.gy-1 {\n --bs-gutter-y: 0.25rem;\n}\n\n.g-2,\n.gx-2 {\n --bs-gutter-x: 0.5rem;\n}\n\n.g-2,\n.gy-2 {\n --bs-gutter-y: 0.5rem;\n}\n\n.g-3,\n.gx-3 {\n --bs-gutter-x: 1rem;\n}\n\n.g-3,\n.gy-3 {\n --bs-gutter-y: 1rem;\n}\n\n.g-4,\n.gx-4 {\n --bs-gutter-x: 1.5rem;\n}\n\n.g-4,\n.gy-4 {\n --bs-gutter-y: 1.5rem;\n}\n\n.g-5,\n.gx-5 {\n --bs-gutter-x: 3rem;\n}\n\n.g-5,\n.gy-5 {\n --bs-gutter-y: 3rem;\n}\n\n@media (min-width: 576px) {\n .col-sm {\n flex: 1 0 0%;\n }\n\n .row-cols-sm-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-sm-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-sm-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-sm-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-sm-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-sm-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-sm-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-sm-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-sm-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n\n .col-sm-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n\n .col-sm-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-sm-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n\n .col-sm-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n\n .col-sm-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-sm-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n\n .col-sm-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n\n .col-sm-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-sm-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n\n .col-sm-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n\n .col-sm-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-sm-0 {\n margin-right: 0;\n }\n\n .offset-sm-1 {\n margin-right: 8.33333333%;\n }\n\n .offset-sm-2 {\n margin-right: 16.66666667%;\n }\n\n .offset-sm-3 {\n margin-right: 25%;\n }\n\n .offset-sm-4 {\n margin-right: 33.33333333%;\n }\n\n .offset-sm-5 {\n margin-right: 41.66666667%;\n }\n\n .offset-sm-6 {\n margin-right: 50%;\n }\n\n .offset-sm-7 {\n margin-right: 58.33333333%;\n }\n\n .offset-sm-8 {\n margin-right: 66.66666667%;\n }\n\n .offset-sm-9 {\n margin-right: 75%;\n }\n\n .offset-sm-10 {\n margin-right: 83.33333333%;\n }\n\n .offset-sm-11 {\n margin-right: 91.66666667%;\n }\n\n .g-sm-0,\n.gx-sm-0 {\n --bs-gutter-x: 0;\n }\n\n .g-sm-0,\n.gy-sm-0 {\n --bs-gutter-y: 0;\n }\n\n .g-sm-1,\n.gx-sm-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-sm-1,\n.gy-sm-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-sm-2,\n.gx-sm-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-sm-2,\n.gy-sm-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-sm-3,\n.gx-sm-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-sm-3,\n.gy-sm-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-sm-4,\n.gx-sm-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-sm-4,\n.gy-sm-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-sm-5,\n.gx-sm-5 {\n --bs-gutter-x: 3rem;\n }\n\n .g-sm-5,\n.gy-sm-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 768px) {\n .col-md {\n flex: 1 0 0%;\n }\n\n .row-cols-md-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-md-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-md-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-md-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-md-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-md-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-md-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-md-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-md-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n\n .col-md-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n\n .col-md-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-md-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n\n .col-md-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n\n .col-md-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-md-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n\n .col-md-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n\n .col-md-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-md-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n\n .col-md-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n\n .col-md-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-md-0 {\n margin-right: 0;\n }\n\n .offset-md-1 {\n margin-right: 8.33333333%;\n }\n\n .offset-md-2 {\n margin-right: 16.66666667%;\n }\n\n .offset-md-3 {\n margin-right: 25%;\n }\n\n .offset-md-4 {\n margin-right: 33.33333333%;\n }\n\n .offset-md-5 {\n margin-right: 41.66666667%;\n }\n\n .offset-md-6 {\n margin-right: 50%;\n }\n\n .offset-md-7 {\n margin-right: 58.33333333%;\n }\n\n .offset-md-8 {\n margin-right: 66.66666667%;\n }\n\n .offset-md-9 {\n margin-right: 75%;\n }\n\n .offset-md-10 {\n margin-right: 83.33333333%;\n }\n\n .offset-md-11 {\n margin-right: 91.66666667%;\n }\n\n .g-md-0,\n.gx-md-0 {\n --bs-gutter-x: 0;\n }\n\n .g-md-0,\n.gy-md-0 {\n --bs-gutter-y: 0;\n }\n\n .g-md-1,\n.gx-md-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-md-1,\n.gy-md-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-md-2,\n.gx-md-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-md-2,\n.gy-md-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-md-3,\n.gx-md-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-md-3,\n.gy-md-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-md-4,\n.gx-md-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-md-4,\n.gy-md-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-md-5,\n.gx-md-5 {\n --bs-gutter-x: 3rem;\n }\n\n .g-md-5,\n.gy-md-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 992px) {\n .col-lg {\n flex: 1 0 0%;\n }\n\n .row-cols-lg-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-lg-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-lg-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-lg-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-lg-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-lg-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-lg-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-lg-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-lg-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n\n .col-lg-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n\n .col-lg-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-lg-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n\n .col-lg-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n\n .col-lg-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-lg-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n\n .col-lg-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n\n .col-lg-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-lg-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n\n .col-lg-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n\n .col-lg-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-lg-0 {\n margin-right: 0;\n }\n\n .offset-lg-1 {\n margin-right: 8.33333333%;\n }\n\n .offset-lg-2 {\n margin-right: 16.66666667%;\n }\n\n .offset-lg-3 {\n margin-right: 25%;\n }\n\n .offset-lg-4 {\n margin-right: 33.33333333%;\n }\n\n .offset-lg-5 {\n margin-right: 41.66666667%;\n }\n\n .offset-lg-6 {\n margin-right: 50%;\n }\n\n .offset-lg-7 {\n margin-right: 58.33333333%;\n }\n\n .offset-lg-8 {\n margin-right: 66.66666667%;\n }\n\n .offset-lg-9 {\n margin-right: 75%;\n }\n\n .offset-lg-10 {\n margin-right: 83.33333333%;\n }\n\n .offset-lg-11 {\n margin-right: 91.66666667%;\n }\n\n .g-lg-0,\n.gx-lg-0 {\n --bs-gutter-x: 0;\n }\n\n .g-lg-0,\n.gy-lg-0 {\n --bs-gutter-y: 0;\n }\n\n .g-lg-1,\n.gx-lg-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-lg-1,\n.gy-lg-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-lg-2,\n.gx-lg-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-lg-2,\n.gy-lg-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-lg-3,\n.gx-lg-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-lg-3,\n.gy-lg-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-lg-4,\n.gx-lg-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-lg-4,\n.gy-lg-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-lg-5,\n.gx-lg-5 {\n --bs-gutter-x: 3rem;\n }\n\n .g-lg-5,\n.gy-lg-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1200px) {\n .col-xl {\n flex: 1 0 0%;\n }\n\n .row-cols-xl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-xl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-xl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-xl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-xl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-xl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-xl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-xl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-xl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n\n .col-xl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n\n .col-xl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-xl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n\n .col-xl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n\n .col-xl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-xl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n\n .col-xl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n\n .col-xl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-xl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n\n .col-xl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n\n .col-xl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-xl-0 {\n margin-right: 0;\n }\n\n .offset-xl-1 {\n margin-right: 8.33333333%;\n }\n\n .offset-xl-2 {\n margin-right: 16.66666667%;\n }\n\n .offset-xl-3 {\n margin-right: 25%;\n }\n\n .offset-xl-4 {\n margin-right: 33.33333333%;\n }\n\n .offset-xl-5 {\n margin-right: 41.66666667%;\n }\n\n .offset-xl-6 {\n margin-right: 50%;\n }\n\n .offset-xl-7 {\n margin-right: 58.33333333%;\n }\n\n .offset-xl-8 {\n margin-right: 66.66666667%;\n }\n\n .offset-xl-9 {\n margin-right: 75%;\n }\n\n .offset-xl-10 {\n margin-right: 83.33333333%;\n }\n\n .offset-xl-11 {\n margin-right: 91.66666667%;\n }\n\n .g-xl-0,\n.gx-xl-0 {\n --bs-gutter-x: 0;\n }\n\n .g-xl-0,\n.gy-xl-0 {\n --bs-gutter-y: 0;\n }\n\n .g-xl-1,\n.gx-xl-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-xl-1,\n.gy-xl-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-xl-2,\n.gx-xl-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-xl-2,\n.gy-xl-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-xl-3,\n.gx-xl-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-xl-3,\n.gy-xl-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-xl-4,\n.gx-xl-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-xl-4,\n.gy-xl-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-xl-5,\n.gx-xl-5 {\n --bs-gutter-x: 3rem;\n }\n\n .g-xl-5,\n.gy-xl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n@media (min-width: 1400px) {\n .col-xxl {\n flex: 1 0 0%;\n }\n\n .row-cols-xxl-auto > * {\n flex: 0 0 auto;\n width: auto;\n }\n\n .row-cols-xxl-1 > * {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .row-cols-xxl-2 > * {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .row-cols-xxl-3 > * {\n flex: 0 0 auto;\n width: 33.3333333333%;\n }\n\n .row-cols-xxl-4 > * {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .row-cols-xxl-5 > * {\n flex: 0 0 auto;\n width: 20%;\n }\n\n .row-cols-xxl-6 > * {\n flex: 0 0 auto;\n width: 16.6666666667%;\n }\n\n .col-xxl-auto {\n flex: 0 0 auto;\n width: auto;\n }\n\n .col-xxl-1 {\n flex: 0 0 auto;\n width: 8.33333333%;\n }\n\n .col-xxl-2 {\n flex: 0 0 auto;\n width: 16.66666667%;\n }\n\n .col-xxl-3 {\n flex: 0 0 auto;\n width: 25%;\n }\n\n .col-xxl-4 {\n flex: 0 0 auto;\n width: 33.33333333%;\n }\n\n .col-xxl-5 {\n flex: 0 0 auto;\n width: 41.66666667%;\n }\n\n .col-xxl-6 {\n flex: 0 0 auto;\n width: 50%;\n }\n\n .col-xxl-7 {\n flex: 0 0 auto;\n width: 58.33333333%;\n }\n\n .col-xxl-8 {\n flex: 0 0 auto;\n width: 66.66666667%;\n }\n\n .col-xxl-9 {\n flex: 0 0 auto;\n width: 75%;\n }\n\n .col-xxl-10 {\n flex: 0 0 auto;\n width: 83.33333333%;\n }\n\n .col-xxl-11 {\n flex: 0 0 auto;\n width: 91.66666667%;\n }\n\n .col-xxl-12 {\n flex: 0 0 auto;\n width: 100%;\n }\n\n .offset-xxl-0 {\n margin-right: 0;\n }\n\n .offset-xxl-1 {\n margin-right: 8.33333333%;\n }\n\n .offset-xxl-2 {\n margin-right: 16.66666667%;\n }\n\n .offset-xxl-3 {\n margin-right: 25%;\n }\n\n .offset-xxl-4 {\n margin-right: 33.33333333%;\n }\n\n .offset-xxl-5 {\n margin-right: 41.66666667%;\n }\n\n .offset-xxl-6 {\n margin-right: 50%;\n }\n\n .offset-xxl-7 {\n margin-right: 58.33333333%;\n }\n\n .offset-xxl-8 {\n margin-right: 66.66666667%;\n }\n\n .offset-xxl-9 {\n margin-right: 75%;\n }\n\n .offset-xxl-10 {\n margin-right: 83.33333333%;\n }\n\n .offset-xxl-11 {\n margin-right: 91.66666667%;\n }\n\n .g-xxl-0,\n.gx-xxl-0 {\n --bs-gutter-x: 0;\n }\n\n .g-xxl-0,\n.gy-xxl-0 {\n --bs-gutter-y: 0;\n }\n\n .g-xxl-1,\n.gx-xxl-1 {\n --bs-gutter-x: 0.25rem;\n }\n\n .g-xxl-1,\n.gy-xxl-1 {\n --bs-gutter-y: 0.25rem;\n }\n\n .g-xxl-2,\n.gx-xxl-2 {\n --bs-gutter-x: 0.5rem;\n }\n\n .g-xxl-2,\n.gy-xxl-2 {\n --bs-gutter-y: 0.5rem;\n }\n\n .g-xxl-3,\n.gx-xxl-3 {\n --bs-gutter-x: 1rem;\n }\n\n .g-xxl-3,\n.gy-xxl-3 {\n --bs-gutter-y: 1rem;\n }\n\n .g-xxl-4,\n.gx-xxl-4 {\n --bs-gutter-x: 1.5rem;\n }\n\n .g-xxl-4,\n.gy-xxl-4 {\n --bs-gutter-y: 1.5rem;\n }\n\n .g-xxl-5,\n.gx-xxl-5 {\n --bs-gutter-x: 3rem;\n }\n\n .g-xxl-5,\n.gy-xxl-5 {\n --bs-gutter-y: 3rem;\n }\n}\n.d-inline {\n display: inline !important;\n}\n\n.d-inline-block {\n display: inline-block !important;\n}\n\n.d-block {\n display: block !important;\n}\n\n.d-grid {\n display: grid !important;\n}\n\n.d-table {\n display: table !important;\n}\n\n.d-table-row {\n display: table-row !important;\n}\n\n.d-table-cell {\n display: table-cell !important;\n}\n\n.d-flex {\n display: flex !important;\n}\n\n.d-inline-flex {\n display: inline-flex !important;\n}\n\n.d-none {\n display: none !important;\n}\n\n.flex-fill {\n flex: 1 1 auto !important;\n}\n\n.flex-row {\n flex-direction: row !important;\n}\n\n.flex-column {\n flex-direction: column !important;\n}\n\n.flex-row-reverse {\n flex-direction: row-reverse !important;\n}\n\n.flex-column-reverse {\n flex-direction: column-reverse !important;\n}\n\n.flex-grow-0 {\n flex-grow: 0 !important;\n}\n\n.flex-grow-1 {\n flex-grow: 1 !important;\n}\n\n.flex-shrink-0 {\n flex-shrink: 0 !important;\n}\n\n.flex-shrink-1 {\n flex-shrink: 1 !important;\n}\n\n.flex-wrap {\n flex-wrap: wrap !important;\n}\n\n.flex-nowrap {\n flex-wrap: nowrap !important;\n}\n\n.flex-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n}\n\n.justify-content-start {\n justify-content: flex-start !important;\n}\n\n.justify-content-end {\n justify-content: flex-end !important;\n}\n\n.justify-content-center {\n justify-content: center !important;\n}\n\n.justify-content-between {\n justify-content: space-between !important;\n}\n\n.justify-content-around {\n justify-content: space-around !important;\n}\n\n.justify-content-evenly {\n justify-content: space-evenly !important;\n}\n\n.align-items-start {\n align-items: flex-start !important;\n}\n\n.align-items-end {\n align-items: flex-end !important;\n}\n\n.align-items-center {\n align-items: center !important;\n}\n\n.align-items-baseline {\n align-items: baseline !important;\n}\n\n.align-items-stretch {\n align-items: stretch !important;\n}\n\n.align-content-start {\n align-content: flex-start !important;\n}\n\n.align-content-end {\n align-content: flex-end !important;\n}\n\n.align-content-center {\n align-content: center !important;\n}\n\n.align-content-between {\n align-content: space-between !important;\n}\n\n.align-content-around {\n align-content: space-around !important;\n}\n\n.align-content-stretch {\n align-content: stretch !important;\n}\n\n.align-self-auto {\n align-self: auto !important;\n}\n\n.align-self-start {\n align-self: flex-start !important;\n}\n\n.align-self-end {\n align-self: flex-end !important;\n}\n\n.align-self-center {\n align-self: center !important;\n}\n\n.align-self-baseline {\n align-self: baseline !important;\n}\n\n.align-self-stretch {\n align-self: stretch !important;\n}\n\n.order-first {\n order: -1 !important;\n}\n\n.order-0 {\n order: 0 !important;\n}\n\n.order-1 {\n order: 1 !important;\n}\n\n.order-2 {\n order: 2 !important;\n}\n\n.order-3 {\n order: 3 !important;\n}\n\n.order-4 {\n order: 4 !important;\n}\n\n.order-5 {\n order: 5 !important;\n}\n\n.order-last {\n order: 6 !important;\n}\n\n.m-0 {\n margin: 0 !important;\n}\n\n.m-1 {\n margin: 0.25rem !important;\n}\n\n.m-2 {\n margin: 0.5rem !important;\n}\n\n.m-3 {\n margin: 1rem !important;\n}\n\n.m-4 {\n margin: 1.5rem !important;\n}\n\n.m-5 {\n margin: 3rem !important;\n}\n\n.m-auto {\n margin: auto !important;\n}\n\n.mx-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n}\n\n.mx-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n}\n\n.mx-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n}\n\n.mx-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n}\n\n.mx-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n}\n\n.mx-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n}\n\n.mx-auto {\n margin-left: auto !important;\n margin-right: auto !important;\n}\n\n.my-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n}\n\n.my-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n}\n\n.my-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n}\n\n.my-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n}\n\n.my-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n}\n\n.my-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n}\n\n.my-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n}\n\n.mt-0 {\n margin-top: 0 !important;\n}\n\n.mt-1 {\n margin-top: 0.25rem !important;\n}\n\n.mt-2 {\n margin-top: 0.5rem !important;\n}\n\n.mt-3 {\n margin-top: 1rem !important;\n}\n\n.mt-4 {\n margin-top: 1.5rem !important;\n}\n\n.mt-5 {\n margin-top: 3rem !important;\n}\n\n.mt-auto {\n margin-top: auto !important;\n}\n\n.me-0 {\n margin-left: 0 !important;\n}\n\n.me-1 {\n margin-left: 0.25rem !important;\n}\n\n.me-2 {\n margin-left: 0.5rem !important;\n}\n\n.me-3 {\n margin-left: 1rem !important;\n}\n\n.me-4 {\n margin-left: 1.5rem !important;\n}\n\n.me-5 {\n margin-left: 3rem !important;\n}\n\n.me-auto {\n margin-left: auto !important;\n}\n\n.mb-0 {\n margin-bottom: 0 !important;\n}\n\n.mb-1 {\n margin-bottom: 0.25rem !important;\n}\n\n.mb-2 {\n margin-bottom: 0.5rem !important;\n}\n\n.mb-3 {\n margin-bottom: 1rem !important;\n}\n\n.mb-4 {\n margin-bottom: 1.5rem !important;\n}\n\n.mb-5 {\n margin-bottom: 3rem !important;\n}\n\n.mb-auto {\n margin-bottom: auto !important;\n}\n\n.ms-0 {\n margin-right: 0 !important;\n}\n\n.ms-1 {\n margin-right: 0.25rem !important;\n}\n\n.ms-2 {\n margin-right: 0.5rem !important;\n}\n\n.ms-3 {\n margin-right: 1rem !important;\n}\n\n.ms-4 {\n margin-right: 1.5rem !important;\n}\n\n.ms-5 {\n margin-right: 3rem !important;\n}\n\n.ms-auto {\n margin-right: auto !important;\n}\n\n.p-0 {\n padding: 0 !important;\n}\n\n.p-1 {\n padding: 0.25rem !important;\n}\n\n.p-2 {\n padding: 0.5rem !important;\n}\n\n.p-3 {\n padding: 1rem !important;\n}\n\n.p-4 {\n padding: 1.5rem !important;\n}\n\n.p-5 {\n padding: 3rem !important;\n}\n\n.px-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n}\n\n.px-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n}\n\n.px-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n}\n\n.px-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n}\n\n.px-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n}\n\n.px-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n}\n\n.py-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n}\n\n.py-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n}\n\n.py-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n}\n\n.py-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n}\n\n.py-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n}\n\n.py-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n}\n\n.pt-0 {\n padding-top: 0 !important;\n}\n\n.pt-1 {\n padding-top: 0.25rem !important;\n}\n\n.pt-2 {\n padding-top: 0.5rem !important;\n}\n\n.pt-3 {\n padding-top: 1rem !important;\n}\n\n.pt-4 {\n padding-top: 1.5rem !important;\n}\n\n.pt-5 {\n padding-top: 3rem !important;\n}\n\n.pe-0 {\n padding-left: 0 !important;\n}\n\n.pe-1 {\n padding-left: 0.25rem !important;\n}\n\n.pe-2 {\n padding-left: 0.5rem !important;\n}\n\n.pe-3 {\n padding-left: 1rem !important;\n}\n\n.pe-4 {\n padding-left: 1.5rem !important;\n}\n\n.pe-5 {\n padding-left: 3rem !important;\n}\n\n.pb-0 {\n padding-bottom: 0 !important;\n}\n\n.pb-1 {\n padding-bottom: 0.25rem !important;\n}\n\n.pb-2 {\n padding-bottom: 0.5rem !important;\n}\n\n.pb-3 {\n padding-bottom: 1rem !important;\n}\n\n.pb-4 {\n padding-bottom: 1.5rem !important;\n}\n\n.pb-5 {\n padding-bottom: 3rem !important;\n}\n\n.ps-0 {\n padding-right: 0 !important;\n}\n\n.ps-1 {\n padding-right: 0.25rem !important;\n}\n\n.ps-2 {\n padding-right: 0.5rem !important;\n}\n\n.ps-3 {\n padding-right: 1rem !important;\n}\n\n.ps-4 {\n padding-right: 1.5rem !important;\n}\n\n.ps-5 {\n padding-right: 3rem !important;\n}\n\n@media (min-width: 576px) {\n .d-sm-inline {\n display: inline !important;\n }\n\n .d-sm-inline-block {\n display: inline-block !important;\n }\n\n .d-sm-block {\n display: block !important;\n }\n\n .d-sm-grid {\n display: grid !important;\n }\n\n .d-sm-table {\n display: table !important;\n }\n\n .d-sm-table-row {\n display: table-row !important;\n }\n\n .d-sm-table-cell {\n display: table-cell !important;\n }\n\n .d-sm-flex {\n display: flex !important;\n }\n\n .d-sm-inline-flex {\n display: inline-flex !important;\n }\n\n .d-sm-none {\n display: none !important;\n }\n\n .flex-sm-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-sm-row {\n flex-direction: row !important;\n }\n\n .flex-sm-column {\n flex-direction: column !important;\n }\n\n .flex-sm-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-sm-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-sm-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-sm-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-sm-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-sm-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-sm-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-sm-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-sm-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-sm-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-sm-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-sm-center {\n justify-content: center !important;\n }\n\n .justify-content-sm-between {\n justify-content: space-between !important;\n }\n\n .justify-content-sm-around {\n justify-content: space-around !important;\n }\n\n .justify-content-sm-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-sm-start {\n align-items: flex-start !important;\n }\n\n .align-items-sm-end {\n align-items: flex-end !important;\n }\n\n .align-items-sm-center {\n align-items: center !important;\n }\n\n .align-items-sm-baseline {\n align-items: baseline !important;\n }\n\n .align-items-sm-stretch {\n align-items: stretch !important;\n }\n\n .align-content-sm-start {\n align-content: flex-start !important;\n }\n\n .align-content-sm-end {\n align-content: flex-end !important;\n }\n\n .align-content-sm-center {\n align-content: center !important;\n }\n\n .align-content-sm-between {\n align-content: space-between !important;\n }\n\n .align-content-sm-around {\n align-content: space-around !important;\n }\n\n .align-content-sm-stretch {\n align-content: stretch !important;\n }\n\n .align-self-sm-auto {\n align-self: auto !important;\n }\n\n .align-self-sm-start {\n align-self: flex-start !important;\n }\n\n .align-self-sm-end {\n align-self: flex-end !important;\n }\n\n .align-self-sm-center {\n align-self: center !important;\n }\n\n .align-self-sm-baseline {\n align-self: baseline !important;\n }\n\n .align-self-sm-stretch {\n align-self: stretch !important;\n }\n\n .order-sm-first {\n order: -1 !important;\n }\n\n .order-sm-0 {\n order: 0 !important;\n }\n\n .order-sm-1 {\n order: 1 !important;\n }\n\n .order-sm-2 {\n order: 2 !important;\n }\n\n .order-sm-3 {\n order: 3 !important;\n }\n\n .order-sm-4 {\n order: 4 !important;\n }\n\n .order-sm-5 {\n order: 5 !important;\n }\n\n .order-sm-last {\n order: 6 !important;\n }\n\n .m-sm-0 {\n margin: 0 !important;\n }\n\n .m-sm-1 {\n margin: 0.25rem !important;\n }\n\n .m-sm-2 {\n margin: 0.5rem !important;\n }\n\n .m-sm-3 {\n margin: 1rem !important;\n }\n\n .m-sm-4 {\n margin: 1.5rem !important;\n }\n\n .m-sm-5 {\n margin: 3rem !important;\n }\n\n .m-sm-auto {\n margin: auto !important;\n }\n\n .mx-sm-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n\n .mx-sm-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n\n .mx-sm-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n\n .mx-sm-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n\n .mx-sm-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n\n .mx-sm-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n\n .mx-sm-auto {\n margin-left: auto !important;\n margin-right: auto !important;\n }\n\n .my-sm-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-sm-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-sm-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-sm-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-sm-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-sm-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-sm-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-sm-0 {\n margin-top: 0 !important;\n }\n\n .mt-sm-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-sm-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-sm-3 {\n margin-top: 1rem !important;\n }\n\n .mt-sm-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-sm-5 {\n margin-top: 3rem !important;\n }\n\n .mt-sm-auto {\n margin-top: auto !important;\n }\n\n .me-sm-0 {\n margin-left: 0 !important;\n }\n\n .me-sm-1 {\n margin-left: 0.25rem !important;\n }\n\n .me-sm-2 {\n margin-left: 0.5rem !important;\n }\n\n .me-sm-3 {\n margin-left: 1rem !important;\n }\n\n .me-sm-4 {\n margin-left: 1.5rem !important;\n }\n\n .me-sm-5 {\n margin-left: 3rem !important;\n }\n\n .me-sm-auto {\n margin-left: auto !important;\n }\n\n .mb-sm-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-sm-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-sm-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-sm-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-sm-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-sm-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-sm-auto {\n margin-bottom: auto !important;\n }\n\n .ms-sm-0 {\n margin-right: 0 !important;\n }\n\n .ms-sm-1 {\n margin-right: 0.25rem !important;\n }\n\n .ms-sm-2 {\n margin-right: 0.5rem !important;\n }\n\n .ms-sm-3 {\n margin-right: 1rem !important;\n }\n\n .ms-sm-4 {\n margin-right: 1.5rem !important;\n }\n\n .ms-sm-5 {\n margin-right: 3rem !important;\n }\n\n .ms-sm-auto {\n margin-right: auto !important;\n }\n\n .p-sm-0 {\n padding: 0 !important;\n }\n\n .p-sm-1 {\n padding: 0.25rem !important;\n }\n\n .p-sm-2 {\n padding: 0.5rem !important;\n }\n\n .p-sm-3 {\n padding: 1rem !important;\n }\n\n .p-sm-4 {\n padding: 1.5rem !important;\n }\n\n .p-sm-5 {\n padding: 3rem !important;\n }\n\n .px-sm-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n\n .px-sm-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n\n .px-sm-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n\n .px-sm-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n\n .px-sm-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n\n .px-sm-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n\n .py-sm-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-sm-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-sm-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-sm-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-sm-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-sm-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-sm-0 {\n padding-top: 0 !important;\n }\n\n .pt-sm-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-sm-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-sm-3 {\n padding-top: 1rem !important;\n }\n\n .pt-sm-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-sm-5 {\n padding-top: 3rem !important;\n }\n\n .pe-sm-0 {\n padding-left: 0 !important;\n }\n\n .pe-sm-1 {\n padding-left: 0.25rem !important;\n }\n\n .pe-sm-2 {\n padding-left: 0.5rem !important;\n }\n\n .pe-sm-3 {\n padding-left: 1rem !important;\n }\n\n .pe-sm-4 {\n padding-left: 1.5rem !important;\n }\n\n .pe-sm-5 {\n padding-left: 3rem !important;\n }\n\n .pb-sm-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-sm-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-sm-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-sm-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-sm-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-sm-5 {\n padding-bottom: 3rem !important;\n }\n\n .ps-sm-0 {\n padding-right: 0 !important;\n }\n\n .ps-sm-1 {\n padding-right: 0.25rem !important;\n }\n\n .ps-sm-2 {\n padding-right: 0.5rem !important;\n }\n\n .ps-sm-3 {\n padding-right: 1rem !important;\n }\n\n .ps-sm-4 {\n padding-right: 1.5rem !important;\n }\n\n .ps-sm-5 {\n padding-right: 3rem !important;\n }\n}\n@media (min-width: 768px) {\n .d-md-inline {\n display: inline !important;\n }\n\n .d-md-inline-block {\n display: inline-block !important;\n }\n\n .d-md-block {\n display: block !important;\n }\n\n .d-md-grid {\n display: grid !important;\n }\n\n .d-md-table {\n display: table !important;\n }\n\n .d-md-table-row {\n display: table-row !important;\n }\n\n .d-md-table-cell {\n display: table-cell !important;\n }\n\n .d-md-flex {\n display: flex !important;\n }\n\n .d-md-inline-flex {\n display: inline-flex !important;\n }\n\n .d-md-none {\n display: none !important;\n }\n\n .flex-md-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-md-row {\n flex-direction: row !important;\n }\n\n .flex-md-column {\n flex-direction: column !important;\n }\n\n .flex-md-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-md-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-md-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-md-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-md-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-md-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-md-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-md-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-md-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-md-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-md-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-md-center {\n justify-content: center !important;\n }\n\n .justify-content-md-between {\n justify-content: space-between !important;\n }\n\n .justify-content-md-around {\n justify-content: space-around !important;\n }\n\n .justify-content-md-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-md-start {\n align-items: flex-start !important;\n }\n\n .align-items-md-end {\n align-items: flex-end !important;\n }\n\n .align-items-md-center {\n align-items: center !important;\n }\n\n .align-items-md-baseline {\n align-items: baseline !important;\n }\n\n .align-items-md-stretch {\n align-items: stretch !important;\n }\n\n .align-content-md-start {\n align-content: flex-start !important;\n }\n\n .align-content-md-end {\n align-content: flex-end !important;\n }\n\n .align-content-md-center {\n align-content: center !important;\n }\n\n .align-content-md-between {\n align-content: space-between !important;\n }\n\n .align-content-md-around {\n align-content: space-around !important;\n }\n\n .align-content-md-stretch {\n align-content: stretch !important;\n }\n\n .align-self-md-auto {\n align-self: auto !important;\n }\n\n .align-self-md-start {\n align-self: flex-start !important;\n }\n\n .align-self-md-end {\n align-self: flex-end !important;\n }\n\n .align-self-md-center {\n align-self: center !important;\n }\n\n .align-self-md-baseline {\n align-self: baseline !important;\n }\n\n .align-self-md-stretch {\n align-self: stretch !important;\n }\n\n .order-md-first {\n order: -1 !important;\n }\n\n .order-md-0 {\n order: 0 !important;\n }\n\n .order-md-1 {\n order: 1 !important;\n }\n\n .order-md-2 {\n order: 2 !important;\n }\n\n .order-md-3 {\n order: 3 !important;\n }\n\n .order-md-4 {\n order: 4 !important;\n }\n\n .order-md-5 {\n order: 5 !important;\n }\n\n .order-md-last {\n order: 6 !important;\n }\n\n .m-md-0 {\n margin: 0 !important;\n }\n\n .m-md-1 {\n margin: 0.25rem !important;\n }\n\n .m-md-2 {\n margin: 0.5rem !important;\n }\n\n .m-md-3 {\n margin: 1rem !important;\n }\n\n .m-md-4 {\n margin: 1.5rem !important;\n }\n\n .m-md-5 {\n margin: 3rem !important;\n }\n\n .m-md-auto {\n margin: auto !important;\n }\n\n .mx-md-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n\n .mx-md-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n\n .mx-md-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n\n .mx-md-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n\n .mx-md-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n\n .mx-md-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n\n .mx-md-auto {\n margin-left: auto !important;\n margin-right: auto !important;\n }\n\n .my-md-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-md-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-md-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-md-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-md-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-md-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-md-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-md-0 {\n margin-top: 0 !important;\n }\n\n .mt-md-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-md-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-md-3 {\n margin-top: 1rem !important;\n }\n\n .mt-md-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-md-5 {\n margin-top: 3rem !important;\n }\n\n .mt-md-auto {\n margin-top: auto !important;\n }\n\n .me-md-0 {\n margin-left: 0 !important;\n }\n\n .me-md-1 {\n margin-left: 0.25rem !important;\n }\n\n .me-md-2 {\n margin-left: 0.5rem !important;\n }\n\n .me-md-3 {\n margin-left: 1rem !important;\n }\n\n .me-md-4 {\n margin-left: 1.5rem !important;\n }\n\n .me-md-5 {\n margin-left: 3rem !important;\n }\n\n .me-md-auto {\n margin-left: auto !important;\n }\n\n .mb-md-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-md-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-md-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-md-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-md-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-md-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-md-auto {\n margin-bottom: auto !important;\n }\n\n .ms-md-0 {\n margin-right: 0 !important;\n }\n\n .ms-md-1 {\n margin-right: 0.25rem !important;\n }\n\n .ms-md-2 {\n margin-right: 0.5rem !important;\n }\n\n .ms-md-3 {\n margin-right: 1rem !important;\n }\n\n .ms-md-4 {\n margin-right: 1.5rem !important;\n }\n\n .ms-md-5 {\n margin-right: 3rem !important;\n }\n\n .ms-md-auto {\n margin-right: auto !important;\n }\n\n .p-md-0 {\n padding: 0 !important;\n }\n\n .p-md-1 {\n padding: 0.25rem !important;\n }\n\n .p-md-2 {\n padding: 0.5rem !important;\n }\n\n .p-md-3 {\n padding: 1rem !important;\n }\n\n .p-md-4 {\n padding: 1.5rem !important;\n }\n\n .p-md-5 {\n padding: 3rem !important;\n }\n\n .px-md-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n\n .px-md-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n\n .px-md-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n\n .px-md-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n\n .px-md-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n\n .px-md-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n\n .py-md-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-md-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-md-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-md-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-md-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-md-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-md-0 {\n padding-top: 0 !important;\n }\n\n .pt-md-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-md-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-md-3 {\n padding-top: 1rem !important;\n }\n\n .pt-md-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-md-5 {\n padding-top: 3rem !important;\n }\n\n .pe-md-0 {\n padding-left: 0 !important;\n }\n\n .pe-md-1 {\n padding-left: 0.25rem !important;\n }\n\n .pe-md-2 {\n padding-left: 0.5rem !important;\n }\n\n .pe-md-3 {\n padding-left: 1rem !important;\n }\n\n .pe-md-4 {\n padding-left: 1.5rem !important;\n }\n\n .pe-md-5 {\n padding-left: 3rem !important;\n }\n\n .pb-md-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-md-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-md-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-md-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-md-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-md-5 {\n padding-bottom: 3rem !important;\n }\n\n .ps-md-0 {\n padding-right: 0 !important;\n }\n\n .ps-md-1 {\n padding-right: 0.25rem !important;\n }\n\n .ps-md-2 {\n padding-right: 0.5rem !important;\n }\n\n .ps-md-3 {\n padding-right: 1rem !important;\n }\n\n .ps-md-4 {\n padding-right: 1.5rem !important;\n }\n\n .ps-md-5 {\n padding-right: 3rem !important;\n }\n}\n@media (min-width: 992px) {\n .d-lg-inline {\n display: inline !important;\n }\n\n .d-lg-inline-block {\n display: inline-block !important;\n }\n\n .d-lg-block {\n display: block !important;\n }\n\n .d-lg-grid {\n display: grid !important;\n }\n\n .d-lg-table {\n display: table !important;\n }\n\n .d-lg-table-row {\n display: table-row !important;\n }\n\n .d-lg-table-cell {\n display: table-cell !important;\n }\n\n .d-lg-flex {\n display: flex !important;\n }\n\n .d-lg-inline-flex {\n display: inline-flex !important;\n }\n\n .d-lg-none {\n display: none !important;\n }\n\n .flex-lg-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-lg-row {\n flex-direction: row !important;\n }\n\n .flex-lg-column {\n flex-direction: column !important;\n }\n\n .flex-lg-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-lg-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-lg-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-lg-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-lg-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-lg-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-lg-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-lg-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-lg-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-lg-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-lg-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-lg-center {\n justify-content: center !important;\n }\n\n .justify-content-lg-between {\n justify-content: space-between !important;\n }\n\n .justify-content-lg-around {\n justify-content: space-around !important;\n }\n\n .justify-content-lg-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-lg-start {\n align-items: flex-start !important;\n }\n\n .align-items-lg-end {\n align-items: flex-end !important;\n }\n\n .align-items-lg-center {\n align-items: center !important;\n }\n\n .align-items-lg-baseline {\n align-items: baseline !important;\n }\n\n .align-items-lg-stretch {\n align-items: stretch !important;\n }\n\n .align-content-lg-start {\n align-content: flex-start !important;\n }\n\n .align-content-lg-end {\n align-content: flex-end !important;\n }\n\n .align-content-lg-center {\n align-content: center !important;\n }\n\n .align-content-lg-between {\n align-content: space-between !important;\n }\n\n .align-content-lg-around {\n align-content: space-around !important;\n }\n\n .align-content-lg-stretch {\n align-content: stretch !important;\n }\n\n .align-self-lg-auto {\n align-self: auto !important;\n }\n\n .align-self-lg-start {\n align-self: flex-start !important;\n }\n\n .align-self-lg-end {\n align-self: flex-end !important;\n }\n\n .align-self-lg-center {\n align-self: center !important;\n }\n\n .align-self-lg-baseline {\n align-self: baseline !important;\n }\n\n .align-self-lg-stretch {\n align-self: stretch !important;\n }\n\n .order-lg-first {\n order: -1 !important;\n }\n\n .order-lg-0 {\n order: 0 !important;\n }\n\n .order-lg-1 {\n order: 1 !important;\n }\n\n .order-lg-2 {\n order: 2 !important;\n }\n\n .order-lg-3 {\n order: 3 !important;\n }\n\n .order-lg-4 {\n order: 4 !important;\n }\n\n .order-lg-5 {\n order: 5 !important;\n }\n\n .order-lg-last {\n order: 6 !important;\n }\n\n .m-lg-0 {\n margin: 0 !important;\n }\n\n .m-lg-1 {\n margin: 0.25rem !important;\n }\n\n .m-lg-2 {\n margin: 0.5rem !important;\n }\n\n .m-lg-3 {\n margin: 1rem !important;\n }\n\n .m-lg-4 {\n margin: 1.5rem !important;\n }\n\n .m-lg-5 {\n margin: 3rem !important;\n }\n\n .m-lg-auto {\n margin: auto !important;\n }\n\n .mx-lg-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n\n .mx-lg-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n\n .mx-lg-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n\n .mx-lg-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n\n .mx-lg-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n\n .mx-lg-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n\n .mx-lg-auto {\n margin-left: auto !important;\n margin-right: auto !important;\n }\n\n .my-lg-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-lg-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-lg-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-lg-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-lg-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-lg-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-lg-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-lg-0 {\n margin-top: 0 !important;\n }\n\n .mt-lg-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-lg-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-lg-3 {\n margin-top: 1rem !important;\n }\n\n .mt-lg-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-lg-5 {\n margin-top: 3rem !important;\n }\n\n .mt-lg-auto {\n margin-top: auto !important;\n }\n\n .me-lg-0 {\n margin-left: 0 !important;\n }\n\n .me-lg-1 {\n margin-left: 0.25rem !important;\n }\n\n .me-lg-2 {\n margin-left: 0.5rem !important;\n }\n\n .me-lg-3 {\n margin-left: 1rem !important;\n }\n\n .me-lg-4 {\n margin-left: 1.5rem !important;\n }\n\n .me-lg-5 {\n margin-left: 3rem !important;\n }\n\n .me-lg-auto {\n margin-left: auto !important;\n }\n\n .mb-lg-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-lg-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-lg-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-lg-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-lg-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-lg-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-lg-auto {\n margin-bottom: auto !important;\n }\n\n .ms-lg-0 {\n margin-right: 0 !important;\n }\n\n .ms-lg-1 {\n margin-right: 0.25rem !important;\n }\n\n .ms-lg-2 {\n margin-right: 0.5rem !important;\n }\n\n .ms-lg-3 {\n margin-right: 1rem !important;\n }\n\n .ms-lg-4 {\n margin-right: 1.5rem !important;\n }\n\n .ms-lg-5 {\n margin-right: 3rem !important;\n }\n\n .ms-lg-auto {\n margin-right: auto !important;\n }\n\n .p-lg-0 {\n padding: 0 !important;\n }\n\n .p-lg-1 {\n padding: 0.25rem !important;\n }\n\n .p-lg-2 {\n padding: 0.5rem !important;\n }\n\n .p-lg-3 {\n padding: 1rem !important;\n }\n\n .p-lg-4 {\n padding: 1.5rem !important;\n }\n\n .p-lg-5 {\n padding: 3rem !important;\n }\n\n .px-lg-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n\n .px-lg-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n\n .px-lg-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n\n .px-lg-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n\n .px-lg-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n\n .px-lg-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n\n .py-lg-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-lg-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-lg-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-lg-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-lg-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-lg-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-lg-0 {\n padding-top: 0 !important;\n }\n\n .pt-lg-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-lg-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-lg-3 {\n padding-top: 1rem !important;\n }\n\n .pt-lg-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-lg-5 {\n padding-top: 3rem !important;\n }\n\n .pe-lg-0 {\n padding-left: 0 !important;\n }\n\n .pe-lg-1 {\n padding-left: 0.25rem !important;\n }\n\n .pe-lg-2 {\n padding-left: 0.5rem !important;\n }\n\n .pe-lg-3 {\n padding-left: 1rem !important;\n }\n\n .pe-lg-4 {\n padding-left: 1.5rem !important;\n }\n\n .pe-lg-5 {\n padding-left: 3rem !important;\n }\n\n .pb-lg-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-lg-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-lg-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-lg-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-lg-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-lg-5 {\n padding-bottom: 3rem !important;\n }\n\n .ps-lg-0 {\n padding-right: 0 !important;\n }\n\n .ps-lg-1 {\n padding-right: 0.25rem !important;\n }\n\n .ps-lg-2 {\n padding-right: 0.5rem !important;\n }\n\n .ps-lg-3 {\n padding-right: 1rem !important;\n }\n\n .ps-lg-4 {\n padding-right: 1.5rem !important;\n }\n\n .ps-lg-5 {\n padding-right: 3rem !important;\n }\n}\n@media (min-width: 1200px) {\n .d-xl-inline {\n display: inline !important;\n }\n\n .d-xl-inline-block {\n display: inline-block !important;\n }\n\n .d-xl-block {\n display: block !important;\n }\n\n .d-xl-grid {\n display: grid !important;\n }\n\n .d-xl-table {\n display: table !important;\n }\n\n .d-xl-table-row {\n display: table-row !important;\n }\n\n .d-xl-table-cell {\n display: table-cell !important;\n }\n\n .d-xl-flex {\n display: flex !important;\n }\n\n .d-xl-inline-flex {\n display: inline-flex !important;\n }\n\n .d-xl-none {\n display: none !important;\n }\n\n .flex-xl-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-xl-row {\n flex-direction: row !important;\n }\n\n .flex-xl-column {\n flex-direction: column !important;\n }\n\n .flex-xl-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-xl-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-xl-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-xl-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-xl-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-xl-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-xl-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-xl-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-xl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-xl-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-xl-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-xl-center {\n justify-content: center !important;\n }\n\n .justify-content-xl-between {\n justify-content: space-between !important;\n }\n\n .justify-content-xl-around {\n justify-content: space-around !important;\n }\n\n .justify-content-xl-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-xl-start {\n align-items: flex-start !important;\n }\n\n .align-items-xl-end {\n align-items: flex-end !important;\n }\n\n .align-items-xl-center {\n align-items: center !important;\n }\n\n .align-items-xl-baseline {\n align-items: baseline !important;\n }\n\n .align-items-xl-stretch {\n align-items: stretch !important;\n }\n\n .align-content-xl-start {\n align-content: flex-start !important;\n }\n\n .align-content-xl-end {\n align-content: flex-end !important;\n }\n\n .align-content-xl-center {\n align-content: center !important;\n }\n\n .align-content-xl-between {\n align-content: space-between !important;\n }\n\n .align-content-xl-around {\n align-content: space-around !important;\n }\n\n .align-content-xl-stretch {\n align-content: stretch !important;\n }\n\n .align-self-xl-auto {\n align-self: auto !important;\n }\n\n .align-self-xl-start {\n align-self: flex-start !important;\n }\n\n .align-self-xl-end {\n align-self: flex-end !important;\n }\n\n .align-self-xl-center {\n align-self: center !important;\n }\n\n .align-self-xl-baseline {\n align-self: baseline !important;\n }\n\n .align-self-xl-stretch {\n align-self: stretch !important;\n }\n\n .order-xl-first {\n order: -1 !important;\n }\n\n .order-xl-0 {\n order: 0 !important;\n }\n\n .order-xl-1 {\n order: 1 !important;\n }\n\n .order-xl-2 {\n order: 2 !important;\n }\n\n .order-xl-3 {\n order: 3 !important;\n }\n\n .order-xl-4 {\n order: 4 !important;\n }\n\n .order-xl-5 {\n order: 5 !important;\n }\n\n .order-xl-last {\n order: 6 !important;\n }\n\n .m-xl-0 {\n margin: 0 !important;\n }\n\n .m-xl-1 {\n margin: 0.25rem !important;\n }\n\n .m-xl-2 {\n margin: 0.5rem !important;\n }\n\n .m-xl-3 {\n margin: 1rem !important;\n }\n\n .m-xl-4 {\n margin: 1.5rem !important;\n }\n\n .m-xl-5 {\n margin: 3rem !important;\n }\n\n .m-xl-auto {\n margin: auto !important;\n }\n\n .mx-xl-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n\n .mx-xl-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n\n .mx-xl-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n\n .mx-xl-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n\n .mx-xl-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n\n .mx-xl-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n\n .mx-xl-auto {\n margin-left: auto !important;\n margin-right: auto !important;\n }\n\n .my-xl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-xl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-xl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-xl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-xl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-xl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-xl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-xl-0 {\n margin-top: 0 !important;\n }\n\n .mt-xl-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-xl-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-xl-3 {\n margin-top: 1rem !important;\n }\n\n .mt-xl-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-xl-5 {\n margin-top: 3rem !important;\n }\n\n .mt-xl-auto {\n margin-top: auto !important;\n }\n\n .me-xl-0 {\n margin-left: 0 !important;\n }\n\n .me-xl-1 {\n margin-left: 0.25rem !important;\n }\n\n .me-xl-2 {\n margin-left: 0.5rem !important;\n }\n\n .me-xl-3 {\n margin-left: 1rem !important;\n }\n\n .me-xl-4 {\n margin-left: 1.5rem !important;\n }\n\n .me-xl-5 {\n margin-left: 3rem !important;\n }\n\n .me-xl-auto {\n margin-left: auto !important;\n }\n\n .mb-xl-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-xl-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-xl-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-xl-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-xl-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-xl-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-xl-auto {\n margin-bottom: auto !important;\n }\n\n .ms-xl-0 {\n margin-right: 0 !important;\n }\n\n .ms-xl-1 {\n margin-right: 0.25rem !important;\n }\n\n .ms-xl-2 {\n margin-right: 0.5rem !important;\n }\n\n .ms-xl-3 {\n margin-right: 1rem !important;\n }\n\n .ms-xl-4 {\n margin-right: 1.5rem !important;\n }\n\n .ms-xl-5 {\n margin-right: 3rem !important;\n }\n\n .ms-xl-auto {\n margin-right: auto !important;\n }\n\n .p-xl-0 {\n padding: 0 !important;\n }\n\n .p-xl-1 {\n padding: 0.25rem !important;\n }\n\n .p-xl-2 {\n padding: 0.5rem !important;\n }\n\n .p-xl-3 {\n padding: 1rem !important;\n }\n\n .p-xl-4 {\n padding: 1.5rem !important;\n }\n\n .p-xl-5 {\n padding: 3rem !important;\n }\n\n .px-xl-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n\n .px-xl-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n\n .px-xl-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n\n .px-xl-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n\n .px-xl-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n\n .px-xl-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n\n .py-xl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-xl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-xl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-xl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-xl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-xl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-xl-0 {\n padding-top: 0 !important;\n }\n\n .pt-xl-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-xl-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-xl-3 {\n padding-top: 1rem !important;\n }\n\n .pt-xl-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-xl-5 {\n padding-top: 3rem !important;\n }\n\n .pe-xl-0 {\n padding-left: 0 !important;\n }\n\n .pe-xl-1 {\n padding-left: 0.25rem !important;\n }\n\n .pe-xl-2 {\n padding-left: 0.5rem !important;\n }\n\n .pe-xl-3 {\n padding-left: 1rem !important;\n }\n\n .pe-xl-4 {\n padding-left: 1.5rem !important;\n }\n\n .pe-xl-5 {\n padding-left: 3rem !important;\n }\n\n .pb-xl-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-xl-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-xl-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-xl-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-xl-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-xl-5 {\n padding-bottom: 3rem !important;\n }\n\n .ps-xl-0 {\n padding-right: 0 !important;\n }\n\n .ps-xl-1 {\n padding-right: 0.25rem !important;\n }\n\n .ps-xl-2 {\n padding-right: 0.5rem !important;\n }\n\n .ps-xl-3 {\n padding-right: 1rem !important;\n }\n\n .ps-xl-4 {\n padding-right: 1.5rem !important;\n }\n\n .ps-xl-5 {\n padding-right: 3rem !important;\n }\n}\n@media (min-width: 1400px) {\n .d-xxl-inline {\n display: inline !important;\n }\n\n .d-xxl-inline-block {\n display: inline-block !important;\n }\n\n .d-xxl-block {\n display: block !important;\n }\n\n .d-xxl-grid {\n display: grid !important;\n }\n\n .d-xxl-table {\n display: table !important;\n }\n\n .d-xxl-table-row {\n display: table-row !important;\n }\n\n .d-xxl-table-cell {\n display: table-cell !important;\n }\n\n .d-xxl-flex {\n display: flex !important;\n }\n\n .d-xxl-inline-flex {\n display: inline-flex !important;\n }\n\n .d-xxl-none {\n display: none !important;\n }\n\n .flex-xxl-fill {\n flex: 1 1 auto !important;\n }\n\n .flex-xxl-row {\n flex-direction: row !important;\n }\n\n .flex-xxl-column {\n flex-direction: column !important;\n }\n\n .flex-xxl-row-reverse {\n flex-direction: row-reverse !important;\n }\n\n .flex-xxl-column-reverse {\n flex-direction: column-reverse !important;\n }\n\n .flex-xxl-grow-0 {\n flex-grow: 0 !important;\n }\n\n .flex-xxl-grow-1 {\n flex-grow: 1 !important;\n }\n\n .flex-xxl-shrink-0 {\n flex-shrink: 0 !important;\n }\n\n .flex-xxl-shrink-1 {\n flex-shrink: 1 !important;\n }\n\n .flex-xxl-wrap {\n flex-wrap: wrap !important;\n }\n\n .flex-xxl-nowrap {\n flex-wrap: nowrap !important;\n }\n\n .flex-xxl-wrap-reverse {\n flex-wrap: wrap-reverse !important;\n }\n\n .justify-content-xxl-start {\n justify-content: flex-start !important;\n }\n\n .justify-content-xxl-end {\n justify-content: flex-end !important;\n }\n\n .justify-content-xxl-center {\n justify-content: center !important;\n }\n\n .justify-content-xxl-between {\n justify-content: space-between !important;\n }\n\n .justify-content-xxl-around {\n justify-content: space-around !important;\n }\n\n .justify-content-xxl-evenly {\n justify-content: space-evenly !important;\n }\n\n .align-items-xxl-start {\n align-items: flex-start !important;\n }\n\n .align-items-xxl-end {\n align-items: flex-end !important;\n }\n\n .align-items-xxl-center {\n align-items: center !important;\n }\n\n .align-items-xxl-baseline {\n align-items: baseline !important;\n }\n\n .align-items-xxl-stretch {\n align-items: stretch !important;\n }\n\n .align-content-xxl-start {\n align-content: flex-start !important;\n }\n\n .align-content-xxl-end {\n align-content: flex-end !important;\n }\n\n .align-content-xxl-center {\n align-content: center !important;\n }\n\n .align-content-xxl-between {\n align-content: space-between !important;\n }\n\n .align-content-xxl-around {\n align-content: space-around !important;\n }\n\n .align-content-xxl-stretch {\n align-content: stretch !important;\n }\n\n .align-self-xxl-auto {\n align-self: auto !important;\n }\n\n .align-self-xxl-start {\n align-self: flex-start !important;\n }\n\n .align-self-xxl-end {\n align-self: flex-end !important;\n }\n\n .align-self-xxl-center {\n align-self: center !important;\n }\n\n .align-self-xxl-baseline {\n align-self: baseline !important;\n }\n\n .align-self-xxl-stretch {\n align-self: stretch !important;\n }\n\n .order-xxl-first {\n order: -1 !important;\n }\n\n .order-xxl-0 {\n order: 0 !important;\n }\n\n .order-xxl-1 {\n order: 1 !important;\n }\n\n .order-xxl-2 {\n order: 2 !important;\n }\n\n .order-xxl-3 {\n order: 3 !important;\n }\n\n .order-xxl-4 {\n order: 4 !important;\n }\n\n .order-xxl-5 {\n order: 5 !important;\n }\n\n .order-xxl-last {\n order: 6 !important;\n }\n\n .m-xxl-0 {\n margin: 0 !important;\n }\n\n .m-xxl-1 {\n margin: 0.25rem !important;\n }\n\n .m-xxl-2 {\n margin: 0.5rem !important;\n }\n\n .m-xxl-3 {\n margin: 1rem !important;\n }\n\n .m-xxl-4 {\n margin: 1.5rem !important;\n }\n\n .m-xxl-5 {\n margin: 3rem !important;\n }\n\n .m-xxl-auto {\n margin: auto !important;\n }\n\n .mx-xxl-0 {\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n\n .mx-xxl-1 {\n margin-left: 0.25rem !important;\n margin-right: 0.25rem !important;\n }\n\n .mx-xxl-2 {\n margin-left: 0.5rem !important;\n margin-right: 0.5rem !important;\n }\n\n .mx-xxl-3 {\n margin-left: 1rem !important;\n margin-right: 1rem !important;\n }\n\n .mx-xxl-4 {\n margin-left: 1.5rem !important;\n margin-right: 1.5rem !important;\n }\n\n .mx-xxl-5 {\n margin-left: 3rem !important;\n margin-right: 3rem !important;\n }\n\n .mx-xxl-auto {\n margin-left: auto !important;\n margin-right: auto !important;\n }\n\n .my-xxl-0 {\n margin-top: 0 !important;\n margin-bottom: 0 !important;\n }\n\n .my-xxl-1 {\n margin-top: 0.25rem !important;\n margin-bottom: 0.25rem !important;\n }\n\n .my-xxl-2 {\n margin-top: 0.5rem !important;\n margin-bottom: 0.5rem !important;\n }\n\n .my-xxl-3 {\n margin-top: 1rem !important;\n margin-bottom: 1rem !important;\n }\n\n .my-xxl-4 {\n margin-top: 1.5rem !important;\n margin-bottom: 1.5rem !important;\n }\n\n .my-xxl-5 {\n margin-top: 3rem !important;\n margin-bottom: 3rem !important;\n }\n\n .my-xxl-auto {\n margin-top: auto !important;\n margin-bottom: auto !important;\n }\n\n .mt-xxl-0 {\n margin-top: 0 !important;\n }\n\n .mt-xxl-1 {\n margin-top: 0.25rem !important;\n }\n\n .mt-xxl-2 {\n margin-top: 0.5rem !important;\n }\n\n .mt-xxl-3 {\n margin-top: 1rem !important;\n }\n\n .mt-xxl-4 {\n margin-top: 1.5rem !important;\n }\n\n .mt-xxl-5 {\n margin-top: 3rem !important;\n }\n\n .mt-xxl-auto {\n margin-top: auto !important;\n }\n\n .me-xxl-0 {\n margin-left: 0 !important;\n }\n\n .me-xxl-1 {\n margin-left: 0.25rem !important;\n }\n\n .me-xxl-2 {\n margin-left: 0.5rem !important;\n }\n\n .me-xxl-3 {\n margin-left: 1rem !important;\n }\n\n .me-xxl-4 {\n margin-left: 1.5rem !important;\n }\n\n .me-xxl-5 {\n margin-left: 3rem !important;\n }\n\n .me-xxl-auto {\n margin-left: auto !important;\n }\n\n .mb-xxl-0 {\n margin-bottom: 0 !important;\n }\n\n .mb-xxl-1 {\n margin-bottom: 0.25rem !important;\n }\n\n .mb-xxl-2 {\n margin-bottom: 0.5rem !important;\n }\n\n .mb-xxl-3 {\n margin-bottom: 1rem !important;\n }\n\n .mb-xxl-4 {\n margin-bottom: 1.5rem !important;\n }\n\n .mb-xxl-5 {\n margin-bottom: 3rem !important;\n }\n\n .mb-xxl-auto {\n margin-bottom: auto !important;\n }\n\n .ms-xxl-0 {\n margin-right: 0 !important;\n }\n\n .ms-xxl-1 {\n margin-right: 0.25rem !important;\n }\n\n .ms-xxl-2 {\n margin-right: 0.5rem !important;\n }\n\n .ms-xxl-3 {\n margin-right: 1rem !important;\n }\n\n .ms-xxl-4 {\n margin-right: 1.5rem !important;\n }\n\n .ms-xxl-5 {\n margin-right: 3rem !important;\n }\n\n .ms-xxl-auto {\n margin-right: auto !important;\n }\n\n .p-xxl-0 {\n padding: 0 !important;\n }\n\n .p-xxl-1 {\n padding: 0.25rem !important;\n }\n\n .p-xxl-2 {\n padding: 0.5rem !important;\n }\n\n .p-xxl-3 {\n padding: 1rem !important;\n }\n\n .p-xxl-4 {\n padding: 1.5rem !important;\n }\n\n .p-xxl-5 {\n padding: 3rem !important;\n }\n\n .px-xxl-0 {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n\n .px-xxl-1 {\n padding-left: 0.25rem !important;\n padding-right: 0.25rem !important;\n }\n\n .px-xxl-2 {\n padding-left: 0.5rem !important;\n padding-right: 0.5rem !important;\n }\n\n .px-xxl-3 {\n padding-left: 1rem !important;\n padding-right: 1rem !important;\n }\n\n .px-xxl-4 {\n padding-left: 1.5rem !important;\n padding-right: 1.5rem !important;\n }\n\n .px-xxl-5 {\n padding-left: 3rem !important;\n padding-right: 3rem !important;\n }\n\n .py-xxl-0 {\n padding-top: 0 !important;\n padding-bottom: 0 !important;\n }\n\n .py-xxl-1 {\n padding-top: 0.25rem !important;\n padding-bottom: 0.25rem !important;\n }\n\n .py-xxl-2 {\n padding-top: 0.5rem !important;\n padding-bottom: 0.5rem !important;\n }\n\n .py-xxl-3 {\n padding-top: 1rem !important;\n padding-bottom: 1rem !important;\n }\n\n .py-xxl-4 {\n padding-top: 1.5rem !important;\n padding-bottom: 1.5rem !important;\n }\n\n .py-xxl-5 {\n padding-top: 3rem !important;\n padding-bottom: 3rem !important;\n }\n\n .pt-xxl-0 {\n padding-top: 0 !important;\n }\n\n .pt-xxl-1 {\n padding-top: 0.25rem !important;\n }\n\n .pt-xxl-2 {\n padding-top: 0.5rem !important;\n }\n\n .pt-xxl-3 {\n padding-top: 1rem !important;\n }\n\n .pt-xxl-4 {\n padding-top: 1.5rem !important;\n }\n\n .pt-xxl-5 {\n padding-top: 3rem !important;\n }\n\n .pe-xxl-0 {\n padding-left: 0 !important;\n }\n\n .pe-xxl-1 {\n padding-left: 0.25rem !important;\n }\n\n .pe-xxl-2 {\n padding-left: 0.5rem !important;\n }\n\n .pe-xxl-3 {\n padding-left: 1rem !important;\n }\n\n .pe-xxl-4 {\n padding-left: 1.5rem !important;\n }\n\n .pe-xxl-5 {\n padding-left: 3rem !important;\n }\n\n .pb-xxl-0 {\n padding-bottom: 0 !important;\n }\n\n .pb-xxl-1 {\n padding-bottom: 0.25rem !important;\n }\n\n .pb-xxl-2 {\n padding-bottom: 0.5rem !important;\n }\n\n .pb-xxl-3 {\n padding-bottom: 1rem !important;\n }\n\n .pb-xxl-4 {\n padding-bottom: 1.5rem !important;\n }\n\n .pb-xxl-5 {\n padding-bottom: 3rem !important;\n }\n\n .ps-xxl-0 {\n padding-right: 0 !important;\n }\n\n .ps-xxl-1 {\n padding-right: 0.25rem !important;\n }\n\n .ps-xxl-2 {\n padding-right: 0.5rem !important;\n }\n\n .ps-xxl-3 {\n padding-right: 1rem !important;\n }\n\n .ps-xxl-4 {\n padding-right: 1.5rem !important;\n }\n\n .ps-xxl-5 {\n padding-right: 3rem !important;\n }\n}\n@media print {\n .d-print-inline {\n display: inline !important;\n }\n\n .d-print-inline-block {\n display: inline-block !important;\n }\n\n .d-print-block {\n display: block !important;\n }\n\n .d-print-grid {\n display: grid !important;\n }\n\n .d-print-table {\n display: table !important;\n }\n\n .d-print-table-row {\n display: table-row !important;\n }\n\n .d-print-table-cell {\n display: table-cell !important;\n }\n\n .d-print-flex {\n display: flex !important;\n }\n\n .d-print-inline-flex {\n display: inline-flex !important;\n }\n\n .d-print-none {\n display: none !important;\n }\n}\n/*# sourceMappingURL=bootstrap-grid.rtl.css.map */","// Container mixins\n\n@mixin make-container($gutter: $container-padding-x) {\n width: 100%;\n padding-right: var(--#{$variable-prefix}gutter-x, #{$gutter});\n padding-left: var(--#{$variable-prefix}gutter-x, #{$gutter});\n margin-right: auto;\n margin-left: auto;\n}\n","// Breakpoint viewport sizes and media queries.\n//\n// Breakpoints are defined as a map of (name: minimum width), order from small to large:\n//\n// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)\n//\n// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.\n\n// Name of the next breakpoint, or null for the last breakpoint.\n//\n// >> breakpoint-next(sm)\n// md\n// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// md\n// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))\n// md\n@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {\n $n: index($breakpoint-names, $name);\n @if not $n {\n @error \"breakpoint `#{$name}` not found in `#{$breakpoints}`\";\n }\n @return if($n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);\n}\n\n// Minimum breakpoint width. Null for the smallest (first) breakpoint.\n//\n// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 576px\n@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {\n $min: map-get($breakpoints, $name);\n @return if($min != 0, $min, null);\n}\n\n// Maximum breakpoint width.\n// The maximum value is reduced by 0.02px to work around the limitations of\n// `min-` and `max-` prefixes and viewports with fractional widths.\n// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max\n// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.\n// See https://bugs.webkit.org/show_bug.cgi?id=178261\n//\n// >> breakpoint-max(md, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// 767.98px\n@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {\n $max: map-get($breakpoints, $name);\n @return if($max and $max > 0, $max - .02, null);\n}\n\n// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.\n// Useful for making responsive utilities.\n//\n// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"\" (Returns a blank string)\n// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))\n// \"-sm\"\n@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {\n @return if(breakpoint-min($name, $breakpoints) == null, \"\", \"-#{$name}\");\n}\n\n// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.\n// Makes the @content apply to the given breakpoint and wider.\n@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n @if $min {\n @media (min-width: $min) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media of at most the maximum breakpoint width. No query for the largest breakpoint.\n// Makes the @content apply to the given breakpoint and narrower.\n@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {\n $max: breakpoint-max($name, $breakpoints);\n @if $max {\n @media (max-width: $max) {\n @content;\n }\n } @else {\n @content;\n }\n}\n\n// Media that spans multiple breakpoint widths.\n// Makes the @content apply between the min and max breakpoints\n@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($lower, $breakpoints);\n $max: breakpoint-max($upper, $breakpoints);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($lower, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($upper, $breakpoints) {\n @content;\n }\n }\n}\n\n// Media between the breakpoint's minimum and maximum widths.\n// No minimum for the smallest breakpoint, and no maximum for the largest one.\n// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.\n@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {\n $min: breakpoint-min($name, $breakpoints);\n $next: breakpoint-next($name, $breakpoints);\n $max: breakpoint-max($next);\n\n @if $min != null and $max != null {\n @media (min-width: $min) and (max-width: $max) {\n @content;\n }\n } @else if $max == null {\n @include media-breakpoint-up($name, $breakpoints) {\n @content;\n }\n } @else if $min == null {\n @include media-breakpoint-down($next, $breakpoints) {\n @content;\n }\n }\n}\n","// Row\n//\n// Rows contain your columns.\n\n@if $enable-grid-classes {\n .row {\n @include make-row();\n\n > * {\n @include make-col-ready();\n }\n }\n}\n\n@if $enable-cssgrid {\n .grid {\n display: grid;\n grid-template-rows: repeat(var(--#{$variable-prefix}rows, 1), 1fr);\n grid-template-columns: repeat(var(--#{$variable-prefix}columns, #{$grid-columns}), 1fr);\n gap: var(--#{$variable-prefix}gap, #{$grid-gutter-width});\n\n @include make-cssgrid();\n }\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n@if $enable-grid-classes {\n @include make-grid-columns();\n}\n","// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n@mixin make-row($gutter: $grid-gutter-width) {\n --#{$variable-prefix}gutter-x: #{$gutter};\n --#{$variable-prefix}gutter-y: 0;\n display: flex;\n flex-wrap: wrap;\n margin-top: calc(var(--#{$variable-prefix}gutter-y) * -1); // stylelint-disable-line function-disallowed-list\n margin-right: calc(var(--#{$variable-prefix}gutter-x) * -.5); // stylelint-disable-line function-disallowed-list\n margin-left: calc(var(--#{$variable-prefix}gutter-x) * -.5); // stylelint-disable-line function-disallowed-list\n}\n\n@mixin make-col-ready($gutter: $grid-gutter-width) {\n // Add box sizing if only the grid is loaded\n box-sizing: if(variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, null);\n // Prevent columns from becoming too narrow when at smaller grid tiers by\n // always setting `width: 100%;`. This works because we set the width\n // later on to override this initial width.\n flex-shrink: 0;\n width: 100%;\n max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid\n padding-right: calc(var(--#{$variable-prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n padding-left: calc(var(--#{$variable-prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list\n margin-top: var(--#{$variable-prefix}gutter-y);\n}\n\n@mixin make-col($size: false, $columns: $grid-columns) {\n @if $size {\n flex: 0 0 auto;\n width: percentage(divide($size, $columns));\n\n } @else {\n flex: 1 1 0;\n max-width: 100%;\n }\n}\n\n@mixin make-col-auto() {\n flex: 0 0 auto;\n width: auto;\n}\n\n@mixin make-col-offset($size, $columns: $grid-columns) {\n $num: divide($size, $columns);\n margin-left: if($num == 0, 0, percentage($num));\n}\n\n// Row columns\n//\n// Specify on a parent element(e.g., .row) to force immediate children into NN\n// numberof columns. Supports wrapping to new lines, but does not do a Masonry\n// style grid.\n@mixin row-cols($count) {\n > * {\n flex: 0 0 auto;\n width: divide(100%, $count);\n }\n}\n\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `$grid-columns`.\n\n@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n // Provide basic `.col-{bp}` classes for equal-width flexbox columns\n .col#{$infix} {\n flex: 1 0 0%; // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4\n }\n\n .row-cols#{$infix}-auto > * {\n @include make-col-auto();\n }\n\n @if $grid-row-columns > 0 {\n @for $i from 1 through $grid-row-columns {\n .row-cols#{$infix}-#{$i} {\n @include row-cols($i);\n }\n }\n }\n\n .col#{$infix}-auto {\n @include make-col-auto();\n }\n\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .col#{$infix}-#{$i} {\n @include make-col($i, $columns);\n }\n }\n\n // `$columns - 1` because offsetting by the width of an entire row isn't possible\n @for $i from 0 through ($columns - 1) {\n @if not ($infix == \"\" and $i == 0) { // Avoid emitting useless .offset-0\n .offset#{$infix}-#{$i} {\n @include make-col-offset($i, $columns);\n }\n }\n }\n }\n\n // Gutters\n //\n // Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.\n @each $key, $value in $gutters {\n .g#{$infix}-#{$key},\n .gx#{$infix}-#{$key} {\n --#{$variable-prefix}gutter-x: #{$value};\n }\n\n .g#{$infix}-#{$key},\n .gy#{$infix}-#{$key} {\n --#{$variable-prefix}gutter-y: #{$value};\n }\n }\n }\n }\n}\n\n@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $grid-breakpoints) {\n @each $breakpoint in map-keys($breakpoints) {\n $infix: breakpoint-infix($breakpoint, $breakpoints);\n\n @include media-breakpoint-up($breakpoint, $breakpoints) {\n @if $columns > 0 {\n @for $i from 1 through $columns {\n .g-col#{$infix}-#{$i} {\n grid-column: auto / span $i;\n }\n }\n\n // Start with `1` because `0` is and invalid value.\n // Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.\n @for $i from 1 through ($columns - 1) {\n .g-start#{$infix}-#{$i} {\n grid-column-start: $i;\n }\n }\n }\n }\n }\n}\n","// Utility generator\n// Used to generate utilities & print utilities\n@mixin generate-utility($utility, $infix, $is-rfs-media-query: false) {\n $values: map-get($utility, values);\n\n // If the values are a list or string, convert it into a map\n @if type-of($values) == \"string\" or type-of(nth($values, 1)) != \"list\" {\n $values: zip($values, $values);\n }\n\n @each $key, $value in $values {\n $properties: map-get($utility, property);\n\n // Multiple properties are possible, for example with vertical or horizontal margins or paddings\n @if type-of($properties) == \"string\" {\n $properties: append((), $properties);\n }\n\n // Use custom class if present\n $property-class: if(map-has-key($utility, class), map-get($utility, class), nth($properties, 1));\n $property-class: if($property-class == null, \"\", $property-class);\n\n // State params to generate pseudo-classes\n $state: if(map-has-key($utility, state), map-get($utility, state), ());\n\n $infix: if($property-class == \"\" and str-slice($infix, 1, 1) == \"-\", str-slice($infix, 2), $infix);\n\n // Don't prefix if value key is null (eg. with shadow class)\n $property-class-modifier: if($key, if($property-class == \"\" and $infix == \"\", \"\", \"-\") + $key, \"\");\n\n @if map-get($utility, rfs) {\n // Inside the media query\n @if $is-rfs-media-query {\n $val: rfs-value($value);\n\n // Do not render anything if fluid and non fluid values are the same\n $value: if($val == rfs-fluid-value($value), null, $val);\n }\n @else {\n $value: rfs-fluid-value($value);\n }\n }\n\n $is-css-var: map-get($utility, css-var);\n $is-local-vars: map-get($utility, local-vars);\n $is-rtl: map-get($utility, rtl);\n\n @if $value != null {\n @if $is-rtl == false {\n /* rtl:begin:remove */\n }\n\n @if $is-css-var {\n .#{$property-class + $infix + $property-class-modifier} {\n --#{$variable-prefix}#{$property-class}: #{$value};\n }\n\n @each $pseudo in $state {\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n --#{$variable-prefix}#{$property-class}: #{$value};\n }\n }\n } @else {\n .#{$property-class + $infix + $property-class-modifier} {\n @each $property in $properties {\n @if $is-local-vars {\n @each $local-var, $value in $is-local-vars {\n --#{$variable-prefix}#{$local-var}: #{$value};\n }\n }\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n\n @each $pseudo in $state {\n .#{$property-class + $infix + $property-class-modifier}-#{$pseudo}:#{$pseudo} {\n @each $property in $properties {\n #{$property}: $value if($enable-important-utilities, !important, null);\n }\n }\n }\n }\n\n @if $is-rtl == false {\n /* rtl:end:remove */\n }\n }\n }\n}\n","// Loop over each breakpoint\n@each $breakpoint in map-keys($grid-breakpoints) {\n\n // Generate media query if needed\n @include media-breakpoint-up($breakpoint) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix);\n }\n }\n }\n}\n\n// RFS rescaling\n@media (min-width: $rfs-mq-value) {\n @each $breakpoint in map-keys($grid-breakpoints) {\n $infix: breakpoint-infix($breakpoint, $grid-breakpoints);\n\n @if (map-get($grid-breakpoints, $breakpoint) < $rfs-breakpoint) {\n // Loop over each utility property\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Only proceed if responsive media queries are enabled or if it's the base media query\n @if type-of($utility) == \"map\" and map-get($utility, rfs) and (map-get($utility, responsive) or $infix == \"\") {\n @include generate-utility($utility, $infix, true);\n }\n }\n }\n }\n}\n\n\n// Print utilities\n@media print {\n @each $key, $utility in $utilities {\n // The utility can be disabled with `false`, thus check if the utility is a map first\n // Then check if the utility needs print styles\n @if type-of($utility) == \"map\" and map-get($utility, print) == true {\n @include generate-utility($utility, \"-print\");\n }\n }\n}\n"]} \ No newline at end of file diff --git a/public/css/bootstrap/css/bootstrap-reboot.css.map b/public/css/bootstrap/css/bootstrap-reboot.css.map deleted file mode 100644 index 2feab11..0000000 --- a/public/css/bootstrap/css/bootstrap-reboot.css.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../scss/bootstrap-reboot.scss","../../scss/_root.scss","bootstrap-reboot.css","../../scss/_reboot.scss","../../scss/vendor/_rfs.scss","../../scss/_variables.scss","../../scss/mixins/_border-radius.scss"],"names":[],"mappings":"AAAA;;;;;;EAAA;ACAA;EAQI,kBAAA;EAAA,oBAAA;EAAA,oBAAA;EAAA,kBAAA;EAAA,iBAAA;EAAA,oBAAA;EAAA,oBAAA;EAAA,mBAAA;EAAA,kBAAA;EAAA,kBAAA;EAAA,gBAAA;EAAA,kBAAA;EAAA,uBAAA;EAIA,sBAAA;EAAA,sBAAA;EAAA,sBAAA;EAAA,sBAAA;EAAA,sBAAA;EAAA,sBAAA;EAAA,sBAAA;EAAA,sBAAA;EAAA,sBAAA;EAIA,qBAAA;EAAA,uBAAA;EAAA,qBAAA;EAAA,kBAAA;EAAA,qBAAA;EAAA,oBAAA;EAAA,mBAAA;EAAA,kBAAA;EAIA,8BAAA;EAAA,iCAAA;EAAA,6BAAA;EAAA,2BAAA;EAAA,6BAAA;EAAA,4BAAA;EAAA,6BAAA;EAAA,yBAAA;EAGF,6BAAA;EACA,uBAAA;EACA,+BAAA;EACA,+BAAA;EAMA,qNAAA;EACA,yGAAA;EACA,yFAAA;EAQA,gDAAA;EACA,yBAAA;EACA,0BAAA;EACA,0BAAA;EACA,wBAAA;EAIA,kBAAA;ACSF;;AC5CA;;;EAGE,sBAAA;AD+CF;;AChCI;EANJ;IAOM,uBAAA;EDoCJ;AACF;;ACvBA;EACE,SAAA;EACA,uCAAA;ECmPI,mCALI;ED5OR,uCAAA;EACA,uCAAA;EACA,2BAAA;EACA,qCAAA;EACA,mCAAA;EACA,8BAAA;EACA,6CAAA;AD0BF;;AChBA;EACE,cAAA;EACA,cE+kB4B;EF9kB5B,8BAAA;EACA,SAAA;EACA,aE8kB4B;AH3jB9B;;AChBA;EACE,WEwb4B;AHra9B;;ACTA;EACE,aAAA;EACA,qBEohB4B;EFjhB5B,gBEohB4B;EFnhB5B,gBEohB4B;AH1gB9B;;ACNA;ECwMQ,iCAAA;AF9LR;AE4BI;EDtCJ;IC+MQ,iBAAA;EFjMN;AACF;;ACVA;ECmMQ,iCAAA;AFrLR;AEmBI;EDjCJ;IC0MQ,eAAA;EFxLN;AACF;;ACdA;EC8LQ,+BAAA;AF5KR;AEUI;ED5BJ;ICqMQ,kBAAA;EF/KN;AACF;;AClBA;ECyLQ,iCAAA;AFnKR;AECI;EDvBJ;ICgMQ,iBAAA;EFtKN;AACF;;ACtBA;ECgLM,kBALI;AFjJV;;ACrBA;EC2KM,eALI;AF7IV;;ACdA;EACE,aAAA;EACA,mBEkU0B;AHjT5B;;ACNA;;EAEE,yCAAA;EAAA,iCAAA;EACA,YAAA;EACA,sCAAA;EAAA,8BAAA;ADSF;;ACHA;EACE,mBAAA;EACA,kBAAA;EACA,oBAAA;ADMF;;ACAA;;EAEE,kBAAA;ADGF;;ACAA;;;EAGE,aAAA;EACA,mBAAA;ADGF;;ACAA;;;;EAIE,gBAAA;ADGF;;ACAA;EACE,gBEuZ4B;AHpZ9B;;ACEA;EACE,qBAAA;EACA,cAAA;ADCF;;ACKA;EACE,gBAAA;ADFF;;ACUA;;EAEE,mBEgY4B;AHvY9B;;ACeA;EC4EM,kBALI;AFlFV;;ACkBA;EACE,cE4b4B;EF3b5B,yBEmc4B;AHld9B;;ACwBA;;EAEE,kBAAA;ECwDI,iBALI;EDjDR,cAAA;EACA,wBAAA;ADrBF;;ACwBA;EAAM,eAAA;ADpBN;;ACqBA;EAAM,WAAA;ADjBN;;ACsBA;EACE,cEpNQ;EFqNR,0BEkMwC;AHrN1C;ACqBE;EACE,cEiMsC;AHpN1C;;AC8BE;EAEE,cAAA;EACA,qBAAA;AD5BJ;;ACmCA;;;;EAIE,qCE6S4B;ED/RxB,cALI;EDPR,+BAAA;EACA,2BAAA;ADhCF;;ACuCA;EACE,cAAA;EACA,aAAA;EACA,mBAAA;EACA,cAAA;ECAI,kBALI;AF9BV;ACwCE;ECLI,kBALI;EDYN,cAAA;EACA,kBAAA;ADtCJ;;AC0CA;ECZM,kBALI;EDmBR,cE1QQ;EF2QR,qBAAA;ADvCF;AC0CE;EACE,cAAA;ADxCJ;;AC4CA;EACE,sBAAA;ECxBI,kBALI;ED+BR,WEvTS;EFwTT,yBE/SS;ECEP,qBAAA;AJqQJ;AC2CE;EACE,UAAA;EC/BE,cALI;EDsCN,gBE0Q0B;AHnT9B;;ACkDA;EACE,gBAAA;AD/CF;;ACqDA;;EAEE,sBAAA;ADlDF;;AC0DA;EACE,oBAAA;EACA,yBAAA;ADvDF;;AC0DA;EACE,mBEwU4B;EFvU5B,sBEuU4B;EFtU5B,cE1VS;EF2VT,gBAAA;ADvDF;;AC8DA;EAEE,mBAAA;EACA,gCAAA;AD5DF;;AC+DA;;;;;;EAME,qBAAA;EACA,mBAAA;EACA,eAAA;AD5DF;;ACoEA;EACE,qBAAA;ADjEF;;ACuEA;EAEE,gBAAA;ADrEF;;AC6EA;EACE,UAAA;AD1EF;;AC+EA;;;;;EAKE,SAAA;EACA,oBAAA;EC9HI,kBALI;EDqIR,oBAAA;AD5EF;;ACgFA;;EAEE,oBAAA;AD7EF;;ACkFA;EACE,eAAA;AD/EF;;ACkFA;EAGE,iBAAA;ADjFF;ACoFE;EACE,UAAA;ADlFJ;;ACyFA;EACE,aAAA;ADtFF;;AC8FA;;;;EAIE,0BAAA;AD3FF;AC8FI;;;;EACE,eAAA;ADzFN;;ACgGA;EACE,UAAA;EACA,kBAAA;AD7FF;;ACkGA;EACE,gBAAA;AD/FF;;ACyGA;EACE,YAAA;EACA,UAAA;EACA,SAAA;EACA,SAAA;ADtGF;;AC8GA;EACE,WAAA;EACA,WAAA;EACA,UAAA;EACA,qBE6J4B;EDhXtB,iCAAA;EDsNN,oBAAA;AD5GF;AE5QI;EDiXJ;ICxMQ,iBAAA;EFuGN;AACF;ACyGE;EACE,WAAA;ADvGJ;;AC8GA;;;;;;;EAOE,UAAA;AD3GF;;AC8GA;EACE,YAAA;AD3GF;;ACoHA;EACE,oBAAA;EACA,6BAAA;ADjHF;;ACyHA;;;;;;;CAAA;AAWA;EACE,wBAAA;ADzHF;;AC8HA;EACE,UAAA;AD3HF;;ACiIA;EACE,aAAA;AD9HF;;ACoIA;EACE,aAAA;EACA,0BAAA;ADjIF;;ACsIA;EACE,qBAAA;ADnIF;;ACwIA;EACE,SAAA;ADrIF;;AC4IA;EACE,kBAAA;EACA,eAAA;ADzIF;;ACiJA;EACE,wBAAA;AD9IF;;ACsJA;EACE,wBAAA;ADnJF","file":"bootstrap-reboot.css","sourcesContent":["/*!\n * Bootstrap Reboot v5.1.1 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n\n@import \"functions\";\n@import \"variables\";\n@import \"mixins\";\n@import \"root\";\n@import \"reboot\";\n",":root {\n // Note: Custom variable values only support SassScript inside `#{}`.\n\n // Colors\n //\n // Generate palettes for full colors, grays, and theme colors.\n\n @each $color, $value in $colors {\n --#{$variable-prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $grays {\n --#{$variable-prefix}gray-#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors {\n --#{$variable-prefix}#{$color}: #{$value};\n }\n\n @each $color, $value in $theme-colors-rgb {\n --#{$variable-prefix}#{$color}-rgb: #{$value};\n }\n\n --#{$variable-prefix}white-rgb: #{to-rgb($white)};\n --#{$variable-prefix}black-rgb: #{to-rgb($black)};\n --#{$variable-prefix}body-color-rgb: #{to-rgb($body-color)};\n --#{$variable-prefix}body-bg-rgb: #{to-rgb($body-bg)};\n\n // Fonts\n\n // Note: Use `inspect` for lists so that quoted items keep the quotes.\n // See https://github.com/sass/sass/issues/2383#issuecomment-336349172\n --#{$variable-prefix}font-sans-serif: #{inspect($font-family-sans-serif)};\n --#{$variable-prefix}font-monospace: #{inspect($font-family-monospace)};\n --#{$variable-prefix}gradient: #{$gradient};\n\n // Root and body\n // stylelint-disable custom-property-empty-line-before\n // scss-docs-start root-body-variables\n @if $font-size-root != null {\n --#{$variable-prefix}root-font-size: #{$font-size-root};\n }\n --#{$variable-prefix}body-font-family: #{$font-family-base};\n --#{$variable-prefix}body-font-size: #{$font-size-base};\n --#{$variable-prefix}body-font-weight: #{$font-weight-base};\n --#{$variable-prefix}body-line-height: #{$line-height-base};\n --#{$variable-prefix}body-color: #{$body-color};\n @if $body-text-align != null {\n --#{$variable-prefix}body-text-align: #{$body-text-align};\n }\n --#{$variable-prefix}body-bg: #{$body-bg};\n // scss-docs-end root-body-variables\n // stylelint-enable custom-property-empty-line-before\n}\n","/*!\n * Bootstrap Reboot v5.1.1 (https://getbootstrap.com/)\n * Copyright 2011-2021 The Bootstrap Authors\n * Copyright 2011-2021 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)\n * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)\n */\n:root {\n --bs-blue: #0d6efd;\n --bs-indigo: #6610f2;\n --bs-purple: #6f42c1;\n --bs-pink: #d63384;\n --bs-red: #dc3545;\n --bs-orange: #fd7e14;\n --bs-yellow: #ffc107;\n --bs-green: #198754;\n --bs-teal: #20c997;\n --bs-cyan: #0dcaf0;\n --bs-white: #fff;\n --bs-gray: #6c757d;\n --bs-gray-dark: #343a40;\n --bs-gray-100: #f8f9fa;\n --bs-gray-200: #e9ecef;\n --bs-gray-300: #dee2e6;\n --bs-gray-400: #ced4da;\n --bs-gray-500: #adb5bd;\n --bs-gray-600: #6c757d;\n --bs-gray-700: #495057;\n --bs-gray-800: #343a40;\n --bs-gray-900: #212529;\n --bs-primary: #0d6efd;\n --bs-secondary: #6c757d;\n --bs-success: #198754;\n --bs-info: #0dcaf0;\n --bs-warning: #ffc107;\n --bs-danger: #dc3545;\n --bs-light: #f8f9fa;\n --bs-dark: #212529;\n --bs-primary-rgb: 13, 110, 253;\n --bs-secondary-rgb: 108, 117, 125;\n --bs-success-rgb: 25, 135, 84;\n --bs-info-rgb: 13, 202, 240;\n --bs-warning-rgb: 255, 193, 7;\n --bs-danger-rgb: 220, 53, 69;\n --bs-light-rgb: 248, 249, 250;\n --bs-dark-rgb: 33, 37, 41;\n --bs-white-rgb: 255, 255, 255;\n --bs-black-rgb: 0, 0, 0;\n --bs-body-color-rgb: 33, 37, 41;\n --bs-body-bg-rgb: 255, 255, 255;\n --bs-font-sans-serif: system-ui, -apple-system, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", \"Liberation Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\";\n --bs-font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace;\n --bs-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));\n --bs-body-font-family: var(--bs-font-sans-serif);\n --bs-body-font-size: 1rem;\n --bs-body-font-weight: 400;\n --bs-body-line-height: 1.5;\n --bs-body-color: #212529;\n --bs-body-bg: #fff;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n@media (prefers-reduced-motion: no-preference) {\n :root {\n scroll-behavior: smooth;\n }\n}\n\nbody {\n margin: 0;\n font-family: var(--bs-body-font-family);\n font-size: var(--bs-body-font-size);\n font-weight: var(--bs-body-font-weight);\n line-height: var(--bs-body-line-height);\n color: var(--bs-body-color);\n text-align: var(--bs-body-text-align);\n background-color: var(--bs-body-bg);\n -webkit-text-size-adjust: 100%;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\nhr {\n margin: 1rem 0;\n color: inherit;\n background-color: currentColor;\n border: 0;\n opacity: 0.25;\n}\n\nhr:not([size]) {\n height: 1px;\n}\n\nh6, h5, h4, h3, h2, h1 {\n margin-top: 0;\n margin-bottom: 0.5rem;\n font-weight: 500;\n line-height: 1.2;\n}\n\nh1 {\n font-size: calc(1.375rem + 1.5vw);\n}\n@media (min-width: 1200px) {\n h1 {\n font-size: 2.5rem;\n }\n}\n\nh2 {\n font-size: calc(1.325rem + 0.9vw);\n}\n@media (min-width: 1200px) {\n h2 {\n font-size: 2rem;\n }\n}\n\nh3 {\n font-size: calc(1.3rem + 0.6vw);\n}\n@media (min-width: 1200px) {\n h3 {\n font-size: 1.75rem;\n }\n}\n\nh4 {\n font-size: calc(1.275rem + 0.3vw);\n}\n@media (min-width: 1200px) {\n h4 {\n font-size: 1.5rem;\n }\n}\n\nh5 {\n font-size: 1.25rem;\n}\n\nh6 {\n font-size: 1rem;\n}\n\np {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nabbr[title],\nabbr[data-bs-original-title] {\n text-decoration: underline dotted;\n cursor: help;\n text-decoration-skip-ink: none;\n}\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: 700;\n}\n\ndd {\n margin-bottom: 0.5rem;\n margin-left: 0;\n}\n\nblockquote {\n margin: 0 0 1rem;\n}\n\nb,\nstrong {\n font-weight: bolder;\n}\n\nsmall {\n font-size: 0.875em;\n}\n\nmark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n\nsub,\nsup {\n position: relative;\n font-size: 0.75em;\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\na {\n color: #0d6efd;\n text-decoration: underline;\n}\na:hover {\n color: #0a58ca;\n}\n\na:not([href]):not([class]), a:not([href]):not([class]):hover {\n color: inherit;\n text-decoration: none;\n}\n\npre,\ncode,\nkbd,\nsamp {\n font-family: var(--bs-font-monospace);\n font-size: 1em;\n direction: ltr /* rtl:ignore */;\n unicode-bidi: bidi-override;\n}\n\npre {\n display: block;\n margin-top: 0;\n margin-bottom: 1rem;\n overflow: auto;\n font-size: 0.875em;\n}\npre code {\n font-size: inherit;\n color: inherit;\n word-break: normal;\n}\n\ncode {\n font-size: 0.875em;\n color: #d63384;\n word-wrap: break-word;\n}\na > code {\n color: inherit;\n}\n\nkbd {\n padding: 0.2rem 0.4rem;\n font-size: 0.875em;\n color: #fff;\n background-color: #212529;\n border-radius: 0.2rem;\n}\nkbd kbd {\n padding: 0;\n font-size: 1em;\n font-weight: 700;\n}\n\nfigure {\n margin: 0 0 1rem;\n}\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n color: #6c757d;\n text-align: left;\n}\n\nth {\n text-align: inherit;\n text-align: -webkit-match-parent;\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\nlabel {\n display: inline-block;\n}\n\nbutton {\n border-radius: 0;\n}\n\nbutton:focus:not(:focus-visible) {\n outline: 0;\n}\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0;\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\nbutton,\nselect {\n text-transform: none;\n}\n\n[role=button] {\n cursor: pointer;\n}\n\nselect {\n word-wrap: normal;\n}\nselect:disabled {\n opacity: 1;\n}\n\n[list]::-webkit-calendar-picker-indicator {\n display: none;\n}\n\nbutton,\n[type=button],\n[type=reset],\n[type=submit] {\n -webkit-appearance: button;\n}\nbutton:not(:disabled),\n[type=button]:not(:disabled),\n[type=reset]:not(:disabled),\n[type=submit]:not(:disabled) {\n cursor: pointer;\n}\n\n::-moz-focus-inner {\n padding: 0;\n border-style: none;\n}\n\ntextarea {\n resize: vertical;\n}\n\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n float: left;\n width: 100%;\n padding: 0;\n margin-bottom: 0.5rem;\n font-size: calc(1.275rem + 0.3vw);\n line-height: inherit;\n}\n@media (min-width: 1200px) {\n legend {\n font-size: 1.5rem;\n }\n}\nlegend + * {\n clear: left;\n}\n\n::-webkit-datetime-edit-fields-wrapper,\n::-webkit-datetime-edit-text,\n::-webkit-datetime-edit-minute,\n::-webkit-datetime-edit-hour-field,\n::-webkit-datetime-edit-day-field,\n::-webkit-datetime-edit-month-field,\n::-webkit-datetime-edit-year-field {\n padding: 0;\n}\n\n::-webkit-inner-spin-button {\n height: auto;\n}\n\n[type=search] {\n outline-offset: -2px;\n -webkit-appearance: textfield;\n}\n\n/* rtl:raw:\n[type=\"tel\"],\n[type=\"url\"],\n[type=\"email\"],\n[type=\"number\"] {\n direction: ltr;\n}\n*/\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n::-webkit-color-swatch-wrapper {\n padding: 0;\n}\n\n::file-selector-button {\n font: inherit;\n}\n\n::-webkit-file-upload-button {\n font: inherit;\n -webkit-appearance: button;\n}\n\noutput {\n display: inline-block;\n}\n\niframe {\n border: 0;\n}\n\nsummary {\n display: list-item;\n cursor: pointer;\n}\n\nprogress {\n vertical-align: baseline;\n}\n\n[hidden] {\n display: none !important;\n}\n\n/*# sourceMappingURL=bootstrap-reboot.css.map */\n","// stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix\n\n\n// Reboot\n//\n// Normalization of HTML elements, manually forked from Normalize.css to remove\n// styles targeting irrelevant browsers while applying new styles.\n//\n// Normalize is licensed MIT. https://github.com/necolas/normalize.css\n\n\n// Document\n//\n// Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n}\n\n\n// Root\n//\n// Ability to the value of the root font sizes, affecting the value of `rem`.\n// null by default, thus nothing is generated.\n\n:root {\n @if $font-size-root != null {\n font-size: var(--#{$variable-prefix}root-font-size);\n }\n\n @if $enable-smooth-scroll {\n @media (prefers-reduced-motion: no-preference) {\n scroll-behavior: smooth;\n }\n }\n}\n\n\n// Body\n//\n// 1. Remove the margin in all browsers.\n// 2. As a best practice, apply a default `background-color`.\n// 3. Prevent adjustments of font size after orientation changes in iOS.\n// 4. Change the default tap highlight to be completely transparent in iOS.\n\n// scss-docs-start reboot-body-rules\nbody {\n margin: 0; // 1\n font-family: var(--#{$variable-prefix}body-font-family);\n @include font-size(var(--#{$variable-prefix}body-font-size));\n font-weight: var(--#{$variable-prefix}body-font-weight);\n line-height: var(--#{$variable-prefix}body-line-height);\n color: var(--#{$variable-prefix}body-color);\n text-align: var(--#{$variable-prefix}body-text-align);\n background-color: var(--#{$variable-prefix}body-bg); // 2\n -webkit-text-size-adjust: 100%; // 3\n -webkit-tap-highlight-color: rgba($black, 0); // 4\n}\n// scss-docs-end reboot-body-rules\n\n\n// Content grouping\n//\n// 1. Reset Firefox's gray color\n// 2. Set correct height and prevent the `size` attribute to make the `hr` look like an input field\n\nhr {\n margin: $hr-margin-y 0;\n color: $hr-color; // 1\n background-color: currentColor;\n border: 0;\n opacity: $hr-opacity;\n}\n\nhr:not([size]) {\n height: $hr-height; // 2\n}\n\n\n// Typography\n//\n// 1. Remove top margins from headings\n// By default, `

    `-`

    ` all receive top and bottom margins. We nuke the top\n// margin for easier control within type scales as it avoids margin collapsing.\n\n%heading {\n margin-top: 0; // 1\n margin-bottom: $headings-margin-bottom;\n font-family: $headings-font-family;\n font-style: $headings-font-style;\n font-weight: $headings-font-weight;\n line-height: $headings-line-height;\n color: $headings-color;\n}\n\nh1 {\n @extend %heading;\n @include font-size($h1-font-size);\n}\n\nh2 {\n @extend %heading;\n @include font-size($h2-font-size);\n}\n\nh3 {\n @extend %heading;\n @include font-size($h3-font-size);\n}\n\nh4 {\n @extend %heading;\n @include font-size($h4-font-size);\n}\n\nh5 {\n @extend %heading;\n @include font-size($h5-font-size);\n}\n\nh6 {\n @extend %heading;\n @include font-size($h6-font-size);\n}\n\n\n// Reset margins on paragraphs\n//\n// Similarly, the top margin on `

    `s get reset. However, we also reset the\n// bottom margin to use `rem` units instead of `em`.\n\np {\n margin-top: 0;\n margin-bottom: $paragraph-margin-bottom;\n}\n\n\n// Abbreviations\n//\n// 1. Duplicate behavior to the data-bs-* attribute for our tooltip plugin\n// 2. Add the correct text decoration in Chrome, Edge, Opera, and Safari.\n// 3. Add explicit cursor to indicate changed behavior.\n// 4. Prevent the text-decoration to be skipped.\n\nabbr[title],\nabbr[data-bs-original-title] { // 1\n text-decoration: underline dotted; // 2\n cursor: help; // 3\n text-decoration-skip-ink: none; // 4\n}\n\n\n// Address\n\naddress {\n margin-bottom: 1rem;\n font-style: normal;\n line-height: inherit;\n}\n\n\n// Lists\n\nol,\nul {\n padding-left: 2rem;\n}\n\nol,\nul,\ndl {\n margin-top: 0;\n margin-bottom: 1rem;\n}\n\nol ol,\nul ul,\nol ul,\nul ol {\n margin-bottom: 0;\n}\n\ndt {\n font-weight: $dt-font-weight;\n}\n\n// 1. Undo browser default\n\ndd {\n margin-bottom: .5rem;\n margin-left: 0; // 1\n}\n\n\n// Blockquote\n\nblockquote {\n margin: 0 0 1rem;\n}\n\n\n// Strong\n//\n// Add the correct font weight in Chrome, Edge, and Safari\n\nb,\nstrong {\n font-weight: $font-weight-bolder;\n}\n\n\n// Small\n//\n// Add the correct font size in all browsers\n\nsmall {\n @include font-size($small-font-size);\n}\n\n\n// Mark\n\nmark {\n padding: $mark-padding;\n background-color: $mark-bg;\n}\n\n\n// Sub and Sup\n//\n// Prevent `sub` and `sup` elements from affecting the line height in\n// all browsers.\n\nsub,\nsup {\n position: relative;\n @include font-size($sub-sup-font-size);\n line-height: 0;\n vertical-align: baseline;\n}\n\nsub { bottom: -.25em; }\nsup { top: -.5em; }\n\n\n// Links\n\na {\n color: $link-color;\n text-decoration: $link-decoration;\n\n &:hover {\n color: $link-hover-color;\n text-decoration: $link-hover-decoration;\n }\n}\n\n// And undo these styles for placeholder links/named anchors (without href).\n// It would be more straightforward to just use a[href] in previous block, but that\n// causes specificity issues in many other styles that are too complex to fix.\n// See https://github.com/twbs/bootstrap/issues/19402\n\na:not([href]):not([class]) {\n &,\n &:hover {\n color: inherit;\n text-decoration: none;\n }\n}\n\n\n// Code\n\npre,\ncode,\nkbd,\nsamp {\n font-family: $font-family-code;\n @include font-size(1em); // Correct the odd `em` font sizing in all browsers.\n direction: ltr #{\"/* rtl:ignore */\"};\n unicode-bidi: bidi-override;\n}\n\n// 1. Remove browser default top margin\n// 2. Reset browser default of `1em` to use `rem`s\n// 3. Don't allow content to break outside\n\npre {\n display: block;\n margin-top: 0; // 1\n margin-bottom: 1rem; // 2\n overflow: auto; // 3\n @include font-size($code-font-size);\n color: $pre-color;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n @include font-size(inherit);\n color: inherit;\n word-break: normal;\n }\n}\n\ncode {\n @include font-size($code-font-size);\n color: $code-color;\n word-wrap: break-word;\n\n // Streamline the style when inside anchors to avoid broken underline and more\n a > & {\n color: inherit;\n }\n}\n\nkbd {\n padding: $kbd-padding-y $kbd-padding-x;\n @include font-size($kbd-font-size);\n color: $kbd-color;\n background-color: $kbd-bg;\n @include border-radius($border-radius-sm);\n\n kbd {\n padding: 0;\n @include font-size(1em);\n font-weight: $nested-kbd-font-weight;\n }\n}\n\n\n// Figures\n//\n// Apply a consistent margin strategy (matches our type styles).\n\nfigure {\n margin: 0 0 1rem;\n}\n\n\n// Images and content\n\nimg,\nsvg {\n vertical-align: middle;\n}\n\n\n// Tables\n//\n// Prevent double borders\n\ntable {\n caption-side: bottom;\n border-collapse: collapse;\n}\n\ncaption {\n padding-top: $table-cell-padding-y;\n padding-bottom: $table-cell-padding-y;\n color: $table-caption-color;\n text-align: left;\n}\n\n// 1. Removes font-weight bold by inheriting\n// 2. Matches default `` alignment by inheriting `text-align`.\n// 3. Fix alignment for Safari\n\nth {\n font-weight: $table-th-font-weight; // 1\n text-align: inherit; // 2\n text-align: -webkit-match-parent; // 3\n}\n\nthead,\ntbody,\ntfoot,\ntr,\ntd,\nth {\n border-color: inherit;\n border-style: solid;\n border-width: 0;\n}\n\n\n// Forms\n//\n// 1. Allow labels to use `margin` for spacing.\n\nlabel {\n display: inline-block; // 1\n}\n\n// Remove the default `border-radius` that macOS Chrome adds.\n// See https://github.com/twbs/bootstrap/issues/24093\n\nbutton {\n // stylelint-disable-next-line property-disallowed-list\n border-radius: 0;\n}\n\n// Explicitly remove focus outline in Chromium when it shouldn't be\n// visible (e.g. as result of mouse click or touch tap). It already\n// should be doing this automatically, but seems to currently be\n// confused and applies its very visible two-tone outline anyway.\n\nbutton:focus:not(:focus-visible) {\n outline: 0;\n}\n\n// 1. Remove the margin in Firefox and Safari\n\ninput,\nbutton,\nselect,\noptgroup,\ntextarea {\n margin: 0; // 1\n font-family: inherit;\n @include font-size(inherit);\n line-height: inherit;\n}\n\n// Remove the inheritance of text transform in Firefox\nbutton,\nselect {\n text-transform: none;\n}\n// Set the cursor for non-` +

    + + + + + + + + + + + + + + + + + +
    +
    +
    +

    Zarządzanie stroną

    +
    + +
    +
    +
    +
    + Użytkownicy +
    +
    +
    + + +
    +
    +
    +
    + Wnioski +
    +
    +
    + +
    +
    +
    +
    + Galeria +
    +
    +
    + +
    +
    +
    +
    +
    + Aktualności +
    +
    +
    +
    + +
    +
    +
    +
    +
    + Repertuar +
    +
    +
    +
    + +
    +
    +
    +
    + Osiągnięcia +
    +
    +
    + +
    +
    +
    +
    + Email System +
    +
    +
    + +
    +
    +
    +
    + + + - -
    -
    -

    Konto

    -

    -

    -

    - -
    -
    -

    - -

    -
    -
    -

    Zmiana danych osobowych


    - -
      - -
    • -
    • - -
    - -
    - - -
    - Twój e-mail powinien być w formie example@gmail.com -
    -
    -
    - - -
    -
    - - -
    -
    -
    - -
    -
    -
    -
    -
    -
    -

    - -

    -
    -
    -

    Zmiana hasła


    - -
      - -
    • -
    • - -
    - -
    - - -
    - Wpisz aktualne hasło. -
    -
    -
    - - -
    - Twoje hasło musi mieć 8-20 znaków, zawierać litery i cyfry oraz nie może zawierać spacji, znaków specjalnych ani emotikonów. -
    -
    -
    - - -
    - Twoje hasło musi mieć 8-20 znaków, zawierać litery i cyfry oraz nie może zawierać spacji, znaków specjalnych ani emotikonów. -
    -
    -
    -
    - -
    -
    -
    -
    -
    -
    -
    -
    - - + +
    +
    +
    +

    Konto

    +

    +

    +

    +
    +
    +
    +
    +

    + +

    +
    +
    +

    Zmiana danych osobowych


    + +
      + +
    • -
    • + +
    + +
    + + +
    + Twój e-mail powinien być w formie example@gmail.com +
    +
    +
    + + +
    +
    + + +
    +
    +
    + +
    +
    +
    +
    +
    +
    +

    + +

    +
    +
    +

    Zmiana hasła


    + +
      + +
    • -
    • + +
    + +
    + + +
    + Wpisz aktualne hasło. +
    +
    +
    + + +
    + Twoje hasło musi mieć 8-20 znaków, zawierać litery i cyfry oraz nie może + zawierać spacji, znaków specjalnych ani emotikonów. +
    +
    +
    + + +
    + Twoje hasło musi mieć 8-20 znaków, zawierać litery i cyfry oraz nie może + zawierać spacji, znaków specjalnych ani emotikonów. +
    +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    +
    +
    + + + + + +
    +
    +
    + +
    +
    +

    Czat chóru

    + +
    +
    +
    +
    +
    + Czat chóru (beta version) +
    +
    +
    + +
    +
    + + + + + +
    +
    +
    + +
    +
    +
    + + + +
    +
    + +
    + + +
    +
    + + + + +
    +
    + + +
    +
    +
    +
    +
    +
    +
    +
    + + + + + +
    +
    +
    + +
    +
    +
    + +
    +

    Edytor Szablonu

    + +
      + +
    • -
    • + +
    + +
    + + +
    + Do 30 symboli. +
    +
    + +
    + +
    + + +
    +
    + + +
    + + +
    + + +
    + + +
    + +
    + Treść wiadomości +
    +
    + +
    +
    + + + + + + +
    +
    + +
    +
    +
    +
    +
    + + + + +
    +
    +
    + +

    Email System

    + +
    + +
    +
    +
    +
    + Nowy szablon +
    +
    +
    + + + +
    +
    +
    /0/"> + +
    +
    /0/"> + +
    +
    +
    + + + +
    +
    +
    +
    + + - -
    - -

    Teczki

    - - - - - - Nowa teczka - -
    - -
    -
    -
    -
    -

    Utworów w teczce:

    - - - - -
    -
    -

    - -

    -
    -
    - ".$song['name_song']."
    "; - } - ?> -
    -
    -
    -
    -
    -
    -
    - -
    -
    - - - - - - - Powrót - - -
    -
    -
    -

    Nowa teczka

    -
    - - -
    -
    - Notatki (opcjonalnie) - -
    -
    - -
    -
    -
    -
    - + +
    +
    +
    + +
    +
    +
    +
    +

    Nowa teczka

    +
    + + +
    +
    + Notatki (opcjonalnie) + +
    +
    + +
    +
    +
    +
    +
    +
    + + +
    +
    +
    +

    Teczki

    + + + + + + + Nowa teczka + + +
    + +
    +
    +
    +
    + + + + + +
    +

    Utworów: +

    + + + +
    +
    + +

    + +

    +
    + +
      + +
    • +
      + +
      + " . $song['name_song'] . ""; ?> +

      +
      +
      +
    • + +
    +
    + +
    +
    +
    +
    +
    + +
    +
    +
    +
    + +
    +

    + © Chór Katedralny im. Ks. Alfreda Hoffmana | Siedlce 2022 + + + + + + + + + + + + +

    +
    + + +
    + + + + + + + + + + + Chór Katedralny im. Ks. Alfreda Hoffmana w Siedlcach + +
    + + + +
    + +
    +
    alert-dismissible fade show" role="alert"> + + + +
    +
    + +
    diff --git a/views/headers/main_header.php b/views/fragments/siteHeader.php similarity index 66% rename from views/headers/main_header.php rename to views/fragments/siteHeader.php index ea7554e..fc5863c 100644 --- a/views/headers/main_header.php +++ b/views/fragments/siteHeader.php @@ -1,5 +1,6 @@
    - + + @@ -9,36 +10,42 @@ + + + Chór Katedralny im. Ks. Alfreda Hoffmana w Siedlcach
    - \ No newline at end of file diff --git a/views/gallery/galleryForm.php b/views/gallery/galleryForm.php new file mode 100644 index 0000000..60a5711 --- /dev/null +++ b/views/gallery/galleryForm.php @@ -0,0 +1,42 @@ + + +
    +
    +
    + +
    +
    +
    + +
    +

    Nowy folder

    + +
      + +
    • -
    • + +
    + +
    + + +
    + +
    +
    + +
    +
    +
    +
    +
    +
    +
    + + + +
    +
    +
    + +

    Galeria

    + + Nowy folder + +
    + + + +
    "> +
    + + + + + + + + + + ... + + +
    +
    +
    +
    +
    + + + +
    +
    +
    +
    + + + + +
    +
    +
    + +

    + + + +
    + + +
    + +
    + +
    +
    +
    +
    + + -
    -

    - Chór Katedralny im. Ks. Alfreda Hoffmana w Siedlcach © 2021 | Website by Yan Ramanouski -

    -

    -
    - - -
    - - - - - -
    - - - - - -
    - -
    - \ No newline at end of file diff --git a/views/main/CONTENT_FOR_NEWS.php b/views/main/CONTENT_FOR_NEWS.php new file mode 100644 index 0000000..26f0885 --- /dev/null +++ b/views/main/CONTENT_FOR_NEWS.php @@ -0,0 +1,195 @@ + + + +
    +
    +

    + Aktualności +

    + + +
    +
    + +
    +
    +

    + Charytatywny Koncert Kolędowy +

    +

    + 12 stycznia 2020, Katedra siedlecka +

    +

    + Wykonawcy +

      +
    • + Izabela Kiryluk - Sopran +
    • +
    • + Adam Szczepański - Organy +
    • +
    • + Chór Katedralny im. ks. A.Hoffmana w Siedlcach +
    • +
    • + ks. Michał Szulik - Dyrygent +
    • +
    +

    +
    +
    +
    + +
    +
    + + + +
    + +
    +

    Koncert Tota pulchra est Maria

    +

    7 grudnia 2019, Katedra + siedlecka

    +

    + Wykonawcy +

      +
    • + Izabela Kiryluk - Sopran +
    • +
    • + Anna Januszewska - Alt +
    • +
    • + Bartosz Gorzkowski - Tenor +
    • +
    • + Damian Suchożebrski - Bas +
    • +
    • + Piotr Wilczyński – organy Dominika Biernackiego +
    • +
    • + Adam Szczepański - Organy w prezbiterium +
    • +
    • + Szymon Telecki – skrzypce I +
    • +
    • + Małgorzata Rąbalska – skrzypce II +
    • +
    • + Piotr Grabowicz – altówka +
    • +
    • + Izabela Skaruz – wiolonczela +
    • +
    • + Adam Chomiuk – kontrabas +
    • +
    • + Agnieszka Bemowska – harfa +
    • + +
    • + Chór Katedralny im. ks. A.Hoffmana w Siedlcach +
    • +
    • + Chór i Orkiestra Państwowej Szkoły Muzycznej II Stopnia w Siedlcach +
    • +
    • + Izabela Kiryluk - Dyrygent +
    • +
    • + ks. Michał Szulik - Dyrygent +
    • +
    + +

    +

    + W Programie:

    +

    + H.M. Górecki, J. Surzyński, J. Arcadelt, F. List, A. Guilmant, F. Peeters,
    A. Bruckner, C. + Franck +

    +
    + + + +
    +
    + +
    +
    + +
    +
    +

    Uroczysty Koncert + na zakończenie obchodów
    + 200-lecia diecezji siedleckiej.

    +

    + 8 grudnia 2018, Katedra siedlecka +

    +

    + Wykonawcy +

      +
    • + Barbara Tritt - Sopran +
    • +
    • + Izabela Kiryluk - Sopran +
    • +
    • + Anna Januszewska - Alt +
    • +
    • + Bartosz Gorzkowski - Tenor +
    • +
    • + Damian Suchożebrski - Bas +
    • +
    • + Adam Szczepański - Organy +
    • +
    • + Chór Katedralny im. ks. A.Hoffmana w Siedlcach +
    • +
    • + Chór i Orkiestra Państwowej Szkoły Muzycznej II Stopnia w Siedlcach +
    • +
    • + ks. Michał Szulik - Dyrygent +
    • +
    +

    +

    + W Programie:

    +

    + C. Franck, ks. A.Hoffman, ks. M.R.Szulik +

    +
    +
    + +
    +
    + + + + + + +
    +
    +

    Osiągnięcia

    +
    + + + +
    +
    +
    + + + ... +
    +
    +
    +

    +
    +
    +
    +
    + + + +
    + + + + + + +
    +
    + + + + + +
    +
    +
    + + +

    + +
    + + +
    + +
    + +
    +
    +
    +
    + + + + + + +
    +
    +
    + +

    Galeria

    + +
    + + + +
    "> +
    + + + + + + + + + + ... + +
    +
    +
    +
    +
    + + + +
    +
    +
    +
    + + + +
    + +
    + +
    +
    +
    + +
    +

    Chór w latach 1955 - 1994

    +
    +
    +
    + Chór +
    + +

    + Interesująca i niezwykle bogata historia chóru działającego przy + kościele p. w. Niepokalanego Poczęcia NMP w Siedlcach sięga lat dwudziestych + ubiegłego stulecia, w których działał Aleksander Gromek pierwszy organista + tegoż kościoła oraz pracujący do roku 1955 Walenty Hakowski. Oni to położyli + wielkie zasługi dla powstania i rozwoju zespołu. Niemniej jednak od przybycia + do katedry ks. Alfreda Hoffmana, w marcu 1955 roku, chór zaczął w pełni funkcjonować + jako zespół liturgiczny i koncertowy i ten rok uważa się umownie jako rok powstania + działającego w takim kształcie chóru.

    +
    +

    + Już nazajutrz po przybyciu do katedry odbyło się pierwsze spotkanie liczącego + kilkanaście osób chóru z nowym dyrygentem, którego kronikarz opisał w następujący + sposób: "Pierwsze wrażenie wśród chórzystów przy poznaniu nowego dyrygenta różne + - wygląd zewnętrzny i podejście do chórzystów ujmujące, a jednocześnie wątpliwości: + czy Ksiądz da sobie radę w prowadzeniu takiego zespołu, czy będzie umiał utrzymać + go w karności, czy będzie miał tyle zapału i siły, by tę pracę utrzymać i rozwijać? + Wśród chórzystów niepewność i zaciekawienie." Wątpliwości te po krótkim czasie zostały + całkowicie rozwiane. Ks. Hoffman nie tylko bowiem podtrzymał pracę zespołu, ale nadał + jej intensywny rozwój, tak, że w krótkim czasie zmieniło się całkowicie oblicze chóru. + Pierwszy występ z nowym dyrygentem odbył się w Wielkanoc 1955 r. "Chór śpiewał Terra + tremuit Grubera, Surrexit Pastor bonus Chlondowskiego, Zmartwychwstał Pan Maklakiewicza + i inne pieśni wielkanocne". +

    +
    +
    +
    +

    + Nowy dyrygent wprowadził szybko nowy styl pracy. Pierwszym tego przejawem były zeszyty + głosowe prowadzone w porządku tematycznym, następnym, wprowadzenie prób osobnych dla + każdego głosu. W takim systemie praca posuwała się szybko i można było przygotować + wiele utworów w krótkim czasie. Występy w każdą niedzielę podczas mszy w katedrze + wymagały bowiem szybkiego przygotowania dużego repertuaru pieśni. Każda Katedra jest + Matką wszystkich kościołów diecezji, w niej odbywają się wszystkie większe + uroczystości z udziałem Biskupa, Seminarium Duchownego i licznych rzesz wiernych. + Stąd liturgia sprawowana w katedrze zawsze stawiała wszystkim posługującym jej, a + szczególnie chórowi wielkie wymagania związane nie tylko z częstością występów, ale + także z poziomem wykonywanych utworów. Tym wymaganiom starał się zawsze sprostać + prowadzony przez ks. Hoffmana zespół. Świadectwem tego jest list Biskupa Ignacego + Świrskiego napisany po uroczystości konsekracji Biskupa Wacława Skomoruchy: "Byłem + głęboko wzruszony stwierdzając bardzo wysoki poziom muzyki i śpiewu, tak pod względem + kompozycji jak i wykonania, dla wyrażenia siły, ogromu i majestatu tych wielkich + tajemnic, jakie w danej chwili dokonywały się przy ołtarzu, za pośrednictwem + Ks. Prymasa. Wiemy dobrze, że przy ołtarzu dokonywały się wielkie sprawy, odbywały + się działania Ducha Świętego - tylko nikt tego wyrazić nie potrafił tak mocno, jak + to uczynił Chór. I chór wyraził to po mistrzowsku, napełniając dusze modlących jakimś + tajemniczym urokiem, wdziękiem, harmonią i odczuciem czegoś wielkiego, silnego, wprost + druzgocącego, wobec czego człowiek się czuł małym, słabym, przerażonym, a jednocześnie + na duchu podniesionym. Z prawdziwą radością i dumą zdawałem sobie sprawę, ze ks. Alfred + i Chór Katedralny są chlubą nie tylko Katedry, lecz całej Diecezji Podlaskiej, i że inna + diecezja takiego chóru nie posiada..." +

    +
    +
    +
    +

    + W ciągu 40 lat działalności pod batutą ks. Hoffmana Chór wziął udział w kilkudziesięciu + uroczystościach o zasięgu diecezjalnym, w katedrze i poza Siedlcami. + Dyrygent jednak nie poprzestał tylko na występach podczas liturgii. Jego ambicją było, + aby zarazić miłością do muzyki religijnej jak największą liczbę słuchaczy. +

    +
    +
    + +
    +

    + W tym celu rozpoczął organizowanie w Katedrze Siedleckiej koncertów muzyki religijnej. + Pierwszy taki koncert odbył się 20 listopada 1955 i był to koncert ku czci św. Cecylii, + patronki muzyki kościelnej. W pierwszej części koncertu wystąpił poprzednik ks. + Hoffmana, Walenty Hakowski z recitalem organowym, w drugiej Chór Katedralny z + repertuarem pieśni religijnych. Jak podaje kronika: "koncert ten wypadł lepiej niż + dobrze". Od tego czasu Chór katedralny dawał corocznie kilka koncertów. Do tradycji + wpisały się coroczny koncert kolęd oraz adoracja przy Grobie Pańskim, która była w + istocie koncertem utworów pasyjnych. Chór przygotowywał także koncerty pieśni maryjnych + w maju oraz koncert ku czci św. Cecylii w listopadzie. Przez okres prawie 40 lat pracy + chóru odbyło się około stu takich koncertów. +

    +
    +
    + +
    +

    + Lata 60 - te i 70 - te XX wieku były okresem największego rozwoju zespołu. W tym czasie + liczył on około 80 śpiewaków. Chór Katedralny miał swoich własnych solistów i + akompaniatorów. Wiele osób rozpoczynających w tym czasie swoją przygodę muzyczną + w chórze wybrało studia muzyczne, otwierające drogę do profesjonalizmu. Wśród nich + są między innymi Alicja Borkowska - Molęda, śpiewaczka, solistka Opery w Dreźnie i + Pradze, Barbara Jasińska - Sroka śpiewaczka Chóru Opery Narodowej i dyrygentka Chóru + LO im A. Mickiewicza w Warszawie oraz nauczycielki przedmiotów muzycznych: Bernadeta + Adamczyk, Alicja Kobacińska i Barbara Obroślak. Nic więc dziwnego, że zespół, + składający się przede wszystkim z amatorów mógł sięgać w tym czasie po arcydzieła + najwyższej klasy kompozytorów muzyki sakralnej. +

    +
    + +
    +
    + +
    +
    + +
    +

    + Przeżywającego swój rozkwit chóru nie omijały jednak trudności wynikające przede + wszystkim z ciężkiej sytuacji politycznej kraju. Ciągła inwigilacja dyrygenta i + chórzystów prowadzona przez służby specjalne komunistycznego państwa, utrudnianie + uczestnictwa w uroczystościach kościelnych, a także represje ze strony władz + komunistycznych były ceną, jaką ponosił zespół za swoją wierną służbę Kościołowi. + Dopiero zmiana sytuacji politycznej pod koniec lat 80 - tych XX wieku przyniosła + pełną wolność, także w działalności zespołu. Niestety, niedługo mógł się nacieszyć + chór i dyrygent tą właśnie wolnością. 2 lipca 1994 r. ks. Alfred Hoffman został + odwołany do wiecznej ojczyzny. Osierocony zespół nie poddał się jednak zwątpieniu. + Dzięki wytrwałej pracy chórzystów prowadzonych przez uczennice ks. Hoffmana: Bernadetę + Adamczyk, Bożenę Adamczyk i Barbarę Obroślak chór dalej śpiewał w katedrze, a dzieło + ks. Hoffmana nie tylko nie umarło, ale przeprowadzone przez okres próby trwa i rozwija + się nadal. +

    +
    +
    +
    +
    + + + + + + + +
    +
    +
    +
    +

    Ks. Alfred Jan Hoffman (1923 - 1994)

    +
    +
    +
    + Alfred Jan Hoffman +
    +

    + Ks. Alfred Jan Hoffman urodził się 8 stycznia 1923 r. w Szerokiej w powiecie + pszczyńskim na Śląsku. Rodzicami jego byli Erwin Hoffmann i Gertruda z d. Wilczek. + Od najmłodszych lat Alfred był dzieckiem szczególnie uzdolnionym muzycznie i + plastycznie. Pierwszym instrumentem, na którym grał mały Fredzio była harmonijka + ustna. Swoje talenty muzyczne rozwijał pod czujnym okiem ojca, ucząc się pod jego + kierunkiem gry na instrumentach klawiszowych, w czym jako dziecko wybitnie uzdolnione + robił szybkie postępy. Z domu rodzinnego wyniósł przyszły kapłan umiłowanie porządku i + prawa, wielki szacunek dla każdego człowieka, otwartość w nawiązywaniu kontaktów, a + także szczególną troskę o tych, którzy są w potrzebie. +

    +
    +
    +
    +

    + Pierwszą szkolę, a była to placówka kierowana przez jego ojca, ukończył 14 czerwca 1933 + roku z wynikiem bardzo dobrym. Alfred już w wieku dziesięciu lat został wysłany przez + rodziców do Gimnazjum Księży Salezjanów w Oświęcimiu gdzie uczył się przez następne + pięć lat. W roku 1938 ukończył naukę w gimnazjum. W tym samym roku poprosił o przyjęcie + do nowicjatu Zgromadzenia Salezjańskiego, który mieścił się w Czerwińsku nad Wisłą. Tam + też rozwijał swoje uzdolnienia muzyczne, ucząc się gry na organach oraz akompaniując + śpiewowi podczas nabożeństw. Jako 16 letni młodzieniec złożył podanie o przyjęcie do + Zgromadzenia Salezjańskiego. Śluby zakonne złożył w Czerwińsku dnia 2 sierpnia 1939. + Po okresie asystencji przyszedł czas studiów filozoficznych i teologicznych, które + odbył w Oświęcimiu i Krakowie w latach 1940-1946. W tym czasie otrzymał tonsurę i + cztery święcenia niższe w Wiedniu, w czerwcu 1943 r. z rąk arcybiskupa Teodora kard. + Innitzera. 26 maja 1945 r. złożył śluby wieczyste potwierdzające pragnienie całkowitego + oddania się Bogu w Zgromadzeniu Salezjańskim. Subdiakonat otrzymał w Krakowie 11 + listopada 1945 roku, a następnie święcenia diakonatu 27 stycznia 1946 r. z rąk biskupa + Stanisława Rosponda. Wreszcie, z rąk tegoż samego biskupa, 9 czerwca 1946 r. w kościele + Matki Bożej Wspomożenia Wiernych w Oświęcimiu otrzymał świecenia kapłańskie. +

    +
    +
    +
    +

    + Cieszącego się dobrą opinią i zaufaniem przełożonych neoprezbitera skierowano najpierw + do pracy w domu nowicjackim w Kopcu k. Częstochowy, gdzie pracując przez rok pełnił + funkcję socjusza. W roku 1947 został skierowany do Poznania, aby podjąć obowiązki + kierownika oratorium. Tam właśnie, w Poznaniu, w latach 1947-1952 podjął studia na + Wydziale Filozoficznym Uniwersytetu Adama Mickiewicza, które zaowocowały tytułem + magistra filozofii. Ten czas był także okresem wzmożonej pracy nad doskonaleniem + talentów muzycznych. Przełożeni zauważywszy wielką pasję do muzyki, mianowali ks. + Hoffmana nauczycielem muzyki w Oświęcimiu, a dodatkowo kierownikiem nowicjatu. Tę + funkcję sprawował ks. Hoffman w latach 1952-1953. +

    +
    +
    +
    +

    + Lata 1953-1955 to okres bardzo trudny. Z przyczyn zdrowotnych ks. Alfred został + skierowany na dwuletni urlop do domu rodzinnego. W tym też czasie ks. infułat Julian + Ryster, zwrócił się z prośbą do inspektora, ks. Rokity, o skierowanie ks. Hoffmana do + pracy w charakterze organisty i dyrygenta chóru w Katedrze Siedleckiej. 12 marca 1955 + roku ks. Alfred Jan Hoffman rozpoczął pracę w Siedlcach. + Po przybyciu do Siedlec ks. Hoffman objął liczne obowiązki przy kościele katedralnym. + Został mianowany wikariuszem parafii katedralnej, a co się z tym wiąże nauczycielem + religii w szkole. Do jego obowiązków należała kapelania w domach sióstr Albertynek i + sióstr Z gromadzenia Jedność, które to domy leżą na terenie parafii katedralnej. + Od samego początku ks. Hoffman dbał o wystrój katedry. Jego dekoracje tworzone z + wielkim smakiem artystycznym zachwycały przez długie lata siedlczan i licznych + gości monumentalizmem, przejrzystością i wielką precyzją wykonania . + Jako organista katedralny ks. Hoffman był jednocześnie kancelistą. + Będąc wychowany w duchu umiłowania porządku prowadził kancelarię parafialną + w sposób wzorowy. +

    +
    +
    +
    +

    + Jako muzyk zasłużony dla diecezji, ks. Hoffman zaangażował się w pracę w Diecezjalnej + Komisji Liturgicznej, + do której został + powołany przez Biskupa Siedleckiego w 1968 r. + Wraz z innymi księżmi, zaczął pracować nad doskonaleniem organistów, prowadząc + rekolekcje dla organistów. Kiedy powołano do życia Studium Organistowskie, jako + wykładowca prowadził część zajęć we własnym mieszkaniu, mieszczącym się w plebanii + katedralnej przy ul. Kochanowskiego. Dla słuchaczy studium napisał ponad 530 + harmonizacji pieśni kościelnych. Pracą pedagogiczną, która obejmowała także prywatne + zajęcia zajmował się do końca życia, przygotowując wielu przyszłych muzyków do podjęcia + studiów. +

    +
    + +

    + Z początkiem lat 80-tych, ubiegłego wieku został skierowany do nauczania muzyki w + Studentacie Filozoficznym Księży Salezjanów w Kutnie Woźniakowie, gdzie był także + spowiednikiem kleryków i współbraci. Cotygodniowe dojazdy do Kutna kosztowały go wiele + trudu i poświecenia, a także zdrowia, które było coraz słabsze. + W roku 1984 na prośbę ówczesnego rektora Wyższego Seminarium Duchownego w Siedlcach, + ks. dra Kazimierza Białeckiego objął zajęcia z utalentowanymi muzycznie klerykami, + ucząc gry na fortepianie oraz podstaw muzyki. Po śmierci ks. Władysława Pietrzaka, + objął także całość nauczania muzyki oraz prowadzenie chóru seminaryjnego. +

    +
    + +
    +
    +

    + Największą jednak pasją, której poświęcił się bez reszty było prowadzenie Chóru + Katedralnego. Praca z zespołem przebiegała zawsze na dwóch płaszczyznach. Pierwszą + z nich była praca muzyczna. Ks. Hoffman przez prawie 40 lat swojej działalności uczynił + z Chóru Katedralnego zespół wysokiej klasy, który sięgał w swoim repertuarze po dzieła + najznamienitszych kompozytorów. Śpiewy w niemal każdą niedzielę roku liturgicznego, + uczestnictwo we wszystkich uroczystościach w katedrze, wreszcie dziesiątki koncertów + muzyki religijnej, to niekwestionowany dorobek stawiający ks. Hoffmana wśród + najlepszych dyrygentów zespołów kościelnych w Polsce. Dla swojego chóru napisał też + ks. Hoffman wiele większych i mniejszych opracowania, wśród których można się doliczyć + ponad 190 utworów wykonywanych do dzisiaj w Katedrze Siedleckiej i poza nią. Jako + kompozytor ks. Hoffman używał pseudonimu artystycznego A. Remański. + Przez szeregi Chóru Katedralnego, a także prowadzonych przez niego chórów młodzieżowego + i dziecięcego przewinęło się setki osób uczących się od ks. Hoffmana miłości do muzyki, + a szczególnie muzyki liturgicznej. +

    +
    +
    +
    + +
    +

    + Ks. Hoffman jako dyrygent nie ograniczał się tylko do pracy muzycznej. Był on dla + swoich chórzystów kapłanem, ojcem i przyjacielem. Jego życie związane było całkowicie + z życiem chórzystów. Razem z nimi przeżywał radości i smutki, był wszędzie tam, gdzie + go potrzebowano. Pomagał rozwiązywać problemy, doradzał, podtrzymywał na duchu. Uczył + zawsze zaufania do Pana Boga i miłości do Maryi Wspomożycielki Wiernych. Sam + ukształtowany w duchu ks. Jana Bosko, wychowywał z wielką miłością dzieci i młodzież, + uczył dorosłych jak być autorytetem i wychowawcą dla młodych pokoleń. +

    +
    +

    + Jego skromne mieszkanie w plebanii katedralnej zawsze wypełnione było ludźmi, którzy + potrzebowali przewodnika na swojej drodze życiowej. Dla wszystkich miał czas, otwarte + serce i rękę. + Ks. Hoffman prowadził cichą i niewidoczną pracę charytatywną. Wielu potrzebujących + znajdowało u niego pomoc. Wspierany przez swoich chórzystów rozdawał wszystko co + miał, widząc w ubogich opuszczonego Jezusa. + Pogarszający się stan zdrowia nie hamował pracy duszpasterskiej, artystycznej i + pedagogicznej ks. Hoffmana. +

    +
    +
    +
    +

    + W ostatnich latach życia starał się jeszcze więcej + pracować, mówiąc, że czuje powoli chwilę odejścia, a tak wiele chciałby jeszcze + zrobić dla Chwały Bożej i czci Niepokalanej Wspomożycielki. Po krótkiej, lecz + ciężkiej chorobie zmarł na rękach chórzystów w swoim mieszkaniu rankiem, 2 lipca 1994 r. + Pogrzeb ks. Hoffmana był wielką manifestacją wiary, w której wzięły udział tysiące + siedlczan. Można powiedzieć, że całe miasto żegnało kapłana, którego wielkość polegała + na pokornej służbie bliźnim. +

    +
    +
    +
    +

    + Pośmiertnie, w roku 1994 Ks. Alfred Hoffman został uhonorowany nagrodą im. Ludomira + Benedyktowicza za całokształt twórczości w dziedzinie muzyki sakralnej. W rok po + śmierci ks. Hoffmana została poświęcona tablica pamiątkowa ku jego czci, umieszczona + w przedsionku Katedry Siedleckiej. Rada Miejska w Siedlcach przyznała ks. Hoffmanowi + 22 czerwca 1995 r. tytuł Honorowego Obywatela Miasta Siedlce. Jego imię nosi rondo przy + skrzyżowaniu ulic Cmentarnej, ks. Popiełuszki, Piaskowej i 10 lutego. + Pamięć o ks. Hoffmanie i jego pracy jest ciągle żywa i kultywowana przez Chór + Katedralny, który nosi jego imię i rozwija dzieło swojego założyciela. +

    +
    +
    +
    +
    + + + + + + + + +
    +
    +
    + +
    +

    Dyrygent Izabela Kiryluk

    +
    + +
    + +

    + Dyrygent, solistka, pedagog. Absolwentka Wydziału Dyrygentury Chóralnej, Edukacji Muzycznej i + Muzyki Kościelnej w Akademii Muzycznej im. I.J. Paderewskiego w klasie dyrygentury prof. Magdaleny + Wdowickiej-Mackiewicz, Absolwentka Prywatnego Policealnego Studium Sztuki Wokalnej w klasie śpiewu + prof. + Jadwigi Gałęskiej-Tritt w Poznaniu oraz Absolwentka Podyplomowych Studiów Pedagogiki Rytmiki z + Kształceniem Słuchu oraz prowadzeniem zespołów w klasach I – III szkoły muzycznej I stopnia w + Uniwersytecie Muzycznym Fryderyka Chopina na Wydziale Instrumentalno-Pedagogicznym w Białymstoku. + Stypendystka + Prezydenta Miasta Siedlce. +

    +
    +

    + Od 2015 roku pracuje w Zespole Szkół Muzycznych w Siedlcach oraz jako nauczyciel przedmiotu emisja + głosu w + Diecezjalnym Studium Muzyki Kościelnej w Siedlcach. Drugi dyrygent Chóru Katedralnego im. ks. + Alfreda Hoffmana w + Siedlcach. Współpracuje z wieloma instytucjami prowadząc warsztaty i szkolenia dla chórów, dorosłych + i młodzieży + (Ośrodki Kultury, Śpiewająca Polska, Samorządowe Centrum Doradztwa i Doskonalenia Nauczycieli w + Siedlcach). +

    +
    +
    + +
    + +

    + Jako solistka, chórzystka i dyrygentka brała udział w nagraniu płyt: „Muzyka w Katedrze Siedleckiej” + i „Kultura + muzyczna Katedry Siedleckiej. Ludzie i Muzyka”, Płyta Jubileuszowa z okazji XX-lecia PSEG i XV-lecia + PPSSW,„Kameralnie + to pięknie i profesjonalnie”, Płyta Jubileuszowa z okazji 50 – lecia pracy artystycznej prof. J. + Gałęskiej – Tritt + i 20 lecia Prywatnego Policealnego Studium Sztuki Wokalnej „W kręgu muzyki polskiej XIX/XX wieku”, + Płyty Jubileuszowej + z okazji 20 – lecia Towarzystwa Muzycznego Schola Cantorum Posnaniensis oraz Płyty „Łacińska Muzyka + na Boże Narodzenie” + z Chórami Państwowej Szkoły Muzycznej w Siedlcach. +

    +
    + +
    +

    + W ramach pracy dyrygenckiej z Chórem Katedralnym, Zespołem Kameralnym Chóru Katedralnego, Chórem PSM + I st. oraz + Zespołem wokalnym PSM II st. brała udział w festiwalach muzyki chóralnej i zdobyła następujące + nagrody i wyróżnienia: +

    +
    +
    + +
    +
      +
      +
    • w roku 2015 Srebrny dyplom na X Festiwalu Muzyki Sakralnej Mater Misericordiae w Ząbkach z + Chórem Katedralnym + im. ks. Alfreda Hoffmana w Siedlcach, +
    • +
    • w roku 2016 Złoty Dyplom na IV Festiwalu Chórów Szkół Muzycznych Regionu Mazowieckiego z + Chórem PSM I st. + w Siedlcach, +
    • +
      + +
      +
    • w roku 2016 Złoty Dyplom na IV Festiwalu Chórów Szkół Muzycznych Regionu Mazowieckiego z + Zespołem wokalnym PSM + II st. w Siedlcach, +
    • +
    • w roku 2017 Złoty dyplom oraz III miejsce na XI Festiwalu Muzyki Sakralnej Mater + Misericordiae w Ząbkach z + Zespołem Kameralnym Chóru Katedralnego im. ks. Alfreda Hoffmana w Siedlcach, +
    • +
    • Nagroda specjalna za najlepsze wykonanie utworu maryjnego podczas XI Festiwalu Muzyki + Sakralnej Mater Misericordiae + w Ząbkach z Zespołem Kameralnym Chóru Katedralnego im. ks. Alfreda Hoffmana w Siedlcach. +
    • +
      + +
      + +
    • w roku 2018 Grand Prix na X Festiwalu Kolęd i Pastorałek „Kolędowe Serce Mazowsza” w + Siedlcach z Chórem Państwowej + Szkoły Muzycznej I st. w Siedlcach. +
    • +
    • w roku 2018 II miejsce na X Festiwalu Kolęd i Pastorałek „Kolędowe Serce Mazowsza” w + Siedlcach z Zespołem Wokalnym + Państwowej Szkoły Muzycznej II st. w Siedlcach. +
    • +
    • w roku 2018 Złoty Dyplom oraz I miejsce na V Festiwalu Chórów Szkół Muzycznych Regionu + Mazowieckiego z Chórem PSM + I st. w Siedlcach +
    • +
      + +
      +
    • w roku 2018 Nagroda specjalna Prezydenta Miasta Siedlce za prawykonanie utworu o tematyce + patriotycznej pt. "Hymn do + miłości Ojczyzny" autorstwa ks. Michała Romana Szulika na V Festiwalu Chórów Szkół + Muzycznych Regionu Mazowieckiego + z Chórem PSM I st. w Siedlcach +
    • +
    • w roku 2018 Złoty Dyplom na I Ogólnopolskim Konkursie Muzyki Sakralnej “Nadzieja w Chórze” w + Tykocinie z Chórem PSM + I st. w Siedlcach +
    • +
    • w roku 2018 Nagroda Specjalna za radość muzykowania na I Ogólnopolskim Konkursie Muzyki + Sakralnej “Nadzieja w Chórze” + w Tykocinie z Chórem PSM I st. w Siedlcach +
    • +
      + +
      +
    • w roku 2018 Nagroda Specjalna Dyrektora Radia Nadzieja dla najlepszego dyrygenta na I + Ogólnopolskim Konkursie Muzyki + Sakralnej “Nadzieja w Chórze” w Tykocinie z Chórem PSM I st. w Siedlcach. +
    • +
    • w roku 2021 Złoty dyplom podczas Międzynarodowego Konkursu Chóralnego Cantantes Lublinensis + w Lublinie z Chórem + Katedralnym im. ks. Alfreda Hoffmana w Siedlcach. +
    • +
      +
    +
    + +
    +
    +
    + + + + + +
    + +
    + +
    +
    +
    +
    +

    Dyrygent Ks. Michał Roman Szulik

    +
    +
    + + +

    + Ukończył PSM II stopnia w Lublinie w klasie śpiewu solowego prof. Aliny Naumowicz. + Swoje umiejętności śpiewacze doskonalił także u Prof. Jadwigi Gałeskiej-Trit (Poznań), Alicji + Molędy-Borkowskiej + (Drezno) oraz prof. Gerlinde Schmid - Nafz + (Überlingen). Po studiach w Wyższym Seminarium Duchownym w Siedlcach (1994) + studiował muzykologię na KUL, którą ukończył w roku 2001. W zakresie dyrygentury + chóralnej jest uczniem ad. Kazimierza Bukata, dyrygenta Chóru Filharmonii Narodowej + w Warszawie. Swoje zainteresowanie dyrygenckie rozwijał już w czasie studiów + prowadząc między innymi Chór WSD O.O. Kapucynów w Lublinie, będąc korepetytorem + Chóru Archikatedry Lubelskiej oraz współpracując z Chórem i Orkiestrą Młodzieżową + Cantate Deo w Lublinie. Z Chórem Katedralnym w Siedlcach pracuje od jesieni 1999 + r. W ciągu pięciu lat pracy w Siedlcach przygotował z zespołem oprawę muzyczną do + wszystkich uroczystości w katedrze a także większych uroczystości o zasięgu + diecezjalnym. W ciągu 6 pracy przygotował z Chórem ok. 30 koncertów w rożnych + miastach Polski i za granicą. +

    +
    + +

    + Zajmuje się pracą kompozytorską. Jest także odpowiedzialny za całokształt muzyki + kościelnej w Diecezji Siedleckiej a także prowadzi Diecezjalne Studium Muzyki Od + 2003 roku pracuje w Zakładzie Muzyki Wydziału Humanistycznego Akademii Podlaskiej. + W roku 2005 uzyskał w Akademii Muzycznej w Poznaniu tytuł doktora sztuki muzycznej + w dyscyplinie artystycznej dyrygentura na podstawie przedstawionej rozprawy + doktorskiej pt."Rola słowa i tekstu w religijnej muzyce chóralnej na przykładzie + wybranych utworów od renesansu do współczesności. Próby wskazówek interpretacyjnych. +

    +
    +

    + Większe utwory napisane przez ks. Michała Szulika: + +

      +
    • + "Te Deum laudamus" - na sopran solo, chór mieszany, zespół + instrumentów dętych i organy + (prawykonanie - styczeń 2001, 6 koncertów w diecezji siedleckiej) +
    • +
    • + Mottet "Evangelio oboedientia. Eucharistia." - na 3 chóry + mieszane, kwartet dęty i organy + (prawykonanie - czerwiec 2002) +
    • +
    • + "Requiem f-moll" - na sopran i tenor solo, chór mieszany i + organy (prawykonanie - lipiec 2004, + koncert w Überlingen 2005) +
    • +
    • + Psalm 150 - na chór mieszany i organy (prawykonanie - + listopad 2004) +
    • +
    +

    +
    +
    +
    +
    + + + + + + - -
    -
    -
    -

    Stowarzyszenie Chór Katedralny im. Ks. Alfreda Hoffmana w Siedlcach

    -

    ul. Kochanowskiego 11 08-110 Siedlce

    -

    tel. (025) 633 31 92


    - -
    -
    -
    - - - + +
    +
    +
    +

    Stowarzyszenie Chór Katedralny im. ks. Alfreda Hoffmana
    w Siedlcach

    +

    ul. Kochanowskiego 11, 08-110 Siedlce

    +

    chorkatedralny.siedlce@gmail.com

    +

    tel. +48 506 046 646


    + +
    +
    +
    + + + -
    - -
    - -
    -
    -
    -

    Chór w latach 1955 - 1994

    -
    -
    - Chór - -

    - Interesująca i niezwykle bogata historia chóru działającego przy - kościele p. w. Niepokalanego Poczęcia NMP w Siedlcach sięga lat dwudziestych - ubiegłego stulecia, w których działał Aleksander Gromek pierwszy organista - tegoż kościoła oraz pracujący do roku 1955 Walenty Hakowski. Oni to położyli - wielkie zasługi dla powstania i rozwoju zespołu. Niemniej jednak od przybycia - do katedry ks. Alfreda Hoffmana, w marcu 1955 roku, chór zaczął w pełni funkcjonować - jako zespół liturgiczny i koncertowy i ten rok uważa się umownie jako rok powstania - działającego w takim kształcie chóru.


    -

    - Już nazajutrz po przybyciu do katedry odbyło się pierwsze spotkanie liczącego - kilkanaście osób chóru z nowym dyrygentem, którego kronikarz opisał w następujący - sposób: "Pierwsze wrażenie wśród chórzystów przy poznaniu nowego dyrygenta różne - - wygląd zewnętrzny i podejście do chórzystów ujmujące, a jednocześnie wątpliwości: - czy Ksiądz da sobie radę w prowadzeniu takiego zespołu, czy będzie umiał utrzymać - go w karności, czy będzie miał tyle zapału i siły, by tę pracę utrzymać i rozwijać? - Wśród chórzystów niepewność i zaciekawienie." Wątpliwości te po krótkim czasie zostały - całkowicie rozwiane. Ks. Hoffman nie tylko bowiem podtrzymał pracę zespołu, ale nadał - jej intensywny rozwój, tak, że w krótkim czasie zmieniło się całkowicie oblicze chóru. - Pierwszy występ z nowym dyrygentem odbył się w Wielkanoc 1955 r. "Chór śpiewał Terra - tremuit Grubera, Surrexit Pastor bonus Chlondowskiego, Zmartwychwstał Pan Maklakiewicza - i inne pieśni wielkanocne". -


    -
    -
    -

    - Nowy dyrygent wprowadził szybko nowy styl pracy. Pierwszym tego przejawem były zeszyty - głosowe prowadzone w porządku tematycznym, następnym, wprowadzenie prób osobnych dla - każdego głosu. W takim systemie praca posuwała się szybko i można było przygotować - wiele utworów w krótkim czasie. Występy w każdą niedzielę podczas mszy w katedrze - wymagały bowiem szybkiego przygotowania dużego repertuaru pieśni. Każda Katedra jest - Matką wszystkich kościołów diecezji, w niej odbywają się wszystkie większe - uroczystości z udziałem Biskupa, Seminarium Duchownego i licznych rzesz wiernych. - Stąd liturgia sprawowana w katedrze zawsze stawiała wszystkim posługującym jej, a - szczególnie chórowi wielkie wymagania związane nie tylko z częstością występów, ale - także z poziomem wykonywanych utworów. Tym wymaganiom starał się zawsze sprostać - prowadzony przez ks. Hoffmana zespół. Świadectwem tego jest list Biskupa Ignacego - Świrskiego napisany po uroczystości konsekracji Biskupa Wacława Skomoruchy: "Byłem - głęboko wzruszony stwierdzając bardzo wysoki poziom muzyki i śpiewu, tak pod względem - kompozycji jak i wykonania, dla wyrażenia siły, ogromu i majestatu tych wielkich - tajemnic, jakie w danej chwili dokonywały się przy ołtarzu, za pośrednictwem - Ks. Prymasa. Wiemy dobrze, że przy ołtarzu dokonywały się wielkie sprawy, odbywały - się działania Ducha Świętego - tylko nikt tego wyrazić nie potrafił tak mocno, jak - to uczynił Chór. I chór wyraził to po mistrzowsku, napełniając dusze modlących jakimś - tajemniczym urokiem, wdziękiem, harmonią i odczuciem czegoś wielkiego, silnego, wprost - druzgocącego, wobec czego człowiek się czuł małym, słabym, przerażonym, a jednocześnie - na duchu podniesionym. Z prawdziwą radością i dumą zdawałem sobie sprawę, ze ks. Alfred - i Chór Katedralny są chlubą nie tylko Katedry, lecz całej Diecezji Podlaskiej, i że inna - diecezja takiego chóru nie posiada..." -


    -
    -
    -

    - W ciągu 40 lat działalności pod batutą ks. Hoffmana Chór wziął udział w kilkudziesięciu - uroczystościach o zasięgu diecezjalnym, w katedrze i poza Siedlcami. - Dyrygent jednak nie poprzestał tylko na występach podczas liturgii. Jego ambicją było, - aby zarazić miłością do muzyki religijnej jak największą liczbę słuchaczy. -


    -
    - -
    -

    - W tym celu rozpoczął organizowanie w Katedrze Siedleckiej koncertów muzyki religijnej. - Pierwszy taki koncert odbył się 20 listopada 1955 i był to koncert ku czci św. Cecylii, - patronki muzyki kościelnej. W pierwszej części koncertu wystąpił poprzednik ks. - Hoffmana, Walenty Hakowski z recitalem organowym, w drugiej Chór Katedralny z - repertuarem pieśni religijnych. Jak podaje kronika: "koncert ten wypadł lepiej niż - dobrze". Od tego czasu Chór katedralny dawał corocznie kilka koncertów. Do tradycji - wpisały się coroczny koncert kolęd oraz adoracja przy Grobie Pańskim, która była w - istocie koncertem utworów pasyjnych. Chór przygotowywał także koncerty pieśni maryjnych - w maju oraz koncert ku czci św. Cecylii w listopadzie. Przez okres prawie 40 lat pracy - chóru odbyło się około stu takich koncertów. -


    -
    - -
    -

    - Lata 60 - te i 70 - te XX wieku były okresem największego rozwoju zespołu. W tym czasie - liczył on około 80 śpiewaków. Chór Katedralny miał swoich własnych solistów i - akompaniatorów. Wiele osób rozpoczynających w tym czasie swoją przygodę muzyczną - w chórze wybrało studia muzyczne, otwierające drogę do profesjonalizmu. Wśród nich - są między innymi Alicja Borkowska - Molęda, śpiewaczka, solistka Opery w Dreźnie i - Pradze, Barbara Jasińska - Sroka śpiewaczka Chóru Opery Narodowej i dyrygentka Chóru - LO im A. Mickiewicza w Warszawie oraz nauczycielki przedmiotów muzycznych: Bernadeta - Adamczyk, Alicja Kobacińska i Barbara Obroślak. Nic więc dziwnego, że zespół, - składający się przede wszystkim z amatorów mógł sięgać w tym czasie po arcydzieła - najwyższej klasy kompozytorów muzyki sakralnej. -

    -
    - -
    - -
    - -
    -

    - Przeżywającego swój rozkwit chóru nie omijały jednak trudności wynikające przede - wszystkim z ciężkiej sytuacji politycznej kraju. Ciągła inwigilacja dyrygenta i - chórzystów prowadzona przez służby specjalne komunistycznego państwa, utrudnianie - uczestnictwa w uroczystościach kościelnych, a także represje ze strony władz - komunistycznych były ceną, jaką ponosił zespół za swoją wierną służbę Kościołowi. - Dopiero zmiana sytuacji politycznej pod koniec lat 80 - tych XX wieku przyniosła - pełną wolność, także w działalności zespołu. Niestety, niedługo mógł się nacieszyć - chór i dyrygent tą właśnie wolnością. 2 lipca 1994 r. ks. Alfred Hoffman został - odwołany do wiecznej ojczyzny. Osierocony zespół nie poddał się jednak zwątpieniu. - Dzięki wytrwałej pracy chórzystów prowadzonych przez uczennice ks. Hoffmana: Bernadetę - Adamczyk, Bożenę Adamczyk i Barbarę Obroślak chór dalej śpiewał w katedrze, a dzieło - ks. Hoffmana nie tylko nie umarło, ale przeprowadzone przez okres próby trwa i rozwija - się nadal. -

    -
    -
    -
    - - - - - - - -
    -
    -
    -

    Ks. Alfred Jan Hoffman (1923 - 1994)

    -
    -
    -
    - Alfred Jan Hoffman -
    -

    - Ks. Alfred Jan Hoffman urodził się 8 stycznia 1923 r. w Szerokiej w powiecie - pszczyńskim na Śląsku. Rodzicami jego byli Erwin Hoffmann i Gertruda z d. Wilczek. - Od najmłodszych lat Alfred był dzieckiem szczególnie uzdolnionym muzycznie i - plastycznie. Pierwszym instrumentem, na którym grał mały Fredzio była harmonijka - ustna. Swoje talenty muzyczne rozwijał pod czujnym okiem ojca, ucząc się pod jego - kierunkiem gry na instrumentach klawiszowych, w czym jako dziecko wybitnie uzdolnione - robił szybkie postępy. Z domu rodzinnego wyniósł przyszły kapłan umiłowanie porządku i - prawa, wielki szacunek dla każdego człowieka, otwartość w nawiązywaniu kontaktów, a - także szczególną troskę o tych, którzy są w potrzebie. -


    -
    -
    -

    - Pierwszą szkolę, a była to placówka kierowana przez jego ojca, ukończył 14 czerwca 1933 - roku z wynikiem bardzo dobrym. Alfred już w wieku dziesięciu lat został wysłany przez - rodziców do Gimnazjum Księży Salezjanów w Oświęcimiu gdzie uczył się przez następne - pięć lat. W roku 1938 ukończył naukę w gimnazjum. W tym samym roku poprosił o przyjęcie - do nowicjatu Zgromadzenia Salezjańskiego, który mieścił się w Czerwińsku nad Wisłą. Tam - też rozwijał swoje uzdolnienia muzyczne, ucząc się gry na organach oraz akompaniując - śpiewowi podczas nabożeństw. Jako 16 letni młodzieniec złożył podanie o przyjęcie do - Zgromadzenia Salezjańskiego. Śluby zakonne złożył w Czerwińsku dnia 2 sierpnia 1939. - Po okresie asystencji przyszedł czas studiów filozoficznych i teologicznych, które - odbył w Oświęcimiu i Krakowie w latach 1940-1946. W tym czasie otrzymał tonsurę i - cztery święcenia niższe w Wiedniu, w czerwcu 1943 r. z rąk arcybiskupa Teodora kard. - Innitzera. 26 maja 1945 r. złożył śluby wieczyste potwierdzające pragnienie całkowitego - oddania się Bogu w Zgromadzeniu Salezjańskim. Subdiakonat otrzymał w Krakowie 11 - listopada 1945 roku, a następnie święcenia diakonatu 27 stycznia 1946 r. z rąk biskupa - Stanisława Rosponda. Wreszcie, z rąk tegoż samego biskupa, 9 czerwca 1946 r. w kościele - Matki Bożej Wspomożenia Wiernych w Oświęcimiu otrzymał świecenia kapłańskie. -


    -
    -
    -

    - Cieszącego się dobrą opinią i zaufaniem przełożonych neoprezbitera skierowano najpierw - do pracy w domu nowicjackim w Kopcu k. Częstochowy, gdzie pracując przez rok pełnił - funkcję socjusza. W roku 1947 został skierowany do Poznania, aby podjąć obowiązki - kierownika oratorium. Tam właśnie, w Poznaniu, w latach 1947-1952 podjął studia na - Wydziale Filozoficznym Uniwersytetu Adama Mickiewicza, które zaowocowały tytułem - magistra filozofii. Ten czas był także okresem wzmożonej pracy nad doskonaleniem - talentów muzycznych. Przełożeni zauważywszy wielką pasję do muzyki, mianowali ks. - Hoffmana nauczycielem muzyki w Oświęcimiu, a dodatkowo kierownikiem nowicjatu. Tę - funkcję sprawował ks. Hoffman w latach 1952-1953. -


    -
    -
    -

    - Lata 1953-1955 to okres bardzo trudny. Z przyczyn zdrowotnych ks. Alfred został - skierowany na dwuletni urlop do domu rodzinnego. W tym też czasie ks. infułat Julian - Ryster, zwrócił się z prośbą do inspektora, ks. Rokity, o skierowanie ks. Hoffmana do - pracy w charakterze organisty i dyrygenta chóru w Katedrze Siedleckiej. 12 marca 1955 - roku ks. Alfred Jan Hoffman rozpoczął pracę w Siedlcach. - Po przybyciu do Siedlec ks. Hoffman objął liczne obowiązki przy kościele katedralnym. - Został mianowany wikariuszem parafii katedralnej, a co się z tym wiąże nauczycielem - religii w szkole. Do jego obowiązków należała kapelania w domach sióstr Albertynek i - sióstr Z gromadzenia Jedność, które to domy leżą na terenie parafii katedralnej. - Od samego początku ks. Hoffman dbał o wystrój katedry. Jego dekoracje tworzone z - wielkim smakiem artystycznym zachwycały przez długie lata siedlczan i licznych - gości monumentalizmem, przejrzystością i wielką precyzją wykonania . - Jako organista katedralny ks. Hoffman był jednocześnie kancelistą. - Będąc wychowany w duchu umiłowania porządku prowadził kancelarię parafialną - w sposób wzorowy. -


    -
    -
    -
    -
    -

    - Jako muzyk zasłużony dla diecezji, ks. Hoffman zaangażował się w pracę w Diecezjalnej - Komisji Liturgicznej, - do której został - powołany przez Biskupa Siedleckiego w 1968 r. - Wraz z innymi księżmi, zaczął pracować nad doskonaleniem organistów, prowadząc - rekolekcje dla organistów. Kiedy powołano do życia Studium Organistowskie, jako - wykładowca prowadził część zajęć we własnym mieszkaniu, mieszczącym się w plebanii - katedralnej przy ul. Kochanowskiego. Dla słuchaczy studium napisał ponad 530 - harmonizacji pieśni kościelnych. Pracą pedagogiczną, która obejmowała także prywatne - zajęcia zajmował się do końca życia, przygotowując wielu przyszłych muzyków do podjęcia - studiów. -


    -
    - -
    -

    - Z początkiem lat 80-tych, ubiegłego wieku został skierowany do nauczania muzyki w - Studentacie Filozoficznym Księży Salezjanów w Kutnie Woźniakowie, gdzie był także - spowiednikiem kleryków i współbraci. Cotygodniowe dojazdy do Kutna kosztowały go wiele - trudu i poświecenia, a także zdrowia, które było coraz słabsze. - W roku 1984 na prośbę ówczesnego rektora Wyższego Seminarium Duchownego w Siedlcach, - ks. dra Kazimierza Białeckiego objął zajęcia z utalentowanymi muzycznie klerykami, - ucząc gry na fortepianie oraz podstaw muzyki. Po śmierci ks. Władysława Pietrzaka, - objął także całość nauczania muzyki oraz prowadzenie chóru seminaryjnego. -


    -
    -
    -
    - -
    -
    - -
    -

    - Największą jednak pasją, której poświęcił się bez reszty było prowadzenie Chóru - Katedralnego. Praca z zespołem przebiegała zawsze na dwóch płaszczyznach. Pierwszą - z nich była praca muzyczna. Ks. Hoffman przez prawie 40 lat swojej działalności uczynił - z Chóru Katedralnego zespół wysokiej klasy, który sięgał w swoim repertuarze po dzieła - najznamienitszych kompozytorów. Śpiewy w niemal każdą niedzielę roku liturgicznego, - uczestnictwo we wszystkich uroczystościach w katedrze, wreszcie dziesiątki koncertów - muzyki religijnej, to niekwestionowany dorobek stawiający ks. Hoffmana wśród - najlepszych dyrygentów zespołów kościelnych w Polsce. Dla swojego chóru napisał też - ks. Hoffman wiele większych i mniejszych opracowania, wśród których można się doliczyć - ponad 190 utworów wykonywanych do dzisiaj w Katedrze Siedleckiej i poza nią. Jako - kompozytor ks. Hoffman używał pseudonimu artystycznego A. Remański. - Przez szeregi Chóru Katedralnego, a także prowadzonych przez niego chórów młodzieżowego - i dziecięcego przewinęło się setki osób uczących się od ks. Hoffmana miłości do muzyki, - a szczególnie muzyki liturgicznej. -

    -
    - -
    -
    - -
    -
    -
    -

    - Ks. Hoffman jako dyrygent nie ograniczał się tylko do pracy muzycznej. Był on dla - swoich chórzystów kapłanem, ojcem i przyjacielem. Jego życie związane było całkowicie - z życiem chórzystów. Razem z nimi przeżywał radości i smutki, był wszędzie tam, gdzie - go potrzebowano. Pomagał rozwiązywać problemy, doradzał, podtrzymywał na duchu. Uczył - zawsze zaufania do Pana Boga i miłości do Maryi Wspomożycielki Wiernych. Sam - ukształtowany w duchu ks. Jana Bosko, wychowywał z wielką miłością dzieci i młodzież, - uczył dorosłych jak być autorytetem i wychowawcą dla młodych pokoleń. -


    -
    -
    -

    - Jego skromne mieszkanie w plebanii katedralnej zawsze wypełnione było ludźmi, którzy - potrzebowali przewodnika na swojej drodze życiowej. Dla wszystkich miał czas, otwarte - serce i rękę. - Ks. Hoffman prowadził cichą i niewidoczną pracę charytatywną. Wielu potrzebujących - znajdowało u niego pomoc. Wspierany przez swoich chórzystów rozdawał wszystko co - miał, widząc w ubogich opuszczonego Jezusa. - Pogarszający się stan zdrowia nie hamował pracy duszpasterskiej, artystycznej i - pedagogicznej ks. Hoffmana. -


    -
    -
    -
    -
    -

    - W ostatnich latach życia starał się jeszcze więcej - pracować, mówiąc, że czuje powoli chwilę odejścia, a tak wiele chciałby jeszcze - zrobić dla Chwały Bożej i czci Niepokalanej Wspomożycielki. Po krótkiej, lecz - ciężkiej chorobie zmarł na rękach chórzystów w swoim mieszkaniu rankiem, 2 lipca 1994 r. - Pogrzeb ks. Hoffmana był wielką manifestacją wiary, w której wzięły udział tysiące - siedlczan. Można powiedzieć, że całe miasto żegnało kapłana, którego wielkość polegała - na pokornej służbie bliźnim. -


    -
    -
    -

    - Pośmiertnie, w roku 1994 Ks. Alfred Hoffman został uhonorowany nagrodą im. Ludomira - Benedyktowicza za całokształt twórczości w dziedzinie muzyki sakralnej. W rok po - śmierci ks. Hoffmana została poświęcona tablica pamiątkowa ku jego czci, umieszczona - w przedsionku Katedry Siedleckiej. Rada Miejska w Siedlcach przyznała ks. Hoffmanowi - 22 czerwca 1995 r. tytuł Honorowego Obywatela Miasta Siedlce. Jego imię nosi rondo przy - skrzyżowaniu ulic Cmentarnej, ks. Popiełuszki, Piaskowej i 10 lutego. - Pamięć o ks. Hoffmanie i jego pracy jest ciągle żywa i kultywowana przez Chór - Katedralny, który nosi jego imię i rozwija dzieło swojego założyciela. -

    -
    -
    -
    - - - - - - - -
    -
    -
    -

    Dyrygent Izabela Kiryluk

    -
    - -
    - -

    - Dyrygent, solistka, pedagog. Absolwentka Wydziału Dyrygentury Chóralnej, Edukacji Muzycznej i - Muzyki Kościelnej w Akademii Muzycznej im. I.J. Paderewskiego w klasie dyrygentury prof. Magdaleny - Wdowickiej-Mackiewicz, Absolwentka Prywatnego Policealnego Studium Sztuki Wokalnej w klasie śpiewu prof. - Jadwigi Gałęskiej-Tritt 
w Poznaniu oraz Absolwentka Podyplomowych Studiów Pedagogiki Rytmiki z - Kształceniem Słuchu oraz prowadzeniem zespołów w klasach I – III szkoły muzycznej I stopnia 
w - Uniwersytecie Muzycznym Fryderyka Chopina na Wydziale Instrumentalno-Pedagogicznym w Białymstoku. Stypendystka - Prezydenta Miasta Siedlce. -

    -
    -

    - Od 2015 roku pracuje w Zespole Szkół Muzycznych w Siedlcach oraz jako nauczyciel przedmiotu emisja głosu w - Diecezjalnym Studium Muzyki Kościelnej w Siedlcach. Drugi dyrygent Chóru Katedralnego im. ks. Alfreda Hoffmana w - Siedlcach. Współpracuje z wieloma instytucjami prowadząc warsztaty i szkolenia dla chórów, dorosłych i młodzieży - (Ośrodki Kultury, Śpiewająca Polska, Samorządowe Centrum Doradztwa i Doskonalenia Nauczycieli w Siedlcach). -

    -
    -
    - -
    -

    - Jako solistka, chórzystka i dyrygentka brała udział w nagraniu płyt: „Muzyka w Katedrze Siedleckiej” i „Kultura - muzyczna Katedry Siedleckiej. Ludzie i Muzyka”, Płyta Jubileuszowa z okazji XX-lecia PSEG i XV-lecia PPSSW,„Kameralnie - to pięknie 
i profesjonalnie”, Płyta Jubileuszowa z okazji 50 – lecia pracy artystycznej prof. J. Gałęskiej – Tritt - i 20 lecia Prywatnego Policealnego Studium Sztuki Wokalnej „W kręgu muzyki polskiej XIX/XX wieku”, Płyty Jubileuszowej - z okazji 20 – lecia Towarzystwa Muzycznego Schola Cantorum Posnaniensis oraz Płyty „Łacińska Muzyka na Boże Narodzenie” - z Chórami Państwowej Szkoły Muzycznej w Siedlcach. -

    -
    -
    - -
    -

    - W ramach pracy dyrygenckiej z Chórem Katedralnym, Zespołem Kameralnym Chóru Katedralnego, Chórem PSM I st. oraz - Zespołem wokalnym PSM II st. brała udział w festiwalach muzyki chóralnej i zdobyła następujące nagrody i wyróżnienia: -

    -
    -
    - -
    -
      -
      -
    • w roku 2015 Srebrny dyplom na X Festiwalu Muzyki Sakralnej Mater Misericordiae w Ząbkach z Chórem Katedralnym - im. ks. Alfreda Hoffmana w Siedlcach, -
    • -
    • w roku 2016 Złoty Dyplom na IV Festiwalu Chórów Szkół Muzycznych Regionu Mazowieckiego z Chórem PSM I st. - w Siedlcach, -
    • -
      - -
      -
    • w roku 2016 Złoty Dyplom na IV Festiwalu Chórów Szkół Muzycznych Regionu Mazowieckiego z Zespołem wokalnym PSM - II st. w Siedlcach, -
    • -
    • w roku 2017 Złoty dyplom oraz III miejsce na XI Festiwalu Muzyki Sakralnej Mater Misericordiae w Ząbkach z - Zespołem Kameralnym Chóru Katedralnego im. ks. Alfreda Hoffmana w Siedlcach, -
    • -
    • Nagroda specjalna za najlepsze wykonanie utworu maryjnego podczas XI Festiwalu Muzyki Sakralnej Mater Misericordiae - w Ząbkach z Zespołem Kameralnym Chóru Katedralnego im. ks. Alfreda Hoffmana w Siedlcach. -
    • -
      - -
      -
    • w roku 2018 Grand Prix na X Festiwalu Kolęd i Pastorałek „Kolędowe Serce Mazowsza” w Siedlcach z Chórem Państwowej - Szkoły Muzycznej I st. w Siedlcach. -
    • -
    • w roku 2018 II miejsce na X Festiwalu Kolęd i Pastorałek „Kolędowe Serce Mazowsza” w Siedlcach z Zespołem Wokalnym - Państwowej Szkoły Muzycznej II st. w Siedlcach. -
    • -
    • w roku 2018 Złoty Dyplom oraz I miejsce na V Festiwalu Chórów Szkół Muzycznych Regionu Mazowieckiego z Chórem PSM - I st. w Siedlcach -
    • -
      - -
      -
    • w roku 2018 Nagroda specjalna Prezydenta Miasta Siedlce za prawykonanie utworu o tematyce patriotycznej pt. "Hymn do - miłości Ojczyzny" autorstwa ks. Michała Romana Szulika na V Festiwalu Chórów Szkół Muzycznych Regionu Mazowieckiego - z Chórem PSM I st. w Siedlcach -
    • -
    • w roku 2018 Złoty Dyplom na I Ogólnopolskim Konkursie Muzyki Sakralnej “Nadzieja w Chórze” w Tykocinie z Chórem PSM - I st. w Siedlcach -
    • -
    • w roku 2018 Nagroda Specjalna za radość muzykowania na I Ogólnopolskim Konkursie Muzyki Sakralnej “Nadzieja w Chórze” - w Tykocinie z Chórem PSM I st. w Siedlcach -
    • -
      - -
      -
    • w roku 2018 Nagroda Specjalna Dyrektora Radia Nadzieja dla najlepszego dyrygenta na I Ogólnopolskim Konkursie Muzyki - Sakralnej “Nadzieja w Chórze” w Tykocinie z Chórem PSM I st. w Siedlcach. -
    • -
    • w roku 2021 Złoty dyplom podczas Międzynarodowego Konkursu Chóralnego Cantantes Lublinensis w Lublinie z Chórem - Katedralnym im. ks. Alfreda Hoffmana w Siedlcach. -
    • -
      -
    -
    -
    -
    - - - - + + +
    +
    +

    + Koncerty +

    + + +
    +
    + ... +
    +
    +

    + Charytatywny Koncert Kolędowy +

    +

    + 12 stycznia 2020, Katedra siedlecka +

    +

    + Wykonawcy +

      +
    • + Izabela Kiryluk - Sopran +
    • +
    • + Adam Szczepański - Organy +
    • +
    • + Chór Katedralny im. ks. A.Hoffmana w Siedlcach +
    • +
    • + ks. Michał Szulik - Dyrygent +
    • +
    +

    +
    +
    +
    + +
    +
    + ... +
    +
    +

    Koncert Tota pulchra est Maria

    +

    7 grudnia 2019, Katedra + siedlecka

    +

    + Wykonawcy +

      +
    • + Izabela Kiryluk - Sopran +
    • +
    • + Anna Januszewska - Alt +
    • +
    • + Bartosz Gorzkowski - Tenor +
    • +
    • + Damian Suchożebrski - Bas +
    • +
    • + Piotr Wilczyński – organy Dominika Biernackiego +
    • +
    • + Adam Szczepański - Organy w prezbiterium +
    • +
    • + Szymon Telecki – skrzypce I +
    • +
    • + Małgorzata Rąbalska – skrzypce II +
    • +
    • + Piotr Grabowicz – altówka +
    • +
    • + Izabela Skaruz – wiolonczela +
    • +
    • + Adam Chomiuk – kontrabas +
    • +
    • + Agnieszka Bemowska – harfa +
    • + +
    • + Chór Katedralny im. ks. A.Hoffmana w Siedlcach +
    • +
    • + Chór i Orkiestra Państwowej Szkoły Muzycznej II Stopnia w Siedlcach +
    • +
    • + Izabela Kiryluk - Dyrygent +
    • +
    • + ks. Michał Szulik - Dyrygent +
    • +
    + +

    +

    + W Programie:

    +

    + H.M. Górecki, J. Surzyński, J. Arcadelt, F. List, A. Guilmant, F. Peeters,
    A. Bruckner, C. + Franck +

    +
    +
    +
    + +
    +
    + ... +
    +
    +

    Uroczysty Koncert + na zakończenie obchodów
    + 200-lecia diecezji siedleckiej.

    +

    + 8 grudnia 2018, Katedra siedlecka +

    +

    + Wykonawcy +

      +
    • + Barbara Tritt - Sopran +
    • +
    • + Izabela Kiryluk - Sopran +
    • +
    • + Anna Januszewska - Alt +
    • +
    • + Bartosz Gorzkowski - Tenor +
    • +
    • + Damian Suchożebrski - Bas +
    • +
    • + Adam Szczepański - Organy +
    • +
    • + Chór Katedralny im. ks. A.Hoffmana w Siedlcach +
    • +
    • + Chór i Orkiestra Państwowej Szkoły Muzycznej II Stopnia w Siedlcach +
    • +
    • + ks. Michał Szulik - Dyrygent +
    • +
    +

    +

    + W Programie:

    +

    + C. Franck, ks. A.Hoffman, ks. M.R.Szulik +

    +
    +
    + +
    +
    + + + - - -

    - Chór Katedralny im. Ks. Alfreda Hoffmana
    w Siedlcach -

    - - - + + +
    +

    + Chór Katedralny im. ks. Alfreda Hoffmana
    w Siedlcach +

    +
    + +
    +
    + +

    O nas

    +

    + Chór Katedralny im ks. Alfreda Hoffmana jest zespołem, który wyrasta + z niemalże stuletniej tradycji chóralnej kościoła pod wezwaniem Niepokalanego Poczęcia + Najświętszej Maryi Panny w Siedlcach. +

    +

    + Głównym zadaniem Chóru Katedralnego im ks. Alfreda Hoffmana + w Siedlcach jest służba liturgii podczas celebracji w kościele biskupim + a także podczas większych uroczystości na terenie diecezji siedleckiej. +

    +

    + W repertuarze zespołu, oprócz utworów liturgicznych znajdują się także utwory koncertowe, + z którymi chór występował na terenie kraju a także + w Niemczech, Włoszech, na Węgrzech, Ukrainie i Białorusi. +

    +

    + Chór ma w swoim repertuarze wiele kompozycji dyrygenta, ks. Michała Szulika. + Istotnym aspektem działalności chóru katedralnego jest praca wychowawcza + i wspieranie rozwoju uzdolnionej muzycznie młodzieży. +

    +

    + Od 1999 r. chór prowadzi ks. Michał Szulik, którego asystentką od 2014 r. jest Izabela Kiryluk. +

    +
    +
    + + + - - -
    -
    -
    -
    - Szulik -
    -
    -

    Text text text text

    -
    -
    - -
    -
    - Iza -
    -
    -

    Text text text text

    -
    -
    - -
    -
    - -
    -
    -

    Text text text text

    -
    -
    - -
    -
    - -
    -
    -

    Text text text text

    -
    -
    -
    -
    - - - + + + + +
    + +
    + +

    Zarząd Chóru

    + +
    +
    +
    + Jerzy Myszkowski +
    +
    +
    +

    Prezes Zarządu

    +

    Jerzy Myszkowski

    +

    Bas

    +
    +
    +
    +
    + +
    +
    +
    + Martyna Jurzyk +
    +
    +
    +

    Zastępca Prezesa Zarządu

    +

    Martyna Jurzyk

    +

    Alt

    +
    +
    +
    + +
    + +
    +
    +
    + Michał Kiryluk +
    +
    +
    +

    Sekretarz Zarządu

    +

    Michał Kiryluk

    +

    Tenor

    +
    +
    + +
    +
    + +
    +
    +
    + Maria Stańczuk +
    +
    +
    +

    Skarbnik Zarządu

    +

    Maria Stańczuk

    +

    Alt

    +
    +
    +
    +
    +
    +
    + + + + + - - - - + + + + +
    +
    +

    Aktualności

    +
    + +
    + + + +
    "> +
    + + ... +
    +

    +
    + +
    + + +
    + +
    +
    +
    + + + + + + + +
    +
    +
    +
    + +

    + + + +
    +
    +
    +

    +
    +
    +
    +
    +
    +
    +
    +
    + + + + -
    - -
    - -
    -
    -

    Dyrygent Ks. Michał Roman Szulik

    -
    - -
    - - -

    - Ukończył PSM II stopnia w Lublinie w klasie śpiewu solowego prof. Aliny Naumowicz. - Swoje umiejętności śpiewacze doskonalił także u Prof. Jadwigi Gałeskiej-Trit (Poznań), Alicji Molędy-Borkowskiej - (Drezno) oraz prof. Gerlinde Schmid - Nafz - (Überlingen). Po studiach w Wyższym Seminarium Duchownym w Siedlcach (1994) - studiował muzykologię na KUL, którą ukończył w roku 2001. W zakresie dyrygentury - chóralnej jest uczniem ad. Kazimierza Bukata, dyrygenta Chóru Filharmonii Narodowej - w Warszawie. Swoje zainteresowanie dyrygenckie rozwijał już w czasie studiów - prowadząc między innymi Chór WSD O.O. Kapucynów w Lublinie, będąc korepetytorem - Chóru Archikatedry Lubelskiej oraz współpracując z Chórem i Orkiestrą Młodzieżową - Cantate Deo w Lublinie. Z Chórem Katedralnym w Siedlcach pracuje od jesieni 1999 - r. W ciągu pięciu lat pracy w Siedlcach przygotował z zespołem oprawę muzyczną do - wszystkich uroczystości w katedrze a także większych uroczystości o zasięgu - diecezjalnym. W ciągu 6 pracy przygotował z Chórem ok. 30 koncertów w rożnych - miastach Polski i za granicą. -


    - -

    - Zajmuje się pracą kompozytorską. Jest także odpowiedzialny za całokształt muzyki - kościelnej w Diecezji Siedleckiej a także prowadzi Diecezjalne Studium Muzyki Od - 2003 roku pracuje w Zakładzie Muzyki Wydziału Humanistycznego Akademii Podlaskiej. - W roku 2005 uzyskał w Akademii Muzycznej w Poznaniu tytuł doktora sztuki muzycznej - w dyscyplinie artystycznej dyrygentura na podstawie przedstawionej rozprawy - doktorskiej pt."Rola słowa i tekstu w religijnej muzyce chóralnej na przykładzie - wybranych utworów od renesansu do współczesności. Próby wskazówek interpretacyjnych. -


    -

    - Większe utwory napisane przez ks. Michała Szulika: -

    -

    -
    -
    - - - - + + + + +
    +
    +
    + +

    Aktualności

    + + Nowa wiadomość + +
    + + + +
    +
    + + ... +
    +

    +
    + +
    + + +
    + +
    +
    +
    + + +
    +
    +
    + +
    +

    Nowy post

    + +
      + +
    • -
    • + +
    + +
    + + +
    +
    + Tekst + +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + + + -
    -
    -
    +
    +
    +
    + +

    Szczegóły

    +
    +
    +
    +

    +
    +
    + Edycja + + -
    -
    -
    -

    -
    -
    - Edycja - -
    - - -
    -
    - Nowa wiadomość -
    - - - -
    -
    - -
    -
    -

    -
    -
    - Szczegóły - - - - - -
    -
    -
    - - - -
    -
    -
    - - -
    -
    -

    Nowa aktualność

    - -
      - -
    • -
    • - -
    - -
    - - -
    -
    - Tekst - -
    - -
    -
    - -
    -
    -
    -
    - + +
    +
    +
    + +
    +
    +

    Wnioski o rejestrację

    +
    + +

    Nie ma wniosków

    + + + +
    +
    +
    Wniosek
    +
    +
    +
    Email:
    +
    Data:
    +
    + + + + + + +
    +
    +
    +
    + +
    +
    +
    +
    + + + - -
    -

    Wnioski o rejestrację

    - - - -

    Nie ma wniosków

    - -
    -
    Wniosek
    -
    -
    -
    Email:
    -
    Data:
    -
    - - - - - - -
    - -
    -
    - -
    - + + + +
    +
    +
    + +

    Repertuar

    + +
    + +
    +
    +
    +
    + Nowy repertuar +
    +
    +
    + + + +
    +
    +
    /0/"> + +
    +
    /0/"> + +
    +
    +
    + + +
    +
    +
    +
    + + + +
    +
    +
    + +
    +

    Nowy repertuar

    + +
      + +
    • -
    • + +
    + +
    + + +
    + +
    + + + +
    + +
    + + +
    + + +
    + Tekst + +
    + +
    +
    + +
    +
    +
    +
    +
    +
    + + diff --git a/views/songs/index.php b/views/songs/index.php new file mode 100644 index 0000000..67a8474 --- /dev/null +++ b/views/songs/index.php @@ -0,0 +1,217 @@ + + + + + +
    +
    +
    + +

    Utwory

    + + + + + + Nowy Utwór + + +
    +
    +
    +
    + Filtry +
    +
    + + > + +
    +
    + + > + +
    +
    + + > + +
    +
    +
    + +
    +
    +
    + Wyszukiwarka +
    +
    + + + +
    +
    + +
    +
    +
    +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    #Nazwa utworuAktualneTeczka
    + + + + + + + + + + > + + +
    + +
    + + " + href="/songs/changeActual/" > + + + + + + " + href="/songs/changeActual/" > + + + + + +
    +
    +
    +
    + get(); ?> +
    +
    +
    + + + + + - - - - - - Powrót - - -
    - -
    -


    -

    - Numer teczki:
    - Ilość partytur:
    - Autor:
    - Typ utworu:
    - Teczka:
    - - -

    - - -

    - - - - -
    -
    -

    Pliki

    -

    - - Usunąć
    - -

    - -
    -
    -
    -
    - - - -
    -
    - -
    -
    -
    -
    - -
    -
    - - - - - -
    - -
    -

    Utwory

    - - - - - - Nowy Utwór - - -
    -
    -
    -
    - Filtry -
    -
    - - > - -
    -
    - - > - -
    -
    -
    - - -
    -
    -
    - Wyszukiwarka -
    -
    - -
    -
    - -
    -
    -
    -
    -
    - - - - - - - - - - - - - - - - - -
    Numer teczkiNazwa utworuIlość partyturAutorTeczka
    >
    -
    - get(); ?> -
    -
    -
    - - - - - - - - Powrót - - -
    -
    -
    -

    - -
      - -
    • -
    • - -
    - -
    - - -
    -
    - - -
    - Nie może być ujemna. -
    -
    -
    - - -
    - Pole Autor ma byc w postaci 'Nazwisko. I.' -
    -
    -
    -
    - - -
    -
    - - -
    -
    -
    - - -
    -
    - Notatki (opcjonalnie) - -
    -
    -
    - -
    -
    -
    -
    -
    - + +
    +
    +
    + +
    +
    +
    + +
    +

    + +
      + +
    • -
    • + +
    + +
    + + +
    +
    + + +
    + Nie może być ujemna. +
    +
    +
    + + +
    + Pole Autor ma byc w postaci 'Nazwisko. I.' +
    +
    +
    +
    + + +
    +
    + + +
    +
    +
    + + +
    +
    + Notatki (opcjonalnie) + +
    +
    +
    + +
    +
    +
    +
    +
    +
    +
    + + + + +
    +
    +
    + +
    +
    +
    + + +
    + + + + + + + + + + + + + + + + + + + + + + + +
    + Numer teczki + + +
    + Ilość partytur + + +
    + Autor + + +
    + Typ utworu + + +
    + Teczka + + +
    +

    + +

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + +
    +
    + +
    + +

    Pliki

    + + + + + + + + + + + + + + + + + +
    #Nazwa
    + + + + + + + + + + + + + + + + + + + + + + + + +
    + + + + Usunąć + +
    +
    + + +
    +
    + + +
    +
    + +

    Dostęp do plików mają tylko zarejestrowane użytkownicy.

    + Zaloguj + +
    +
    +
    +
    + + + -
    -
    -

    Zaloguj

    - -
      - -
    • -
    • - -
    - +
    + +
    +
    alert-dismissible fade show" role="alert"> + + + +
    +
    + +
    -
    -
    - - -
    -
    - - -
    -
    - -
    -
    -
    - -
    + + +
    +
    +
    + +

    Zaloguj

    + +
    + +
      + +
    • -
    • + +
    + +
    + + +
    +
    + + +
    +
    + +
    +
    +
    + +
    +
    +
    + +
    +
    - -
    + - + -
    -
    -

    Załórz Konto

    -
    -
    - -
      - -
    • -
    • - -
    - -
    -
    - - -
    - Twój e-mail powinien być w formie example@gmail.com + + +
    + +

    Załóż Konto

    +
    +
    + +
      + +
    • -
    • + +
    +
    -
    -
    - - -
    -
    - - -
    -
    - - -
    - Twoje hasło musi mieć 8-20 znaków, zawierać litery i cyfry oraz nie może zawierać spacji, znaków specjalnych ani emotikonów. +
    + + +
    + Twój e-mail powinien być w formie example@gmail.com +
    -
    -
    - - -
    - Twoje hasło musi mieć 8-20 znaków, zawierać litery i cyfry oraz nie może zawierać spacji, znaków specjalnych ani emotikonów. +
    + +
    -
    -
    -
    - +
    + + +
    +
    + + +
    + Twoje hasło musi mieć 8-20 znaków, zawierać litery i cyfry oraz nie może zawierać spacji, znaków + specjalnych ani emotikonów. +
    +
    +
    + + +
    + Twoje hasło musi mieć 8-20 znaków, zawierać litery i cyfry oraz nie może zawierać spacji, znaków + specjalnych ani emotikonów. +
    +
    +
    +
    + +
    -
    - -
    + +
    + + + - + -
    - Wnioski - - - - - - - - - - - - - + - - -
    EmailImięNazwiskoTyp KontaData rejestracji
    - - - -
    +
    +
    +
    +
    -