.rd-filter {
margin-bottom: 1em;
}
.rd-filter-header {
display: flex;
justify-content: space-between;
}
.rd-filter-title, .rd-filter-group-title {
font-weight: bold;
}
button#rd-filter-submit {
padding: 4px 10px;
color: white;
background-color: #507ca3;
border-radius: 8px;
}
button#rd-filter-clear {
padding: 4px 10px;
border: solid 1px #507ca3;
color: #507ca3;
background-color: white;
border-radius: 8px;
}
.rd-filter-group-tags {
display: flex;
flex-wrap: wrap;
margin: 0.5em 0;
}
.rd-filter-tag {
margin-right: 1.5em;
}
.tag-filter-checkbox {
display: inline-block;
margin-right: 0.5em;
}
div.rd-sessions ul.rd-sessions-list {
list-style: none;
margin: 0;
padding: 0;
}
div.rd-sessions li.rd-date-divider {
color: white;
font-weight: bold;
display: block;
padding: 0.5em;
background-color: #507ca3;
border-radius: 6px;
}
div.rd-sessions li.rd-session-item {
display: block;
margin: 24px 3px;
border: 1px solid #d7dfec;
padding: 1em 0.5em;
border-radius: 6px;
box-shadow: 0 1px 2px rgba(8, 27, 56, 0.3);
}
div.rd-sessions li.rd-session-item.rd-child-item {
margin: 18px 3px 18px 27px;
}
div.rd-sessions li.rd-session-item.rd-hide {
margin: 0;
padding: 0;
}
div.rd-sessions div.rd-session-date {
font-weight: bold;
font-size: 0.85em;
color: #ff7700;
}
div.rd-sessions div.rd-session-title {
font-weight: bold;
cursor: pointer;
}
div.rd-sessions div.rd-session-subheading {
font-weight: bold;
font-size: 1.11em;
margin: 12px 0 6px 0;
}
div.rd-sessions div.rd-session-detail,
div.rd-sessions div.rd-session-description,
div.rd-sessions div.rd-session-children,
div.rd-sessions div.rd-session-parent {
font-size: 0.9em;
}
div.rd-sessions li.rd-session-item a {
text-decoration: none;
}
div.rd-sessions li.rd-session-item a:link,
div.rd-sessions li.rd-session-item a:visited,
div.rd-sessions li.rd-session-item a:active,
div.rd-sessions li.rd-session-item a:hover {
color: inherit;
}
div.rd-sessions div.rd-session-tag {
display: inline-block;
font-size: 0.85em;
padding: 4px 12px;
margin-top: 0.5em;
margin-right: 0.5em;
color: #616e88;
border: solid 1px #d7dfec;
border-radius: 12px;
}
div.rd-sessions div.rd-session-featured-tag {
color: #507ca3;
border: solid 1px #507ca3;
background-color: #507ca3;
background-image: linear-gradient(to right, rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.9));
}
div.rd-sessions span.rd-session-locked-item-label {
font-weight: normal;
font-style: italic;
}
div.rd-sessions .rd-toggle {
cursor: pointer;
}
div.rd-sessions .rd-show {
opacity: 1;
max-height: auto;
transition: opacity 300ms, max-height 300ms;
}
div.rd-sessions .rd-hide {
opacity: 0;
max-height: 0;
transition: opacity 300ms, max-height 300ms;
overflow: hidden;
}
div.rd-sessions ul.rd-session-speaker-list {
list-style: none;
margin: 0;
padding: 0;
}
div.rd-sessions li.rd-session-speaker-item {
margin: 12px 0;
padding: 0;
min-height: 60px;
clear: both;
}
div.rd-sessions div.rd-speaker-name {
font-weight: bold;
}
div.rd-sessions div.rd-speaker-details {
margin-left: 72px;
}
div.rd-sessions img.rd-speaker-photo {
float: left;
position: relative;
width: 60px;
height: 60px;
border-radius: 50% !important;
}
div.rd-sessions img.rd-speaker-photo::before {
content: "";
display: block;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
border-radius: 50%;
box-shadow: inset 0 0 0 1px rgba(8, 27, 56, 0.1);
z-index: 2;
}
(function (id, baseUrl) {
function load(id, url) {
var container = document.getElementById(id);
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function () {
if (this.readyState == 4 && this.status == 200) {
container.innerHTML = this.responseText;
}
};
xhttp.open("GET", url, true);
xhttp.send();
};
function toggle(el) {
if (el.style.display === 'none') {
el.classList.add('rd-hide');
el.style.display = '';
setTimeout(toggleHidden, 0, el);
}
else {
toggleHidden(el);
setTimeout(function () {
el.style.display = 'none';
}, 300);
}
};
function toggleHidden(el) {
if (el.classList.contains('rd-hide')) {
el.classList.add('rd-show');
el.classList.remove('rd-hide');
} else {
el.classList.add('rd-hide');
el.classList.remove('rd-show');
}
}
function listenForToggle(id) {
var container = document.getElementById(id);
container.addEventListener('click', function (e) {
for (var target = e.target; target && target != container; target = target.parentNode) {
if (target.matches('.rd-toggle')) {
if (target.dataset.rdTarget) {
var els = container.querySelectorAll(target.dataset.rdTarget);
Array.prototype.forEach.call(els, toggle);
}
break;
}
}
}, false);
}
// Filter the list of items
function initFilter() {
// Initialize the filter button
var filterButton = document.getElementById('rd-filter-submit');
if (filterButton) {
filterButton.addEventListener('click', function () {
// 1. Collect checked tag IDs
var checked = Array.from(
document.querySelectorAll('.tag-filter-checkbox:checked')
).map(function (cb) {
return cb.value;
});
// 2. Build URL
var url = baseUrl;
if (checked.length) {
var params = new URLSearchParams();
params.set('tags', checked.join(','));
url = baseUrl + (baseUrl.includes('?') ? '&' : '?') + params.toString();
}
// 3. Reload the list
load(id, url);
});
}
// Initialize the clear button
var clearButton = document.getElementById('rd-filter-clear');
if (clearButton) {
clearButton.addEventListener('click', function () {
// Clear all checked checkboxes (pure JS)
document.querySelectorAll('.tag-filter-checkbox:checked').forEach(function (cb) {
cb.checked = false;
});
// Reload the list using just the base URL
load(id, baseUrl);
});
}
}
// Initialize everything when the DOM is ready
function ready(fn) {
if (document.readyState !== 'loading') fn();
else document.addEventListener('DOMContentLoaded', fn);
}
ready(function () {
listenForToggle(id);
load(id, baseUrl); // initial load (no tags)
initFilter(); // hook up the filter buttons
});
})('rd-sessions', 'https://events.rdmobile.com/Sessions/Remote/19929?detail=Description&included=Speakers&speakerdetails=Title%2cCompany%2cPhoto%2cDescription&speakerclickoption=None&version=2&token=WBClWn3idFowUOO6iatwO%2bdwje2jbpmpWjYV2gRJ2nE%3d');



