feat: implement livestream post functionality and update site theme assets
This commit is contained in:
@@ -19,10 +19,33 @@
|
||||
|
||||
<nav class="mc--menu mc--main-menu" th:if="${primaryMenu != null}">
|
||||
<ul class="menu m--menu m--main-menu">
|
||||
<li class="megamenu menu-item" th:each="item : ${primaryMenu.items}">
|
||||
<li th:each="item : ${primaryMenu.items}" th:if="${item.parent == null}"
|
||||
th:class="${item.children.empty} ? 'menu-item' : 'menu-item menu-item--expanded'">
|
||||
|
||||
<div class="link-arrow-wrapper">
|
||||
<a th:href="${item.url}" th:text="${item.label}">Menu Item</a>
|
||||
|
||||
<button th:if="${!item.children.empty}" type="button" class="has-submenu arrow-toggle" aria-expanded="false" aria-haspopup="true" th:attr="aria-label='Display Sub Menu for ' + ${item.label}" data-once="site-header-arrow">
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 16 7" enable-background="new 0 0 16 7" xml:space="preserve" width="16" height="7">
|
||||
<path fill-rule="evenodd" clip-rule="evenodd" fill="#881c1c" d="M7.88,7L15.75,0H0s7.88,7,7.88,7Z"></path>
|
||||
</svg>
|
||||
</button>
|
||||
</div>
|
||||
|
||||
<div class="submenu-wrapper" th:if="${!item.children.empty}">
|
||||
<button class="button-back">
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 5 10" enable-background="new 0 0 5 10" xml:space="preserve" width="5" height="10">
|
||||
<polygon fill-rule="evenodd" clip-rule="evenodd" fill="#881c1c" points="0,5 5,0 5,10 "></polygon>
|
||||
</svg> Back
|
||||
</button>
|
||||
<span class="navigation-title" th:text="${item.label}">Submenu Title</span>
|
||||
<ul class="submenu">
|
||||
<li class="menu-item" th:each="child : ${item.children}">
|
||||
<a th:href="${child.url}" th:text="${child.label}">Child Item</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
|
||||
@@ -2242,11 +2242,17 @@
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<h3 class="section-title">
|
||||
BÀI VIẾT NỔI BẬT
|
||||
</h3>
|
||||
</div>
|
||||
|
||||
<div class="featured-grid">
|
||||
<div class="news-events-row">
|
||||
|
||||
<div class="news-column">
|
||||
<h3 class="section-title--news">
|
||||
TIN TỨC
|
||||
</h3>
|
||||
|
||||
|
||||
<div class="featured-grid">
|
||||
<div class="featured-grid__item">
|
||||
|
||||
<article class="news-card news-card--featured">
|
||||
@@ -2405,108 +2411,8 @@
|
||||
</article>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="news-events-row">
|
||||
|
||||
<div class="news-column">
|
||||
<h3 class="section-title--news">
|
||||
TIN TỨC MỚI NHẤT
|
||||
</h3>
|
||||
|
||||
<div class="news-list">
|
||||
<div class="news-list__item">
|
||||
|
||||
<article class="news-teaser">
|
||||
|
||||
<div class="news-teaser__image">
|
||||
|
||||
<div> <img loading="lazy"
|
||||
src="https://sisvietnam.vn/wp-content/uploads/2026/06/S.I.S-Can-Tho-trao-tang-xe-dap-cho-thieu-nhi-1.jpg"
|
||||
width="4500" height="3006"
|
||||
alt="Pyrotechnics erupt over the Football Performance Center at the conclusion of the 2026 UMass Amherst Undergraduate Commencement Ceremony">
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="news-teaser__content">
|
||||
|
||||
<div class="news-list__category">
|
||||
<a href="https://sisvietnam.vn/taxonomy/term/1001" hreflang="vi">Tin Tức Bệnh
|
||||
Viện</a>
|
||||
</div>
|
||||
|
||||
<h3 class="news-teaser__title">
|
||||
<a href="https://sisvietnam.vn/news/article/tuan-le-nang-cao-nhan-thuc"
|
||||
rel="bookmark">
|
||||
<span>Bệnh Viện S.I.S Cần Thơ Tổ Chức Thành Công Tuần Lễ Nâng Cao Nhận Thức
|
||||
Về Đột Quỵ</span>
|
||||
|
||||
</a>
|
||||
</h3>
|
||||
|
||||
<div class="news-teaser__summary">
|
||||
|
||||
<div>
|
||||
<p>Ban Giám đốc Bệnh viện cùng đội ngũ chuyên gia đã tổ chức chuỗi sự kiện
|
||||
truyền thông, tư vấn sức khỏe miễn phí thu hút hàng nghìn người dân tham
|
||||
gia tìm hiểu và phòng ngừa bệnh.</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</article>
|
||||
|
||||
</div>
|
||||
<div class="news-list__item">
|
||||
|
||||
<article class="news-teaser">
|
||||
|
||||
<div class="news-teaser__image">
|
||||
|
||||
<div> <img loading="lazy"
|
||||
src="https://sisvietnam.vn/wp-content/uploads/2026/04/Mo-hinh-S.I.S-gop-phan-hoan-thien-mang-luoi-dot-quy-khu-vuc-huong-den-APEC-2027-08.jpg"
|
||||
width="5392" height="3592"
|
||||
alt="Student speaker Mansi Maheshwari addresses the 2026 Master’s and Education Specialist Commencement Ceremony at the Mullins Center on May 15, 2026.">
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="news-teaser__content">
|
||||
|
||||
<div class="news-list__category">
|
||||
<a href="https://sisvietnam.vn/taxonomy/term/1001" hreflang="vi">Tin Tức Bệnh
|
||||
Viện</a>
|
||||
</div>
|
||||
|
||||
<h3 class="news-teaser__title">
|
||||
<a href="https://sisvietnam.vn/news/article/tiep-nhan-thiet-bi" rel="bookmark">
|
||||
<span>Bệnh Viện Đa Khoa Quốc Tế S.I.S Cần Thơ Tiếp Nhận Thêm Dàn Thiết Bị Y
|
||||
Tế Hiện Đại Bậc Nhất</span>
|
||||
|
||||
</a>
|
||||
</h3>
|
||||
|
||||
<div class="news-teaser__summary">
|
||||
|
||||
<div>
|
||||
<p>Nhằm nâng cao chất lượng chẩn đoán và điều trị, S.I.S Cần Thơ đã chính
|
||||
thức đưa vào hoạt động hệ thống máy DSA và MRI thế hệ mới, hỗ trợ tối đa
|
||||
cho các ca can thiệp thần kinh phức tạp.</p>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</article>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="events-column">
|
||||
|
||||
@@ -275,6 +275,13 @@
|
||||
<input type="datetime-local" class="form-control" id="postEventTime" th:field="*{eventTimeLocal}">
|
||||
<small class="form-text text-muted">Specify the date and time for this event.</small>
|
||||
</div>
|
||||
<div class="form-group mt-3" id="eventLocationGroup" style="display: none;">
|
||||
<label for="postLocation" class="font-weight-bold text-danger">
|
||||
<i class="fas fa-map-marker-alt"></i> Location
|
||||
</label>
|
||||
<input type="text" class="form-control" id="postLocation" th:field="*{location}" placeholder="e.g. Room 101">
|
||||
<small class="form-text text-muted">Specify the location for this event.</small>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="d-flex justify-content-between">
|
||||
<a th:href="@{/manage/posts}" class="btn btn-secondary btn-sm">
|
||||
@@ -481,11 +488,14 @@
|
||||
// --- Event Time Layout Toggle ---
|
||||
var layoutSelect = document.getElementById('postLayout');
|
||||
var eventTimeGroup = document.getElementById('eventTimeGroup');
|
||||
var eventLocationGroup = document.getElementById('eventLocationGroup');
|
||||
function toggleEventTime() {
|
||||
if (layoutSelect.value === 'EVENT') {
|
||||
eventTimeGroup.style.display = 'block';
|
||||
if (eventLocationGroup) eventLocationGroup.style.display = 'block';
|
||||
} else {
|
||||
eventTimeGroup.style.display = 'none';
|
||||
if (eventLocationGroup) eventLocationGroup.style.display = 'none';
|
||||
}
|
||||
}
|
||||
layoutSelect.addEventListener('change', toggleEventTime);
|
||||
|
||||
@@ -0,0 +1,150 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en" xmlns:th="http://www.thymeleaf.org" xmlns:layout="http://www.ultraq.net.nz/thymeleaf/layout"
|
||||
layout:decorate="~{fragments/layout}">
|
||||
|
||||
<head>
|
||||
<title th:text="${post.title} + ' | UMass Amherst'">Post Title | UMass Amherst</title>
|
||||
<meta name="description" th:content="${post.metaDescription ?: post.excerpt}">
|
||||
<style>
|
||||
.livestream-video-wrapper {
|
||||
position: relative;
|
||||
padding-bottom: 56.25%; /* 16:9 Aspect Ratio */
|
||||
height: 0;
|
||||
overflow: hidden;
|
||||
border-radius: 12px;
|
||||
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
|
||||
margin-bottom: 2rem;
|
||||
background: #000;
|
||||
}
|
||||
.livestream-video-wrapper iframe {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border: 0;
|
||||
}
|
||||
.livestream-meta {
|
||||
margin-bottom: 2rem;
|
||||
border-bottom: 1px solid #eee;
|
||||
padding-bottom: 1rem;
|
||||
}
|
||||
.livestream-title {
|
||||
font-size: 2.25rem;
|
||||
font-weight: 800;
|
||||
color: #111;
|
||||
margin-bottom: 0.5rem;
|
||||
line-height: 1.25;
|
||||
}
|
||||
.livestream-date {
|
||||
color: #881C1C;
|
||||
font-weight: 700;
|
||||
font-size: 0.95rem;
|
||||
text-transform: uppercase;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div layout:fragment="content">
|
||||
<div id="block-umass-base-content" class="block block-system block-system-main-block tc--template-container tc--article">
|
||||
<div class="t--template t--article">
|
||||
|
||||
<!-- Content Top (Video Embed or Placeholder) -->
|
||||
<div class="content-top">
|
||||
<div class="lc--layout-container lc--one-column">
|
||||
<div class="l--layout l--one-column">
|
||||
<div class="lr--layout-region lr--main">
|
||||
<div class="cc--component-container">
|
||||
<!-- YouTube Embed -->
|
||||
<div th:if="${post.metaDescription != null and !post.metaDescription.isEmpty()}" class="livestream-video-wrapper">
|
||||
<iframe th:src="${post.metaDescription}"
|
||||
title="Livestream Video"
|
||||
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
|
||||
allowfullscreen></iframe>
|
||||
</div>
|
||||
<!-- Fallback Hero Image if no video -->
|
||||
<div th:if="${post.metaDescription == null or post.metaDescription.isEmpty()}" class="cc--component-container cc--hero-article">
|
||||
<div class="c--component c--hero-article">
|
||||
<div class="f--field f--image" th:if="${post.featuredImage != null and !post.featuredImage.isEmpty()}">
|
||||
<img th:src="${post.featuredImage}" th:alt="${post.title}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Content Main (Description and Info) -->
|
||||
<div class="content-main">
|
||||
<div class="lc--layout-container lc--one-column">
|
||||
<div class="l--layout l--one-column">
|
||||
<div class="lr--layout-region lr--main">
|
||||
<div class="livestream-meta">
|
||||
<!-- If the excerpt is used for the display title, show it. Otherwise show standard post title -->
|
||||
<h1 class="livestream-title" th:text="${post.excerpt != null and !post.excerpt.isEmpty() ? post.excerpt : post.title}">Post Title</h1>
|
||||
<p class="livestream-date" th:if="${formattedDate != null}" th:text="${formattedDate}">Date</p>
|
||||
</div>
|
||||
<section class="cc--component-container cc--wysiwyg">
|
||||
<div class="c--component c--wysiwyg">
|
||||
<div class="f--field f--wysiwyg editorjs-content" id="postContentRaw" style="display:none;" th:text="${post.content}"></div>
|
||||
<div class="f--field f--wysiwyg" id="postContentParsed"></div>
|
||||
</div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Include Editor.js parser to render the content on the frontend -->
|
||||
<script>
|
||||
document.addEventListener("DOMContentLoaded", function() {
|
||||
var rawData = document.getElementById("postContentRaw").textContent;
|
||||
var parsedContainer = document.getElementById("postContentParsed");
|
||||
|
||||
try {
|
||||
var data = JSON.parse(rawData);
|
||||
var html = "";
|
||||
if (data.blocks) {
|
||||
data.blocks.forEach(function(block) {
|
||||
switch(block.type) {
|
||||
case "paragraph":
|
||||
html += "<p>" + block.data.text + "</p>";
|
||||
break;
|
||||
case "header":
|
||||
html += "<h" + block.data.level + ">" + block.data.text + "</h" + block.data.level + ">";
|
||||
break;
|
||||
case "list":
|
||||
var tag = block.data.style === "ordered" ? "ol" : "ul";
|
||||
html += "<" + tag + ">";
|
||||
block.data.items.forEach(function(item) {
|
||||
html += "<li>" + item + "</li>";
|
||||
});
|
||||
html += "</" + tag + ">";
|
||||
break;
|
||||
case "image":
|
||||
html += "<figure><img src='" + block.data.file.url + "' alt='" + (block.data.caption || "") + "'><figcaption>" + (block.data.caption || "") + "</figcaption></figure>";
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
});
|
||||
parsedContainer.innerHTML = html;
|
||||
} else {
|
||||
parsedContainer.innerHTML = rawData.replace(/\n/g, "<br>");
|
||||
}
|
||||
} catch(e) {
|
||||
// Fallback to raw text if it is not JSON
|
||||
parsedContainer.innerHTML = rawData.replace(/\n/g, "<br>");
|
||||
}
|
||||
});
|
||||
</script>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -242,8 +242,15 @@
|
||||
</svg> Back </button>
|
||||
<span class="navigation-title" th:text="${item.label}">Menu Item</span>
|
||||
|
||||
<!-- Mobile Submenu Layout (Simple List) -->
|
||||
<ul class="submenu mobile-only">
|
||||
<li class="menu-item" th:each="child : ${item.children}">
|
||||
<a th:href="${child.url}" th:text="${child.label}">Child Item</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<!-- Mega Menu Content Layout -->
|
||||
<div class="mega-menu-content">
|
||||
<div class="mega-menu-content desktop-only">
|
||||
<!-- Column 1: Info (Title and Text) -->
|
||||
<div class="mega-col-info">
|
||||
<h3 th:text="${item.label}">Về Bệnh viện</h3>
|
||||
@@ -275,115 +282,6 @@
|
||||
</th:block>
|
||||
</ul>
|
||||
</nav>
|
||||
<div data-component-id="umass_base:nav-quicklink-buttons">
|
||||
<nav class="mc--menu mc--quicklink-button-menu">
|
||||
<ul class="menu m--menu m--quicklink-button-menu">
|
||||
<li class="menu-item">
|
||||
<div class="f--field f--button">
|
||||
<a href="https://www.umass.edu/admissions/apply" class="button-primary button-context-light " aria-label="Apply" data-component-id="umass_base:button">
|
||||
<span class="button-text"> Apply </span>
|
||||
</a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="menu-item">
|
||||
<div class="f--field f--button">
|
||||
<a href="https://minutefund.uma-foundation.org/project/29554/donate" class="button-primary button-context-light ext" aria-label="Give" data-component-id="umass_base:button" data-extlink="">
|
||||
<span class="button-text"> Give </span>
|
||||
<svg focusable="false" width="1em" height="1em" class="ext" data-extlink-placement="append" aria-label="(link is external)" viewBox="0 0 80 40" role="img" aria-hidden="false">
|
||||
<title>(link is external)</title>
|
||||
<path d="M48 26c-1.1 0-2 0.9-2 2v26H10V18h26c1.1 0 2-0.9 2-2s-0.9-2-2-2H8c-1.1 0-2 0.9-2 2v40c0 1.1 0.9 2 2 2h40c1.1 0 2-0.9 2-2V28C50 26.9 49.1 26 48 26z"></path>
|
||||
<path d="M56 6H44c-1.1 0-2 0.9-2 2s0.9 2 2 2h7.2L30.6 30.6c-0.8 0.8-0.8 2 0 2.8C31 33.8 31.5 34 32 34s1-0.2 1.4-0.6L54 12.8V20c0 1.1 0.9 2 2 2s2-0.9 2-2V8C58 6.9 57.1 6 56 6z"></path>
|
||||
</svg>
|
||||
</a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="menu-item">
|
||||
<div class="f--field f--button">
|
||||
<a href="https://www.umass.edu/admissions/visit" class="button-primary button-context-light " aria-label="Visit" data-component-id="umass_base:button">
|
||||
<span class="button-text"> Visit </span>
|
||||
</a>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
<nav class="mc--menu mc--utility-menu">
|
||||
<ul class="menu m--menu m--utility-menu">
|
||||
<li class="menu-item menu-item--expanded">
|
||||
<div class="utility-button-wrapper">
|
||||
<button type="button" class="utility-button arrow-toggle information-for-toggle" aria-label="Display submenu for Information menu" aria-expanded="false" aria-haspopup="true" data-once="site-header-arrow"> Info For <svg version="1.1" class="arrow-down" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 10 5" enable-background="new 0 0 10 5" xml:space="preserve" width="10" height="5">
|
||||
<polygon fill-rule="evenodd" clip-rule="evenodd" fill="#881c1c" points="5,5 0,0 10,0 "></polygon>
|
||||
</svg>
|
||||
<svg version="1.1" class="arrow-right" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 5 10" enable-background="new 0 0 5 10" xml:space="preserve" width="5" height="10">
|
||||
<polygon fill-rule="evenodd" clip-rule="evenodd" fill="#881c1c" points="5,5 0,10 0,0 "></polygon>
|
||||
</svg>
|
||||
</button>
|
||||
<div class="submenu-wrapper">
|
||||
<button class="button-back">
|
||||
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 5 10" enable-background="new 0 0 5 10" xml:space="preserve" width="5" height="10">
|
||||
<polygon fill-rule="evenodd" clip-rule="evenodd" fill="#881c1c" points="0,5 5,0 5,10 "></polygon>
|
||||
</svg> Back </button>
|
||||
<span class="navigation-title">Info For</span>
|
||||
<ul class="submenu">
|
||||
<li class="menu-item">
|
||||
<a href="https://www.umass.edu/gateway/info/prospective-students" data-drupal-link-system-path="node/42831">Prospective Students</a>
|
||||
</li>
|
||||
<li class="menu-item">
|
||||
<a href="https://www.umass.edu/gateway/info/current-students" title="Click here for info for current students" data-drupal-link-system-path="node/61">Current Students</a>
|
||||
</li>
|
||||
<li class="menu-item">
|
||||
<a href="https://www.umass.edu/gateway/info/faculty-and-staff" title="Click here for info for faculty and staff" data-drupal-link-system-path="node/66">Faculty and Staff</a>
|
||||
</li>
|
||||
<li class="menu-item">
|
||||
<a href="https://www.umass.edu/gateway/info/parents-and-families" title="Click here for info for parents" data-drupal-link-system-path="node/81">Parents and Families</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</li>
|
||||
<li class="menu-item">
|
||||
<a href="https://www.umassalumni.com/" title="UMass Amherst Alumni Association">Alumni</a>
|
||||
</li>
|
||||
<li class="menu-item">
|
||||
<a href="https://umassathletics.com/" title="UMass Amherst Athletics">Athletics</a>
|
||||
</li>
|
||||
<li class="menu-item">
|
||||
<a href="https://www.uma-foundation.org/" title="Giving to UMass Amherst">Giving</a>
|
||||
</li>
|
||||
<li class="menu-item">
|
||||
<a href="https://www.library.umass.edu/">Libraries</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
<nav data-component-id="umass_base:header-socials">
|
||||
<ul class="social-media-links--platforms platforms ally-focus-within">
|
||||
<li>
|
||||
<a class="ext" href="https://www.facebook.com/UMassAmherst/" target="_blank" rel="noopener noreferrer">
|
||||
<svg aria-hidden="true" focusable="false" viewBox="0 0 17 17">
|
||||
<title>Find UMass Amherst on Facebook</title>
|
||||
<path fill-rule="evenodd" fill="currentColor" d="M17,8.5C17,3.81,13.19,0,8.5,0S0,3.81,0,8.5c0,3.98,2.75,7.33,6.45,8.25v-5.65h-1.75v-2.6h1.75v-1.12c0-2.89,1.31-4.23,4.15-4.23.54,0,1.47.11,1.85.21v2.35c-.2-.02-.55-.03-.98-.03-1.39,0-1.93.53-1.93,1.9v.92h2.78l-.48,2.6h-2.3v5.84c4.21-.51,7.47-4.09,7.47-8.44Z"></path>
|
||||
</svg>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="ext" href="https://www.instagram.com/umass/" target="_blank" rel="noopener noreferrer">
|
||||
<!--?xml version="1.0" encoding="UTF-8"?-->
|
||||
<svg aria-hidden="true" focusable="false" viewBox="0 0 17 20">
|
||||
<title>Find UMass Amherst on Instagram</title>
|
||||
<path fill-rule="evenodd" fill="currentColor" <path="" d="M8.51,5.51c-.57,0-1.14.11-1.67.34-.53.22-1.01.55-1.42.97-.82.84-1.28,1.98-1.29,3.17,0,1.19.45,2.34,1.27,3.18.82.84,1.93,1.32,3.08,1.32,1.16,0,2.27-.47,3.09-1.31.82-.84,1.28-1.98,1.29-3.17,0-1.19-.45-2.34-1.27-3.18-.82-.84-1.93-1.32-3.08-1.32ZM8.49,7.09c.37,0,.74.07,1.08.22.34.15.66.36.92.63.26.27.47.59.62.94.14.35.22.73.22,1.11,0,.38-.07.76-.21,1.12-.14.35-.35.68-.61.95-.26.27-.57.49-.92.64-.34.15-.71.22-1.08.23-.37,0-.74-.07-1.08-.22-.34-.15-.66-.36-.92-.63-.26-.27-.47-.59-.62-.94-.14-.35-.22-.73-.22-1.11,0-.38.07-.76.21-1.12.14-.35.35-.68.61-.95.26-.27.57-.49.92-.64.34-.15.71-.22,1.08-.23ZM12.03,5.32c0-.28.11-.54.3-.74.19-.2.45-.31.72-.31s.53.11.72.31c.19.2.3.46.3.74s-.11.54-.3.74c-.19.2-.45.31-.72.31s-.53-.11-.72-.31c-.19-.2-.3-.46-.3-.74ZM16.95,6.39c-.06-1.4-.38-2.64-1.37-3.67-.99-1.02-2.2-1.34-3.56-1.41-1.4-.08-5.61-.08-7.02,0-1.36.07-2.57.39-3.56,1.41C.44,3.74.13,4.98.06,6.38-.02,7.83-.02,12.16.06,13.61c.06,1.4.38,2.64,1.37,3.67,1,1.02,2.2,1.34,3.56,1.41,1.4.08,5.61.08,7.02,0,1.36-.07,2.57-.39,3.56-1.41.99-1.02,1.31-2.27,1.37-3.67.08-1.45.08-5.77,0-7.22ZM15.14,15.16c-.3.77-.87,1.36-1.62,1.66-1.12.46-3.78.35-5.01.35s-3.9.1-5.01-.35c-.74-.3-1.32-.89-1.62-1.66-.44-1.15-.34-3.89-.34-5.16s-.1-4.01.34-5.16c.3-.77.87-1.36,1.62-1.66,1.12-.46,3.78-.35,5.01-.35s3.9-.1,5.01.35c.74.3,1.32.89,1.62,1.66.44,1.15.34,3.89.34,5.16s.1,4.01-.34,5.16Z"></path>
|
||||
</svg>
|
||||
</a>
|
||||
</li>
|
||||
<li>
|
||||
<a class="ext" href="https://www.snapchat.com/add/umassamherst" target="_blank" rel="noopener noreferrer">
|
||||
<svg aria-hidden="true" focusable="false" viewBox="0 0 17 17">
|
||||
<title>Add UMass Amherst on Snapchat</title>
|
||||
<path d="m12.8333333 20.3333333c-.0833333 0-.0833333 0-.1666666 0h-.0833334c-1.0833333 0-1.6666666-.3333333-2.25-.75-.41666663-.3333333-.74999997-.5833333-1.16666663-.5833333-.25 0-.41666667-.0833333-.66666667-.0833333-.33333333 0-.66666667.0833333-.91666667.0833333-.16666666 0-.33333333.0833333-.41666666.0833333-.33333334 0-.5-.25-.5-.4166666 0-.1666667-.08333334-.25-.08333334-.4166667 0-.0833333-.08333333-.25-.08333333-.3333333-1.33333333-.25-2.08333333-.5-2.25-1-.08333333 0-.08333333-.0833334-.08333333-.1666667 0-.25.16666666-.4166667.41666666-.5 2.25-.3333333 3.33333334-2.75 3.33333334-2.8333333.08333333-.25.16666666-.4166667.08333333-.5833334-.08333333-.1666666-.58333333-.3333333-.91666667-.4166666-.08333333 0-.16666666-.0833334-.25-.0833334-.83333333-.3333333-1-.75-.91666666-1.0833333.08333333-.5.83333333-.75 1.25-.5833333.33333333.1666666.58333333.1666666.75.1666666h.25c0-.0833333 0-.25 0-.3333333-.08333334-1.16666667-.25-2.66666667.16666666-3.5 1.16666667-2.66666667 3.66666667-2.83333333 4.33333337-2.83333333h.3333333c.75 0 3.1666667.16666666 4.3333333 2.83333333.4166667.91666667.3333334 2.33333333.25 3.5v.0833333.25h.1666667c.1666667 0 .4166667-.0833333.6666667-.1666666.1666666-.0833334.25-.0833334.4166666-.0833334.1666667 0 .25 0 .4166667.0833334.3333333.0833333.5833333.4166666.5833333.6666666 0 .4166667-.3333333.6666667-.9166666.9166667-.0833334 0-.1666667.0833333-.25.0833333-.3333334.0833334-.8333334.25-.9166667.5-.0833333.1666667 0 .3333334.0833333.5.0833334.25 1.0833334 2.5 3.25 2.8333334.25 0 .4166667.25.4166667.5 0 .0833333 0 .1666666-.0833333.1666666-.1666667.4166667-.9166667.75-2.25 1 0 .0833334-.0833334.25-.0833334.3333334 0 .1666666-.0833333.25-.0833333.4166666-.0833333.25-.25.4166667-.5.4166667-.0833333 0-.25 0-.4166667-.0833333-.25-.0833334-.5-.0833334-.9166666-.0833334-.1666667 0-.4166667 0-.6666667.0833334-.4166667.0833333-.75.3333333-1.1666667.5833333-.6666666.5833333-1.5.8333333-2.5.8333333" fill="currentColor" fill-rule="evenodd" transform="translate(-4 -3)"></path>
|
||||
</svg>
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
<button id="search-drawer-trigger" aria-label="Open Search" data-once="header-search">
|
||||
|
||||
@@ -9,6 +9,8 @@
|
||||
<link rel="stylesheet" media="all" th:href="@{/theme-assets/umass/css/css_09S7WcUyhLeUXabknzECn_ua5zOangtv2BF4OXAW2fM.css}">
|
||||
<link rel="stylesheet" media="all" th:href="@{/theme-assets/umass/css/css_5USufIKxGNJyomvgpy2m9ITQlTN9qcrtJQsw_06dSbo.css}">
|
||||
<link rel="stylesheet" media="all" th:href="@{/theme-assets/umass/css/css_G5ztZKRblBn54t8h9F_EK5Y3CsZrMvA2BWPMI5jJoO4.css}">
|
||||
<!-- Custom CSS -->
|
||||
<link rel="stylesheet" th:href="@{/css/custom.css}">
|
||||
<!-- Theme Customizer CSS Output -->
|
||||
<style th:utext="${themeCss}"></style>
|
||||
<!-- wp_head hook -->
|
||||
@@ -46,6 +48,8 @@
|
||||
</div>
|
||||
<!-- UMass Scripts -->
|
||||
<script th:src="@{/theme-assets/umass/js/js_aQtUyeGxehNR84AlGzGB1VfMu1Wn3lqHxvL8rocj1EU.js}"></script>
|
||||
<script th:src="@{/js/mobile-menu.js}"></script>
|
||||
<script th:src="@{/js/ambient-video.js}"></script>
|
||||
<!-- wp_footer hook -->
|
||||
<th:block th:utext="${hookManager.doActionAndReturn('wp_footer')}"></th:block>
|
||||
</body>
|
||||
|
||||
Reference in New Issue
Block a user