{"id":7161,"date":"2024-09-03T00:19:25","date_gmt":"2024-09-03T00:19:25","guid":{"rendered":"https:\/\/www.firstnrc.org\/?page_id=7161"},"modified":"2025-01-09T02:02:00","modified_gmt":"2025-01-09T02:02:00","slug":"filter-builder","status":"publish","type":"page","link":"https:\/\/www.firstnrc.org\/?page_id=7161","title":{"rendered":"Filter Builder"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.16&#8243; global_colors_info=&#8221;{}&#8221;][et_pb_row _builder_version=&#8221;4.27.0&#8243; background_size=&#8221;initial&#8221; background_position=&#8221;top_left&#8221; background_repeat=&#8221;repeat&#8221; width=&#8221;100%&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.16&#8243; custom_padding=&#8221;|||&#8221; global_colors_info=&#8221;{}&#8221; custom_padding__hover=&#8221;|||&#8221;][et_pb_code _builder_version=&#8221;4.27.0&#8243; _module_preset=&#8221;default&#8221; width=&#8221;100%&#8221; hover_enabled=&#8221;0&#8243; custom_css_free_form=&#8221;.et_pb_code_inner{||  min-width:240px;||}&#8221; global_colors_info=&#8221;{}&#8221; sticky_enabled=&#8221;0&#8243;]<html><!-- [et_pb_line_break_holder] --><head><!-- [et_pb_line_break_holder] -->\t<title>Filter Builder<\/title><!-- [et_pb_line_break_holder] -->    <link rel=\"stylesheet\" href=\"https:\/\/cdn.jsdelivr.net\/npm\/bootstrap-icons@1.11.3\/font\/bootstrap-icons.min.css\"><!-- [et_pb_line_break_holder] -->    <!-- <link rel=\"stylesheet\" href=\"https:\/\/cdn.jsdelivr.net\/npm\/bootstrap-icons@1.3.0\/font\/bootstrap-icons.css\"> --><!-- [et_pb_line_break_holder] --><\/head><!-- [et_pb_line_break_holder] --><body><!-- [et_pb_line_break_holder] -->    <\/p>\n<style><!-- [et_pb_line_break_holder] -->        body{<!-- [et_pb_line_break_holder] -->            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        p{<!-- [et_pb_line_break_holder] -->            color:black;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        a:hover{<!-- [et_pb_line_break_holder] -->            text-decoration: underline;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        h1{<!-- [et_pb_line_break_holder] -->            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;<!-- [et_pb_line_break_holder] -->            color:black;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        h2{<!-- [et_pb_line_break_holder] -->            padding-top:20px;<!-- [et_pb_line_break_holder] -->            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;<!-- [et_pb_line_break_holder] -->            color:black;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        h3{<!-- [et_pb_line_break_holder] -->            color:black;<!-- [et_pb_line_break_holder] -->            padding-top:20px;<!-- [et_pb_line_break_holder] -->            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        h5{<!-- [et_pb_line_break_holder] -->            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;<!-- [et_pb_line_break_holder] -->            font-weight:normal;<!-- [et_pb_line_break_holder] -->            color:gray;<!-- [et_pb_line_break_holder] -->            margin:1px;<!-- [et_pb_line_break_holder] -->            display:inline;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        h5:hover, p:hover, icon-row:hover, .level-selector:hover {<!-- [et_pb_line_break_holder] -->            cursor:pointer!important;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        input{<!-- [et_pb_line_break_holder] -->            border-radius:3px;<!-- [et_pb_line_break_holder] -->            cursor:pointer;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        label{<!-- [et_pb_line_break_holder] -->            cursor:pointer;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        select{<!-- [et_pb_line_break_holder] -->            border: 1px solid #ffffff;<!-- [et_pb_line_break_holder] -->            border-radius:5px;<!-- [et_pb_line_break_holder] -->            padding:5px;<!-- [et_pb_line_break_holder] -->            width:100%;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        select:hover{<!-- [et_pb_line_break_holder] -->            border: 1px solid #007bff;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        .tooltip::after {<!-- [et_pb_line_break_holder] -->        \/* ... *\/<!-- [et_pb_line_break_holder] -->        transition: opacity 0.5s 0s; \/* Remove delay *\/<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        a {<!-- [et_pb_line_break_holder] -->            max-width: 100%;<!-- [et_pb_line_break_holder] -->            overflow: hidden;<!-- [et_pb_line_break_holder] -->            text-overflow: ellipsis;<!-- [et_pb_line_break_holder] -->            white-space: nowrap;<!-- [et_pb_line_break_holder] -->            display: inline-block;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        .level-options > *:hover {<!-- [et_pb_line_break_holder] -->            cursor:pointer<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        .level-options{<!-- [et_pb_line_break_holder] -->            margin-bottom:5px;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        .member-card {<!-- [et_pb_line_break_holder] -->            flex: 1 0 150px;<!-- [et_pb_line_break_holder] -->            \/* max-width:140px; *\/<!-- [et_pb_line_break_holder] -->            padding: 10px;<!-- [et_pb_line_break_holder] -->            border: 1px solid #ddd;<!-- [et_pb_line_break_holder] -->            border-radius: 10px;<!-- [et_pb_line_break_holder] -->            box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);<!-- [et_pb_line_break_holder] -->            text-align:center;<!-- [et_pb_line_break_holder] -->            position: relative;<!-- [et_pb_line_break_holder] -->            break-inside: avoid;<!-- [et_pb_line_break_holder] -->            page-break-inside: avoid; \/* For older browsers *\/<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        .device-card {<!-- [et_pb_line_break_holder] -->            flex: 1 0 140px;<!-- [et_pb_line_break_holder] -->            \/* max-width:140px; *\/<!-- [et_pb_line_break_holder] -->            padding: 10px;<!-- [et_pb_line_break_holder] -->            border: 1px solid #ddd;<!-- [et_pb_line_break_holder] -->            border-radius: 10px;<!-- [et_pb_line_break_holder] -->            box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);<!-- [et_pb_line_break_holder] -->            text-align:center;<!-- [et_pb_line_break_holder] -->            position: relative;<!-- [et_pb_line_break_holder] -->            break-inside: avoid;<!-- [et_pb_line_break_holder] -->            page-break-inside: avoid; \/* For older browsers *\/<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        \/* .add{<!-- [et_pb_line_break_holder] -->            float:right;<!-- [et_pb_line_break_holder] -->            position:absolute;<!-- [et_pb_line_break_holder] -->            bottom: 5px;<!-- [et_pb_line_break_holder] -->            right: 5px;<!-- [et_pb_line_break_holder] -->            z-index:5;<!-- [et_pb_line_break_holder] -->            background-color: white;<!-- [et_pb_line_break_holder] -->        } *\/<!-- [et_pb_line_break_holder] -->        .icon {<!-- [et_pb_line_break_holder] -->            font-size: 24px;<!-- [et_pb_line_break_holder] -->            margin-bottom: 10px;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        .member-info {<!-- [et_pb_line_break_holder] -->            margin-top: 10px;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        .device-info {<!-- [et_pb_line_break_holder] -->            margin-top: 10px;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        .bi-person-circle {<!-- [et_pb_line_break_holder] -->            color: #007bff;<!-- [et_pb_line_break_holder] -->            font-size: 50px;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        .bi-person-plus-fill {<!-- [et_pb_line_break_holder] -->            color: #007bff;<!-- [et_pb_line_break_holder] -->            font-size: 30px;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        .bi-plus{<!-- [et_pb_line_break_holder] -->            color:#007bff;<!-- [et_pb_line_break_holder] -->            font-weight:bold;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        .flexGrid{<!-- [et_pb_line_break_holder] -->            display:flex;<!-- [et_pb_line_break_holder] -->            flex-wrap:wrap;<!-- [et_pb_line_break_holder] -->            gap:10px;<!-- [et_pb_line_break_holder] -->            padding-left:0px;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        .cardName{<!-- [et_pb_line_break_holder] -->            border: 1px solid white!important;<!-- [et_pb_line_break_holder] -->            text-align: center;<!-- [et_pb_line_break_holder] -->            font-size: large;<!-- [et_pb_line_break_holder] -->            width:100%;<!-- [et_pb_line_break_holder] -->            margin-bottom:10px;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        .cardName:hover{<!-- [et_pb_line_break_holder] -->            border: 1px solid #007bff!important;<!-- [et_pb_line_break_holder] -->            cursor:text;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        .button{<!-- [et_pb_line_break_holder] -->            color: #007bff;<!-- [et_pb_line_break_holder] -->            text-align: center;<!-- [et_pb_line_break_holder] -->            box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);<!-- [et_pb_line_break_holder] -->            align-content: center;<!-- [et_pb_line_break_holder] -->            position:relative;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        .small{<!-- [et_pb_line_break_holder] -->            border-radius: 20px;<!-- [et_pb_line_break_holder] -->            border: 1.5px solid #007bff;<!-- [et_pb_line_break_holder] -->            height:30px;<!-- [et_pb_line_break_holder] -->            width:30px;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        .large{<!-- [et_pb_line_break_holder] -->            border-radius: 30px;<!-- [et_pb_line_break_holder] -->            border: 3px solid #007bff;<!-- [et_pb_line_break_holder] -->            height:50px;<!-- [et_pb_line_break_holder] -->            width:50px;<!-- [et_pb_line_break_holder] -->            margin:0 auto;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        .button:hover{<!-- [et_pb_line_break_holder] -->            box-shadow: 0 0 10px rgba(0, 0, 0, 0.301);<!-- [et_pb_line_break_holder] -->            cursor:pointer;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        .container{<!-- [et_pb_line_break_holder] -->            position:relative;<!-- [et_pb_line_break_holder] -->            overflow:auto;<!-- [et_pb_line_break_holder] -->            padding-top:0px!important; \/*for Divi*\/<!-- [et_pb_line_break_holder] -->            width:100%;\/*for Divi*\/<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        .close{<!-- [et_pb_line_break_holder] -->            position:absolute;<!-- [et_pb_line_break_holder] -->            top: 5px;<!-- [et_pb_line_break_holder] -->            right:12px; \/*for Divi, would be 5 normally*\/<!-- [et_pb_line_break_holder] -->            font-size:25px;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        .close:hover{<!-- [et_pb_line_break_holder] -->            color:red;<!-- [et_pb_line_break_holder] -->            cursor:pointer;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        .rightBarButton{<!-- [et_pb_line_break_holder] -->            width:15%;<!-- [et_pb_line_break_holder] -->            border-left: 1px solid #ffffff;<!-- [et_pb_line_break_holder] -->            border-radius:5px;<!-- [et_pb_line_break_holder] -->            margin-right:2px;<!-- [et_pb_line_break_holder] -->            display: flex;<!-- [et_pb_line_break_holder] -->            align-items: center;<!-- [et_pb_line_break_holder] -->            justify-content: center;<!-- [et_pb_line_break_holder] -->            height:100%;<!-- [et_pb_line_break_holder] -->            border: 1px solid #d8ebff;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        .rightBarButton:hover{<!-- [et_pb_line_break_holder] -->            cursor:pointer;<!-- [et_pb_line_break_holder] -->            \/* box-shadow: 0 0 10px rgba(0, 0, 0, 0.301); *\/<!-- [et_pb_line_break_holder] -->            border: 1px solid #007bff;<!-- [et_pb_line_break_holder] -->            background-color:white;<!-- [et_pb_line_break_holder] -->            color:#007bff;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        .listName {<!-- [et_pb_line_break_holder] -->            width: 85%;<!-- [et_pb_line_break_holder] -->            font-size: 14px;<!-- [et_pb_line_break_holder] -->            white-space: nowrap;<!-- [et_pb_line_break_holder] -->            overflow: hidden;<!-- [et_pb_line_break_holder] -->            text-overflow: ellipsis;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        .listName:hover{<!-- [et_pb_line_break_holder] -->            cursor:pointer;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        .listItem{<!-- [et_pb_line_break_holder] -->            display:flex;<!-- [et_pb_line_break_holder] -->            border: 1px solid #ddd;<!-- [et_pb_line_break_holder] -->            border-radius: 3px;<!-- [et_pb_line_break_holder] -->            margin: 5px -5px 5px -5px; \/* Top, Right, Bottom, Left  *\/<!-- [et_pb_line_break_holder] -->            padding: 3px 0px 3px 0px; \/* Top, Right, Bottom, Left  *\/<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        .listItem.selected{<!-- [et_pb_line_break_holder] -->            background-color: #d8ebff;<!-- [et_pb_line_break_holder] -->            color:rgb(0, 0, 0);<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        .listItem:hover{<!-- [et_pb_line_break_holder] -->            border: 1px solid #007bff;<!-- [et_pb_line_break_holder] -->            cursor:pointer;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        .listAddButton{<!-- [et_pb_line_break_holder] -->            border: 1px solid #ddd;<!-- [et_pb_line_break_holder] -->            border-radius: 3px;<!-- [et_pb_line_break_holder] -->            \/* margin:5px; *\/<!-- [et_pb_line_break_holder] -->            display:inline-block;<!-- [et_pb_line_break_holder] -->            width:25px;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        .listAddButton:hover{<!-- [et_pb_line_break_holder] -->            border: 1px solid #007bff;<!-- [et_pb_line_break_holder] -->            cursor:pointer;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        .listHeader{<!-- [et_pb_line_break_holder] -->            display:flex;<!-- [et_pb_line_break_holder] -->            align-items: center;<!-- [et_pb_line_break_holder] -->            width:100%;<!-- [et_pb_line_break_holder] -->            justify-content: space-between;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        .resource-group {<!-- [et_pb_line_break_holder] -->        margin-bottom: 20px;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        .resource-grid {<!-- [et_pb_line_break_holder] -->        display: flex;<!-- [et_pb_line_break_holder] -->        flex-wrap: wrap;<!-- [et_pb_line_break_holder] -->        justify-content: left;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        .resource-item {<!-- [et_pb_line_break_holder] -->        flex-basis: 25%;<!-- [et_pb_line_break_holder] -->        margin: 10px;<!-- [et_pb_line_break_holder] -->        padding: 10px;<!-- [et_pb_line_break_holder] -->        border: 1px solid #ddd;<!-- [et_pb_line_break_holder] -->        border-radius: 10px;<!-- [et_pb_line_break_holder] -->        box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);<!-- [et_pb_line_break_holder] -->        \/* width:300px; *\/<!-- [et_pb_line_break_holder] -->        \/* max-width:300px; *\/<!-- [et_pb_line_break_holder] -->        min-width:180px;<!-- [et_pb_line_break_holder] -->        break-inside: avoid;<!-- [et_pb_line_break_holder] -->        page-break-inside: avoid; \/* For older browsers *\/<!-- [et_pb_line_break_holder] -->        display: flex;<!-- [et_pb_line_break_holder] -->        flex-direction: column; \/* Stack items vertically *\/<!-- [et_pb_line_break_holder] -->        position: relative; \/* Needed for absolute positioning of icon *\/<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        .resource-header {<!-- [et_pb_line_break_holder] -->            color:black;<!-- [et_pb_line_break_holder] -->            font-size:18px;<!-- [et_pb_line_break_holder] -->            text-wrap: wrap;<!-- [et_pb_line_break_holder] -->            \/* max-width: ; *\/<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        .resource-header-split-1{<!-- [et_pb_line_break_holder] -->            margin-right: 10px; \/* Add some spacing between the icon and the text*\/<!-- [et_pb_line_break_holder] -->            display: flex; \/* Needed to make the icon align correctly*\/<!-- [et_pb_line_break_holder] -->            \/* display:inline-block; *\/<!-- [et_pb_line_break_holder] -->            text-align: center;<!-- [et_pb_line_break_holder] -->            align-content: center;<!-- [et_pb_line_break_holder] -->            vertical-align: top;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        .resource-icon{<!-- [et_pb_line_break_holder] -->            font-size:40px;<!-- [et_pb_line_break_holder] -->            color:#007bff;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        .resource-header-split-2{<!-- [et_pb_line_break_holder] -->            flex: 1; \/*Allow this to take up the remaining space*\/<!-- [et_pb_line_break_holder] -->            min-width: 0; \/* Allow content to wrap *\/<!-- [et_pb_line_break_holder] -->            display:inline-block;<!-- [et_pb_line_break_holder] -->            \/* position: absolute; *\/<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        .resource-header-split{<!-- [et_pb_line_break_holder] -->            display: flex;  \/* Layout items horizontally *\/<!-- [et_pb_line_break_holder] -->            align-items: flex-start; \/* Align items to the start of the container*\/<!-- [et_pb_line_break_holder] -->            align-content: center;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        .resource-source {<!-- [et_pb_line_break_holder] -->        color:darkblue;<!-- [et_pb_line_break_holder] -->        font-size:11px;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        .resource-text {<!-- [et_pb_line_break_holder] -->            margin-top:\u00a010px;<!-- [et_pb_line_break_holder] -->            font-weight: normal;<!-- [et_pb_line_break_holder] -->            color: black;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        .deviceResourceHeader{<!-- [et_pb_line_break_holder] -->            display: block;<!-- [et_pb_line_break_holder] -->            font-size: 30px;<!-- [et_pb_line_break_holder] -->            font-weight: bold;<!-- [et_pb_line_break_holder] -->            padding-bottom:5px;<!-- [et_pb_line_break_holder] -->            border-bottom: 2px solid blue;<!-- [et_pb_line_break_holder] -->            margin-left: -15px;<!-- [et_pb_line_break_holder] -->            color:black;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        .deviceResourceSubHeader{<!-- [et_pb_line_break_holder] -->            color:darkgray;<!-- [et_pb_line_break_holder] -->            font-size:16px;<!-- [et_pb_line_break_holder] -->            font-style:italic;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        #output{<!-- [et_pb_line_break_holder] -->            margin:20px;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        #family-container{<!-- [et_pb_line_break_holder] -->            margin:20px;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        #findInfoButton{<!-- [et_pb_line_break_holder] -->            text-align: center;<!-- [et_pb_line_break_holder] -->            align-content: center;<!-- [et_pb_line_break_holder] -->            font-size:20px;<!-- [et_pb_line_break_holder] -->            font-weight:bold;<!-- [et_pb_line_break_holder] -->            margin: 0 auto;<!-- [et_pb_line_break_holder] -->            max-width:300px;<!-- [et_pb_line_break_holder] -->            height:50px;<!-- [et_pb_line_break_holder] -->            background-color: #007bff;<!-- [et_pb_line_break_holder] -->            color:white;<!-- [et_pb_line_break_holder] -->            box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);<!-- [et_pb_line_break_holder] -->            border-radius: 5px;<!-- [et_pb_line_break_holder] -->            margin-top:75px;<!-- [et_pb_line_break_holder] -->            margin-bottom:75px;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        #findInfoButton:hover{<!-- [et_pb_line_break_holder] -->            box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);<!-- [et_pb_line_break_holder] -->            cursor:pointer;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        .add-card{<!-- [et_pb_line_break_holder] -->            text-align: center;<!-- [et_pb_line_break_holder] -->            align-content: center;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        .add-button{<!-- [et_pb_line_break_holder] -->            font-size:46px;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        #print-button, #help-button{<!-- [et_pb_line_break_holder] -->            text-align: center;<!-- [et_pb_line_break_holder] -->            align-content: center;<!-- [et_pb_line_break_holder] -->            font-size:20px;<!-- [et_pb_line_break_holder] -->            font-weight:bold;<!-- [et_pb_line_break_holder] -->            \/* margin: 0 auto; *\/<!-- [et_pb_line_break_holder] -->            \/* width:125px; *\/<!-- [et_pb_line_break_holder] -->            height:50px;<!-- [et_pb_line_break_holder] -->            background-color: #007bff;<!-- [et_pb_line_break_holder] -->            color:white;<!-- [et_pb_line_break_holder] -->            box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);<!-- [et_pb_line_break_holder] -->            border-radius: 5px;<!-- [et_pb_line_break_holder] -->            margin-top:25px;<!-- [et_pb_line_break_holder] -->            margin-bottom:25px;<!-- [et_pb_line_break_holder] -->            margin-right:25px;<!-- [et_pb_line_break_holder] -->            float:right;<!-- [et_pb_line_break_holder] -->            padding-right:10px;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        #print-button:hover, #help-button:hover{<!-- [et_pb_line_break_holder] -->            box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);<!-- [et_pb_line_break_holder] -->            cursor:pointer;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        .printIcon, .helpIcon{<!-- [et_pb_line_break_holder] -->            margin:10px;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        .bi-phone, .bi-display, .bi-router, .bi-wifi{<!-- [et_pb_line_break_holder] -->            font-size:50px;<!-- [et_pb_line_break_holder] -->            color:#007bff;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        .tutorial-modal {<!-- [et_pb_line_break_holder] -->        position: absolute;<!-- [et_pb_line_break_holder] -->        display: none;<!-- [et_pb_line_break_holder] -->        flex-direction: column;<!-- [et_pb_line_break_holder] -->        align-items: center;<!-- [et_pb_line_break_holder] -->        z-index: 1003;<!-- [et_pb_line_break_holder] -->        border-radius: 10px;<!-- [et_pb_line_break_holder] -->        border: 0px solid #ffffff;<!-- [et_pb_line_break_holder] -->        box-shadow: <!-- [et_pb_line_break_holder] -->            0 0 0 1px #FFFFFF, \/* Inner white shadow *\/<!-- [et_pb_line_break_holder] -->            0 0 8px 0 #007bff; \/* Outer blue shadow *\/<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        .popup-content button{<!-- [et_pb_line_break_holder] -->            margin-top: 20px;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        .popup-content {<!-- [et_pb_line_break_holder] -->        background-color: #ffffff;<!-- [et_pb_line_break_holder] -->        border: 0px solid #ffffff;<!-- [et_pb_line_break_holder] -->        padding: 20px;<!-- [et_pb_line_break_holder] -->        padding-top:40px;<!-- [et_pb_line_break_holder] -->        width: 280px;<!-- [et_pb_line_break_holder] -->        border-radius: 10px;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        #tutorial-overlay {<!-- [et_pb_line_break_holder] -->        position: fixed;<!-- [et_pb_line_break_holder] -->        top: 0;<!-- [et_pb_line_break_holder] -->        left: 0;<!-- [et_pb_line_break_holder] -->        width: 100%;<!-- [et_pb_line_break_holder] -->        height: 100%;<!-- [et_pb_line_break_holder] -->        background-color: rgba(0, 0, 0, 0.5);<!-- [et_pb_line_break_holder] -->        z-index: 1000;<!-- [et_pb_line_break_holder] -->        display: none;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        \/* Target element highlight *\/<!-- [et_pb_line_break_holder] -->        .highlight {<!-- [et_pb_line_break_holder] -->            background-color: white;<!-- [et_pb_line_break_holder] -->        \/* box-shadow: 0 0 0 10px #000000; *\/<!-- [et_pb_line_break_holder] -->        position: relative; \/* Add this *\/<!-- [et_pb_line_break_holder] -->        z-index: 1002;<!-- [et_pb_line_break_holder] -->        top: 0; \/* Prevent vertical movement *\/<!-- [et_pb_line_break_holder] -->        left: 0; \/* Prevent horizontal movement *\/<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        button{<!-- [et_pb_line_break_holder] -->            text-align: center;<!-- [et_pb_line_break_holder] -->            align-content: center;<!-- [et_pb_line_break_holder] -->            font-size:18px;<!-- [et_pb_line_break_holder] -->            font-weight:normal;<!-- [et_pb_line_break_holder] -->            background-color: #007bff;<!-- [et_pb_line_break_holder] -->            color:white;<!-- [et_pb_line_break_holder] -->            box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);<!-- [et_pb_line_break_holder] -->            border-radius: 5px;<!-- [et_pb_line_break_holder] -->            border: 0px solid #ffffff;<!-- [et_pb_line_break_holder] -->            padding:10px;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        button:hover{<!-- [et_pb_line_break_holder] -->            box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);<!-- [et_pb_line_break_holder] -->            cursor:pointer;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        .level-selector {<!-- [et_pb_line_break_holder] -->        text-align: center;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        .level-icon {<!-- [et_pb_line_break_holder] -->        font-size: 24px;<!-- [et_pb_line_break_holder] -->        margin: 2px; \/*for Divi*\/<!-- [et_pb_line_break_holder] -->        cursor: pointer;<!-- [et_pb_line_break_holder] -->        position: relative;<!-- [et_pb_line_break_holder] -->        color:black;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        .level-icon:hover{<!-- [et_pb_line_break_holder] -->            color: #007bff;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        .level-icon.selected {<!-- [et_pb_line_break_holder] -->        color: #007bff;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        .level-description {<!-- [et_pb_line_break_holder] -->        font-size: 14px;<!-- [et_pb_line_break_holder] -->        margin-top: 10px;<!-- [et_pb_line_break_holder] -->        font-weight:lighter;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        .level-icon::after {<!-- [et_pb_line_break_holder] -->        content: attr(data-level);<!-- [et_pb_line_break_holder] -->        position: absolute;<!-- [et_pb_line_break_holder] -->        top: 45%;<!-- [et_pb_line_break_holder] -->        left: 50%;<!-- [et_pb_line_break_holder] -->        transform: translate(-50%, -50%);<!-- [et_pb_line_break_holder] -->        font-size: 14px;<!-- [et_pb_line_break_holder] -->        font-weight: bold;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        @media only screen and (max-width: 500px) {<!-- [et_pb_line_break_holder] -->            #print-button, #help-button {<!-- [et_pb_line_break_holder] -->                font-size: 0; \/* Hide text *\/<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->            #print-button .printIcon, #help-button .helpIcon {<!-- [et_pb_line_break_holder] -->                font-size: initial; \/* Keep icon size *\/<!-- [et_pb_line_break_holder] -->                padding-left: 10px;<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->            #family-container, #device-container{<!-- [et_pb_line_break_holder] -->                margin:0px;<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->            .resource-item{<!-- [et_pb_line_break_holder] -->                min-width:100%;<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <\/style>\n<p><!-- [et_pb_line_break_holder] -->    <!-- Overlay element --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div id=\"tutorial-overlay\"><\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <!-- Modal container --><!-- [et_pb_line_break_holder] -->    <\/p>\n<div class=\"tutorial-modal\" id=\"tutorial-modal\"><!-- [et_pb_line_break_holder] -->        <!-- \n\n<div class=\"arrow-leader\"><\/div>\n\n<!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"arrow\"><\/div>\n<p> &#8211;><!-- [et_pb_line_break_holder] -->        <\/p>\n<div class=\"popup-content\" id=\"popup-content\"><\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->  <!-- [et_pb_line_break_holder] -->    <\/p>\n<div id=\"print-button\"><i class=\"bi bi-printer printIcon\"><\/i>Print Page<\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/p>\n<div id=\"help-button\" onclick=\"initTutorial()\"><i class=\"bi bi-question-circle helpIcon\"><\/i>How To Use<\/div>\n<p><!-- [et_pb_line_break_holder] -->\t<\/p>\n<h1>Filter Builder<\/h1>\n<p><!-- [et_pb_line_break_holder] -->\t<\/p>\n<div id=\"family-container\"><!-- [et_pb_line_break_holder] -->\t\t<!-- \n\n<h2>Family: <span id=\"family-name\">Smiths<\/span><\/h2>\n\n --><!-- [et_pb_line_break_holder] -->\t\t<\/p>\n<h3 id=\"Members\">Members:<\/h3>\n<p><!-- [et_pb_line_break_holder] -->\t\t<\/p>\n<div class=\"container\">\n<ul id=\"members-list\" class=\"flexGrid\"><!-- [et_pb_line_break_holder] -->            <!-- auto filled --><!-- [et_pb_line_break_holder] -->\t\t<\/ul>\n<p><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->\t\t<\/p>\n<h3 id=\"Devices\">Devices:<\/h3>\n<p><!-- [et_pb_line_break_holder] -->\t\t<\/p>\n<div class=\"container\">\n<ul id=\"devices-list\"  class=\"flexGrid\"><!-- [et_pb_line_break_holder] -->            <!-- auto filled --><!-- [et_pb_line_break_holder] -->\t\t<\/ul>\n<p><!-- [et_pb_line_break_holder] -->        <\/div>\n<p><!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->\t<\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/p>\n<div id=\"findInfoButton\" onclick=\"displayOutput()\">Find Information<\/div>\n<p><!-- [et_pb_line_break_holder] -->    <\/p>\n<div id=\"output\"><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->    <\/div>\n<p><!-- [et_pb_line_break_holder] -->\t<!-- [et_pb_line_break_holder] -->\t<script><!-- [et_pb_line_break_holder] -->\t\t\/\/ Get the family container element<!-- [et_pb_line_break_holder] -->        const familyContainer = document.getElementById('family-container');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        \/\/ Get the members list element<!-- [et_pb_line_break_holder] -->        const membersList = document.getElementById('members-list');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        \/\/ Get the devices list element<!-- [et_pb_line_break_holder] -->        const devicesList = document.getElementById('devices-list');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        \/\/ let currentFocusElement = null;<!-- [et_pb_line_break_holder] -->        let currentFocusIndex = null;<!-- [et_pb_line_break_holder] -->        let memberEventListenerAdded = false;<!-- [et_pb_line_break_holder] -->        let deviceEventListenerAdded = false;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        const levelRadios = document.getElementsByName('level');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        \/\/ Initialize the family object<!-- [et_pb_line_break_holder] -->        const family = {<!-- [et_pb_line_break_holder] -->            members: [<!-- [et_pb_line_break_holder] -->                {<!-- [et_pb_line_break_holder] -->                name: 'John',<!-- [et_pb_line_break_holder] -->                level: 4,<!-- [et_pb_line_break_holder] -->                devices: [0,3,4],<!-- [et_pb_line_break_holder] -->                monitoring: [1,2],<!-- [et_pb_line_break_holder] -->                monitoredBy: [1],<!-- [et_pb_line_break_holder] -->                },<!-- [et_pb_line_break_holder] -->                {<!-- [et_pb_line_break_holder] -->                name: 'Mary',<!-- [et_pb_line_break_holder] -->                level: 4,<!-- [et_pb_line_break_holder] -->                devices: [1,3,4],<!-- [et_pb_line_break_holder] -->                monitoring: [0],<!-- [et_pb_line_break_holder] -->                monitoredBy: [0],<!-- [et_pb_line_break_holder] -->                },<!-- [et_pb_line_break_holder] -->                {<!-- [et_pb_line_break_holder] -->                name: 'Bobby',<!-- [et_pb_line_break_holder] -->                level: 4,<!-- [et_pb_line_break_holder] -->                devices: [2,3,4],<!-- [et_pb_line_break_holder] -->                monitoring: [],<!-- [et_pb_line_break_holder] -->                monitoredBy: [0],<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->            ],<!-- [et_pb_line_break_holder] -->            devices: [<!-- [et_pb_line_break_holder] -->                {<!-- [et_pb_line_break_holder] -->                name: `John's Phone`,<!-- [et_pb_line_break_holder] -->                type: 'Phone\/Tablet',<!-- [et_pb_line_break_holder] -->                brand: 'Android',<!-- [et_pb_line_break_holder] -->                users: [0]<!-- [et_pb_line_break_holder] -->                },<!-- [et_pb_line_break_holder] -->                {<!-- [et_pb_line_break_holder] -->                name: `Mary's Phone`,<!-- [et_pb_line_break_holder] -->                type: 'Phone\/Tablet',<!-- [et_pb_line_break_holder] -->                brand: 'Apple',<!-- [et_pb_line_break_holder] -->                users: [1]<!-- [et_pb_line_break_holder] -->                },<!-- [et_pb_line_break_holder] -->                {<!-- [et_pb_line_break_holder] -->                name: `Bobby's Kindle`,<!-- [et_pb_line_break_holder] -->                type: 'E-Reader',<!-- [et_pb_line_break_holder] -->                brand: 'Kindle',<!-- [et_pb_line_break_holder] -->                users: [2]<!-- [et_pb_line_break_holder] -->                },<!-- [et_pb_line_break_holder] -->                {<!-- [et_pb_line_break_holder] -->                name: `Family Computer`,<!-- [et_pb_line_break_holder] -->                type: 'Computer\/Laptop',<!-- [et_pb_line_break_holder] -->                brand: 'Windows',<!-- [et_pb_line_break_holder] -->                users: [0,1,2]<!-- [et_pb_line_break_holder] -->                },<!-- [et_pb_line_break_holder] -->                {<!-- [et_pb_line_break_holder] -->                name: `Modem \/ Router`,<!-- [et_pb_line_break_holder] -->                type: 'Router',<!-- [et_pb_line_break_holder] -->                brand: 'NetGear',<!-- [et_pb_line_break_holder] -->                users: [0,1,2]<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->            ]<!-- [et_pb_line_break_holder] -->        };<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        \/\/ Print button event listener<!-- [et_pb_line_break_holder] -->        document.getElementById('print-button').addEventListener('click', printPage);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        updateUI();<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        const resources = generateResources();<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        function cardListHTML(type, objectIndex) {<!-- [et_pb_line_break_holder] -->            if (type != 'users'){<!-- [et_pb_line_break_holder] -->                array = family.members[objectIndex][type]<!-- [et_pb_line_break_holder] -->            } else {<!-- [et_pb_line_break_holder] -->                array = family.devices[objectIndex][type]<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->            var HTML = '';<!-- [et_pb_line_break_holder] -->            const allItems = type === 'devices' ? family.devices : family.members;<!-- [et_pb_line_break_holder] -->            allItems.forEach((item, index) => {<!-- [et_pb_line_break_holder] -->                const name = item.name;<!-- [et_pb_line_break_holder] -->                let cardClass = '';<!-- [et_pb_line_break_holder] -->                let display = 'none';<!-- [et_pb_line_break_holder] -->                let buttonIcon = 'bi-plus';<!-- [et_pb_line_break_holder] -->                let buttonAction = `updateList('${objectIndex}', '${type}', ${index})`;<!-- [et_pb_line_break_holder] -->                <!-- [et_pb_line_break_holder] -->                if (array.includes(index)) {<!-- [et_pb_line_break_holder] -->                    display = 'flex';<!-- [et_pb_line_break_holder] -->                    cardClass = 'selected ';<!-- [et_pb_line_break_holder] -->                    buttonIcon = 'bi-dash';<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->                <!-- [et_pb_line_break_holder] -->                if (type === 'devices') {<!-- [et_pb_line_break_holder] -->                    cardClass += 'listItem devices';<!-- [et_pb_line_break_holder] -->                } else if (type === 'monitoring') {<!-- [et_pb_line_break_holder] -->                    cardClass += 'listItem monitoring';<!-- [et_pb_line_break_holder] -->                } else if (type === 'monitoredBy') {<!-- [et_pb_line_break_holder] -->                    cardClass += 'listItem monitoredBy';<!-- [et_pb_line_break_holder] -->                } else if (type === 'users') {<!-- [et_pb_line_break_holder] -->                    cardClass += 'listItem users';<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->                <!-- [et_pb_line_break_holder] -->                const listNameAction = cardClass.includes('selected') ? '' : `onclick=\"${buttonAction}\"`;<!-- [et_pb_line_break_holder] -->                <!-- [et_pb_line_break_holder] -->                HTML += `<!-- [et_pb_line_break_holder] -->                    <\/p>\n<div class=\"${cardClass}\" style=\"display: ${display}\"><!-- [et_pb_line_break_holder] -->                    <\/p>\n<div class=\"listName\" ${listNameAction}>${name}<\/div>\n<p><!-- [et_pb_line_break_holder] -->                    <\/p>\n<div class=\"rightBarButton\" onclick=\"${buttonAction}\"><!-- [et_pb_line_break_holder] -->                        <i class=\"${buttonIcon}\"><\/i><!-- [et_pb_line_break_holder] -->                    <\/div>\n<p><!-- [et_pb_line_break_holder] -->                    <\/div>\n<p><!-- [et_pb_line_break_holder] -->                `;<!-- [et_pb_line_break_holder] -->            });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            return HTML;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        function updateList(objectIndex, type, index) {<!-- [et_pb_line_break_holder] -->            objectIndex = +objectIndex; \/\/ Convert to integer<!-- [et_pb_line_break_holder] -->            index = +index; \/\/ Convert to integer<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            if (type==='devices') {<!-- [et_pb_line_break_holder] -->                if (family.members[objectIndex][type].includes(index)) {<!-- [et_pb_line_break_holder] -->                    \/\/ remove index from lists<!-- [et_pb_line_break_holder] -->                    family.members[objectIndex][type].splice(family.members[objectIndex][type].indexOf(index), 1);<!-- [et_pb_line_break_holder] -->                    family.devices[index]['users'].splice(family.devices[index]['users'].indexOf(objectIndex), 1);<!-- [et_pb_line_break_holder] -->                } else {<!-- [et_pb_line_break_holder] -->                    \/\/ add index to lists<!-- [et_pb_line_break_holder] -->                    family.members[objectIndex][type].push(index);<!-- [et_pb_line_break_holder] -->                    family.devices[index]['users'].push(objectIndex);<!-- [et_pb_line_break_holder] -->                    hideUnselectedItems(objectIndex, type);<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->            } else if (type==='users') {<!-- [et_pb_line_break_holder] -->                if (family.devices[objectIndex][type].includes(index)) {<!-- [et_pb_line_break_holder] -->                    \/\/ remove index from lists<!-- [et_pb_line_break_holder] -->                    family.devices[objectIndex][type].splice(family.devices[objectIndex][type].indexOf(index), 1);<!-- [et_pb_line_break_holder] -->                    family.members[index]['devices'].splice(family.members[index]['devices'].indexOf(objectIndex), 1);<!-- [et_pb_line_break_holder] -->                } else {<!-- [et_pb_line_break_holder] -->                    \/\/ add index to lists<!-- [et_pb_line_break_holder] -->                    family.devices[objectIndex][type].push(index);<!-- [et_pb_line_break_holder] -->                    family.members[index]['devices'].push(objectIndex);<!-- [et_pb_line_break_holder] -->                    hideUnselectedItems(objectIndex, type);<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->            } else {<!-- [et_pb_line_break_holder] -->                if (family.members[objectIndex][type].includes(index)) {<!-- [et_pb_line_break_holder] -->                    \/\/ remove index from lists<!-- [et_pb_line_break_holder] -->                    family.members[objectIndex][type].splice(family.members[objectIndex][type].indexOf(index), 1);<!-- [et_pb_line_break_holder] -->                    family.members[index][type].splice(family.members[index][type].indexOf(objectIndex), 1);<!-- [et_pb_line_break_holder] -->                } else {<!-- [et_pb_line_break_holder] -->                    \/\/ add index to lists<!-- [et_pb_line_break_holder] -->                    family.members[objectIndex][type].push(index);<!-- [et_pb_line_break_holder] -->                    family.members[index][type].push(objectIndex);<!-- [et_pb_line_break_holder] -->                    hideUnselectedItems(objectIndex, type);<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->            updateUI()<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        \/\/ function revealUnselectedItems(index, type) {<!-- [et_pb_line_break_holder] -->        \/\/     if (type != 'users'){<!-- [et_pb_line_break_holder] -->        \/\/         var card = document.querySelector(`#member-${index}-info`);<!-- [et_pb_line_break_holder] -->        \/\/     } else {<!-- [et_pb_line_break_holder] -->        \/\/         var card = document.querySelector(`#device-${index}-info`);<!-- [et_pb_line_break_holder] -->        \/\/     }<!-- [et_pb_line_break_holder] -->        \/\/     const items = card.querySelectorAll(`.${type}`);<!-- [et_pb_line_break_holder] -->        \/\/     items.forEach((item, itemIndex) => {<!-- [et_pb_line_break_holder] -->        \/\/         item.style.display = 'flex';<!-- [et_pb_line_break_holder] -->        \/\/     })<!-- [et_pb_line_break_holder] -->        \/\/ }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        function revealUnselectedItems(index, type) {<!-- [et_pb_line_break_holder] -->            const container = document.querySelectorAll(`[id$=\"-${index}-${type}\"]`)[0];<!-- [et_pb_line_break_holder] -->            \/\/ const container = document.getElementById(`device-${index}-${type}`);<!-- [et_pb_line_break_holder] -->            const items = container.querySelectorAll(`.${type}`);<!-- [et_pb_line_break_holder] -->            const areUnselectedItemsHidden = Array.from(items).some((item) => !item.classList.contains('selected') && item.style.display === 'none');<!-- [et_pb_line_break_holder] -->            <!-- [et_pb_line_break_holder] -->            items.forEach((item) => {<!-- [et_pb_line_break_holder] -->                if (item.classList.contains('selected')) {<!-- [et_pb_line_break_holder] -->                item.style.display = 'flex';<!-- [et_pb_line_break_holder] -->                } else {<!-- [et_pb_line_break_holder] -->                item.style.display = areUnselectedItemsHidden ? 'flex' : 'none';<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->            });<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        function hideUnselectedItems(index, type) {<!-- [et_pb_line_break_holder] -->            if (type != 'users'){<!-- [et_pb_line_break_holder] -->                var cards = document.querySelectorAll(`.member-${index}`);<!-- [et_pb_line_break_holder] -->            } else {<!-- [et_pb_line_break_holder] -->                var cards = document.querySelectorAll(`.device-${index}`);<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->            cards.forEach((card, cardIndex) => {<!-- [et_pb_line_break_holder] -->                const items = card.querySelectorAll(`.${type}:not(.selected)`);<!-- [et_pb_line_break_holder] -->                items.forEach((item, itemIndex) => {<!-- [et_pb_line_break_holder] -->                    item.style.display = 'none';<!-- [et_pb_line_break_holder] -->                })<!-- [et_pb_line_break_holder] -->            });<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        function updateUI() {<!-- [et_pb_line_break_holder] -->            console.log(\"Updating the UI\");<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        \/\/------------------------------------------------------------    <!-- [et_pb_line_break_holder] -->        \/\/<!-- [et_pb_line_break_holder] -->        \/\/            Add members<!-- [et_pb_line_break_holder] -->        \/\/<!-- [et_pb_line_break_holder] -->        \/\/------------------------------------------------------------<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            membersList.innerHTML = '';<!-- [et_pb_line_break_holder] -->            family.members.forEach((member, index) => {<!-- [et_pb_line_break_holder] -->                console.log(\"Working with member \" + index);<!-- [et_pb_line_break_holder] -->                const inputId = `member-${index}`;<!-- [et_pb_line_break_holder] -->                console.log(`member level is ${member.level}`);<!-- [et_pb_line_break_holder] -->                \/\/ Use the inputId variable to set the ID attribute of the input element<!-- [et_pb_line_break_holder] -->                membersList.innerHTML += `<!-- [et_pb_line_break_holder] -->                    <\/p>\n<div id=\"member-${index}-card\" class=\"member-card\"><!-- [et_pb_line_break_holder] -->                        <\/p>\n<div class=\"close\"><i class=\"bi bi-x-circle\" data-member-index=\"${index}\"><\/i><\/div>\n<p><!-- [et_pb_line_break_holder] -->                        <\/p>\n<div class=\"icon\"><!-- [et_pb_line_break_holder] -->                            <i class=\"bi bi-person-circle\"><\/i><!-- [et_pb_line_break_holder] -->                        <\/div>\n<p><!-- [et_pb_line_break_holder] -->                        <\/p>\n<div class=\"member-info\" id=\"member-${index}-info\"><!-- [et_pb_line_break_holder] -->                            <input type=\"text\" class=\"cardName\" id=\"${inputId}\" name=\"name\" data-member-index=\"${index}\" value=\"${member.name}\"><!-- [et_pb_line_break_holder] -->                            <\/p>\n<div id=\"${inputId}-levelGroup\" class=\"level-options listHeader\">\n<h5>Filter Level:<\/h5>\n<p><!\u2013- [et_pb_br_holder] -\u2013><!-- [et_pb_line_break_holder] -->                                <\/p>\n<div style=\"display: none;\"><!-- [et_pb_line_break_holder] -->                                <input title=\"Level 1 is for simple advertisement blocking.\" type=\"radio\" data-member-index=\"${index}\" id=\"${inputId}-level-1\" name=\"${inputId}-level\" value=\"1\" ${member.level === 1 ? 'checked' : ''}><!-- [et_pb_line_break_holder] -->                                <label title=\"Level 1 is for simple advertisement blocking.\" for=\"${inputId}-level-1\">1<\/label><!-- [et_pb_line_break_holder] -->                                <input title=\"Level 2 is for DNS protection, which is a very basic filter that eliminates commonly known offensive sites.\" type=\"radio\" data-member-index=\"${index}\" id=\"${inputId}-level-2\" name=\"${inputId}-level\" value=\"2\" ${member.level === 2 ? 'checked' : ''}><!-- [et_pb_line_break_holder] -->                                <label title=\"Level 2 is for DNS protection, which is a very basic filter that eliminates commonly known offensive sites.\" for=\"${inputId}-level-2\">2<\/label><!-- [et_pb_line_break_holder] -->                                <input title=\"Level 3 is for more intensive monitoring, like time control, program control, and more.\" type=\"radio\" data-member-index=\"${index}\" id=\"${inputId}-level-3\" name=\"${inputId}-level\" value=\"3\" ${member.level === 3 ? 'checked' : ''}><!-- [et_pb_line_break_holder] -->                                <label title=\"Level 3 is for more intensive monitoring, like time control, program control, and more.\" for=\"${inputId}-level-3\">3<\/label><!-- [et_pb_line_break_holder] -->                                <input title=\"Level 4 is for screen monitoring.\" type=\"radio\" data-member-index=\"${index}\" id=\"${inputId}-level-4\" name=\"${inputId}-level\" value=\"4\" ${member.level === 4 ? 'checked' : ''}><!-- [et_pb_line_break_holder] -->                                <label title=\"Level 4 is for screen monitoring.\" for=\"${inputId}-level-4\">4<\/label><!-- [et_pb_line_break_holder] -->                                <\/div>\n<p><!-- [et_pb_line_break_holder] -->                            <\/div>\n<p><!-- [et_pb_line_break_holder] -->                            <\/p>\n<div class=\"level-selector\" id=\"${inputId}-level-selector\"><!-- [et_pb_line_break_holder] -->                            <\/p>\n<div class=\"icon-row\"><!-- [et_pb_line_break_holder] -->                                <i class=\"bi bi-shield level-icon\" data-level=\"1\" title=\"Ad Blocking\" id=\"${inputId}-level-1-icon\" onclick=\"updateLevel(${index}, 1)\"><\/i><!-- [et_pb_line_break_holder] -->                                <i class=\"bi bi-shield level-icon\" data-level=\"2\" title=\"DNS Filtering\" id=\"${inputId}-level-2-icon\" onclick=\"updateLevel(${index}, 2)\"><\/i><!-- [et_pb_line_break_holder] -->                                <i class=\"bi bi-shield level-icon\" data-level=\"3\" title=\"Time &#038; App Control\" id=\"${inputId}-level-3-icon\" onclick=\"updateLevel(${index}, 3)\"><\/i><!-- [et_pb_line_break_holder] -->                                <i class=\"bi bi-shield level-icon\" data-level=\"4\" title=\"Screen Monitoring\" id=\"${inputId}-level-4-icon\" onclick=\"updateLevel(${index}, 4)\"><\/i><!-- [et_pb_line_break_holder] -->                            <\/div>\n<p><!-- [et_pb_line_break_holder] -->                            <pee class=\"level-description\" id=\"${inputId}-level-description\"><\/pee><!-- [et_pb_line_break_holder] -->                            <\/div>\n<p><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                            <\/p>\n<div id=\"${inputId}-device-listHeader\" class=\"listHeader\">\n<h5>Devices:<\/h5>\n<div class=\"listAddButton\" onclick=\"revealUnselectedItems(${index}, 'devices')\"><i class=\"bi bi-plus\"><\/i><\/div>\n<\/div>\n<p><!-- [et_pb_line_break_holder] -->                            <\/p>\n<div id=\"${inputId}-devices\"><!-- [et_pb_line_break_holder] -->                                ${cardListHTML('devices',index)}<!-- [et_pb_line_break_holder] -->                            <\/div>\n<p><!-- [et_pb_line_break_holder] -->                            <\/p>\n<div id=\"${inputId}-monitoredBy-listHeader\" class=\"listHeader\">\n<h5>Monitored By:<\/h5>\n<div class=\"listAddButton\" onclick=\"revealUnselectedItems(${index}, 'monitoredBy')\"><i class=\"bi bi-plus\"><\/i><\/div>\n<\/div>\n<p><!-- [et_pb_line_break_holder] -->                            <\/p>\n<div id=\"${inputId}-monitoredBy\"><!-- [et_pb_line_break_holder] -->                                ${cardListHTML('monitoredBy',index)}<!-- [et_pb_line_break_holder] -->                            <\/div>\n<p><!-- [et_pb_line_break_holder] -->                            <\/p>\n<div id=\"${inputId}-monitoring-listHeader\" class=\"listHeader\">\n<h5>Monitoring:<\/h5>\n<div class=\"listAddButton\" onclick=\"revealUnselectedItems(${index}, 'monitoring')\"><i class=\"bi bi-plus\"><\/i><\/div>\n<\/div>\n<p><!-- [et_pb_line_break_holder] -->                            <\/p>\n<div id=\"${inputId}-monitoring\"><!-- [et_pb_line_break_holder] -->                                ${cardListHTML('monitoring',index)}<!-- [et_pb_line_break_holder] -->                            <\/div>\n<p><!-- [et_pb_line_break_holder] -->                        <\/div>\n<p><!-- [et_pb_line_break_holder] -->                    <\/div>\n<p><!-- [et_pb_line_break_holder] -->                `;<!-- [et_pb_line_break_holder] -->                const levelIcons = document.querySelectorAll(`#${inputId}-level-selector .level-icon`);<!-- [et_pb_line_break_holder] -->                const levelRadioInputs = document.querySelectorAll(`#${inputId}-levelGroup input[type=\"radio\"]`);<!-- [et_pb_line_break_holder] -->                const levelDescription = document.getElementById(`${inputId}-level-description`);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                levelIcons.forEach((icon) => {<!-- [et_pb_line_break_holder] -->                    icon.addEventListener('click', () => {<!-- [et_pb_line_break_holder] -->                    \/\/ Deselect all icons<!-- [et_pb_line_break_holder] -->                    levelIcons.forEach((i) => i.classList.remove('selected'));<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                    \/\/ Select clicked icon<!-- [et_pb_line_break_holder] -->                    icon.classList.add('selected');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                    \/\/ Update level description<!-- [et_pb_line_break_holder] -->                    levelDescription.textContent = icon.title;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                    \/\/ Update corresponding radio input<!-- [et_pb_line_break_holder] -->                    levelRadioInputs.forEach((input) => {<!-- [et_pb_line_break_holder] -->                        if (input.value === icon.dataset.level) {<!-- [et_pb_line_break_holder] -->                        input.checked = true;<!-- [et_pb_line_break_holder] -->                        } else {<!-- [et_pb_line_break_holder] -->                        input.checked = false;<!-- [et_pb_line_break_holder] -->                        }<!-- [et_pb_line_break_holder] -->                    });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                    \/\/ Update member level<!-- [et_pb_line_break_holder] -->                    family.members[index].level = parseInt(icon.dataset.level);<!-- [et_pb_line_break_holder] -->                    });<!-- [et_pb_line_break_holder] -->                });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                \/\/ Initialize selected level icon and radio input<!-- [et_pb_line_break_holder] -->                levelRadioInputs.forEach((input) => {<!-- [et_pb_line_break_holder] -->                    if (input.checked) {<!-- [et_pb_line_break_holder] -->                    const correspondingIcon = document.getElementById(`${inputId}-level-${input.value}-icon`);<!-- [et_pb_line_break_holder] -->                    correspondingIcon.classList.add('selected');<!-- [et_pb_line_break_holder] -->                    levelDescription.textContent = correspondingIcon.title;<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                });<!-- [et_pb_line_break_holder] -->            });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            membersList.innerHTML += `<!-- [et_pb_line_break_holder] -->            <\/p>\n<div id=\"member-add-card\" class=\"member-card add-card\"><!-- [et_pb_line_break_holder] -->                <\/p>\n<div class=\"button large\" id=\"add-member-btn\"><!-- [et_pb_line_break_holder] -->                <i id=\"member-add-button\" class=\"bi bi-plus add-button\"><\/i><!-- [et_pb_line_break_holder] -->                <!\u2013- [et_pb_br_holder] -\u2013><!-- [et_pb_line_break_holder] -->                <\/div>\n<p><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] -->            `;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            \/\/------------------------------------------------------------    <!-- [et_pb_line_break_holder] -->            \/\/<!-- [et_pb_line_break_holder] -->            \/\/            Add devices<!-- [et_pb_line_break_holder] -->            \/\/<!-- [et_pb_line_break_holder] -->            \/\/------------------------------------------------------------<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            \/\/ Define device types and brands as a JavaScript object<!-- [et_pb_line_break_holder] -->            const deviceTypes = {<!-- [et_pb_line_break_holder] -->            \"Phone\/Tablet\": [\"Android\", \"Apple\"],<!-- [et_pb_line_break_holder] -->            \"Computer\/Laptop\": [\"MacOS\", \"Windows\"],<!-- [et_pb_line_break_holder] -->            \"Router\": [\"All\", \"Asus\", \"AT&T\", \"Aura\", \"Circle\", \"CleanRouter\", \"D-Link\", \"Eero\", \"Firewalla\", \"Gryphon\", \"Linksys\", \"NetGear\", \"TP-Link\"],<!-- [et_pb_line_break_holder] -->            \"E-Reader\": [\"Kindle\", \"Nook\"]<!-- [et_pb_line_break_holder] -->            };<!-- [et_pb_line_break_holder] -->            devicesList.innerHTML = '';<!-- [et_pb_line_break_holder] -->            \/\/ Generate HTML for device cards<!-- [et_pb_line_break_holder] -->            family.devices.forEach((device, index) => {<!-- [et_pb_line_break_holder] -->            const inputId = `device-${index}`;<!-- [et_pb_line_break_holder] -->            <!-- [et_pb_line_break_holder] -->            var deviceIconClass = \"bi bi-phone\"<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            if (device.type === \"Computer\/Laptop\"){<!-- [et_pb_line_break_holder] -->                deviceIconClass = \"bi bi-display\"<!-- [et_pb_line_break_holder] -->            } else if (device.type === \"Router\"){<!-- [et_pb_line_break_holder] -->                deviceIconClass = \"bi bi-wifi\"<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            devicesList.innerHTML += `<!-- [et_pb_line_break_holder] -->                <\/p>\n<div id=\"device-${index}-card\" class=\"device-card\"><!-- [et_pb_line_break_holder] -->                    <\/p>\n<div class=\"close\"><i class=\"bi bi-x-circle\" data-device-index=\"${index}\"><\/i><\/div>\n<p><!-- [et_pb_line_break_holder] -->                    <\/p>\n<div class=\"icon\"><!-- [et_pb_line_break_holder] -->                        <i class=\"${deviceIconClass}\"><\/i><!-- [et_pb_line_break_holder] -->                    <\/div>\n<p><!-- [et_pb_line_break_holder] -->                    <\/p>\n<div class=\"device-info\" id=\"device-${index}-info\"><!-- [et_pb_line_break_holder] -->                        <input type=\"text\" class=\"cardName\" id=\"${inputId}\" name=\"name\" data-device-index=\"${index}\" value=\"${device.name}\"><!-- [et_pb_line_break_holder] -->                    <\/p>\n<div class=\"type-options\"><!-- [et_pb_line_break_holder] -->                        <\/p>\n<div class=\"listHeader\">\n<h5>Type:<\/h5>\n<\/div>\n<p><!-- [et_pb_line_break_holder] -->                        <select id=\"${inputId}-type\" name=\"${inputId}-type\" data-device-index=\"${index}\"><!-- [et_pb_line_break_holder] -->                        ${Object.keys(deviceTypes).map((type) => `<!-- [et_pb_line_break_holder] --><option value=\"${type}\" ${device.type === type ? 'selected' : ''}>${type}<\/option><!-- [et_pb_line_break_holder] -->                        `).join('')}<!-- [et_pb_line_break_holder] -->                        <\/select><!-- [et_pb_line_break_holder] -->                    <\/div>\n<p><!-- [et_pb_line_break_holder] -->                    <\/p>\n<div class=\"brand-options\"><!-- [et_pb_line_break_holder] -->                        <\/p>\n<div class=\"listHeader\">\n<h5>Brand:<\/h5>\n<\/div>\n<p><!-- [et_pb_line_break_holder] -->                        <select id=\"${inputId}-brand\" name=\"${inputId}-brand\" data-device-index=\"${index}\"><!-- [et_pb_line_break_holder] -->                        <!-- Options will be populated dynamically --><!-- [et_pb_line_break_holder] -->                        <\/select><!-- [et_pb_line_break_holder] -->                    <\/div>\n<p><!-- [et_pb_line_break_holder] -->                    <\/p>\n<div class=\"Users\">\n<div class=\"listHeader\">\n<h5>Users:<\/h5>\n<div class=\"listAddButton\" onclick=\"revealUnselectedItems(${index}, 'users')\"><i class=\"bi bi-plus\"><\/i><\/div>\n<\/div>\n<\/div>\n<p><!-- [et_pb_line_break_holder] -->                    <\/p>\n<div id=\"${inputId}-users\"><!-- [et_pb_line_break_holder] -->                        ${cardListHTML('users',index)}<!-- [et_pb_line_break_holder] -->                    <\/div>\n<p><!-- [et_pb_line_break_holder] -->                <\/div>\n<p><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] -->        `;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            \/\/ Add event listener to first dropdown<!-- [et_pb_line_break_holder] -->            document.getElementById(`${inputId}-type`).addEventListener('change', (e) => {<!-- [et_pb_line_break_holder] -->                const selectedType = e.target.value;<!-- [et_pb_line_break_holder] -->                const brandSelect = document.getElementById(`${inputId}-brand`);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                \/\/ Clear existing options<!-- [et_pb_line_break_holder] -->                brandSelect.innerHTML = '';<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                <!-- [et_pb_line_break_holder] -->                brandSelect.innerHTML = '';<!-- [et_pb_line_break_holder] -->                const availableBrands = deviceTypes[selectedType];<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                \/\/ Check if device.brand is an available option<!-- [et_pb_line_break_holder] -->                const isSelectedBrandAvailable = availableBrands.includes(device.brand);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                \/\/ Set default brand if device.brand is not available<!-- [et_pb_line_break_holder] -->                if (!isSelectedBrandAvailable) {<!-- [et_pb_line_break_holder] -->                    device.brand = availableBrands[0];<!-- [et_pb_line_break_holder] -->                    console.log(`device.brand needed to be updated. It is now ${device.brand}`)<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                availableBrands.forEach((brand) => {<!-- [et_pb_line_break_holder] -->                const isSelected = device.brand === brand;<!-- [et_pb_line_break_holder] -->                    brandSelect.innerHTML += `<option value=\"${brand}\" ${isSelected ? 'selected' : ''}>${brand}<\/option>`;<!-- [et_pb_line_break_holder] -->                });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                console.log(`Ending first dropdown change event. Value of second dropdown is ${brand}.`)<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            \/\/ Initialize brand options for initial device type<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            \/\/ Initialize brand options for initial device type<!-- [et_pb_line_break_holder] -->            const initialType = document.getElementById(`${inputId}-type`).value;<!-- [et_pb_line_break_holder] -->            const brandSelect = document.getElementById(`${inputId}-brand`);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            \/\/ Check if device.brand is an available option<!-- [et_pb_line_break_holder] -->            const availableBrands = deviceTypes[initialType];<!-- [et_pb_line_break_holder] -->            const isSelectedBrandAvailable = availableBrands.includes(device.brand);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            \/\/ Set default brand if device.brand is not available<!-- [et_pb_line_break_holder] -->            if (!isSelectedBrandAvailable) {<!-- [et_pb_line_break_holder] -->            device.brand = availableBrands[0];<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            availableBrands.forEach((brand) => {<!-- [et_pb_line_break_holder] -->            const isSelected = device.brand === brand;<!-- [et_pb_line_break_holder] -->            brandSelect.innerHTML += `<option value=\"${brand}\" ${isSelected ? 'selected' : ''}>${brand}<\/option>`;<!-- [et_pb_line_break_holder] -->            });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            brandSelect.value = device.brand;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            \/\/ const initialType = document.getElementById(`${inputId}-type`).value;<!-- [et_pb_line_break_holder] -->            \/\/ const brandSelect = document.getElementById(`${inputId}-brand`);<!-- [et_pb_line_break_holder] -->            \/\/ deviceTypes[initialType].forEach((brand) => {<!-- [et_pb_line_break_holder] -->            \/\/     const isSelected = device.brand === brand;<!-- [et_pb_line_break_holder] -->            \/\/     brandSelect.innerHTML += `<option value=\"${brand}\" ${isSelected ? 'selected' : ''}>${brand}<\/option>`;<!-- [et_pb_line_break_holder] -->            \/\/ });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            \/\/ \/\/ deviceTypes[initialType].forEach((brand) => {<!-- [et_pb_line_break_holder] -->            \/\/ \/\/     brandSelect.innerHTML += `<option value=\"${brand}\">${brand}<\/option>`;<!-- [et_pb_line_break_holder] -->            \/\/ \/\/ });<!-- [et_pb_line_break_holder] -->            \/\/ brandSelect.value = device.brand;<!-- [et_pb_line_break_holder] -->            \/\/ console.log(`Device is ${index}, <!-- [et_pb_line_break_holder] -->            \/\/ brandSelect.value is ${brandSelect.value}, <!-- [et_pb_line_break_holder] -->            \/\/ deviceTypes[initialType].indexOf(device.brand) is ${deviceTypes[initialType].indexOf(device.brand)},<!-- [et_pb_line_break_holder] -->            \/\/ device.brand is ${device.brand}.`);<!-- [et_pb_line_break_holder] -->            });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            devicesList.innerHTML += `<!-- [et_pb_line_break_holder] -->            <\/p>\n<div id=\"device-add-card\" class=\"device-card add-card\"><!-- [et_pb_line_break_holder] -->                <\/p>\n<div class=\"button large\" id=\"add-device-btn\"><!-- [et_pb_line_break_holder] -->                <i id=\"device-add-button\" class=\"bi bi-plus add-button\"><\/i><!-- [et_pb_line_break_holder] -->                <!\u2013- [et_pb_br_holder] -\u2013><!-- [et_pb_line_break_holder] -->                <\/div>\n<p><!-- [et_pb_line_break_holder] -->            <\/div>\n<p><!-- [et_pb_line_break_holder] -->            `;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            \/\/------------------------------------------------------------    <!-- [et_pb_line_break_holder] -->            \/\/<!-- [et_pb_line_break_holder] -->            \/\/            Add event listeners<!-- [et_pb_line_break_holder] -->            \/\/<!-- [et_pb_line_break_holder] -->            \/\/------------------------------------------------------------<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            if (!memberEventListenerAdded) {<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                membersList.addEventListener('input', (event) => {<!-- [et_pb_line_break_holder] -->                    \/\/ Check if the event target is an input or select element<!-- [et_pb_line_break_holder] -->                    if (event.target.tagName === 'INPUT' || event.target.tagName === 'SELECT') {<!-- [et_pb_line_break_holder] -->                        console.log(\"Starting event handling script.\")<!-- [et_pb_line_break_holder] -->                        \/\/ Store the current selection start and end positions<!-- [et_pb_line_break_holder] -->                        const selectionStart = event.target.selectionStart;<!-- [et_pb_line_break_holder] -->                        const selectionEnd = event.target.selectionEnd;<!-- [et_pb_line_break_holder] -->                        console.log(\"Selection stored.\")<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                        \/\/ Update the JSON data<!-- [et_pb_line_break_holder] -->                        const memberIndex = event.target.dataset.memberIndex;<!-- [et_pb_line_break_holder] -->                        const member = family.members[memberIndex];<!-- [et_pb_line_break_holder] -->                        member.name = event.target.name === 'name' ? event.target.value : member.name;<!-- [et_pb_line_break_holder] -->                        member.level = event.target.name === `member-${memberIndex}-level` ? parseInt(event.target.value) : member.level;<!-- [et_pb_line_break_holder] -->                        \/\/ member.title = event.target.name === 'title' ? event.target.value : member.title;<!-- [et_pb_line_break_holder] -->                        console.log(\"JSON updated. Asking UI to update next.\")<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                        updateUI();<!-- [et_pb_line_break_holder] -->                        const id = event.target.id;<!-- [et_pb_line_break_holder] -->                        console.log(\"id to restore is \" + id)<!-- [et_pb_line_break_holder] -->                        const newInputBox = document.getElementById(id);<!-- [et_pb_line_break_holder] -->                        if (event.target.type === \"text\"){<!-- [et_pb_line_break_holder] -->                            newInputBox.focus();<!-- [et_pb_line_break_holder] -->                            console.log(\"New input box focused.\")<!-- [et_pb_line_break_holder] -->                            newInputBox.selectionStart = selectionStart;<!-- [et_pb_line_break_holder] -->                            newInputBox.selectionEnd = selectionEnd;<!-- [et_pb_line_break_holder] -->                        };<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                <!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                <!-- [et_pb_line_break_holder] -->                membersList.addEventListener('click', (event) => {<!-- [et_pb_line_break_holder] -->                    console.log(\"click\");<!-- [et_pb_line_break_holder] -->                    const memberIndex = event.target.dataset.memberIndex;<!-- [et_pb_line_break_holder] -->                    if (event.target.classList.contains(\"bi-x-circle\")){<!-- [et_pb_line_break_holder] -->                        console.log(\"close\")<!-- [et_pb_line_break_holder] -->                        family.members = family.members.filter((member, index) => index !== parseInt(memberIndex));<!-- [et_pb_line_break_holder] -->                        updateUI();<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                });<!-- [et_pb_line_break_holder] -->                memberEventListenerAdded = true;<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            <!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            if (!deviceEventListenerAdded) {<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                devicesList.addEventListener('input', (event) => {<!-- [et_pb_line_break_holder] -->                    \/\/ Check if the event target is an input or select element<!-- [et_pb_line_break_holder] -->                    if (event.target.tagName === 'INPUT' || event.target.tagName === 'SELECT') {<!-- [et_pb_line_break_holder] -->                        console.log(\"Starting event handling script.\")<!-- [et_pb_line_break_holder] -->                        \/\/ Store the current selection start and end positions<!-- [et_pb_line_break_holder] -->                        const selectionStart = event.target.selectionStart;<!-- [et_pb_line_break_holder] -->                        const selectionEnd = event.target.selectionEnd;<!-- [et_pb_line_break_holder] -->                        console.log(\"Selection stored.\")<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                        \/\/ Update the JSON data<!-- [et_pb_line_break_holder] -->                        const deviceIndex = event.target.dataset.deviceIndex;<!-- [et_pb_line_break_holder] -->                        const device = family.devices[deviceIndex];<!-- [et_pb_line_break_holder] -->                        device.name = event.target.name === 'name' ? event.target.value : device.name;<!-- [et_pb_line_break_holder] -->                        device.type = event.target.name === `device-${deviceIndex}-type` ? event.target.value : device.type;<!-- [et_pb_line_break_holder] -->                        device.brand = event.target.name.endsWith('-brand') ? event.target.value : device.brand;<!-- [et_pb_line_break_holder] -->                        console.log(`JSON updated. device.name is ${device.name}, device.type is ${device.type} and device.brand is ${device.brand}. Asking UI to update next.`)<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                        updateUI();<!-- [et_pb_line_break_holder] -->                        const id = event.target.id;<!-- [et_pb_line_break_holder] -->                        console.log(\"id to restore is \" + id)<!-- [et_pb_line_break_holder] -->                        const newInputBox = document.getElementById(id);<!-- [et_pb_line_break_holder] -->                        if (event.target.type === \"text\"){<!-- [et_pb_line_break_holder] -->                            newInputBox.focus();<!-- [et_pb_line_break_holder] -->                            console.log(\"New input box focused.\")<!-- [et_pb_line_break_holder] -->                            newInputBox.selectionStart = selectionStart;<!-- [et_pb_line_break_holder] -->                            newInputBox.selectionEnd = selectionEnd;<!-- [et_pb_line_break_holder] -->                        };<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                });<!-- [et_pb_line_break_holder] -->                <!-- [et_pb_line_break_holder] -->            <!-- [et_pb_line_break_holder] -->                devicesList.addEventListener('click', (event) => {<!-- [et_pb_line_break_holder] -->                    console.log(\"click\")<!-- [et_pb_line_break_holder] -->                    if (event.target.classList.contains(\"bi-x-circle\")){<!-- [et_pb_line_break_holder] -->                        console.log(\"close\");<!-- [et_pb_line_break_holder] -->                        const deviceIndex = event.target.dataset.deviceIndex;<!-- [et_pb_line_break_holder] -->                        family.devices = family.devices.filter((device, index) => index !== parseInt(deviceIndex));<!-- [et_pb_line_break_holder] -->                        updateUI();<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                deviceEventListenerAdded = true;<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->            \/\/ Get the add member button<!-- [et_pb_line_break_holder] -->            const addMemberBtn = document.getElementById('add-member-btn');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            \/\/ Get the add device button<!-- [et_pb_line_break_holder] -->            const addDeviceBtn = document.getElementById('add-device-btn');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            \/\/ Add event listeners to the buttons<!-- [et_pb_line_break_holder] -->            addMemberBtn.addEventListener('click', () => {<!-- [et_pb_line_break_holder] -->                event.preventDefault();<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                const memberName = \"New Member\";<!-- [et_pb_line_break_holder] -->                const memberLevel = 4;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                \/\/ Create a new member object<!-- [et_pb_line_break_holder] -->                const member = {<!-- [et_pb_line_break_holder] -->                    name: memberName,<!-- [et_pb_line_break_holder] -->                    level: memberLevel,<!-- [et_pb_line_break_holder] -->                    devices: [],<!-- [et_pb_line_break_holder] -->                    monitoring: [],<!-- [et_pb_line_break_holder] -->                    monitoredBy: []<!-- [et_pb_line_break_holder] -->                };<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                \/\/ Add the member to the family object<!-- [et_pb_line_break_holder] -->                family.members.push(member);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                updateUI();<!-- [et_pb_line_break_holder] -->            });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            addDeviceBtn.addEventListener('click', () => {<!-- [et_pb_line_break_holder] -->                event.preventDefault();<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                const deviceName = \"New Device\";<!-- [et_pb_line_break_holder] -->                const deviceType = \"Phone\/Tablet\";<!-- [et_pb_line_break_holder] -->                const deviceBrand = \"Android\";<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                \/\/ Create a new member object<!-- [et_pb_line_break_holder] -->                const device = {<!-- [et_pb_line_break_holder] -->                    name: deviceName,<!-- [et_pb_line_break_holder] -->                    type: deviceType,<!-- [et_pb_line_break_holder] -->                    brand: deviceBrand,<!-- [et_pb_line_break_holder] -->                    users: []<!-- [et_pb_line_break_holder] -->                };<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                \/\/ Add the member to the family object<!-- [et_pb_line_break_holder] -->                family.devices.push(device);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                updateUI();<!-- [et_pb_line_break_holder] -->            });<!-- [et_pb_line_break_holder] -->        };<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        function updateLevel(index, level) {<!-- [et_pb_line_break_holder] -->            const inputId = `member-${index}`;<!-- [et_pb_line_break_holder] -->            const levelIcons = document.querySelectorAll(`#${inputId}-level-selector .level-icon`);<!-- [et_pb_line_break_holder] -->            const levelRadioInputs = document.querySelectorAll(`#${inputId}-levelGroup input[type=\"radio\"]`);<!-- [et_pb_line_break_holder] -->            const levelDescription = document.getElementById(`${inputId}-level-description`);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            \/\/ Deselect all icons<!-- [et_pb_line_break_holder] -->            levelIcons.forEach((i) => i.classList.remove('selected'));<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            \/\/ Select clicked icon<!-- [et_pb_line_break_holder] -->            levelIcons[level - 1].classList.add('selected');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            \/\/ Update level description<!-- [et_pb_line_break_holder] -->            levelDescription.textContent = levelIcons[level - 1].title;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            \/\/ Update corresponding radio input<!-- [et_pb_line_break_holder] -->            levelRadioInputs.forEach((input) => {<!-- [et_pb_line_break_holder] -->                input.checked = input.value === level.toString();<!-- [et_pb_line_break_holder] -->            });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            \/\/ Update member level<!-- [et_pb_line_break_holder] -->            family.members[index].level = level;<!-- [et_pb_line_break_holder] -->            updateUI();<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/         function getDeviceResources(resources, deviceLevel, deviceType, deviceBrand) {<!-- [et_pb_line_break_holder] -->\/\/   const deviceResources = [];<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/   for (let level = 1; level <= deviceLevel; level++) {<!-- [et_pb_line_break_holder] -->\/\/     if (resources.levels[level] && resources.levels[level]['All'] && resources.levels[level]['All']['All']) {<!-- [et_pb_line_break_holder] -->\/\/       deviceResources.push(...resources.levels[level]['All']['All']);<!-- [et_pb_line_break_holder] -->\/\/     } else if (deviceType === 'All' && deviceBrand === 'All' && resources.levels[level] && resources.levels[level]['All'] && resources.levels[level]['All'][deviceBrand]) {<!-- [et_pb_line_break_holder] -->\/\/       deviceResources.push(...resources.levels[level]['All'][deviceBrand]);<!-- [et_pb_line_break_holder] -->\/\/     } else if (deviceType === 'All' && resources.levels[level] && resources.levels[level]['All'] && resources.levels[level]['All'][deviceBrand]) {<!-- [et_pb_line_break_holder] -->\/\/       deviceResources.push(...resources.levels[level]['All'][deviceBrand]);<!-- [et_pb_line_break_holder] -->\/\/     } else if (deviceBrand === 'All' && resources.levels[level] && resources.levels[level][deviceType] && resources.levels[level][deviceType]['All']) {<!-- [et_pb_line_break_holder] -->\/\/       deviceResources.push(...resources.levels[level][deviceType]['All']);<!-- [et_pb_line_break_holder] -->\/\/     } else if (resources.levels[level] && resources.levels[level][deviceType] && resources.levels[level][deviceType][deviceBrand]) {<!-- [et_pb_line_break_holder] -->\/\/       deviceResources.push(...resources.levels[level][deviceType][deviceBrand]);<!-- [et_pb_line_break_holder] -->\/\/     }<!-- [et_pb_line_break_holder] -->\/\/   }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->\/\/   return deviceResources.length <!-- [et_pb_line_break_holder] -->\/\/     ? deviceResources <!-- [et_pb_line_break_holder] -->\/\/     : [{ name: 'No resources found', link: '', instructions: 'No resources available for this device.', type: 'Unknown'\u00a0}];<!-- [et_pb_line_break_holder] -->\/\/ }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        \/\/ function getDeviceResources(resources, deviceLevel, deviceType, deviceBrand) {<!-- [et_pb_line_break_holder] -->        \/\/ const deviceResources = [];<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        \/\/ for (let level = 1; level <= deviceLevel; level++) {<!-- [et_pb_line_break_holder] -->        \/\/     const levelResources = resources.levels[level];<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        \/\/     \/\/ Check all possible combinations of type and brand<!-- [et_pb_line_break_holder] -->        \/\/     [<!-- [et_pb_line_break_holder] -->        \/\/     [deviceType, deviceBrand],<!-- [et_pb_line_break_holder] -->        \/\/     [deviceType, 'All'],<!-- [et_pb_line_break_holder] -->        \/\/     ['All', deviceBrand],<!-- [et_pb_line_break_holder] -->        \/\/     ['All', 'All']<!-- [et_pb_line_break_holder] -->        \/\/     ].forEach(([type, brand]) => {<!-- [et_pb_line_break_holder] -->        \/\/     if (levelResources[type] && levelResources[type][brand]) {<!-- [et_pb_line_break_holder] -->        \/\/         deviceResources.push(...levelResources[type][brand]);<!-- [et_pb_line_break_holder] -->        \/\/     }<!-- [et_pb_line_break_holder] -->        \/\/     });<!-- [et_pb_line_break_holder] -->        \/\/ }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        \/\/ return deviceResources.length <!-- [et_pb_line_break_holder] -->        \/\/     ? deviceResources <!-- [et_pb_line_break_holder] -->        \/\/     : [{ name: 'No resources found', link: '', instructions: 'No resources available for this device.', type: 'Unknown' }];<!-- [et_pb_line_break_holder] -->        \/\/ }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        function getDeviceResources(resources, deviceLevel, deviceType, deviceBrand) {<!-- [et_pb_line_break_holder] -->            const deviceResources = [];<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            for (let level = 1; level <= deviceLevel; level++) {<!-- [et_pb_line_break_holder] -->                const levelResources = resources.levels[level];<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                \/\/ Check all possible combinations of type and brand<!-- [et_pb_line_break_holder] -->                [<!-- [et_pb_line_break_holder] -->                [deviceType, deviceBrand], <!-- [et_pb_line_break_holder] -->                [deviceType, 'All'], <!-- [et_pb_line_break_holder] -->                ['All', deviceBrand], <!-- [et_pb_line_break_holder] -->                ['All', 'All']<!-- [et_pb_line_break_holder] -->                ].forEach(([type, brand]) => {<!-- [et_pb_line_break_holder] -->                if (levelResources[type] && levelResources[type][brand]) {<!-- [et_pb_line_break_holder] -->                    levelResources[type][brand].forEach(resource => {<!-- [et_pb_line_break_holder] -->                    resource.brand = brand; \/\/ Add brand metadata<!-- [et_pb_line_break_holder] -->                    deviceResources.push(resource);<!-- [et_pb_line_break_holder] -->                    });<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->                });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                \/\/ Also check for brand as a leaf member<!-- [et_pb_line_break_holder] -->                if (levelResources[deviceBrand]) {<!-- [et_pb_line_break_holder] -->                levelResources[deviceBrand].forEach(resource => {<!-- [et_pb_line_break_holder] -->                    resource.brand = deviceBrand; \/\/ Add brand metadata<!-- [et_pb_line_break_holder] -->                    deviceResources.push(resource);<!-- [et_pb_line_break_holder] -->                });<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            return deviceResources.length <!-- [et_pb_line_break_holder] -->            ? deviceResources <!-- [et_pb_line_break_holder] -->            : [{ name: 'No resources found', link: '', instructions: 'No resources available for this device.', type: 'Unknown' }];<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        function getResourceLinks(family, resources) {<!-- [et_pb_line_break_holder] -->            const output = [];<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            family.devices.forEach((device) => {<!-- [et_pb_line_break_holder] -->                if (!device.users.length) return; \/\/ Ignore devices with no users<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                const deviceType = device.type;<!-- [et_pb_line_break_holder] -->                const deviceBrand = device.brand;<!-- [et_pb_line_break_holder] -->                const deviceLevel = family.members.find((member) => member.devices.includes(family.devices.indexOf(device))).level;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                const brandPrefix = device.brand.match(\/^[aeiou]\/i) ? 'An' : 'A';<!-- [et_pb_line_break_holder] -->                const userText = device.users.length === 1<!-- [et_pb_line_break_holder] -->                ? `used by ${family.members[device.users[0]].name}`<!-- [et_pb_line_break_holder] -->                : device.users.length === 2<!-- [et_pb_line_break_holder] -->                ? `used by ${family.members[device.users[0]].name} and ${family.members[device.users[1]].name}`<!-- [et_pb_line_break_holder] -->                : `used by ${device.users.slice(0, -1).map(userId => family.members[userId].name).join(', ')}, and ${family.members[device.users[device.users.length - 1]].name}`;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                const deviceResources = getDeviceResources(resources, deviceLevel, deviceType, deviceBrand);<!-- [et_pb_line_break_holder] -->                const resourceMap = {};<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                \/\/ Handle case where deviceResources is empty<!-- [et_pb_line_break_holder] -->                if (!deviceResources.length) {<!-- [et_pb_line_break_holder] -->                    const resourceHTML = `<!-- [et_pb_line_break_holder] -->                    <\/p>\n<div class=\"resource-group\"><!-- [et_pb_line_break_holder] -->                        <\/p>\n<div class=\"deviceResourceHeader\">${device.name}<\/div>\n<p><!-- [et_pb_line_break_holder] -->                        <\/p>\n<div class=\"deviceResourceSubHeader\"> <!-- [et_pb_line_break_holder] -->                        ${brandPrefix} ${device.brand} ${device.type} controlled at level ${deviceLevel} <!-- [et_pb_line_break_holder] -->                        ${userText}<!-- [et_pb_line_break_holder] -->                        <\/div>\n<p><!-- [et_pb_line_break_holder] -->                        <\/p>\n<h2>No resources found<\/h2>\n<p><!-- [et_pb_line_break_holder] -->                    <\/div>\n<p><!-- [et_pb_line_break_holder] -->                    `;<!-- [et_pb_line_break_holder] -->                    output.push(resourceHTML);<!-- [et_pb_line_break_holder] -->                    return;<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                deviceResources.forEach((resource) => {<!-- [et_pb_line_break_holder] -->                    <!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                    \/\/ Handle case where resource.name is missing<!-- [et_pb_line_break_holder] -->                    const resourceName = resource.name || 'Unknown Resource';<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                    if (!resourceMap[resourceName]) {<!-- [et_pb_line_break_holder] -->                    resourceMap[resourceName] = [];<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                    \/\/ Handle case where resource.header is missing<!-- [et_pb_line_break_holder] -->                    const headerParts = resource.header ? resource.header.split(\":\") : ['Unknown', 'No description'];<!-- [et_pb_line_break_holder] -->                    const [headerTitle = '', headerDescription = ''] = headerParts;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                    const resourceIcon = getResourceIcon(resource.type, resource.brand, headerTitle);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                    resourceMap[resourceName].push({ <!-- [et_pb_line_break_holder] -->                    icon: resourceIcon, <!-- [et_pb_line_break_holder] -->                    link: resource.link, <!-- [et_pb_line_break_holder] -->                    instructions: resource.instructions, <!-- [et_pb_line_break_holder] -->                    source: headerTitle.trim(), <!-- [et_pb_line_break_holder] -->                    header: headerDescription.trim(), <!-- [et_pb_line_break_holder] -->                    type: resource.type,<!-- [et_pb_line_break_holder] -->                    });<!-- [et_pb_line_break_holder] -->                });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                const sortedResourceMap = Object.fromEntries(Object.entries(resourceMap).sort((a, b) => {<!-- [et_pb_line_break_holder] -->                const levelOrder = ['Level 1', 'Level 2', 'Level 3', 'Level 4'];<!-- [et_pb_line_break_holder] -->                const aStartsWithLevel = a[0].startsWith('Level');<!-- [et_pb_line_break_holder] -->                const bStartsWithLevel = b[0].startsWith('Level');<!-- [et_pb_line_break_holder] -->                <!-- [et_pb_line_break_holder] -->                if (aStartsWithLevel && !bStartsWithLevel) return -1;<!-- [et_pb_line_break_holder] -->                if (!aStartsWithLevel && bStartsWithLevel) return 1;<!-- [et_pb_line_break_holder] -->                <!-- [et_pb_line_break_holder] -->                return a[0].localeCompare(b[0]);<!-- [et_pb_line_break_holder] -->                }));<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                const resourceHeaderHTML = `<!-- [et_pb_line_break_holder] -->                    <\/p>\n<div class=\"deviceResourceHeader\">${device.name}<\/div>\n<p><!-- [et_pb_line_break_holder] -->                    <\/p>\n<div class=\"deviceResourceSubHeader\"> <!-- [et_pb_line_break_holder] -->                    ${brandPrefix} ${device.brand} ${device.type} controlled at level ${deviceLevel} <!-- [et_pb_line_break_holder] -->                    ${userText}<!-- [et_pb_line_break_holder] -->                    <\/div>\n<p><!-- [et_pb_line_break_holder] -->                `;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                const resourceHTML = `<!-- [et_pb_line_break_holder] -->                    <\/p>\n<div class=\"resource-group\"><!-- [et_pb_line_break_holder] -->                    ${resourceHeaderHTML}<!-- [et_pb_line_break_holder] -->                    ${Object.keys(sortedResourceMap).map((resourceName) => `<!-- [et_pb_line_break_holder] -->                        <\/p>\n<h2>${resourceName}<\/h2>\n<p><!-- [et_pb_line_break_holder] -->                        <\/p>\n<div class=\"resource-grid\"><!-- [et_pb_line_break_holder] -->                        ${sortedResourceMap[resourceName].map((resource) => `<!-- [et_pb_line_break_holder] -->                            <\/p>\n<div class=\"resource-item\"><!-- [et_pb_line_break_holder] -->                            <\/p>\n<div class=\"resource-header-split\"><!-- [et_pb_line_break_holder] -->                                <\/p>\n<div class=\"resource-header-split-1\"><!-- [et_pb_line_break_holder] -->                                <i class=\"${resource.icon}\"><\/i><!-- [et_pb_line_break_holder] -->                                <\/div>\n<p><!-- [et_pb_line_break_holder] -->                                <\/p>\n<div class=\"resource-header-split-2\"><!-- [et_pb_line_break_holder] -->                                <\/p>\n<div class=\"resource-header\">${resource.header}<\/div>\n<p><!-- [et_pb_line_break_holder] -->                                <\/p>\n<div class=\"resource-source\">${resource.source}<\/div>\n<p><!-- [et_pb_line_break_holder] -->                                <\/div>\n<p><!-- [et_pb_line_break_holder] -->                            <\/div>\n<p><!-- [et_pb_line_break_holder] -->                            <a href=\"${resource.link}\" target=\"_blank\">${resource.link}<\/a><!-- [et_pb_line_break_holder] -->                            <\/p>\n<div class=\"resource-text\">${resource.instructions}<\/div>\n<p><!-- [et_pb_line_break_holder] -->                            <\/div>\n<p><!-- [et_pb_line_break_holder] -->                        `).join('')}<!-- [et_pb_line_break_holder] -->                        <\/div>\n<p><!-- [et_pb_line_break_holder] -->                    `).join('')}<!-- [et_pb_line_break_holder] -->                    <\/div>\n<p><!-- [et_pb_line_break_holder] -->                `;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->                output.push(resourceHTML);<!-- [et_pb_line_break_holder] -->                });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            return output.join('');<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        \/\/ Function to get resource icon<!-- [et_pb_line_break_holder] -->        function getResourceIcon(type, brand, source) {<!-- [et_pb_line_break_holder] -->        switch (type) {<!-- [et_pb_line_break_holder] -->            case 'Link':<!-- [et_pb_line_break_holder] -->            return 'bi bi-link-45deg resource-icon';<!-- [et_pb_line_break_holder] -->            case 'Tip':<!-- [et_pb_line_break_holder] -->            return 'bi bi-chat-right-quote resource-icon';<!-- [et_pb_line_break_holder] -->            case 'PDF':<!-- [et_pb_line_break_holder] -->            return 'bi bi-file-earmark resource-icon';<!-- [et_pb_line_break_holder] -->            case 'Device':<!-- [et_pb_line_break_holder] -->            return 'bi bi-phone resource-icon';<!-- [et_pb_line_break_holder] -->            case 'Service':<!-- [et_pb_line_break_holder] -->            return 'bi bi-person-lines-fill resource-icon';<!-- [et_pb_line_break_holder] -->            case 'App':<!-- [et_pb_line_break_holder] -->            switch (true) {<!-- [et_pb_line_break_holder] -->                case source === 'iOS AppStore':<!-- [et_pb_line_break_holder] -->                return 'bi bi-app-store resource-icon';<!-- [et_pb_line_break_holder] -->                case source === 'Google Play':<!-- [et_pb_line_break_holder] -->                return 'bi bi-google-play resource-icon';<!-- [et_pb_line_break_holder] -->                case brand === 'Android':<!-- [et_pb_line_break_holder] -->                return 'bi bi-google-play resource-icon';<!-- [et_pb_line_break_holder] -->                case brand === 'Apple':<!-- [et_pb_line_break_holder] -->                return 'bi bi-apple resource-icon';<!-- [et_pb_line_break_holder] -->                case brand === 'Kindle':<!-- [et_pb_line_break_holder] -->                return 'bi bi-amazon resource-icon'; \/\/ or custom Kindle icon<!-- [et_pb_line_break_holder] -->                case brand === 'Windows':<!-- [et_pb_line_break_holder] -->                return 'bi bi-windows resource-icon';<!-- [et_pb_line_break_holder] -->                default:<!-- [et_pb_line_break_holder] -->                return 'bi bi-terminal resource-icon'; \/\/ generic App icon<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->            default:<!-- [et_pb_line_break_holder] -->            return 'bi bi-question resource-icon';<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        function displayOutput(){<!-- [et_pb_line_break_holder] -->            \/\/ Get resource links and display output<!-- [et_pb_line_break_holder] -->            const resourceLinks = getResourceLinks(family, resources);<!-- [et_pb_line_break_holder] -->            document.getElementById('output').innerHTML = resourceLinks;<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        function printPage() {<!-- [et_pb_line_break_holder] -->            \/\/ const originalContent = document.body.innerHTML;<!-- [et_pb_line_break_holder] -->            \/\/ const printContent = document.body.innerHTML;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            \/\/ Modify printContent as needed<!-- [et_pb_line_break_holder] -->            \/\/ document.body.innerHTML = printContent;<!-- [et_pb_line_break_holder] -->            document.getElementById('findInfoButton').style.display = 'none';<!-- [et_pb_line_break_holder] -->            document.getElementById('print-button').style.display = 'none';<!-- [et_pb_line_break_holder] -->            window.print();<!-- [et_pb_line_break_holder] -->            document.getElementById('findInfoButton').style.display = 'block';<!-- [et_pb_line_break_holder] -->            document.getElementById('print-button').style.display = 'block';<!-- [et_pb_line_break_holder] -->            \/\/ Restore original content<!-- [et_pb_line_break_holder] -->            \/\/ document.body.innerHTML = originalContent;<!-- [et_pb_line_break_holder] -->            \/\/ updateUI();<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        \/\/ Ctrl+P event listener<!-- [et_pb_line_break_holder] -->        document.addEventListener('keydown', function(event) {<!-- [et_pb_line_break_holder] -->        if ((event.ctrlKey || event.metaKey) && event.key === 'p') {<!-- [et_pb_line_break_holder] -->            printPage();<!-- [et_pb_line_break_holder] -->            event.preventDefault();<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->        });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        const tutorialSteps = [<!-- [et_pb_line_break_holder] -->            {<!-- [et_pb_line_break_holder] -->                sequence: 1,<!-- [et_pb_line_break_holder] -->                text: \"Start by listing members in your family. We put a few in at the beginning, but modify them as you need. We'll show you how to do that next.\",<!-- [et_pb_line_break_holder] -->                targetId: \"members-list\",<!-- [et_pb_line_break_holder] -->                positionReferenceID: \"members-list\",<!-- [et_pb_line_break_holder] -->                position: {<!-- [et_pb_line_break_holder] -->                top: -600,<!-- [et_pb_line_break_holder] -->                left: -200,<!-- [et_pb_line_break_holder] -->                arrowDirection: \"bottom\"<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->            },<!-- [et_pb_line_break_holder] -->            {<!-- [et_pb_line_break_holder] -->                sequence: 2,<!-- [et_pb_line_break_holder] -->                text: \"Change names by typing in the name box.\",<!-- [et_pb_line_break_holder] -->                targetId: \"member-0\",<!-- [et_pb_line_break_holder] -->                positionReferenceID: \"member-0-card\",<!-- [et_pb_line_break_holder] -->                position: {<!-- [et_pb_line_break_holder] -->                top: -100,<!-- [et_pb_line_break_holder] -->                left: 0,<!-- [et_pb_line_break_holder] -->                arrowDirection: \"right\"<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->            },<!-- [et_pb_line_break_holder] -->            {<!-- [et_pb_line_break_holder] -->                sequence: 3,<!-- [et_pb_line_break_holder] -->                text: \"Assign a filtering level to each member by clicking the icons. <!\u2013- [et_pb_br_holder] -\u2013><!\u2013- [et_pb_br_holder] -\u2013><b>Level 1<\/b> is for simple ad blocking. <!\u2013- [et_pb_br_holder] -\u2013><b>Level 2<\/b> is for DNS protection, which is a very basic filter that eliminates commonly known offensive sites. <!\u2013- [et_pb_br_holder] -\u2013><b>Level 3<\/b> is for more intensive monitoring, like time control, program control, and more. <!\u2013- [et_pb_br_holder] -\u2013><b>Level 4<\/b> is for screen monitoring. <!\u2013- [et_pb_br_holder] -\u2013><!\u2013- [et_pb_br_holder] -\u2013>We assume that these add up together, so that if you want Level 3, you'll want Levels 1 and 2 as well.\",<!-- [et_pb_line_break_holder] -->                targetId: \"member-0-levelGroup\",<!-- [et_pb_line_break_holder] -->                positionReferenceID: \"member-0-card\",<!-- [et_pb_line_break_holder] -->                position: {<!-- [et_pb_line_break_holder] -->                top: -100,<!-- [et_pb_line_break_holder] -->                left: 0,<!-- [et_pb_line_break_holder] -->                arrowDirection: \"bottom\"<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->            },<!-- [et_pb_line_break_holder] -->            {<!-- [et_pb_line_break_holder] -->                sequence: 4,<!-- [et_pb_line_break_holder] -->                text: \"Pick what devices this member uses by clicking the plus button to add, or the minus button to remove. You can also do this later, from the devices section.\",<!-- [et_pb_line_break_holder] -->                targetId: \"member-0-device-listHeader\",<!-- [et_pb_line_break_holder] -->                positionReferenceID: \"member-0-card\",<!-- [et_pb_line_break_holder] -->                position: {<!-- [et_pb_line_break_holder] -->                top: -100,<!-- [et_pb_line_break_holder] -->                left: 0,<!-- [et_pb_line_break_holder] -->                arrowDirection: \"bottom\"<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->            },<!-- [et_pb_line_break_holder] -->            {<!-- [et_pb_line_break_holder] -->                sequence: 5,<!-- [et_pb_line_break_holder] -->                text: \"Choose who is responsible for monitoring this person's filters. This really only applies to level 3 and 4 filtering.\",<!-- [et_pb_line_break_holder] -->                targetId: \"member-0-monitoredBy-listHeader\",<!-- [et_pb_line_break_holder] -->                positionReferenceID: \"member-0-card\",<!-- [et_pb_line_break_holder] -->                position: {<!-- [et_pb_line_break_holder] -->                top: -100,<!-- [et_pb_line_break_holder] -->                left: 0,<!-- [et_pb_line_break_holder] -->                arrowDirection: \"bottom\"<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->            },<!-- [et_pb_line_break_holder] -->            {<!-- [et_pb_line_break_holder] -->                sequence: 6,<!-- [et_pb_line_break_holder] -->                text: \"Choose who this member is monitoring. This should be auto-filled in most cases.\",<!-- [et_pb_line_break_holder] -->                targetId: \"member-0-monitoring-listHeader\",<!-- [et_pb_line_break_holder] -->                positionReferenceID: \"member-0-card\",<!-- [et_pb_line_break_holder] -->                position: {<!-- [et_pb_line_break_holder] -->                top: -100,<!-- [et_pb_line_break_holder] -->                left: 0,<!-- [et_pb_line_break_holder] -->                arrowDirection: \"bottom\"<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->            },<!-- [et_pb_line_break_holder] -->            {<!-- [et_pb_line_break_holder] -->                sequence: 7,<!-- [et_pb_line_break_holder] -->                text: \"If you need to add new members, click the plus button and go through the previous steps to edit the information.\",<!-- [et_pb_line_break_holder] -->                targetId: \"member-add-card\",<!-- [et_pb_line_break_holder] -->                positionReferenceID: \"member-add-card\",<!-- [et_pb_line_break_holder] -->                position: {<!-- [et_pb_line_break_holder] -->                top: -200,<!-- [et_pb_line_break_holder] -->                left: -200,<!-- [et_pb_line_break_holder] -->                arrowDirection: \"right\"<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->            },<!-- [et_pb_line_break_holder] -->            {<!-- [et_pb_line_break_holder] -->                sequence: 8,<!-- [et_pb_line_break_holder] -->                text: \"After adding all your family members, you need to add their devices. Start by modifying the ones given, or add your own.\",<!-- [et_pb_line_break_holder] -->                targetId: \"devices-list\",<!-- [et_pb_line_break_holder] -->                positionReferenceID: \"devices-list\",<!-- [et_pb_line_break_holder] -->                position: {<!-- [et_pb_line_break_holder] -->                top: -300,<!-- [et_pb_line_break_holder] -->                left: 0,<!-- [et_pb_line_break_holder] -->                arrowDirection: \"bottom\"<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->            },<!-- [et_pb_line_break_holder] -->            {<!-- [et_pb_line_break_holder] -->                sequence: 9,<!-- [et_pb_line_break_holder] -->                text: \"Change device names by typing in the name box.\",<!-- [et_pb_line_break_holder] -->                targetId: \"device-0\",<!-- [et_pb_line_break_holder] -->                positionReferenceID: \"device-0-card\",<!-- [et_pb_line_break_holder] -->                position: {<!-- [et_pb_line_break_holder] -->                top: -100,<!-- [et_pb_line_break_holder] -->                left: 0,<!-- [et_pb_line_break_holder] -->                arrowDirection: \"right\"<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->            },<!-- [et_pb_line_break_holder] -->            {<!-- [et_pb_line_break_holder] -->                sequence: 10,<!-- [et_pb_line_break_holder] -->                text: \"Select the type of device.\",<!-- [et_pb_line_break_holder] -->                targetId: \"device-0-type\",<!-- [et_pb_line_break_holder] -->                positionReferenceID: \"device-0-card\",<!-- [et_pb_line_break_holder] -->                position: {<!-- [et_pb_line_break_holder] -->                top: -100,<!-- [et_pb_line_break_holder] -->                left: 0,<!-- [et_pb_line_break_holder] -->                arrowDirection: \"bottom\"<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->            },<!-- [et_pb_line_break_holder] -->            {<!-- [et_pb_line_break_holder] -->                sequence: 11,<!-- [et_pb_line_break_holder] -->                text: \"Select what brand the device is. This can change what options are available.\",<!-- [et_pb_line_break_holder] -->                targetId: \"device-0-brand\",<!-- [et_pb_line_break_holder] -->                positionReferenceID: \"device-0-card\",<!-- [et_pb_line_break_holder] -->                position: {<!-- [et_pb_line_break_holder] -->                top: -100,<!-- [et_pb_line_break_holder] -->                left: 0,<!-- [et_pb_line_break_holder] -->                arrowDirection: \"bottom\"<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->            },<!-- [et_pb_line_break_holder] -->            {<!-- [et_pb_line_break_holder] -->                sequence: 12,<!-- [et_pb_line_break_holder] -->                text: \"List who uses the device. You can add more than one person.\",<!-- [et_pb_line_break_holder] -->                targetId: \"device-0-users\",<!-- [et_pb_line_break_holder] -->                positionReferenceID: \"device-0-card\",<!-- [et_pb_line_break_holder] -->                position: {<!-- [et_pb_line_break_holder] -->                top: -100,<!-- [et_pb_line_break_holder] -->                left: 0,<!-- [et_pb_line_break_holder] -->                arrowDirection: \"bottom\"<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->            },<!-- [et_pb_line_break_holder] -->            {<!-- [et_pb_line_break_holder] -->                sequence: 13,<!-- [et_pb_line_break_holder] -->                text: \"If you need to add new devices, click the plus button and go through the previous steps to edit the information.\",<!-- [et_pb_line_break_holder] -->                targetId: \"device-add-card\",<!-- [et_pb_line_break_holder] -->                positionReferenceID: \"device-add-card\",<!-- [et_pb_line_break_holder] -->                position: {<!-- [et_pb_line_break_holder] -->                top: -250,<!-- [et_pb_line_break_holder] -->                left: -100,<!-- [et_pb_line_break_holder] -->                arrowDirection: \"right\"<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->            },<!-- [et_pb_line_break_holder] -->            {<!-- [et_pb_line_break_holder] -->                sequence: 14,<!-- [et_pb_line_break_holder] -->                text: \"Click the 'Find Information' button to complete the process and get a list of resources to use in building your filter system.\",<!-- [et_pb_line_break_holder] -->                targetId: \"findInfoButton\",<!-- [et_pb_line_break_holder] -->                positionReferenceID: \"findInfoButton\",<!-- [et_pb_line_break_holder] -->                position: {<!-- [et_pb_line_break_holder] -->                top: -100,<!-- [et_pb_line_break_holder] -->                left: +400,<!-- [et_pb_line_break_holder] -->                arrowDirection: \"right\"<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->            },<!-- [et_pb_line_break_holder] -->        ];<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        const tutorialModal = document.getElementById('tutorial-modal');<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        \/\/ Function to generate popup<!-- [et_pb_line_break_holder] -->        function createPopup(stepNumber) {<!-- [et_pb_line_break_holder] -->            stepCheck = parseInt(stepNumber);<!-- [et_pb_line_break_holder] -->            <!-- [et_pb_line_break_holder] -->            \/\/ Reset to 1 if out of range<!-- [et_pb_line_break_holder] -->            if (stepCheck < 1 || stepCheck > tutorialSteps.length) {<!-- [et_pb_line_break_holder] -->                console.log(`Resetting step. Was ${stepCheck}`);<!-- [et_pb_line_break_holder] -->                stepCheck = 1;<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->            <!-- [et_pb_line_break_holder] -->            document.querySelectorAll('.highlight').forEach((element) => {<!-- [et_pb_line_break_holder] -->                element.classList.remove('highlight');<!-- [et_pb_line_break_holder] -->            });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            console.log(`Creating popup for step ${stepCheck}`);<!-- [et_pb_line_break_holder] -->            const step = tutorialSteps.find((step) => step.sequence === stepCheck);<!-- [et_pb_line_break_holder] -->            const targetElement = document.getElementById(step.targetId);<!-- [et_pb_line_break_holder] -->            const positionReferenceElement = document.getElementById(step.positionReferenceID);<!-- [et_pb_line_break_holder] -->            const targetRect = targetElement.getBoundingClientRect();<!-- [et_pb_line_break_holder] -->            <!-- [et_pb_line_break_holder] -->            const isFirstStep = step.sequence === 1;<!-- [et_pb_line_break_holder] -->            const isLastStep = step.sequence === tutorialSteps.length;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            const previousButton = isFirstStep ? '' : `<button id=\"Previous\" onclick=\"createPopup('${parseInt(step.sequence)-1}')\">Previous<\/button>`;<!-- [et_pb_line_break_holder] -->            const nextButton = isLastStep ? <!-- [et_pb_line_break_holder] -->            `<button id=\"Next\" onclick=\"closePopup()\">Done<\/button>` : <!-- [et_pb_line_break_holder] -->            `<button id=\"Next\" onclick=\"createPopup('${parseInt(step.sequence)+1}')\">Next<\/button>`;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            \/\/ const nextButton = isLastStep ? <!-- [et_pb_line_break_holder] -->            \/\/ `<button id=\"Next\" onclick=\"createPopup('1')\">Start Over<\/button>` : <!-- [et_pb_line_break_holder] -->            \/\/ `<button id=\"Next\" onclick=\"createPopup('${parseInt(step.sequence)+1}')\">Next<\/button>`;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            const closeButton = `<i class=\"bi bi-x-circle close\" id=\"Close\" onclick=\"closePopup()\"><\/i>`;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            const popupHTML = `<!-- [et_pb_line_break_holder] -->            ${closeButton}<!-- [et_pb_line_break_holder] -->            <pee>${step.text}<\/pee><!-- [et_pb_line_break_holder] -->            ${previousButton}<!-- [et_pb_line_break_holder] -->            ${nextButton}<!-- [et_pb_line_break_holder] -->            `;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            const popupContent = document.getElementById('popup-content');<!-- [et_pb_line_break_holder] -->            popupContent.innerHTML = popupHTML;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            const { top: targetElementTop, left: targetElementLeft } = getAbsolutePosition(targetElement);<!-- [et_pb_line_break_holder] -->            const tutorialModal = document.getElementById('tutorial-modal');<!-- [et_pb_line_break_holder] -->            const modalWidth = tutorialModal.offsetWidth;<!-- [et_pb_line_break_holder] -->            const windowWidth = window.innerWidth;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            \/\/ Find relative ancestor<!-- [et_pb_line_break_holder] -->            const relativeAncestor = getRelativeAncestor(tutorialModal);<!-- [et_pb_line_break_holder] -->            let ancestorOffset = { top: 0, left: 0 };<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            if (relativeAncestor) {<!-- [et_pb_line_break_holder] -->            const ancestorRect = relativeAncestor.getBoundingClientRect();<!-- [et_pb_line_break_holder] -->            ancestorOffset = {<!-- [et_pb_line_break_holder] -->                top: ancestorRect.top,<!-- [et_pb_line_break_holder] -->                left: ancestorRect.left,<!-- [et_pb_line_break_holder] -->            };<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            \/\/ Calculate modal left position<!-- [et_pb_line_break_holder] -->            let modalLeft = targetElementLeft + targetRect.width \/ 2 + step.position.left - ancestorOffset.left;<!-- [et_pb_line_break_holder] -->            \/\/ Check if modal is offscreen left or right<!-- [et_pb_line_break_holder] -->            if (modalLeft < 0) {<!-- [et_pb_line_break_holder] -->            modalLeft = 0; \/\/ Align with left edge<!-- [et_pb_line_break_holder] -->            } else if (modalLeft + modalWidth > windowWidth) {<!-- [et_pb_line_break_holder] -->            modalLeft = windowWidth - modalWidth; \/\/ Align with right edge<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            console.log(<!-- [et_pb_line_break_holder] -->            `targetElementLeft is ${targetElementLeft}, targetRect.width is ${targetRect.width}, step.position.left is ${step.position.left}, ancestorOffset.left is ${ancestorOffset.left}, and modalLeft is ${modalLeft}`<!-- [et_pb_line_break_holder] -->            );<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            \/\/ Calculate modal top position<!-- [et_pb_line_break_holder] -->            const modalTop = targetElementTop + targetRect.height + 20 + step.position.top;<!-- [et_pb_line_break_holder] -->            tutorialModal.style.top = `${modalTop}px`;<!-- [et_pb_line_break_holder] -->            tutorialModal.style.left = `${modalLeft}px`;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            console.log(`targetElementTop is ${targetElementTop}, targetRect.height is ${targetRect.height}, step.position.top is ${step.position.top}, ancestorOffset.top is ${ancestorOffset.top}.`);<!-- [et_pb_line_break_holder] -->            console.log(`Window created at Top: ${tutorialModal.style.top} and Left: ${tutorialModal.style.left}`);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            tutorialModal.style.display = 'block';<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            const modalRect = tutorialModal.getBoundingClientRect();<!-- [et_pb_line_break_holder] -->            const positionTargetRect = positionReferenceElement.getBoundingClientRect();<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            \/\/ Scroll to modal with offset<!-- [et_pb_line_break_holder] -->            window.scrollTo({<!-- [et_pb_line_break_holder] -->            top: positionTargetRect.top + window.scrollY - 100,<!-- [et_pb_line_break_holder] -->            behavior: 'smooth'<!-- [et_pb_line_break_holder] -->            });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            \/\/ Adjust scroll if modal is offscreen bottom<!-- [et_pb_line_break_holder] -->            if (modalRect.bottom > window.innerHeight) {<!-- [et_pb_line_break_holder] -->            window.scrollTo({<!-- [et_pb_line_break_holder] -->                top: window.scrollY + (modalRect.bottom - window.innerHeight),<!-- [et_pb_line_break_holder] -->                behavior: 'smooth'<!-- [et_pb_line_break_holder] -->            });<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            const tutorialOverlay = document.getElementById('tutorial-overlay');<!-- [et_pb_line_break_holder] -->            tutorialOverlay.style.display = 'block';<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            targetElement.classList.add('highlight');<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        \/\/ Function to generate popup<!-- [et_pb_line_break_holder] -->        function createPopupRightPane(stepNumber) {<!-- [et_pb_line_break_holder] -->            stepCheck = parseInt(stepNumber);<!-- [et_pb_line_break_holder] -->            <!-- [et_pb_line_break_holder] -->            \/\/ Reset to 1 if out of range<!-- [et_pb_line_break_holder] -->            if (stepCheck < 1 || stepCheck > tutorialSteps.length) {<!-- [et_pb_line_break_holder] -->                console.log(`Resetting step. Was ${stepCheck}`);<!-- [et_pb_line_break_holder] -->                stepCheck = 1;<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->            <!-- [et_pb_line_break_holder] -->            document.querySelectorAll('.highlight').forEach((element) => {<!-- [et_pb_line_break_holder] -->                element.classList.remove('highlight');<!-- [et_pb_line_break_holder] -->            });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            console.log(`Creating popup for step ${stepCheck}`);<!-- [et_pb_line_break_holder] -->            const step = tutorialSteps.find((step) => step.sequence === stepCheck);<!-- [et_pb_line_break_holder] -->            const targetElement = document.getElementById(step.targetId);<!-- [et_pb_line_break_holder] -->            const positionReferenceElement = document.getElementById(step.positionReferenceID);<!-- [et_pb_line_break_holder] -->            const targetRect = targetElement.getBoundingClientRect();<!-- [et_pb_line_break_holder] -->            <!-- [et_pb_line_break_holder] -->            const isFirstStep = step.sequence === 1;<!-- [et_pb_line_break_holder] -->            const isLastStep = step.sequence === tutorialSteps.length;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            const previousButton = isFirstStep ? '' : `<button id=\"Previous\" onclick=\"createPopupRightPane('${parseInt(step.sequence)-1}')\">Previous<\/button>`;<!-- [et_pb_line_break_holder] -->            const nextButton = isLastStep ? <!-- [et_pb_line_break_holder] -->            `<button id=\"Next\" onclick=\"closePopup()\">Done<\/button>` : <!-- [et_pb_line_break_holder] -->            `<button id=\"Next\" onclick=\"createPopupRightPane('${parseInt(step.sequence)+1}')\">Next<\/button>`;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            \/\/ const nextButton = isLastStep ? <!-- [et_pb_line_break_holder] -->            \/\/ `<button id=\"Next\" onclick=\"createPopup('1')\">Start Over<\/button>` : <!-- [et_pb_line_break_holder] -->            \/\/ `<button id=\"Next\" onclick=\"createPopup('${parseInt(step.sequence)+1}')\">Next<\/button>`;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            const closeButton = `<i class=\"bi bi-x-circle close\" id=\"Close\" onclick=\"closePopup()\"><\/i>`;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            const popupHTML = `<!-- [et_pb_line_break_holder] -->            ${closeButton}<!-- [et_pb_line_break_holder] -->            <pee>${step.text}<\/pee><!-- [et_pb_line_break_holder] -->            ${previousButton}<!-- [et_pb_line_break_holder] -->            ${nextButton}<!-- [et_pb_line_break_holder] -->            `;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            const popupContent = document.getElementById('popup-content');<!-- [et_pb_line_break_holder] -->            popupContent.innerHTML = popupHTML;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            \/\/ const { top: targetElementTop, left: targetElementLeft } = getAbsolutePosition(targetElement);<!-- [et_pb_line_break_holder] -->            \/\/ const tutorialModal = document.getElementById('tutorial-modal');<!-- [et_pb_line_break_holder] -->            \/\/ const modalWidth = tutorialModal.offsetWidth;<!-- [et_pb_line_break_holder] -->            \/\/ const windowWidth = window.innerWidth;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            \/\/ Find relative ancestor<!-- [et_pb_line_break_holder] -->            \/\/ const relativeAncestor = getRelativeAncestor(tutorialModal);<!-- [et_pb_line_break_holder] -->            \/\/ let ancestorOffset = { top: 0, left: 0 };<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            \/\/ if (relativeAncestor) {<!-- [et_pb_line_break_holder] -->            \/\/ const ancestorRect = relativeAncestor.getBoundingClientRect();<!-- [et_pb_line_break_holder] -->            \/\/ ancestorOffset = {<!-- [et_pb_line_break_holder] -->            \/\/     top: ancestorRect.top,<!-- [et_pb_line_break_holder] -->            \/\/     left: ancestorRect.left,<!-- [et_pb_line_break_holder] -->            \/\/ };<!-- [et_pb_line_break_holder] -->            \/\/ }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            \/\/ Calculate modal left position<!-- [et_pb_line_break_holder] -->            \/\/ let modalLeft = targetElementLeft + targetRect.width \/ 2 + step.position.left - ancestorOffset.left;<!-- [et_pb_line_break_holder] -->            \/\/ \/\/ Check if modal is offscreen left or right<!-- [et_pb_line_break_holder] -->            \/\/ if (modalLeft < 0) {<!-- [et_pb_line_break_holder] -->            \/\/ modalLeft = 0; \/\/ Align with left edge<!-- [et_pb_line_break_holder] -->            \/\/ } else if (modalLeft + modalWidth > windowWidth) {<!-- [et_pb_line_break_holder] -->            \/\/ modalLeft = windowWidth - modalWidth; \/\/ Align with right edge<!-- [et_pb_line_break_holder] -->            \/\/ }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            \/\/ console.log(<!-- [et_pb_line_break_holder] -->            \/\/ `targetElementLeft is ${targetElementLeft}, targetRect.width is ${targetRect.width}, step.position.left is ${step.position.left}, ancestorOffset.left is ${ancestorOffset.left}, and modalLeft is ${modalLeft}`<!-- [et_pb_line_break_holder] -->            \/\/ );<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            \/\/ Calculate modal top position<!-- [et_pb_line_break_holder] -->            \/\/ const modalTop = targetElementTop + targetRect.height + 20 + step.position.top;<!-- [et_pb_line_break_holder] -->            \/\/ tutorialModal.style.top = `${modalTop}px`;<!-- [et_pb_line_break_holder] -->            \/\/ tutorialModal.style.left = `${modalLeft}px`;<!-- [et_pb_line_break_holder] -->            tutorialModal.style.top = `20px`;<!-- [et_pb_line_break_holder] -->            tutorialModal.style.right = `20px`;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            \/\/ console.log(`targetElementTop is ${targetElementTop}, targetRect.height is ${targetRect.height}, step.position.top is ${step.position.top}, ancestorOffset.top is ${ancestorOffset.top}.`);<!-- [et_pb_line_break_holder] -->            \/\/ console.log(`Window created at Top: ${tutorialModal.style.top} and Left: ${tutorialModal.style.left}`);<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            tutorialModal.style.position = 'fixed'<!-- [et_pb_line_break_holder] -->            tutorialModal.style.display = 'block';<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            const modalRect = tutorialModal.getBoundingClientRect();<!-- [et_pb_line_break_holder] -->            const positionTargetRect = positionReferenceElement.getBoundingClientRect();<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            \/\/ Scroll to modal with offset<!-- [et_pb_line_break_holder] -->            window.scrollTo({<!-- [et_pb_line_break_holder] -->            top: positionTargetRect.top + window.scrollY - 100,<!-- [et_pb_line_break_holder] -->            behavior: 'smooth'<!-- [et_pb_line_break_holder] -->            });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            \/\/ Adjust scroll if modal is offscreen bottom<!-- [et_pb_line_break_holder] -->            \/\/ if (modalRect.bottom > window.innerHeight) {<!-- [et_pb_line_break_holder] -->            \/\/ window.scrollTo({<!-- [et_pb_line_break_holder] -->            \/\/     top: window.scrollY + (modalRect.bottom - window.innerHeight),<!-- [et_pb_line_break_holder] -->            \/\/     behavior: 'smooth'<!-- [et_pb_line_break_holder] -->            \/\/ });<!-- [et_pb_line_break_holder] -->            \/\/ }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            const tutorialOverlay = document.getElementById('tutorial-overlay');<!-- [et_pb_line_break_holder] -->            tutorialOverlay.style.display = 'block';<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            targetElement.classList.add('highlight');<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        function getRelativeAncestor(element) {<!-- [et_pb_line_break_holder] -->            let currentElement = element;<!-- [et_pb_line_break_holder] -->            while (currentElement) {<!-- [et_pb_line_break_holder] -->                const style = window.getComputedStyle(currentElement);<!-- [et_pb_line_break_holder] -->                if (style.position === 'relative' || style.position === 'absolute') {<!-- [et_pb_line_break_holder] -->                return currentElement;<!-- [et_pb_line_break_holder] -->                }<!-- [et_pb_line_break_holder] -->                currentElement = currentElement.offsetParent;<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->            return null; \/\/ No relative ancestor\u00a0found<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        function getAbsolutePosition(element) {<!-- [et_pb_line_break_holder] -->            let top = 0;<!-- [et_pb_line_break_holder] -->            let left = 0;<!-- [et_pb_line_break_holder] -->            let currentElement = element;<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            while (currentElement) {<!-- [et_pb_line_break_holder] -->                top += currentElement.offsetTop;<!-- [et_pb_line_break_holder] -->                left += currentElement.offsetLeft;<!-- [et_pb_line_break_holder] -->                currentElement = currentElement.offsetParent;<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->            return { top, left };<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        \/\/ Initialize tutorial<!-- [et_pb_line_break_holder] -->        function initTutorial() {<!-- [et_pb_line_break_holder] -->            createPopupRightPane(1);<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        <!-- [et_pb_line_break_holder] -->        function closePopup() {<!-- [et_pb_line_break_holder] -->            const tutorialOverlay = document.getElementById('tutorial-overlay');<!-- [et_pb_line_break_holder] -->            tutorialOverlay.style.display = 'none';<!-- [et_pb_line_break_holder] -->            document.querySelectorAll('.highlight').forEach((element) => {<!-- [et_pb_line_break_holder] -->                element.classList.remove('highlight');<!-- [et_pb_line_break_holder] -->            });<!-- [et_pb_line_break_holder] -->            const tutorialModal = document.getElementById('tutorial-modal');<!-- [et_pb_line_break_holder] -->            tutorialModal.style.display = 'none';<!-- [et_pb_line_break_holder] -->            window.scrollTo({ top: 0, behavior: 'smooth' });<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] --><!-- [et_pb_line_break_holder] -->        \/\/ Function to generate resources object<!-- [et_pb_line_break_holder] -->        function generateResources() {<!-- [et_pb_line_break_holder] -->        return {<!-- [et_pb_line_break_holder] -->    \"levels\": {<!-- [et_pb_line_break_holder] -->        \"1\": {<!-- [et_pb_line_break_holder] -->            \"All\": {<!-- [et_pb_line_break_holder] -->                \"All\": [<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 1: Ad Blocking\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.firstnrc.org\/?page_id=597\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"How to install an ad blocker on a browser.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"FirstNRC: Ad Blocker Installation\"<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                ]<!-- [et_pb_line_break_holder] -->            },<!-- [et_pb_line_break_holder] -->            \"Computer\/Laptop\": {<!-- [et_pb_line_break_holder] -->                \"All\": [<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Browser Settings\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.firstnrc.org\/?page_id=1518\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"FirstNRC's webpage for browsers.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"FirstNRC: Browsers\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 1: Browser Modifications\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/support.google.com\/chrome\/answer\/95426?co=GENIE.Platform%3DDesktop&hl=en\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"How to set the default search engine for Google Chrome \",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Google: Chrome Default Search\"<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                ],<!-- [et_pb_line_break_holder] -->                \"Apple\": [<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 1: Ad Blocking\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.firstnrc.org\/?page_id=597\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"How to install an ad blocker on a broswer.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"FirstNRC: Ad Blocker Installation\"<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                ],<!-- [et_pb_line_break_holder] -->                \"Windows\": [<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 1: Ad Blocking\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.firstnrc.org\/?page_id=597\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"How to install an ad blocker on a broswer.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"FirstNRC: Ad Blocker Installation\"<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                ]<!-- [et_pb_line_break_holder] -->            },<!-- [et_pb_line_break_holder] -->            \"E-Reader\": {<!-- [et_pb_line_break_holder] -->                \"Kindle\": [<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 1: Ad Blocking\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.laptopmag.com\/articles\/turn-off-ads-kindle-fire-hdx\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Step by step instructions on how to turn off ads on Kindle Fire.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"LaptopMag: How to Turn off Kindle Ads\"<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                ]<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->        },<!-- [et_pb_line_break_holder] -->        \"2\": {<!-- [et_pb_line_break_holder] -->            \"All\": {<!-- [et_pb_line_break_holder] -->                \"All\": [<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Alternate Sites\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.kidzsearch.com\/images.html\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"A website that delivers results from Google but more dependably filtered.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"KidzSearch: Child-Safe Seach Option\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 2: DNS Protection\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.opendns.com\/setupguide\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Instructions for multiple systems on how to set DNS.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"OpenDNS: Setting Your DNS\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Online Settings\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/support.google.com\/websearch\/answer\/510?hl=en\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"How to set up SafeSearch on Google.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Google: SafeSearch Setup\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Online Settings\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/support.google.com\/youtube\/answer\/174084?hl=en\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Turn YouTube Restricted Mode on.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Google: YouTube Restricted Mode\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Online Settings\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/help.yahoo.com\/kb\/search\/SLN2247.html?impressions=true&guccounter=1&guce_referrer=aHR0cHM6Ly9maXJzdG5yYy5vcmcv&guce_referrer_sig=AQAAADWJfauv767nBMbXnfFhgqBL8wg8nv1FKjahrPIb7WMJ4-DMRIG0p0t7DNblLTzAaE6ECJh5eyYqwtkeIa8Wr_1V1WZ-3fhCF9O33cHmiO4cpGYr0EgSlBiK0JzTYy17pfORfFRfMXS17R4cTgkyvA93nOEAb87G-_YOdTDieqJ5\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"How to set up SafeSearch on Yahoo.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Yahoo: SafeSearch Setup\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Online Settings\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.bewebsmart.com\/safe-search\/filter-out-adult-content-in-bing\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"How to set up SafeSearch on Bing.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"BeWebSmart: Bing SafeSearch Setup\"<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                ]<!-- [et_pb_line_break_holder] -->            },<!-- [et_pb_line_break_holder] -->            \"Computer\/Laptop\": {<!-- [et_pb_line_break_holder] -->                \"Apple\": [<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"General Support Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.firstnrc.org\/?page_id=854\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"FirstNRC's webpage for Apple's MacOS operating system.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"FirstNRC: Apple MacOS\"<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                ],<!-- [et_pb_line_break_holder] -->                \"Windows\": [<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"General Support Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.firstnrc.org\/?page_id=863\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"FirstNRC's webpage for the Microsoft Windows operating system.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"FirstNRC: Windows Devices\"<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                ]<!-- [et_pb_line_break_holder] -->            },<!-- [et_pb_line_break_holder] -->            \"E-Reader\": {<!-- [et_pb_line_break_holder] -->                \"All\": [<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"General Support Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.firstnrc.org\/?page_id=869\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"FirstNRC's webpage for E-Readers.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"FirstNRC: E-Readers\"<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                ]<!-- [et_pb_line_break_holder] -->            },<!-- [et_pb_line_break_holder] -->            \"Phone\/Tablet\": {<!-- [et_pb_line_break_holder] -->                \"All\": [<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"General Support Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.firstnrc.org\/?page_id=819\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"FirstNRC's webpage for Google's Android operating system.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"FirstNRC: Android Devices\"<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                ],<!-- [et_pb_line_break_holder] -->                \"Apple\": [<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"General Support Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.firstnrc.org\/?page_id=90\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"FirstNRC's webpage for Apple's iOS operating system.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"FirstNRC: Apple iOS\"<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                ]<!-- [et_pb_line_break_holder] -->            },<!-- [et_pb_line_break_holder] -->            \"Router\": {<!-- [et_pb_line_break_holder] -->                \"All\": [<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"General Support Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.firstnrc.org\/?page_id=871\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"FirstNRC's webpage for routers.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"FirstNRC: Routers\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 2: DNS Protection\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.firstnrc.org\/wp-content\/uploads\/2017\/10\/openDNS_and_Router_Setup_Guide.pdf\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Our instructions on how to set up OpenDNS.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"PDF\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"FirstNRC: How to Set Up OpenDNS\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 2: DNS Protection\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.opendns.com\/home-internet-security\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"The main site for OpenDNS.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"OpenDNS: Main Site\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 2: DNS Protection (Alternate Options)\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/cleanbrowsing.org\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"The main site for CleanBrowsing.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"CleanBrowsing: Main Site\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 2: DNS Protection (Alternate Options)\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/protectyoungeyes.com\/how-to-block-porn-on-any-device-for-free\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Setup instructions for Cleanbrowsing from Protect Young Eyes.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Protect Young Eyes: CleanBrowsing Setup\"<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                ],<!-- [et_pb_line_break_holder] -->                \"CleanRouter\": [<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 2: DNS Protection (Alternate Options)\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/cleanrouter.com\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"The main site for CleanRouter.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"CleanRouter: Main Site\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 2: DNS Protection (Alternate Options)\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/cleanrouter.com\/purchase\/#Router_Select\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"CleanRouter devices that can be purchased.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Device\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"CleanRouter: Router Options\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 2: DNS Protection (Alternate Options)\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/cleanrouter.com\/#faqs\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"CleanRouter questions and answers.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"CleanRouter: FAQ\"<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                ],<!-- [et_pb_line_break_holder] -->                \"D-Link\": [<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"General Support Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/support.dlink.com\/index.aspx\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Support for D-Link products.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"D-Link: Support\"<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                ]<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->        },<!-- [et_pb_line_break_holder] -->        \"3\": {<!-- [et_pb_line_break_holder] -->            \"All\": {<!-- [et_pb_line_break_holder] -->                \"All\": [<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Browser Settings\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.itechtics.com\/private-browsing-mode-enable-disable\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"How to disable private browsing modes so that history is recorded.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"iTechtics.com: Disable In-Private Browsing\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls (Alternate Options)\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/protectyoungeyes.com\/the-best-parental-control-software\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Detailed comparison of fourteen different filtering options for parental control.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Protect Young Eyes: Filter Comparison\"<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                ]<!-- [et_pb_line_break_holder] -->            },<!-- [et_pb_line_break_holder] -->            \"Computer\/Laptop\": {<!-- [et_pb_line_break_holder] -->                \"Apple\": [<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"General Support Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/help.qustodio.com\/hc\/en-us\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Qustodio's support page.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Qustodio: Support\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.qustodio.com\/en\/downloads\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Downloads for Qustodio, including parent and child devices, whether Apple, Android, Windows, Chromebook or Kindle.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Qustodio: Download\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/help.qustodio.com\/hc\/en-us\/articles\/360005219377-How-to-install-Qustodio-on-a-Windows-or-Mac-computer\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Step by Step instructions on how to install Qustodio on Windows or Mac computers.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Qustodio: Windows or Mac Installation\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls (Device Settings)\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.firstnrc.org\/?page_id=140\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Instructions on how to set up parental controls on MacOS X.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Five Minute Fix: MacOS X Parental Contols\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Notes\",<!-- [et_pb_line_break_holder] -->                        \"link\": \" \",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"You can allow older\ufffdchildren to use email and still block all other internet (i.e. website access) if you wish. You can\ufffdlimit your child\ufffds contact list (i.e. those to whom they can send and receive email from) by adding specific\ufffdemail addresses to the \ufffdAllowed Contacts\ufffd list in the \ufffdPeople\ufffd tab of the \ufffdParental Controls\ufffd settings\ufffdpanel. (Website access is allowed\/disallowed in the \ufffdWeb\ufffd tab of the \ufffdParental Controls\ufffd settings panel.)\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Tip\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Mac: Email & Internet Restrictions\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Product Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.qustodio.com\/en\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Qustodio's website.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Qustodio: Main Site\"<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                ],<!-- [et_pb_line_break_holder] -->                \"Chromebook\": [<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.qustodio.com\/en\/downloads\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Downloads for Qustodio, including parent and child devices, whether Apple, Android, Windows, Chromebook or Kindle.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Qustodio: Download\"<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                ],<!-- [et_pb_line_break_holder] -->                \"Windows\": [<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Available Services\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.microsoft.com\/en-us\/microsoft-365\/family-safety\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"The main page for Microsoft's Family Safety service.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Service\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Microsoft: Family Safety\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Available Services\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.firstnrc.org\/wp-content\/uploads\/2018\/09\/Microsoft-Family-Safety-in-Windows-10.pdf\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Our guide on how to use Microsoft Family Safety.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"PDF\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"FirstNRC: Microsoft Family Safety\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Available Services\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/play.google.com\/store\/apps\/details?id=com.microsoft.familysafety&hl=en_US&gl=US\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"App to install on your child's Android device to monitor and restrict content using Microsoft's Famiy Safety system.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"App\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Google Play: Microsoft Family Safety\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Available Services\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/apps.apple.com\/us\/app\/microsoft-family-safety\/id1489209093\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"App to install on your child's iOS device to monitor and restrict content using Microsoft's Famiy Safety system.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"App\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"iOS App Store: Microsoft Family Safety\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Available Services\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/account.microsoft.com\/family\/home\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"The account page for Microsoft Family Safety.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Microsoft: Family Safety Page\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"General Support Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/edu.gcfglobal.org\/en\/windows7\/managing-user-accounts-and-parental-controls\/1\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"How to set up user accounts on Windows 7 devices for individual settings.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"GCFGlobal: User Account Setup on Windows 7\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"General Support Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/edu.gcfglobal.org\/en\/windows8\/managing-user-accounts-and-parental-controls\/1\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"How to set up user accounts on Windows 8 devices for individual settings.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"GCFGlobal: User Account Setup on Windows 8\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"General Support Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.netnanny.com\/support\/net-nanny-10\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Support questions for Net Nanny 10\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Net Nanny: Support FAQ\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"General Support Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/help.qustodio.com\/hc\/en-us\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Qustodio's support page.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Qustodio: Support\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.firstnrc.org\/?page_id=1239\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"FirstNRC's webpage for Qustodio filtering software.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"FirstNRC: Qustodio\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/support.microsoft.com\/en-us\/account-billing\/getting-started-with-microsoft-family-safety-b6280c9d-38d7-82ff-0e4f-a6cb7e659344\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"How to set up parental controls on Microsoft's Famiy Safety service.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Microsoft: Set Up Family Safety Parental Controls\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/help.qustodio.com\/hc\/en-us\/articles\/360005219377-How-to-install-Qustodio-on-a-Windows-or-Mac-computer\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Step by Step instructions on how to install Qustodio on Windows or Mac computers.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Qustodio: Windows or Mac Installation\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls (Alternate Options)\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.firstnrc.org\/?page_id=1292\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"FirstNRC's webpage for Net Nanny filtering software.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"FirstNRC: Net Nanny\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls (Alternate Options)\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.netnanny.com\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Net Nanny's website.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Net Nanny: Main Site\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls (Alternate Options)\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.netnanny.com\/downloads\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Download the Net Nanny app for Windows and MacOS.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Net Nanny: Download\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls (Device Settings)\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.internetmatters.org\/parental-controls\/smartphones-and-other-devices\/windows-7\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"How to set up parental controls on Windows 7 devices.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"InternetMatters: Windows 7 Parental Controls\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls (Device Settings)\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/support.microsoft.com\/en-us\/topic\/windows-8-set-up-family-safety-local-account-63ea6824-4b90-8987-eb62-547c4c45cd72\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"How to set up parental controls on Windows 8 devices.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Microsoft: Family Safety on Windows 8\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls (Device Settings)\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.wikihow.com\/Set-Up-Parental-Controls-in-Windows-8\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"How to set up parental controls on Windows 8 devices.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"WikiHow: Windows 8 Parental Controls\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls (Device Settings)\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.windowscentral.com\/how-change-user-account-type-windows-10\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"How to set up user accounts on Windows 10 devices for individual settings.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Windows Central: User Account Setup on Windows 10\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls (Device Settings)\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/famisafe.wondershare.com\/parental-control\/windows-10-parental-controls.html\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"How to set up parental controls on Windows 10 devices.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"WonderShare: Windows 10 Parental Controls\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Product Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.qustodio.com\/en\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Qustodio's website.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Qustodio: Main Site\"<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                ]<!-- [et_pb_line_break_holder] -->            },<!-- [et_pb_line_break_holder] -->            \"E-Reader\": {<!-- [et_pb_line_break_holder] -->                \"Kindle\": [<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"General Support Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.amazon.com\/gp\/help\/customer\/display.html?nodeId=T2TGuaVZYZ3Q53MSxQ\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Support page for Kindle Fire.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Amazon: Kindle Fire Support\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"General Support Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.amazon.com\/gp\/help\/customer\/display.html?nodeId=GDRLC59WEFZTBPU7\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Support from Amazon for the classic Kindle.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Amazon: Kindle (non-Fire) Support\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls (Alternate Options)\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.netnanny.com\/blog\/how-to-set-up-parental-controls-on-kindle\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Net Nanny's instructions on how to set up the default parental controls on a Kindle Fire.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Net Nanny: Kindle Fire Controls\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls (Device Settings)\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.amazon.com\/gp\/help\/customer\/display.html?nodeId=GB8P5MQSYFYHPCQ5\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"How to set up parental controls for purchases on the Kindle.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Amazon: Kindle (non-Fire) Parental Controls\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls (Device Settings)\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/s3-us-west-2.amazonaws.com\/customerdocumentation\/Kindle_Fire_1st_Gen_Help\/Kindle_Fire_1st_Generation_Basics_PDF.pdf\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Manual for the 1st Generation Kindle Fire E-Reader, with instructions on how to set up parental controls.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Kindle Fire: 1st Generation Manual\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls (Device Settings)\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/d1ergij2b6wmg5.cloudfront.net\/Fire+Tablet\/Early+Generation+Device+Help\/Kindle+Fire+2nd+Gen+Help\/Set+Up+Parental+Controls.html\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Instructions on how to set up controls on the 2nd Generation Kindle Fire E-Reader.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Kindle Fire: 2nd Generation Parental Controls\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls (Device Settings)\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.amazon.com\/gp\/help\/customer\/display.html?nodeId=G93XLZGRK98PQ9M4\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Instructions on how to set up controls on the 3rd Generation Kindle Fire E-Reader.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Kindle Fire: 3rd Generation Parental Controls\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls (Device Settings)\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/protectyoungeyes.com\/devices\/kindle-fire-hd-parental-controls\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"A guide from Protect Young Eye's on the parental controls for the Kindle Fire.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Protect Young Eyes: Kindle Fire Controls\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Qustodio\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.amazon.com\/Qustodio-Parental-Control\/dp\/B00CM7FLSK\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"App download page for Qustodio on Kindle Fire.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"App\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Amazon: Qustodio App for Kindle\"<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                ],<!-- [et_pb_line_break_holder] -->                \"Nook\": [<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"General Support Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/help.barnesandnoble.com\/hc\/en-us\/articles\/5466204926235-NOOK-Profiles-Guidelines\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"How to set up individual profiles on the Nook for you and our child.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Barnes & Noble: Setting up Profiles for the Nook\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"General Support Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/help.barnesandnoble.com\/hc\/en-us\/categories\/4520922548379-B-N-NOOK-Support\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"General support for the Nook E-Readers and Tablets.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Barnes & Noble: Nook Support\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls (Device Settings)\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.laptopmag.com\/articles\/how-to-enable-parental-controls-on-barnes-nobles-nook-hd\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Instructions on how to set up parental controls on the Nook HD.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Laptop Mag: Nook HD Parental Controls\"<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                ]<!-- [et_pb_line_break_holder] -->            },<!-- [et_pb_line_break_holder] -->            \"Phone\/Tablet\": {<!-- [et_pb_line_break_holder] -->                \"All\": [<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Available Alternate Phones\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.bark.us\/bark-phone\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"A child-phone option with parental controls built in.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Device\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Bark: Bark Phone\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Available Alternate Phones\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/cleanphone.info\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"A child-phone option with parental controls built in.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Device\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"CleanPhone: CleanPhone\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Available Alternate Phones\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/gabb.com\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"A child-phone option with parental controls built in.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Device\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Gabb: Gabb Phone\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Available Alternate Phones\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.mmguardian.com\/kids-phone\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"A child-phone option with parental controls built in.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Device\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"MMGaurdian: MMGaurdian Phone\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Available Alternate Phones\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.pinwheel.com\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"A child-phone option with parental controls built in.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Device\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Pinwheel: Pinwheel Phone\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Available Alternate Phones\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/myteracube.com\/products\/teracube-thrive-us\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"A child-phone option with parental controls built in.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Device\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Teracube: Teracube Thrive Phone\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Available Alternate Phones\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/troomi.com\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"A child-phone option with parental controls built in.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Device\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Troomi: Troomi Phone\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Available Services\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.att.com\/security\/secure-family-app\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"The main page for AT&T Secure Family.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"AT&T: Secure Family\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Available Services\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.att.com\/support\/article\/wireless\/KM1271913\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Features and FAQs on the AT&T Secure Family app.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"AT&T: Secure Family Support\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Available Services\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/play.google.com\/store\/apps\/details?id=com.wavemarket.waplauncher&hl=en_US&gl=US\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"App to install on your own Android device to monitor and restrict content on your child's device using AT&T's Secure Family app.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"App\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Google Play: AT&T Secure Family Parent App\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Available Services\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/play.google.com\/store\/apps\/details?id=com.att.securefamilycompanion&hl=en_US&gl=US\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"App to install on your child's Android device to monitor and restrict content using AT&T's Secure Family app.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"App\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Google Play: AT&T Secure Family Child App\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Available Services\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/play.google.com\/store\/apps\/details?id=com.tmobile.familycontrols&hl=en_US\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"App to install on your child's Android device to monitor and restrict content using T-Mobile's Family Mode.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"App\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Google Play: T-Mobile Family Mode\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Available Services\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/play.google.com\/store\/apps\/details?id=com.verizon.familybase.parent&hl=en_US&gl=US\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"App to install on your own Android device to monitor and restrict content on your child's device using Verizon's Smart Family app.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"App\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Google Play: Verizon Smart Family Parent App\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Available Services\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/play.google.com\/store\/apps\/details?id=com.verizon.familybase.companion&hl=en_US&gl=US\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"App to install on your child's Android device to monitor and restrict content using Verizon's Smart Family app.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"App\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Google Play: Verizon Smart Family Child App\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Available Services\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/apps.apple.com\/us\/app\/at-t-secure-family-parent-app\/id353334746\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"App to install on your own iOS device to monitor and restrict content on your child's device using AT&T's Secure Family app.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"App\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"iOS App Store: AT&T Secure Family Parent App\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Available Services\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/apps.apple.com\/us\/app\/at-t-secure-family-companion\/id1402684782\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"App to install on your child's iOS device to monitor and restrict content using AT&T's Secure Family app.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"App\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"iOS App Store: AT&T Secure Family Child App\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Available Services\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/apps.apple.com\/us\/app\/t-mobile-familymode\/id1348097043\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"App to install on your child's iOS device to monitor and restrict content using T-Mobile's Family Mode.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"App\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"iOS App Store: T-Mobile Family Mode\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Available Services\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/apps.apple.com\/us\/app\/verizon-smart-family-parent\/id923408272\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"App to install on your own iOS device to monitor and restrict content on your child's device using Verizon's Smart Family app.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"App\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"iOS App Store: Verizon Smart Family Parent App\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Available Services\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/apps.apple.com\/us\/app\/smart-family-companion\/id1352914754\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"App to install on your child's iOS device to monitor and restrict content using Verizon's Smart Family app.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"App\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"iOS App Store: Verizon Smart Family Child App\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Available Services\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.att.com\/support\/article\/u-verse-high-speed-internet\/KM1336815\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"How to set up Parental Controls on AT&T home internet devices.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"AT&T: Home Internet Parental Controls\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Available Services\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.att.com\/scmsassets\/upper_funnel\/wireless\/att-secure-family-user-guide.pdf\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"How to set up parental controls on AT&T Secure Family app.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"PDF\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"AT&T: Secure Family Setup Guide\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Available Services\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.t-mobile.com\/apps\/t-mobile-family-mode\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"The main page for T-Mobile's Family Mode.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"T-Mobile: Family Mode\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Available Services\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.t-mobile.com\/support\/plans-features\/familymode-app\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"How to set up parental controls on T-Mobile's Family Mode app.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"T-Mobile: Set Up Family Mode Parental Controls\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Available Services\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.verizon.com\/solutions-and-services\/add-ons\/safety\/verizon-smart-family\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"The main page for Verizon's Smart Family app.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Verizon: Smart Family\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Available Services\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.verizon.com\/support\/verizon-smart-family-faqs\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"How to set up parental controls on Verizon's Smart Family app.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Verizon: Set Up Smart Family Parental Controls\"<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                ],<!-- [et_pb_line_break_holder] -->                \"Android\": [<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Available Services\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/families.google\/familylink\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"The main page for Google's Family Link service.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Service\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Google: Family Link\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Available Services\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/safety.google\/families\/parental-supervision\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"More information on the parental controls from Google Family Link.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Google: Set Parental Controls on Family Link\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Available Services\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/play.google.com\/store\/apps\/details?id=com.google.android.apps.kids.familylink&referrer=utm_source%3Dfamilylink%26utm_medium%3Dwebsite%26utm_campaign%3Dfaq_footer\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"App to install on your child's Android device to monitor and restrict content using the Google Family Link system.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"App\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Google Play: Family Link\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"General Support Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.netnanny.com\/support\/net-nanny-10\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Support questions for Net Nanny 10\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Net Nanny: Support FAQ\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"General Support Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/help.qustodio.com\/hc\/en-us\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Qustodio's support page.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Qustodio: Support\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.firstnrc.org\/wp-content\/uploads\/2018\/03\/Setup-applock-for-any-android-smartphone.pdf\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Our guide on how to set up AppLock on Android\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"PDF\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"FirstNRC: AppLock Setup\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.firstnrc.org\/?page_id=1239\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"FirstNRC's webpage for Qustodio filtering software.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"FirstNRC: Qustodio\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.firstnrc.org\/wp-content\/uploads\/2018\/03\/Setup-applock-for-any-android-smartphone.pdf\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Our guide on how to set up AppLock on Android\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"PDF\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"FirstNRC: AppLock Setup\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/play.google.com\/store\/apps\/details?id=com.domobile.applockwatcher\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Use this app to control installation of other apps.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"App\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Google Play: AppLock Download\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/play.google.com\/store\/apps\/details?id=com.qustodio.qustodioapp&hl=en_US\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Install this Qustodio app on your child's Android device.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"App\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Google Play: Qustodio Child App\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/play.google.com\/store\/apps\/details?id=com.qustodio.family.parental.control.app.screentime&hl=en_US\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Install this Qustodio app on your Android device.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"App\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Google Play: Qustodio Parent App\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/play.google.com\/store\/apps\/details?id=com.domobile.applockwatcher\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Use this app to control installation of other apps.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"App\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Google Play: AppLock Download\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/help.qustodio.com\/hc\/en-us\/articles\/360005404737-How-to-install-the-Kids-App-Qustodio-on-an-Android-device-\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Step by Step instructions on how to install Qustodio on a child's Android device.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Qustodio: Child Android Installation\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.qustodio.com\/en\/downloads\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Downloads for Qustodio, including parent and child devices, whether Apple, Android, Windows, Chromebook or Kindle.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Qustodio: Download\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls (Alternate Options)\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.firstnrc.org\/?page_id=1292\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"FirstNRC's webpage for Net Nanny filtering software.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"FirstNRC: Net Nanny\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls (Alternate Options)\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/play.google.com\/store\/apps\/details?id=com.contentwatch.ghoti.cp2.parent&hl=en&gl=US\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Net Nanny download on Google Play.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"App\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Google Play: Net Nanny\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls (Alternate Options)\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.netnanny.com\/blog\/how-to-set-parental-controls-for-android\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Instructions on how to set up Net Nanny on an Android device.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Net Nanny: Android Installation\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls (Alternate Options)\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/install.netnanny.com\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Visit this page from your child's device for a setup walk-through.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Net Nanny: Child Device Setup\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls (Device Settings)\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.firstnrc.org\/?page_id=187\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Instructions on how to set up parental controls for Android.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Five Minute Fix: Android Parental Controls\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls (Device Settings)\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/support.google.com\/googleplay\/answer\/1075738?hl=en\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Google's instructions on how to set up parental controls for Google Play, the app that supplies content to Android devices.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Google: Parental Controls for Google Play\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls (Device Settings)\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/support.google.com\/android\/answer\/9079129?hl=en\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"How to set up a screen lock on an Android device.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Google: Setting A Screen Lock\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls (Device Settings)\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.gottabemobile.com\/how-to-setup-android-parental-controls-and-content-filtering\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Instructions on how to set up parental controls for Android.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"GottaBeMobile.com: Android Parental Controls\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Product Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.netnanny.com\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Net Nanny's website.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Net Nanny: Main Site\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Product Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.qustodio.com\/en\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Qustodio's website.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Qustodio: Main Site\"<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                ],<!-- [et_pb_line_break_holder] -->                \"Apple\": [<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Available Services\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/apps.apple.com\/us\/app\/google-family-link\/id1150085200\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"App to install on your child's iOS device to monitor and restrict content using the Google Family Link system.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"App\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"iOS App Store: Family Link\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Available Services\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.apple.com\/family-sharing\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"The main page for Apple's Family Sharing service.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Service\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Apple: Family Sharing\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Available Services\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/support.apple.com\/guide\/iphone\/set-up-parental-controls-iph00ba7d632\/ios\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"How to set up parental controls on Apple's Family Sharing service.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Apple: Set Up Family Sharing Parental Controls\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"General Support Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.netnanny.com\/support\/net-nanny-10\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Support questions for Net Nanny 10\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Net Nanny: Support FAQ\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"General Support Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/help.qustodio.com\/hc\/en-us\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Qustodio's support page.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Qustodio: Support\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.firstnrc.org\/wp-content\/uploads\/2019\/10\/iPhone-Setup-Suggestions.pdf\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"A PDF from the Modern Media Committee on how to set up an iPhone for parental controls.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"PDF\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"FirstNRC: Our Suggestions for iPhone Setup\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.firstnrc.org\/?page_id=1239\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"FirstNRC's webpage for Qustodio filtering software.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"FirstNRC: Qustodio\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/apps.apple.com\/us\/app\/kids-app-qustodio\/id990229433?ls=1\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Install this Qustodio app on your Apple device.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"App\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"iOS App Store: Qustodio Kids App\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/apps.apple.com\/us\/app\/qustodio-parental-control-app\/id1501720596\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Install this Qustodio app on your child's Apple device.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"App\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"iOS App Store: Qustodio Parent App\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/help.qustodio.com\/hc\/en-us\/articles\/360005453517-How-do-I-install-the-Kids-App-Qustodio-on-an-iOS-device-\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Step by Step instructions on how to install Qustodio on a child's iOS device.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Qustodio: Child iOS Installation\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls (Alternate Options)\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.firstnrc.org\/?page_id=1292\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"FirstNRC's webpage for Net Nanny filtering software.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"FirstNRC: Net Nanny\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls (Alternate Options)\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/apps.apple.com\/us\/app\/net-nanny-parental-control-app\/id1211763414\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Install this Net Nanny app on your Apple device.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"App\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"iOS App Store: Net Nanny Parent App\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls (Alternate Options)\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/apps.apple.com\/us\/app\/net-nanny-child-app\/id1211447197\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Install this Net Nanny app on your child's Apple device.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"App\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"iOS App Store: Net Nanny Child App\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls (Alternate Options)\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/install.netnanny.com\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Visit this page from your child's device for a setup walk-through.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Net Nanny: Child Device Setup\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls (Device Settings)\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/support.apple.com\/en-us\/HT201304\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Apple's instructions on how to use parental controls on iPhone, iPad, and iPod Touch.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Apple: Parental Controls\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls (Device Settings)\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/support.apple.com\/en-us\/HT204060\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Apple's instructions on how to set a passcode on iPhone, iPad, and iPod Touch.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Apple: Setting a Passcode\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls (Device Settings)\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.firstnrc.org\/?page_id=179\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Instructions on how to set up parental controls on iOS.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Five Minute Fix: iOS Parental Contols\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Product Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.netnanny.com\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Net Nanny's website.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Net Nanny: Main Site\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Product Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.qustodio.com\/en\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Qustodio's website.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Qustodio: Main Site\"<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                ],<!-- [et_pb_line_break_holder] -->                \"Custom\": [<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Available Alternate Phones\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/g-mee.com\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"A child-phone option with parental controls built in.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Device\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"G-Mee: G-Mee Phone\"<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                ]<!-- [et_pb_line_break_holder] -->            },<!-- [et_pb_line_break_holder] -->            \"Router\": {<!-- [et_pb_line_break_holder] -->                \"All\": [<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Router Parental Controls\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/protectyoungeyes.com\/the-ultimate-guide-to-understanding-routers\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"A detailed article on routers from Protect Young Eyes.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Protect Young Eyes: Router Guide\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Notes\",<!-- [et_pb_line_break_holder] -->                        \"link\": \" \",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Quite a few routers nowadays have parental controls already on them. For the most part, though, the controls are limited. To use your current router in conjunction with a better filter, look for one of the third party services, listed above.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Tip\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Note:Does My Current Router Have Parental Controls?\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Product Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/kibosh.com\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"The main site for Kibosh.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Kibosh: Main Site\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Product Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.netangel.com\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"The main site for NetAngel.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"NetAngel: Main Site\"<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                ],<!-- [et_pb_line_break_holder] -->                \"Asus\": [<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls (Device Settings)\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.asus.com\/support\/FAQ\/1008720\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Videos and Instructions for Parental Controls on Asus Routers.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Asus: Parental Control Setup\"<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                ],<!-- [et_pb_line_break_holder] -->                \"AT&T\": [<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Router Parental Controls\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/support.opendns.com\/hc\/en-us\/articles\/228006207-Special-Case-AT-T-U-Verse\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"According to Protect Young Eyes (Link), the 2-Wire brand routers are not configurable because they are locked down by AT&T. They link to an OpenDNS article on this problem with a workaround, but you\ufffdll need a second router and some technical experience:\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Tip\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Protect Young Eyes: AT&T U-Verse \/ 2-Wire\"<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                ],<!-- [et_pb_line_break_holder] -->                \"Aura\": [<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls (Device Settings)\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.aura.com\/help-category\/parental-controls\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Questions on setup and use of the Aura Parental Controls.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Aura: Parental Controls FAQ\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Product Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.aura.com\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"The main site for Aura (formerly Circle) online safety service.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Aura: Main Site\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Product Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/buy.aura.com\/parental-controls-2-rdj-circle?utm_source=circle&utm_medium=referral&utm_campaign=circle-homepage&utm_id=circle-homepage&utm_gateway=parental-controls\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"The standalone device from Aura (formerly Circle)\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Device\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Aura: Standalone Device\"<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                ],<!-- [et_pb_line_break_holder] -->                \"Circle\": [<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"General Support Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/support.meetcircle.com\/hc\/en-us\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"The Circle support site.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Circle: Support for Circle (formerly Aura)\"<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                ],<!-- [et_pb_line_break_holder] -->                \"D-Link\": [<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"General Support Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/play.google.com\/store\/apps\/details?id=com.dlink.mydlink&hl=en_US\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"App to control your D-Link router from an Android device.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"App\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Google Play: D-Link App\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"General Support Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/apps.apple.com\/us\/app\/mydlink-lite\/id372571229\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"App to control your D-Link router from an iOS device.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"App\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"iOS App Store: D-Link App\"<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                ],<!-- [et_pb_line_break_holder] -->                \"Eero\": [<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Product Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/support.eero.com\/hc\/en-us\/articles\/360052742411-eero-Plus-Content-Filters\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"A description of the filtering Eero can do.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Eero: Filtering\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Product Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/eero.com\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"The main site for Eero.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Eero: Main Site\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Product Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/eero.com\/shop\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Eero devices that can be purchased.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Eero: Device Options\"<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                ],<!-- [et_pb_line_break_holder] -->                \"Firewalla\": [<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Product Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/help.firewalla.com\/hc\/en-us\/articles\/360008214094-Activity-and-Parental-Control?_gl=1*kqcjhf*_ga*NDcxNTgwNTM5LjE3MDM4ODkwOTQ.*_ga_5CFZ2S3E53*MTcwMzg4OTA5NC4xLjAuMTcwMzg4OTA5NC42MC4wLjA.\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Parental controls available with Firewalla.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Firewalla: Parental Controls\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Product Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/firewalla.com\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"The main site for CleanRouter.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Firewalla: Main Site\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Product Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/firewalla.com\/collections\/firewalla-products\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Firewalla devices that can be purchased.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Firewalla: Device Options\"<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                ],<!-- [et_pb_line_break_holder] -->                \"Gryphon\": [<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"General Support Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/gryphonconnect.com\/pages\/customer-support\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Gryphon customer support.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Gryphon: Support\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Product Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/gryphonconnect.com\/pages\/parental-control\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Features of the the Gryphon parental control system.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Gryphon: Parental Control Features\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Product Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/gryphonconnect.com\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"The main site for Gryphon.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Gryphon: Main Site\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Product Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/gryphonconnect.com\/collections\/all\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Gryphon devices that can be purchased.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Device\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Gryphon: Router Options\"<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                ],<!-- [et_pb_line_break_holder] -->                \"Linksys\": [<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"General Support Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.linksys.com\/linksys-support\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Support site for Linksys products.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Linksys: Support\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls (Device Settings)\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.howtogeek.com\/242697\/how-to-manage-parental-controls-on-linksys-smart-wi-fi\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Third party instructions on how to use parental controls on the Linksys routers.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"HowToGeek: Linksys Parental Controls\"<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                ],<!-- [et_pb_line_break_holder] -->                \"NetGear\": [<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"General Support Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/play.google.com\/store\/apps\/details?id=com.dragonflow.android.orbi&hl=en\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"App to control your NetGear Orbi router from an Android device.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"App\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Google Play: NetGear Orbi App\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"General Support Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/play.google.com\/store\/apps\/details?id=com.netgear.netgearup\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"App to control your NetGear Nighthawk router from an Android device.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"App\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Google Play: NetGear Nighthawk App\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"General Support Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/apps.apple.com\/us\/app\/netgear-orbi-wifi-system-app\/id1182184397\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"App to control your NetGear Orbi router from an iOS device.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"App\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"iOS App Store: NetGear Orbi App\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"General Support Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/apps.apple.com\/us\/app\/netgear-nighthawk-wifi-app\/id1124666597\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"App to control your NetGear Nighthawk router from an iOS device.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"App\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"iOS App Store: NetGear Nighthawk App\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls (Device Settings)\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.netgear.com\/home\/services\/circle-smart-parental-controls\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Description of Circle parental controls on NetGear routers.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"NetGear: Circle\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls (Device Settings)\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.netgear.com\/home\/services\/smart-parental-controls\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Description of NetGear smart parental controls on NetGear routers.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"NetGear: Parental Controls\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls (Device Settings)\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.netgear.com\/home\/services\/orbi-app\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"NetGear's app to control Orbi routers, including parental controls.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"NetGear: Orbi App\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls (Device Settings)\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.netgear.com\/home\/services\/nighthawk-app\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"NetGear's app to control Nighthawk routers, including parental controls.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"NetGear: Nighthawk App\"<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                ],<!-- [et_pb_line_break_holder] -->                \"TP-Link\": [<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls (Device Settings)\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.tp-link.com\/us\/support\/faq\/350\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Instructions for parental controls for the older TP-Link devices.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"TP-Link: Older Parental Controls\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 3: Parental Controls (Device Settings)\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.tp-link.com\/us\/support\/faq\/1124\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Instructions for parental controls for the newer TP-Link devices.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"TP-Link: Newer Parental Controls\"<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                ]<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->        },<!-- [et_pb_line_break_holder] -->        \"4\": {<!-- [et_pb_line_break_holder] -->            \"Computer\/Laptop\": {<!-- [et_pb_line_break_holder] -->                \"Apple\": [<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 4: Screen Monitoring\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/support.covenanteyes.com\/hc\/en-us\/articles\/12717137028123\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Step by step instructions on how to install Covenant Eyes on a Mac computer.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Covenant Eyes: Install on Mac\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 4: Screen Monitoring\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/support.covenanteyes.com\/hc\/en-us\/articles\/11844270323995\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Support article on how to set up an account for Covenant Eyes.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Covenant Eyes: General Support Article\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 4: Screen Monitoring\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/support.covenanteyes.com\/hc\/en-us\/articles\/12717137028123\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Step by step instructions on how to install Covenant Eyes on a Mac computer.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Covenant Eyes: Install on Mac\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Product Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.covenanteyes.com\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Covenant Eye's website.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Covenant Eyes: Main Site\"<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                ],<!-- [et_pb_line_break_holder] -->                \"Windows\": [<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 4: Screen Monitoring\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/support.covenanteyes.com\/hc\/en-us\/articles\/12776845315611\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Step by step instructions on how to install Covenant Eyes on a Windows device.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Covenant Eyes: Install on Windows\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 4: Screen Monitoring\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/support.covenanteyes.com\/hc\/en-us\/articles\/11844270323995\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Support article on how to set up an account for Covenant Eyes.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Covenant Eyes: General Support Article\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 4: Screen Monitoring\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/support.covenanteyes.com\/hc\/en-us\/articles\/12776845315611\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Step by step instructions on how to install Covenant Eyes on a Windows device.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Covenant Eyes: Install on Windows\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 4: Screen Monitoring\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.firstnrc.org\/?page_id=4911\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"FirstNRC's webpage for Covenant Eyes filtering software.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"FirstNRC: Covenant Eyes\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Product Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.covenanteyes.com\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Covenant Eye's website.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Covenant Eyes: Main Site\"<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                ]<!-- [et_pb_line_break_holder] -->            },<!-- [et_pb_line_break_holder] -->            \"Phone\/Tablet\": {<!-- [et_pb_line_break_holder] -->                \"Android\": [<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 4: Screen Monitoring\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/support.covenanteyes.com\/hc\/en-us\/articles\/12868293068955\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Step by step instructions on how to install Covenant Eyes on an Android device.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Covenant Eyes: Install on Android\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 4: Screen Monitoring\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/support.covenanteyes.com\/hc\/en-us\/articles\/11844270323995\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Support article on how to set up an account for Covenant Eyes.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Covenant Eyes: General Support Article\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 4: Screen Monitoring\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/support.covenanteyes.com\/hc\/en-us\/articles\/12868293068955\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Step by step instructions on how to install Covenant Eyes on an Android device.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Covenant Eyes: Install on Android\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 4: Screen Monitoring\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.firstnrc.org\/?page_id=4911\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"FirstNRC's webpage for Covenant Eyes filtering software.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"FirstNRC: Covenant Eyes\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Product Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.covenanteyes.com\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Covenant Eye's website.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Covenant Eyes: Main Site\"<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                ],<!-- [et_pb_line_break_holder] -->                \"Apple\": [<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 4: Screen Monitoring\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/support.covenanteyes.com\/hc\/en-us\/articles\/11844270323995\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Support article on how to set up an account for Covenant Eyes.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Covenant Eyes: General Support Article\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 4: Screen Monitoring\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/support.covenanteyes.com\/hc\/en-us\/articles\/12351811675547\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Step by step instructions on how to install Covenant Eyes on an iPhone or iPad.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Covenant Eyes: Install on iPhone\/iPad\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 4: Screen Monitoring\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.firstnrc.org\/?page_id=4911\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"FirstNRC's webpage for Covenant Eyes filtering software.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"FirstNRC: Covenant Eyes\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 4: Screen Monitoring\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/apps.apple.com\/us\/app\/covenant-eyes-quit-porn-now\/id335318146\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Use this iPhone\/iPad app for the person being protected.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"App\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"iOS App Store: Covenant Eyes Protection App\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Level 4: Screen Monitoring\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/apps.apple.com\/us\/app\/victory-by-covenant-eyes\/id1593067468\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Use this iPhone\/iPad app for the accountability partner doing the monitoring.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"App\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"iOS App Store: Covenant Eyes Victory App\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"Product Pages\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"https:\/\/www.covenanteyes.com\/\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"Covenant Eye's website.\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"Link\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"Covenant Eyes: Main Site\"<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                ]<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->        },<!-- [et_pb_line_break_holder] -->        \"x\": {<!-- [et_pb_line_break_holder] -->            \"Computer\/Laptop\": {<!-- [et_pb_line_break_holder] -->                \"Linux\": [<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"\"<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                ]<!-- [et_pb_line_break_holder] -->            },<!-- [et_pb_line_break_holder] -->            \"\": {<!-- [et_pb_line_break_holder] -->                \"\": [<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"\"<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                ]<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->        },<!-- [et_pb_line_break_holder] -->        \"\": {<!-- [et_pb_line_break_holder] -->            \"\": {<!-- [et_pb_line_break_holder] -->                \"\": [<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"\"<!-- [et_pb_line_break_holder] -->                    },<!-- [et_pb_line_break_holder] -->                    {<!-- [et_pb_line_break_holder] -->                        \"name\": \"\",<!-- [et_pb_line_break_holder] -->                        \"link\": \"\",<!-- [et_pb_line_break_holder] -->                        \"instructions\": \"\",<!-- [et_pb_line_break_holder] -->                        \"type\": \"\",<!-- [et_pb_line_break_holder] -->                        \"header\": \"\"<!-- [et_pb_line_break_holder] -->                    }<!-- [et_pb_line_break_holder] -->                ]<!-- [et_pb_line_break_holder] -->            }<!-- [et_pb_line_break_holder] -->        }<!-- [et_pb_line_break_holder] -->    }<!-- [et_pb_line_break_holder] -->}};<!-- [et_pb_line_break_holder] -->\t<\/script><!-- [et_pb_line_break_holder] --><\/body><!-- [et_pb_line_break_holder] --><\/html><!-- [et_pb_line_break_holder] -->[\/et_pb_code][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":5,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"page-template-blank.php","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"\u00a0\r\n\r\n\u00a0\r\n\r\n<style>\r\n        body{<br \/>\r\n            font-family: 'Segoe UI', Tahoma, Genev<span data-mce-type=\"bookmark\" style=\"display: inline-block; width: 0px; overflow: hidden; line-height: 0;\" class=\"mce_SELRES_start\">\ufeff<\/span>a, Verdana, sans-serif;<br \/>\r\n        }<br \/>\r\n        h5{<br \/>\r\n            font-weight:normal;<br \/>\r\n            color:gray;<br \/>\r\n            margin:1px;<br \/>\r\n            display:inline;<br \/>\r\n        }<br \/>\r\n        a {<br \/>\r\n            max-width: 250px;<br \/>\r\n            overflow: hidden;<br \/>\r\n            text-overflow: ellipsis;<br \/>\r\n            white-space: nowrap;<br \/>\r\n            display: inline-block;<br \/>\r\n        }<\/p>\r\n<p>        .member-card {<br \/>\r\n            flex: 1 0 200px;<br \/>\r\n            max-width:200px;<br \/>\r\n            padding: 10px;<br \/>\r\n            border: 1px solid #ddd;<br \/>\r\n            border-radius: 10px;<br \/>\r\n            box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);<br \/>\r\n            text-align:center;<br \/>\r\n            position: relative;<br \/>\r\n            break-inside: avoid;<br \/>\r\n            page-break-inside: avoid; \/* For older browsers *\/<br \/>\r\n        }<br \/>\r\n        .device-card {<br \/>\r\n            flex: 1 0 200px;<br \/>\r\n            max-width:200px;<br \/>\r\n            padding: 10px;<br \/>\r\n            border: 1px solid #ddd;<br \/>\r\n            border-radius: 10px;<br \/>\r\n            box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);<br \/>\r\n            text-align:center;<br \/>\r\n            position: relative;<br \/>\r\n            break-inside: avoid;<br \/>\r\n            page-break-inside: avoid; \/* For older browsers *\/<br \/>\r\n        }<br \/>\r\n        \/* .add{<br \/>\r\n            float:right;<br \/>\r\n            position:absolute;<br \/>\r\n            bottom: 5px;<br \/>\r\n            right: 5px;<br \/>\r\n            z-index:5;<br \/>\r\n            background-color: white;<br \/>\r\n        } *\/<br \/>\r\n        .icon {<br \/>\r\n            font-size: 24px;<br \/>\r\n            margin-bottom: 10px;<br \/>\r\n        }<\/p>\r\n<p>        .member-info {<br \/>\r\n            margin-top: 10px;<br \/>\r\n        }<br \/>\r\n        .device-info {<br \/>\r\n            margin-top: 10px;<br \/>\r\n        }<\/p>\r\n<p>        .bi-person-circle {<br \/>\r\n            color: #007bff;<br \/>\r\n            font-size: 50;<br \/>\r\n        }<br \/>\r\n        .bi-person-plus-fill {<br \/>\r\n            color: #007bff;<br \/>\r\n            font-size: 30;<br \/>\r\n        }<br \/>\r\n        .bi-plus{<br \/>\r\n            color:#007bff;<br \/>\r\n            font-weight:bold;<br \/>\r\n        }<br \/>\r\n        .flexGrid{<br \/>\r\n            display:flex;<br \/>\r\n            flex-wrap:wrap;<br \/>\r\n            gap:10px;<br \/>\r\n        }<br \/>\r\n        .cardName{<br \/>\r\n            border: 1px solid white;<br \/>\r\n            text-align: center;<br \/>\r\n            font-size: large;<br \/>\r\n            width:100%;<br \/>\r\n            margin-bottom:10px;<br \/>\r\n        }<br \/>\r\n        .cardName:hover{<br \/>\r\n            border: 1px solid #ddd;<br \/>\r\n        }<br \/>\r\n        .button{<br \/>\r\n            color: #007bff;<br \/>\r\n            text-align: center;<br \/>\r\n            box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);<br \/>\r\n            align-content: center;<br \/>\r\n            position:relative;<br \/>\r\n        }<br \/>\r\n        .small{<br \/>\r\n            border-radius: 20px;<br \/>\r\n            border: 1.5px solid #007bff;<br \/>\r\n            height:30px;<br \/>\r\n            width:30px;<br \/>\r\n        }<br \/>\r\n        .large{<br \/>\r\n            border-radius: 30px;<br \/>\r\n            border: 3px solid #007bff;<br \/>\r\n            height:50px;<br \/>\r\n            width:50px;<br \/>\r\n            margin:0 auto;<br \/>\r\n        }<br \/>\r\n        .button:hover{<br \/>\r\n            box-shadow: 0 0 10px rgba(0, 0, 0, 0.301);<br \/>\r\n            cursor:pointer;<br \/>\r\n        }<br \/>\r\n        .container{<br \/>\r\n            position:relative;<br \/>\r\n            overflow:auto;<br \/>\r\n        }<br \/>\r\n        .close{<br \/>\r\n            position:absolute;<br \/>\r\n            top: 5px;<br \/>\r\n            right:5px;<br \/>\r\n        }<br \/>\r\n        .close:hover{<br \/>\r\n            color:red;<br \/>\r\n            cursor:pointer;<br \/>\r\n        }<br \/>\r\n        .rightBarButton{<br \/>\r\n            width:10%;<br \/>\r\n            border-left: 1px solid #ffffff;<br \/>\r\n            display: flex;<br \/>\r\n            align-items: center;<br \/>\r\n        }<br \/>\r\n        .rightBarButton:hover{<br \/>\r\n            cursor:pointer;<br \/>\r\n            \/* box-shadow: 0 0 10px rgba(0, 0, 0, 0.301); *\/<br \/>\r\n            border: 1px solid #007bff;<br \/>\r\n            background-color:white;<br \/>\r\n            color:#007bff;<br \/>\r\n        }<br \/>\r\n        .listName{<br \/>\r\n            width:90%<br \/>\r\n        }<br \/>\r\n        .listItem{<br \/>\r\n            display:flex;<br \/>\r\n            border: 1px solid #ddd;<br \/>\r\n            border-radius: 3px;<br \/>\r\n            margin:5px;<br \/>\r\n        }<br \/>\r\n        .listItem.selected{<br \/>\r\n            background-color: #007bff;<br \/>\r\n            color:white;<br \/>\r\n        }<br \/>\r\n        .listAddButton{<br \/>\r\n            border: 1px solid #ddd;<br \/>\r\n            border-radius: 3px;<br \/>\r\n            \/* margin:5px; *\/<br \/>\r\n            display:inline-block;<br \/>\r\n            width:25px;<br \/>\r\n        }<br \/>\r\n        .listAddButton:hover{<br \/>\r\n            border: 1px solid #007bff;<br \/>\r\n            cursor:pointer;<br \/>\r\n        }<br \/>\r\n        .listHeader{<br \/>\r\n            display:flex;<br \/>\r\n            align-items: center;<br \/>\r\n            width:100%;<br \/>\r\n            justify-content: space-between;<br \/>\r\n        }<br \/>\r\n        .resource-group {<br \/>\r\n        margin-bottom: 20px;<br \/>\r\n        }<\/p>\r\n<p>        .resource-grid {<br \/>\r\n        display: flex;<br \/>\r\n        flex-wrap: wrap;<br \/>\r\n        justify-content: left;<br \/>\r\n        }<\/p>\r\n<p>        .resource-item {<br \/>\r\n        flex-basis: 30%;<br \/>\r\n        margin: 10px;<br \/>\r\n        padding: 10px;<br \/>\r\n        border: 1px solid #ddd;<br \/>\r\n        border-radius: 10px;<br \/>\r\n        box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);<br \/>\r\n        width:300px;<br \/>\r\n        max-width:300px;<br \/>\r\n        min-width:300px;<br \/>\r\n        break-inside: avoid;<br \/>\r\n        page-break-inside: avoid; \/* For older browsers *\/<br \/>\r\n        }<br \/>\r\n        .resource-header {<br \/>\r\n        color:black;<br \/>\r\n        font-size:18px;<br \/>\r\n        }<br \/>\r\n        .resource-header-split-1{<\/p>\r\n<p>            display:inline-block;<br \/>\r\n            text-align: center;<br \/>\r\n            align-content: center;<br \/>\r\n            vertical-align: top;<br \/>\r\n        }<br \/>\r\n        .resource-icon{<br \/>\r\n            font-size:40px;<br \/>\r\n        }<br \/>\r\n        .resource-header-split-2{<br \/>\r\n            display:inline-block;<br \/>\r\n        }<br \/>\r\n        .resource-header-split{<br \/>\r\n            align-content: center;<br \/>\r\n        }<br \/>\r\n        .resource-source {<br \/>\r\n        color:darkblue;<br \/>\r\n        font-size:11px;<br \/>\r\n        }<br \/>\r\n        .resource-text {<br \/>\r\n            margin-top:\u00a010px;<br \/>\r\n        }<br \/>\r\n        .deviceResourceHeader{<br \/>\r\n            display: block;<br \/>\r\n            font-size: 1.5em;<br \/>\r\n            font-weight: bold;<br \/>\r\n            border-bottom: 2px solid blue;<br \/>\r\n            margin-left: -15px;<br \/>\r\n        }<br \/>\r\n        .deviceResourceSubHeader{<br \/>\r\n            color:darkgray;<br \/>\r\n            font-size:16px;<br \/>\r\n            font-style:italic;<br \/>\r\n        }<br \/>\r\n        #output{<br \/>\r\n            margin:20px;<br \/>\r\n        }<br \/>\r\n        #family-container{<br \/>\r\n            margin:20px;<br \/>\r\n        }<br \/>\r\n        #findInfoButton{<br \/>\r\n            text-align: center;<br \/>\r\n            align-content: center;<br \/>\r\n            font-size:20px;<br \/>\r\n            font-weight:bold;<br \/>\r\n            margin: 0 auto;<br \/>\r\n            width:300px;<br \/>\r\n            height:50px;<br \/>\r\n            background-color: #007bff;<br \/>\r\n            color:white;<br \/>\r\n            box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);<br \/>\r\n            border-radius: 5px;<br \/>\r\n            margin-top:75px;<br \/>\r\n            margin-bottom:75px;<br \/>\r\n        }<br \/>\r\n        #findInfoButton:hover{<br \/>\r\n            box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);<br \/>\r\n            cursor:pointer;<br \/>\r\n        }<br \/>\r\n        .add-card{<br \/>\r\n            text-align: center;<br \/>\r\n            align-content: center;<br \/>\r\n        }<br \/>\r\n        .add-button{<br \/>\r\n            font-size:50px;<br \/>\r\n        }<br \/>\r\n        #print-button{<br \/>\r\n            text-align: center;<br \/>\r\n            align-content: center;<br \/>\r\n            font-size:20px;<br \/>\r\n            font-weight:bold;<br \/>\r\n            \/* margin: 0 auto; *\/<br \/>\r\n            \/* width:125px; *\/<br \/>\r\n            height:50px;<br \/>\r\n            background-color: #007bff;<br \/>\r\n            color:white;<br \/>\r\n            box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);<br \/>\r\n            border-radius: 5px;<br \/>\r\n            margin-top:25px;<br \/>\r\n            margin-bottom:25px;<br \/>\r\n            margin-right:25px;<br \/>\r\n            float:right;<br \/>\r\n            padding-right:10px;<br \/>\r\n        }<br \/>\r\n        #print-button:hover{<br \/>\r\n            box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);<br \/>\r\n            cursor:pointer;<br \/>\r\n        }<br \/>\r\n        .printIcon{<br \/>\r\n            margin:10px;<br \/>\r\n        }<\/p>\r\n<\/style>\r\n<div id=\"print-button\"><i class=\"bi bi-printer printIcon\"><\/i>Print Page<\/div>\r\n<h1>Filter Builder<\/h1>\r\n<div id=\"family-container\"><!--\r\n<h2>Family: <span id=\"family-name\">Smiths<\/span><\/h2>\r\n-->\r\n<h3>Members:<\/h3>\r\n<div class=\"container\">\r\n<ul id=\"members-list\" class=\"flexGrid\"><!-- auto filled --><\/ul>\r\n<\/div>\r\n<h3>Devices:<\/h3>\r\n<div class=\"container\"><\/div>\r\n<ul id=\"devices-list\" class=\"flexGrid\"><!-- auto filled --><\/ul>\r\n<\/div>\r\n<div id=\"findInfoButton\">Find Information<\/div>\r\n<div id=\"output\"><\/div>\r\n<script>\r\n\t\t\/\/ Get the family container element\r\n        const familyContainer = document.getElementById('family-container');\r\n\r\n        \/\/ Get the members list element\r\n        const membersList = document.getElementById('members-list');\r\n\r\n        \/\/ Get the devices list element\r\n        const devicesList = document.getElementById('devices-list');\r\n\r\n        \/\/ let currentFocusElement = null;\r\n        let currentFocusIndex = null;\r\n        let memberEventListenerAdded = false;\r\n        let deviceEventListenerAdded = false;\r\n\r\n        const levelRadios = document.getElementsByName('level');\r\n\r\n        \/\/ Initialize the family object\r\n        const family = {\r\n            members: [\r\n                {\r\n                name: 'John',\r\n                level: 4,\r\n                devices: [0],\r\n                monitoring: [1],\r\n                monitoredBy: [1],\r\n                },\r\n                {\r\n                name: 'Mary',\r\n                level: 4,\r\n                devices: [1],\r\n                monitoring: [0],\r\n                monitoredBy: [0],\r\n                }\r\n            ],\r\n            devices: [\r\n                {\r\n                name: `John's Phone`,\r\n                type: 'Phone\/Tablet',\r\n                brand: 'Android',\r\n                users: [0]\r\n                },\r\n                {\r\n                name: `Mary's Phone`,\r\n                type: 'Phone\/Tablet',\r\n                brand: 'Apple',\r\n                users: [1]\r\n                }\r\n            ]\r\n        };\r\n\r\n        \/\/ Print button event listener\r\n        document.getElementById('print-button').addEventListener('click', printPage);\r\n\r\n        updateUI();\r\n\r\n        const resources = generateResources();\r\n\r\n        function cardListHTML(type, objectIndex) {\r\n            if (type != 'users'){\r\n                array = family.members[objectIndex][type]\r\n            } else {\r\n                array = family.devices[objectIndex][type]\r\n            }\r\n            var HTML = '';\r\n            const allItems = type === 'devices' ? family.devices : family.members;\r\n            allItems.forEach((item, index) => {\r\n                const name = item.name;\r\n                let cardClass = '';\r\n                let display = 'none';\r\n                let buttonIcon = 'bi-plus';\r\n                let buttonAction = `updateList('${objectIndex}', '${type}', ${index})`;\r\n\r\n                if (array.includes(index)) {\r\n                    display = 'flex';\r\n                    cardClass = 'selected ';\r\n                    buttonIcon = 'bi-dash';\r\n                    \/\/ buttonAction = `remove${type.charAt(0).toUpperCase() + type.slice(1)}(${index})`;\r\n                }\r\n\r\n                if (type === 'devices') {cardClass += 'listItem devices';\r\n                } else if (type === 'monitoring') {cardClass += 'listItem monitoring';\r\n                } else if (type === 'monitoredBy') {cardClass += 'listItem monitoredBy';\r\n                } else if (type === 'users') {cardClass += 'listItem users';\r\n                }\r\n\r\n                HTML += `\r\n                <\/p>\r\n<div class=\"${cardClass}\" style=\"display: ${display}\"><p>\r\n                    <\/p>\r\n<div class=\"listName\">${name}<\/div>\r\n<p>\r\n                    <\/p>\r\n<div class=\"rightBarButton\" onclick=\"${buttonAction}\">\r\n                    <i class=\"${buttonIcon}\"><\/i>\r\n                    <\/div>\r\n<p>\r\n                <\/div>\r\n<p>\r\n                `;\r\n            });\r\n            return HTML;\r\n        }\r\n\r\n        function updateList(objectIndex, type, index) {\r\n            objectIndex = +objectIndex; \/\/ Convert to integer\r\n            index = +index; \/\/ Convert to integer\r\n\r\n            if (type==='devices') {\r\n                if (family.members[objectIndex][type].includes(index)) {\r\n                    \/\/ remove index from lists\r\n                    family.members[objectIndex][type].splice(family.members[objectIndex][type].indexOf(index), 1);\r\n                    family.devices[index]['users'].splice(family.devices[index]['users'].indexOf(objectIndex), 1);\r\n                } else {\r\n                    \/\/ add index to lists\r\n                    family.members[objectIndex][type].push(index);\r\n                    family.devices[index]['users'].push(objectIndex);\r\n                    hideUnselectedItems(objectIndex, type);\r\n                }\r\n            } else if (type==='users') {\r\n                if (family.devices[objectIndex][type].includes(index)) {\r\n                    \/\/ remove index from lists\r\n                    family.devices[objectIndex][type].splice(family.devices[objectIndex][type].indexOf(index), 1);\r\n                    family.members[index]['devices'].splice(family.members[index]['devices'].indexOf(objectIndex), 1);\r\n                } else {\r\n                    \/\/ add index to lists\r\n                    family.devices[objectIndex][type].push(index);\r\n                    family.members[index]['devices'].push(objectIndex);\r\n                    hideUnselectedItems(objectIndex, type);\r\n                }\r\n            } else {\r\n                if (family.members[objectIndex][type].includes(index)) {\r\n                    \/\/ remove index from lists\r\n                    family.members[objectIndex][type].splice(family.members[objectIndex][type].indexOf(index), 1);\r\n                    family.members[index][type].splice(family.members[index][type].indexOf(objectIndex), 1);\r\n                } else {\r\n                    \/\/ add index to lists\r\n                    family.members[objectIndex][type].push(index);\r\n                    family.members[index][type].push(objectIndex);\r\n                    hideUnselectedItems(objectIndex, type);\r\n                }\r\n            }\r\n            updateUI()\r\n        }\r\n\r\n        function revealUnselectedItems(index, type) {\r\n            if (type != 'users'){\r\n                var card = document.querySelector(`#member-${index}-info`);\r\n            } else {\r\n                var card = document.querySelector(`#device-${index}-info`);\r\n            }\r\n            const items = card.querySelectorAll(`.${type}`);\r\n            items.forEach((item, itemIndex) => {\r\n                item.style.display = 'flex';\r\n            })\r\n        }\r\n\r\n        function hideUnselectedItems(index, type) {\r\n            if (type != 'users'){\r\n                var cards = document.querySelectorAll(`.member-${index}`);\r\n            } else {\r\n                var cards = document.querySelectorAll(`.device-${index}`);\r\n            }\r\n            cards.forEach((card, cardIndex) => {\r\n                const items = card.querySelectorAll(`.${type}:not(.selected)`);\r\n                items.forEach((item, itemIndex) => {\r\n                    item.style.display = 'none';\r\n                })\r\n            });\r\n        }\r\n\r\n\r\n\r\n        function updateUI() {\r\n            console.log(\"Updating the UI\");\r\n\r\n        \/\/------------------------------------------------------------    \r\n        \/\/\r\n        \/\/            Add members\r\n        \/\/\r\n        \/\/------------------------------------------------------------\r\n\r\n            membersList.innerHTML = '';\r\n            family.members.forEach((member, index) => {\r\n                console.log(\"Working with member \" + index);\r\n                const inputId = `member-${index}`;\r\n                console.log(`member level is ${member.level}`);\r\n                \/\/ Use the inputId variable to set the ID attribute of the input element\r\n                membersList.innerHTML += `\r\n                    <\/p>\r\n<div class=\"member-card\"><p>\r\n                        <\/p>\r\n<div class=\"close\"><i class=\"bi bi-x-circle\" data-member-index=\"${index}\"><\/i><\/div>\r\n<p>\r\n                        <\/p>\r\n<div class=\"icon\">\r\n                            <i class=\"bi bi-person-circle\"><\/i>\r\n                        <\/div>\r\n<p>\r\n                        <\/p>\r\n<div class=\"member-info\" id=\"member-${index}-info\"><p>\r\n                            <input type=\"text\" class=\"cardName\" id=\"${inputId}\" name=\"name\" data-member-index=\"${index}\" value=\"${member.name}\">\r\n                            <\/p>\r\n<div class=\"level-options\">Filter Level:<br\/>\r\n                                <input type=\"radio\" data-member-index=\"${index}\" id=\"${inputId}-level-1\" name=\"${inputId}-level\" value=\"1\" ${member.level === 1 ? 'checked' : ''}>\r\n                                <label for=\"${inputId}-level-1\">1<\/label>\r\n                                <input type=\"radio\" data-member-index=\"${index}\" id=\"${inputId}-level-2\" name=\"${inputId}-level\" value=\"2\" ${member.level === 2 ? 'checked' : ''}>\r\n                                <label for=\"${inputId}-level-2\">2<\/label>\r\n                                <input type=\"radio\" data-member-index=\"${index}\" id=\"${inputId}-level-3\" name=\"${inputId}-level\" value=\"3\" ${member.level === 3 ? 'checked' : ''}>\r\n                                <label for=\"${inputId}-level-3\">3<\/label>\r\n                                <input type=\"radio\" data-member-index=\"${index}\" id=\"${inputId}-level-4\" name=\"${inputId}-level\" value=\"4\" ${member.level === 4 ? 'checked' : ''}>\r\n                                <label for=\"${inputId}-level-4\">4<\/label>\r\n                            <\/div>\r\n<p>\r\n                            <\/p>\r\n<div class=\"listHeader\">\r\n<h5>Devices:<\/h5>\r\n<div class=\"listAddButton\" onclick=\"revealUnselectedItems(${index}, 'devices')\"><i class=\"bi bi-plus\"><\/i><\/div>\r\n<\/div>\r\n<p>\r\n                            <\/p>\r\n<div id=\"${inputId}-devices\">\r\n                                ${cardListHTML('devices',index)}\r\n                            <\/div>\r\n<p>\r\n                            <\/p>\r\n<div class=\"listHeader\">\r\n<h5>Monitored By:<\/h5>\r\n<div class=\"listAddButton\" onclick=\"revealUnselectedItems(${index}, 'monitoredBy')\"><i class=\"bi bi-plus\"><\/i><\/div>\r\n<\/div>\r\n<p>\r\n                            <\/p>\r\n<div id=\"${inputId}-monitoredBy\">\r\n                                ${cardListHTML('monitoredBy',index)}\r\n                            <\/div>\r\n<p>\r\n                            <\/p>\r\n<div class=\"listHeader\">\r\n<h5>Monitoring:<\/h5>\r\n<div class=\"listAddButton\" onclick=\"revealUnselectedItems(${index}, 'monitoring')\"><i class=\"bi bi-plus\"><\/i><\/div>\r\n<\/div>\r\n<p>\r\n                            <\/p>\r\n<div id=\"${inputId}-monitoring\">\r\n                                ${cardListHTML('monitoring',index)}\r\n                            <\/div>\r\n<p>\r\n                        <\/div>\r\n<p>\r\n                    <\/div>\r\n<p>\r\n                `;\r\n            });\r\n\r\n            membersList.innerHTML += `\r\n            <\/p>\r\n<div class=\"member-card add-card\"><p>\r\n                <\/p>\r\n<div class=\"button large\" id=\"add-member-btn\">\r\n                <i class=\"bi bi-plus add-button\"><\/i>\r\n                <br\/>\r\n                <\/div>\r\n<p>\r\n            <\/div>\r\n<p>\r\n            `;\r\n\r\n\r\n            \/\/------------------------------------------------------------    \r\n            \/\/\r\n            \/\/            Add devices\r\n            \/\/\r\n            \/\/------------------------------------------------------------\r\n\r\n            \/\/ Define device types and brands as a JavaScript object\r\n            const deviceTypes = {\r\n            \"Phone\/Tablet\": [\"Android\", \"Apple\"],\r\n            \"Computer\/Laptop\": [\"MacOS\", \"Windows\"],\r\n            \"Router\": [\"All\", \"Asus\", \"AT&T\", \"Aura\", \"Circle\", \"CleanRouter\", \"D-Link\", \"Eero\", \"Firewalla\", \"Gryphon\", \"Linksys\", \"NetGear\", \"TP-Link\"],\r\n            \"E-Reader\": [\"Kindle\", \"Nook\"]\r\n            };\r\n            devicesList.innerHTML = '';\r\n            \/\/ Generate HTML for device cards\r\n            family.devices.forEach((device, index) => {\r\n            const inputId = `device-${index}`;\r\n\r\n            devicesList.innerHTML += `\r\n                <\/p>\r\n<div class=\"device-card\"><p>\r\n                    <\/p>\r\n<div class=\"close\"><i class=\"bi bi-x-circle\" data-device-index=\"${index}\"><\/i><\/div>\r\n<p>\r\n                    <\/p>\r\n<div class=\"icon\">\r\n                        <i class=\"bi bi-person-circle\"><\/i>\r\n                    <\/div>\r\n<p>\r\n                    <\/p>\r\n<div class=\"device-info\" id=\"device-${index}-info\"><p>\r\n                        <input type=\"text\" class=\"cardName\" id=\"device-${inputId}\" name=\"name\" data-device-index=\"${index}\" value=\"${device.name}\">\r\n                    <\/p>\r\n<div class=\"type-options\">\r\n                        Type:\r\n                        <select id=\"${inputId}-type\" name=\"${inputId}-type\" data-device-index=\"${index}\">\r\n                        ${Object.keys(deviceTypes).map((type) => `\r\n<option value=\"${type}\" ${device.type === type ? 'selected' : ''}>${type}<\/option>\r\n                        `).join('')}\r\n                        <\/select>\r\n                    <\/div>\r\n<p>\r\n                    <\/p>\r\n<div class=\"brand-options\">\r\n                        Brand:\r\n                        <select id=\"${inputId}-brand\" name=\"${inputId}-brand\" data-device-index=\"${index}\">\r\n                        <!-- Options will be populated dynamically -->\r\n                        <\/select>\r\n                    <\/div>\r\n<p>\r\n                    <\/p>\r\n<div class=\"Users\">\r\n<h5>Users:<\/h5>\r\n<div class=\"listAddButton\" onclick=\"revealUnselectedItems(${index}, 'users')\"><i class=\"bi bi-plus\"><\/i><\/div>\r\n<\/div>\r\n<p>\r\n                    <\/p>\r\n<div id=\"${inputId}-users\">\r\n                        ${cardListHTML('users',index)}\r\n                    <\/div>\r\n<p>\r\n                <\/div>\r\n<p>\r\n            <\/div>\r\n<p>\r\n        `;\r\n\r\n            \/\/ Add event listener to first dropdown\r\n            document.getElementById(`${inputId}-type`).addEventListener('change', (e) => {\r\n                const selectedType = e.target.value;\r\n                const brandSelect = document.getElementById(`${inputId}-brand`);\r\n\r\n                \/\/ Clear existing options\r\n                brandSelect.innerHTML = '';\r\n\r\n                \r\n                brandSelect.innerHTML = '';\r\n                const availableBrands = deviceTypes[selectedType];\r\n\r\n                \/\/ Check if device.brand is an available option\r\n                const isSelectedBrandAvailable = availableBrands.includes(device.brand);\r\n\r\n                \/\/ Set default brand if device.brand is not available\r\n                if (!isSelectedBrandAvailable) {\r\n                    device.brand = availableBrands[0];\r\n                    console.log(`device.brand needed to be updated. It is now ${device.brand}`)\r\n                }\r\n\r\n                availableBrands.forEach((brand) => {\r\n                const isSelected = device.brand === brand;\r\n                    brandSelect.innerHTML += `<option value=\"${brand}\" ${isSelected ? 'selected' : ''}>${brand}<\/option>`;\r\n                });\r\n\r\n\r\n\r\n                console.log(`Ending first dropdown change event. Value of second dropdown is ${brand}.`)\r\n\r\n            });\r\n\r\n            \/\/ Initialize brand options for initial device type\r\n\r\n\r\n            \/\/ Initialize brand options for initial device type\r\n            const initialType = document.getElementById(`${inputId}-type`).value;\r\n            const brandSelect = document.getElementById(`${inputId}-brand`);\r\n\r\n            \/\/ Check if device.brand is an available option\r\n            const availableBrands = deviceTypes[initialType];\r\n            const isSelectedBrandAvailable = availableBrands.includes(device.brand);\r\n\r\n            \/\/ Set default brand if device.brand is not available\r\n            if (!isSelectedBrandAvailable) {\r\n            device.brand = availableBrands[0];\r\n            }\r\n\r\n            availableBrands.forEach((brand) => {\r\n            const isSelected = device.brand === brand;\r\n            brandSelect.innerHTML += `<option value=\"${brand}\" ${isSelected ? 'selected' : ''}>${brand}<\/option>`;\r\n            });\r\n\r\n            brandSelect.value = device.brand;\r\n\r\n            \/\/ const initialType = document.getElementById(`${inputId}-type`).value;\r\n            \/\/ const brandSelect = document.getElementById(`${inputId}-brand`);\r\n            \/\/ deviceTypes[initialType].forEach((brand) => {\r\n            \/\/     const isSelected = device.brand === brand;\r\n            \/\/     brandSelect.innerHTML += `<option value=\"${brand}\" ${isSelected ? 'selected' : ''}>${brand}<\/option>`;\r\n            \/\/ });\r\n\r\n            \/\/ \/\/ deviceTypes[initialType].forEach((brand) => {\r\n            \/\/ \/\/     brandSelect.innerHTML += `<option value=\"${brand}\">${brand}<\/option>`;\r\n            \/\/ \/\/ });\r\n            \/\/ brandSelect.value = device.brand;\r\n            \/\/ console.log(`Device is ${index}, \r\n            \/\/ brandSelect.value is ${brandSelect.value}, \r\n            \/\/ deviceTypes[initialType].indexOf(device.brand) is ${deviceTypes[initialType].indexOf(device.brand)},\r\n            \/\/ device.brand is ${device.brand}.`);\r\n            });\r\n\r\n            devicesList.innerHTML += `\r\n            <\/p>\r\n<div class=\"device-card add-card\"><p>\r\n                <\/p>\r\n<div class=\"button large\" id=\"add-device-btn\">\r\n                <i class=\"bi bi-plus add-button\"><\/i>\r\n                <br\/>\r\n                <\/div>\r\n<p>\r\n            <\/div>\r\n<p>\r\n            `;\r\n\r\n            \/\/------------------------------------------------------------    \r\n            \/\/\r\n            \/\/            Add event listeners\r\n            \/\/\r\n            \/\/------------------------------------------------------------\r\n\r\n            if (!memberEventListenerAdded) {\r\n\r\n                membersList.addEventListener('input', (event) => {\r\n                    \/\/ Check if the event target is an input or select element\r\n                    if (event.target.tagName === 'INPUT' || event.target.tagName === 'SELECT') {\r\n                        console.log(\"Starting event handling script.\")\r\n                        \/\/ Store the current selection start and end positions\r\n                        const selectionStart = event.target.selectionStart;\r\n                        const selectionEnd = event.target.selectionEnd;\r\n                        console.log(\"Selection stored.\")\r\n\r\n                        \/\/ Update the JSON data\r\n                        const memberIndex = event.target.dataset.memberIndex;\r\n                        const member = family.members[memberIndex];\r\n                        member.name = event.target.name === 'name' ? event.target.value : member.name;\r\n                        member.level = event.target.name === `member-${memberIndex}-level` ? parseInt(event.target.value) : member.level;\r\n                        \/\/ member.title = event.target.name === 'title' ? event.target.value : member.title;\r\n                        console.log(\"JSON updated. Asking UI to update next.\")\r\n\r\n                        updateUI();\r\n                        const id = event.target.id;\r\n                        console.log(\"id to restore is \" + id)\r\n                        const newInputBox = document.getElementById(id);\r\n                        if (event.target.type === \"text\"){\r\n                            newInputBox.focus();\r\n                            console.log(\"New input box focused.\")\r\n                            newInputBox.selectionStart = selectionStart;\r\n                            newInputBox.selectionEnd = selectionEnd;\r\n                        };\r\n                    }\r\n                });\r\n                \r\n                membersList.addEventListener('click', (event) => {\r\n                    console.log(\"click\");\r\n                    const memberIndex = event.target.dataset.memberIndex;\r\n                    if (event.target.classList.contains(\"bi-x-circle\")){\r\n                        console.log(\"close\")\r\n                        family.members = family.members.filter((member, index) => index !== parseInt(memberIndex));\r\n                        updateUI();\r\n                    }\r\n                });\r\n                memberEventListenerAdded = true;\r\n            }\r\n\r\n\r\n            if (!deviceEventListenerAdded) {\r\n\r\n                devicesList.addEventListener('input', (event) => {\r\n                    \/\/ Check if the event target is an input or select element\r\n                    if (event.target.tagName === 'INPUT' || event.target.tagName === 'SELECT') {\r\n                        console.log(\"Starting event handling script.\")\r\n                        \/\/ Store the current selection start and end positions\r\n                        const selectionStart = event.target.selectionStart;\r\n                        const selectionEnd = event.target.selectionEnd;\r\n                        console.log(\"Selection stored.\")\r\n\r\n                        \/\/ Update the JSON data\r\n                        const deviceIndex = event.target.dataset.deviceIndex;\r\n                        const device = family.devices[deviceIndex];\r\n                        device.name = event.target.name === 'name' ? event.target.value : device.name;\r\n                        device.type = event.target.name === `device-${deviceIndex}-type` ? event.target.value : device.type;\r\n                        device.brand = event.target.name.endsWith('-brand') ? event.target.value : device.brand;\r\n                        console.log(`JSON updated. device.name is ${device.name}, device.type is ${device.type} and device.brand is ${device.brand}. Asking UI to update next.`)\r\n\r\n\r\n\r\n                        updateUI();\r\n                        const id = event.target.id;\r\n                        console.log(\"id to restore is \" + id)\r\n                        const newInputBox = document.getElementById(id);\r\n                        if (event.target.type === \"text\"){\r\n                            newInputBox.focus();\r\n                            console.log(\"New input box focused.\")\r\n                            newInputBox.selectionStart = selectionStart;\r\n                            newInputBox.selectionEnd = selectionEnd;\r\n                        };\r\n                    }\r\n                });\r\n                \r\n            \r\n                devicesList.addEventListener('click', (event) => {\r\n                    console.log(\"click\")\r\n                    if (event.target.classList.contains(\"bi-x-circle\")){\r\n                        console.log(\"close\");\r\n                        const deviceIndex = event.target.dataset.deviceIndex;\r\n                        family.devices = family.devices.filter((device, index) => index !== parseInt(deviceIndex));\r\n                        updateUI();\r\n                    }\r\n                });\r\n\r\n                deviceEventListenerAdded = true;\r\n            }\r\n            \/\/ Get the add member button\r\n            const addMemberBtn = document.getElementById('add-member-btn');\r\n\r\n            \/\/ Get the add device button\r\n            const addDeviceBtn = document.getElementById('add-device-btn');\r\n\r\n            \/\/ Add event listeners to the buttons\r\n            addMemberBtn.addEventListener('click', () => {\r\n                event.preventDefault();\r\n\r\n                const memberName = \"New Member\";\r\n                const memberLevel = 4;\r\n\r\n                \/\/ Create a new member object\r\n                const member = {\r\n                    name: memberName,\r\n                    level: memberLevel,\r\n                    devices: [],\r\n                    monitoring: [],\r\n                    monitoredBy: []\r\n                };\r\n\r\n                \/\/ Add the member to the family object\r\n                family.members.push(member);\r\n\r\n                updateUI();\r\n            });\r\n\r\n            addDeviceBtn.addEventListener('click', () => {\r\n                event.preventDefault();\r\n\r\n                const deviceName = \"New Device\";\r\n                const deviceType = \"Phone\/Tablet\";\r\n                const deviceBrand = \"Android\";\r\n\r\n                \/\/ Create a new member object\r\n                const device = {\r\n                    name: deviceName,\r\n                    type: deviceType,\r\n                    brand: deviceBrand,\r\n                    users: []\r\n                };\r\n\r\n                \/\/ Add the member to the family object\r\n                family.devices.push(device);\r\n\r\n                updateUI();\r\n            });\r\n        };\r\n\r\n        function getDeviceResources(resources, deviceLevel, deviceType, deviceBrand) {\r\n            console.log(`Device lookup data in getDeviceResources is: Level: ${deviceLevel} Type: ${deviceType} Brand: ${deviceBrand}`);\r\n\r\n            const deviceResources = [];\r\n\r\n            \/\/ Check all levels from 1 to deviceLevel\r\n            for (let level = 1; level <= deviceLevel; level++) { if (resources.levels[level] && resources.levels[level][deviceType] && resources.levels[level][deviceType][deviceBrand]) { deviceResources.push(...resources.levels[level][deviceType][deviceBrand]); } else if (resources.levels[level] && resources.levels[level][deviceType] && resources.levels[level][deviceType]['All']) { deviceResources.push(...resources.levels[level][deviceType]['All']); } else if (resources.levels[level] && resources.levels[level]['All'] && resources.levels[level]['All'][deviceBrand]) { deviceResources.push(...resources.levels[level]['All'][deviceBrand]); } else if (resources.levels[level] && resources.levels[level]['All'] && resources.levels[level]['All']['All']) { deviceResources.push(...resources.levels[level]['All']['All']); } } \/\/ If no resources found, return default message return deviceResources.length ? deviceResources : [{ name: 'No resources found', link: '', instructions: 'No resources available for this device.', type: 'Unknown' }]; } function getResourceLinks(family, resources) { const output = []; family.devices.forEach((device) => {\r\n                if (!device.users.length) return; \/\/ Ignore devices with no users\r\n\r\n                const deviceType = device.type;\r\n                const deviceBrand = device.brand;\r\n                const deviceLevel = family.members.find((member) => member.devices.includes(family.devices.indexOf(device))).level;\r\n\r\n                const brandPrefix = device.brand.match(\/^[aeiou]\/i) ? 'An' : 'A';\r\n                const userText = device.users.length === 1 \r\n                    ? `used by ${family.members[device.users[0]].name}` \r\n                    : `used by ${device.users.slice(0, -1).map(userId => family.members[userId].name).join(', ')}, and ${family.members[device.users[device.users.length - 1]].name}`;\r\n\r\n                const deviceResources = getDeviceResources(resources, deviceLevel, deviceType, deviceBrand);\r\n                const resourceMap = {};\r\n\r\n                \/\/ Handle case where deviceResources is empty\r\n                if (!deviceResources.length) {\r\n                    const resourceHTML = `\r\n                    <\/p>\r\n<div class=\"resource-group\"><p>\r\n                        <\/p>\r\n<div class=\"deviceResourceHeader\">${device.name}<\/div>\r\n<p>\r\n                        <\/p>\r\n<div class=\"deviceResourceSubHeader\"> \r\n                        ${brandPrefix} ${device.brand} ${device.type} controlled at level ${deviceLevel} \r\n                        ${userText}\r\n                        <\/div>\r\n<p>\r\n                        <\/p>\r\n<h2>No resources found<\/h2>\r\n<p>\r\n                    <\/div>\r\n<p>\r\n                    `;\r\n                    output.push(resourceHTML);\r\n                    return;\r\n                }\r\n\r\n                deviceResources.forEach((resource) => {\r\n                    const resourceIcon = getResourceIcon(resource.type);\r\n\r\n                    \/\/ Handle case where resource.name is missing\r\n                    const resourceName = resource.name || 'Unknown Resource';\r\n\r\n                    if (!resourceMap[resourceName]) {\r\n                    resourceMap[resourceName] = [];\r\n                    }\r\n\r\n                    \/\/ Handle case where resource.header is missing\r\n                    const headerParts = resource.header ? resource.header.split(\":\") : ['Unknown', 'No description'];\r\n                    const [headerTitle = '', headerDescription = ''] = headerParts;\r\n\r\n                    resourceMap[resourceName].push({ \r\n                    icon: resourceIcon, \r\n                    link: resource.link, \r\n                    instructions: resource.instructions, \r\n                    source: headerTitle.trim(), \r\n                    header: headerDescription.trim(), \r\n                    type: resource.type,\r\n                    });\r\n                });\r\n\r\n                const resourceHeaderHTML = `\r\n                    <\/p>\r\n<div class=\"deviceResourceHeader\">${device.name}<\/div>\r\n<p>\r\n                    <\/p>\r\n<div class=\"deviceResourceSubHeader\"> \r\n                    ${brandPrefix} ${device.brand} ${device.type} controlled at level ${deviceLevel} \r\n                    ${userText}\r\n                    <\/div>\r\n<p>\r\n                `;\r\n\r\n                const resourceHTML = `\r\n                    <\/p>\r\n<div class=\"resource-group\"><p>\r\n                    ${resourceHeaderHTML}\r\n                    ${Object.keys(resourceMap).map((resourceName) => `\r\n                        <\/p>\r\n<h2>${resourceName}<\/h2>\r\n<p>\r\n                        <\/p>\r\n<div class=\"resource-grid\"><p>\r\n                        ${resourceMap[resourceName].map((resource) => `\r\n                            <\/p>\r\n<div class=\"resource-item\"><p>\r\n                            <\/p>\r\n<div class=\"resource-header-split\"><p>\r\n                                <\/p>\r\n<div class=\"resource-header-split-1\">\r\n                                <i class=\"${resource.icon}\"><\/i>\r\n                                <\/div>\r\n<p>\r\n                                <\/p>\r\n<div class=\"resource-header-split-2\"><p>\r\n                                <\/p>\r\n<div class=\"resource-header\">${resource.header}<\/div>\r\n<p>\r\n                                <\/p>\r\n<div class=\"resource-source\">${resource.source}<\/div>\r\n<p>\r\n                                <\/div>\r\n<p>\r\n                            <\/div>\r\n<p>\r\n                            <a href=\"${resource.link}\" target=\"_blank\">${resource.link}<\/a>\r\n                            <\/p>\r\n<div class=\"resource-text\">${resource.instructions}<\/div>\r\n<p>\r\n                            <\/div>\r\n<p>\r\n                        `).join('')}\r\n                        <\/div>\r\n<p>\r\n                    `).join('')}\r\n                    <\/div>\r\n<p>\r\n                `;\r\n\r\n                output.push(resourceHTML);\r\n                });\r\n\r\n\r\n            return output.join('');\r\n            }\r\n\r\n\r\n\r\n        \/\/ Function to get resource icon\r\n        function getResourceIcon(type) {\r\n            switch (type) {\r\n                case 'Link':\r\n                return 'bi bi-link-45deg resource-icon';\r\n                case 'Tip':\r\n                return 'bi bi-chat-right-quote resource-icon';\r\n                case 'App':\r\n                return 'bi bi-terminal resource-icon';\r\n                case 'PDF':\r\n                return 'bi bi-file-earmark resource-icon';\r\n                case 'Device':\r\n                return 'bi bi-phone resource-icon';\r\n                case 'Service':\r\n                return 'bi bi-person-vcard resource-icon';\r\n                default:\r\n                return 'bi bi-question resource-icon';\r\n            }\r\n        }\r\n\r\n        function displayOutput(){\r\n            \/\/ Get resource links and display output\r\n            const resourceLinks = getResourceLinks(family, resources);\r\n            document.getElementById('output').innerHTML = resourceLinks;\r\n        }\r\n\r\n        function printPage() {\r\n            \/\/ const originalContent = document.body.innerHTML;\r\n            \/\/ const printContent = document.body.innerHTML;\r\n\r\n            \/\/ Modify printContent as needed\r\n            \/\/ document.body.innerHTML = printContent;\r\n            document.getElementById('findInfoButton').style.display = 'none';\r\n\r\n            window.print();\r\n            document.getElementById('findInfoButton').style.display = 'block';\r\n            \/\/ Restore original content\r\n            \/\/ document.body.innerHTML = originalContent;\r\n            \/\/ updateUI();\r\n        }\r\n\r\n\r\n        \/\/ Ctrl+P event listener\r\n        document.addEventListener('keydown', function(event) {\r\n        if ((event.ctrlKey || event.metaKey) && event.key === 'p') {\r\n            printPage();\r\n            event.preventDefault();\r\n        }\r\n        });\r\n\r\n        \/\/ Function to generate resources object\r\n        function generateResources() {\r\n        return {\r\n            \"levels\": {\r\n                \"x\": {\r\n                    \"Computer\/Laptop\": {\r\n                        \"Linux\": [\r\n                            {\r\n                                \"name\": \"\",\r\n                                \"link\": \"\",\r\n                                \"instructions\": \"\",\r\n                                \"type\": \"\",\r\n                                \"header\": \"\"\r\n                            }\r\n                        ]\r\n                    },\r\n                    \"Phone\/Tablet\": {\r\n                        \"Windows\": [\r\n                            {\r\n                                \"name\": \"\",\r\n                                \"link\": \"\",\r\n                                \"instructions\": \"\",\r\n                                \"type\": \"\",\r\n                                \"header\": \"\"\r\n                            }\r\n                        ]\r\n                    }\r\n                },\r\n                \"3\": {\r\n                    \"E-Reader\": {\r\n                        \"Kindle\": [\r\n                            {\r\n                                \"name\": \"Amazon\",\r\n                                \"link\": \"https:\/\/www.amazon.com\/gp\/help\/customer\/display.html?nodeId=T2TGuaVZYZ3Q53MSxQ\",\r\n                                \"instructions\": \"Support page for Kindle Fire.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Amazon: Kindle Fire Support\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Amazon\",\r\n                                \"link\": \"https:\/\/www.amazon.com\/gp\/help\/customer\/display.html?nodeId=GDRLC59WEFZTBPU7\",\r\n                                \"instructions\": \"0\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Amazon: Kindle (non-Fire) Support\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Amazon\",\r\n                                \"link\": \"https:\/\/www.amazon.com\/gp\/help\/customer\/display.html?nodeId=GB8P5MQSYFYHPCQ5\",\r\n                                \"instructions\": \"How to set up parental controls for purchases on the Kindle.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Amazon: Kindle (non-Fire) Parental Controls\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Amazon\",\r\n                                \"link\": \"https:\/\/www.amazon.com\/Qustodio-Parental-Control\/dp\/B00CM7FLSK\",\r\n                                \"instructions\": \"App download page for Qustodio on Kindle Fire.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"Amazon: Qustodio App for Kindle\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Kindle Fire\",\r\n                                \"link\": \"https:\/\/s3-us-west-2.amazonaws.com\/customerdocumentation\/Kindle_Fire_1st_Gen_Help\/Kindle_Fire_1st_Generation_Basics_PDF.pdf\",\r\n                                \"instructions\": \"Manual for the 1st Generation Kindle Fire E-Reader, with instructions on how to set up parental controls.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Kindle Fire: 1st Generation Manual\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Kindle Fire\",\r\n                                \"link\": \"https:\/\/d1ergij2b6wmg5.cloudfront.net\/Fire+Tablet\/Early+Generation+Device+Help\/Kindle+Fire+2nd+Gen+Help\/Set+Up+Parental+Controls.html\",\r\n                                \"instructions\": \"Instructions on how to set up controls on the 2nd Generation Kindle Fire E-Reader.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Kindle Fire: 2nd Generation Parental Controls\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Kindle Fire\",\r\n                                \"link\": \"https:\/\/www.amazon.com\/gp\/help\/customer\/display.html?nodeId=G93XLZGRK98PQ9M4\",\r\n                                \"instructions\": \"Instructions on how to set up controls on the 3rd Generation Kindle Fire E-Reader.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Kindle Fire: 3rd Generation Parental Controls\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Net Nanny\",\r\n                                \"link\": \"https:\/\/www.netnanny.com\/blog\/how-to-set-up-parental-controls-on-kindle\/\",\r\n                                \"instructions\": \"Net Nanny's instructions on how to set up the default parental controls on a Kindle Fire.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Net Nanny: Kindle Fire Controls\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Protect Young Eyes\",\r\n                                \"link\": \"https:\/\/protectyoungeyes.com\/devices\/kindle-fire-hd-parental-controls\/\",\r\n                                \"instructions\": \"A guide from Protect Young Eye's on the parental controls for the Kindle Fire.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Protect Young Eyes: Kindle Fire Controls\"\r\n                            }\r\n                        ],\r\n                        \"Nook\": [\r\n                            {\r\n                                \"name\": \"Barnes & Noble\",\r\n                                \"link\": \"https:\/\/help.barnesandnoble.com\/hc\/en-us\/articles\/5466204926235-NOOK-Profiles-Guidelines\",\r\n                                \"instructions\": \"How to set up individual profiles on the Nook for you and our child.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Barnes & Noble: Setting up Profiles for the Nook\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Barnes & Noble\",\r\n                                \"link\": \"https:\/\/help.barnesandnoble.com\/hc\/en-us\/categories\/4520922548379-B-N-NOOK-Support\",\r\n                                \"instructions\": \"General support for the Nook E-Readers and Tablets.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Barnes & Noble: Nook Support\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Laptop Mag\",\r\n                                \"link\": \"https:\/\/www.laptopmag.com\/articles\/how-to-enable-parental-controls-on-barnes-nobles-nook-hd\",\r\n                                \"instructions\": \"Instructions on how to set up parental controls on the Nook HD.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Laptop Mag: Nook HD Parental Controls\"\r\n                            }\r\n                        ]\r\n                    },\r\n                    \"Phone\/Tablet\": {\r\n                        \"Apple\": [\r\n                            {\r\n                                \"name\": \"Apple\",\r\n                                \"link\": \"https:\/\/support.apple.com\/en-us\/HT201304\",\r\n                                \"instructions\": \"Apple's instructions on how to use parental controls on iPhone, iPad, and iPod Touch.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Apple: Parental Controls\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Apple\",\r\n                                \"link\": \"https:\/\/support.apple.com\/en-us\/HT204060\",\r\n                                \"instructions\": \"Apple's instructions on how to set a passcode on iPhone, iPad, and iPod Touch.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Apple: Setting a Passcode\"\r\n                            },\r\n                            {\r\n                                \"name\": \"FirstNRC\",\r\n                                \"link\": \"https:\/\/firstnrc.org\/wp-content\/uploads\/2019\/10\/iPhone-Setup-Suggestions.pdf\",\r\n                                \"instructions\": \"A PDF from the Modern Media Committee on how to set up an iPhone for parental controls.\",\r\n                                \"type\": \"PDF\",\r\n                                \"header\": \"FirstNRC: Our Suggestions for iPhone Setup\"\r\n                            },\r\n                            {\r\n                                \"name\": \"FirstNRC\",\r\n                                \"link\": \"https:\/\/firstnrc.org\/?page_id=1239\",\r\n                                \"instructions\": \"FirstNRC's webpage for Qustodio filtering software.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"FirstNRC: Qustodio\"\r\n                            },\r\n                            {\r\n                                \"name\": \"FirstNRC\",\r\n                                \"link\": \"https:\/\/firstnrc.org\/?page_id=1292\",\r\n                                \"instructions\": \"FirstNRC's webpage for Net Nanny filtering software.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"FirstNRC: Net Nanny\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Five Minute Fix\",\r\n                                \"link\": \"https:\/\/firstnrc.org\/?page_id=179\",\r\n                                \"instructions\": \"Instructions on how to set up parental controls on iOS.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Five Minute Fix: iOS Parental Contols\"\r\n                            },\r\n                            {\r\n                                \"name\": \"iOS App Store\",\r\n                                \"link\": \"https:\/\/apps.apple.com\/us\/app\/net-nanny-parental-control-app\/id1211763414\",\r\n                                \"instructions\": \"Install this Net Nanny app on your Apple device.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"iOS App Store: Net Nanny Parent App\"\r\n                            },\r\n                            {\r\n                                \"name\": \"iOS App Store\",\r\n                                \"link\": \"https:\/\/apps.apple.com\/us\/app\/net-nanny-child-app\/id1211447197\",\r\n                                \"instructions\": \"Install this Net Nanny app on your child's Apple device.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"iOS App Store: Net Nanny Child App\"\r\n                            },\r\n                            {\r\n                                \"name\": \"iOS App Store\",\r\n                                \"link\": \"https:\/\/apps.apple.com\/us\/app\/kids-app-qustodio\/id990229433?ls=1\",\r\n                                \"instructions\": \"Install this Qustodio app on your Apple device.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"iOS App Store: Qustodio Kids App\"\r\n                            },\r\n                            {\r\n                                \"name\": \"iOS App Store\",\r\n                                \"link\": \"https:\/\/apps.apple.com\/us\/app\/qustodio-parental-control-app\/id1501720596\",\r\n                                \"instructions\": \"Install this Qustodio app on your child's Apple device.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"iOS App Store: Qustodio Parent App\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Net Nanny\",\r\n                                \"link\": \"https:\/\/www.netnanny.com\/\",\r\n                                \"instructions\": \"Net Nanny's website.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"Net Nanny: Main Site\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Net Nanny\",\r\n                                \"link\": \"https:\/\/install.netnanny.com\/\",\r\n                                \"instructions\": \"Visit this page from your child's device for a setup walk-through.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Net Nanny: Child Device Setup\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Net Nanny\",\r\n                                \"link\": \"https:\/\/www.netnanny.com\/support\/net-nanny-10\/\",\r\n                                \"instructions\": \"Support questions for Net Nanny 10\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Net Nanny: Support FAQ\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Qustodio\",\r\n                                \"link\": \"https:\/\/www.qustodio.com\/en\/\",\r\n                                \"instructions\": \"Qustodio's website.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"Qustodio: Main Site\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Qustodio\",\r\n                                \"link\": \"https:\/\/help.qustodio.com\/hc\/en-us\/\",\r\n                                \"instructions\": \"Qustodio's support page.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Qustodio: Support\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Qustodio\",\r\n                                \"link\": \"https:\/\/help.qustodio.com\/hc\/en-us\/articles\/360005453517-How-do-I-install-the-Kids-App-Qustodio-on-an-iOS-device-\",\r\n                                \"instructions\": \"Step by Step instructions on how to install Qustodio on a child's iOS device.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Qustodio: Child iOS Installation\"\r\n                            }\r\n                        ],\r\n                        \"Custom\": [\r\n                            {\r\n                                \"name\": \"Bark Phone\",\r\n                                \"link\": \"https:\/\/www.bark.us\/bark-phone\/\",\r\n                                \"instructions\": \"A child-phone option with parental controls built in.\",\r\n                                \"type\": \"Device\",\r\n                                \"header\": \"Bark Phone\"\r\n                            },\r\n                            {\r\n                                \"name\": \"CleanPhone\",\r\n                                \"link\": \"https:\/\/cleanphone.info\/\",\r\n                                \"instructions\": \"A child-phone option with parental controls built in.\",\r\n                                \"type\": \"Device\",\r\n                                \"header\": \"CleanPhone\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Gabb Phone\",\r\n                                \"link\": \"https:\/\/gabb.com\/\",\r\n                                \"instructions\": \"A child-phone option with parental controls built in.\",\r\n                                \"type\": \"Device\",\r\n                                \"header\": \"Gabb Phone\"\r\n                            },\r\n                            {\r\n                                \"name\": \"G-Mee Phone\",\r\n                                \"link\": \"https:\/\/g-mee.com\/\",\r\n                                \"instructions\": \"A child-phone option with parental controls built in.\",\r\n                                \"type\": \"Device\",\r\n                                \"header\": \"G-Mee Phone\"\r\n                            },\r\n                            {\r\n                                \"name\": \"MMGaurdian Phone\",\r\n                                \"link\": \"https:\/\/www.mmguardian.com\/kids-phone\",\r\n                                \"instructions\": \"A child-phone option with parental controls built in.\",\r\n                                \"type\": \"Device\",\r\n                                \"header\": \"MMGaurdian Phone\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Pinwheel Phone\",\r\n                                \"link\": \"https:\/\/www.pinwheel.com\/\",\r\n                                \"instructions\": \"A child-phone option with parental controls built in.\",\r\n                                \"type\": \"Device\",\r\n                                \"header\": \"Pinwheel Phone\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Teracube Thrive Phone\",\r\n                                \"link\": \"https:\/\/myteracube.com\/products\/teracube-thrive-us\",\r\n                                \"instructions\": \"A child-phone option with parental controls built in.\",\r\n                                \"type\": \"Device\",\r\n                                \"header\": \"Teracube Thrive Phone\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Troomi Phone\",\r\n                                \"link\": \"https:\/\/troomi.com\/\",\r\n                                \"instructions\": \"A child-phone option with parental controls built in.\",\r\n                                \"type\": \"Device\",\r\n                                \"header\": \"Troomi Phone\"\r\n                            }\r\n                        ],\r\n                        \"Android\": [\r\n                            {\r\n                                \"name\": \"FirstNRC\",\r\n                                \"link\": \"https:\/\/firstnrc.org\/wp-content\/uploads\/2018\/03\/Setup-applock-for-any-android-smartphone.pdf\",\r\n                                \"instructions\": \"Our guide on how to set up AppLock on Android\",\r\n                                \"type\": \"PDF\",\r\n                                \"header\": \"FirstNRC: AppLock Setup\"\r\n                            },\r\n                            {\r\n                                \"name\": \"FirstNRC\",\r\n                                \"link\": \"https:\/\/firstnrc.org\/?page_id=1292\",\r\n                                \"instructions\": \"FirstNRC's webpage for Net Nanny filtering software.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"FirstNRC: Net Nanny\"\r\n                            },\r\n                            {\r\n                                \"name\": \"FirstNRC\",\r\n                                \"link\": \"https:\/\/firstnrc.org\/?page_id=1239\",\r\n                                \"instructions\": \"FirstNRC's webpage for Qustodio filtering software.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"FirstNRC: Qustodio\"\r\n                            },\r\n                            {\r\n                                \"name\": \"FirstNRC\",\r\n                                \"link\": \"https:\/\/firstnrc.org\/wp-content\/uploads\/2018\/03\/Setup-applock-for-any-android-smartphone.pdf\",\r\n                                \"instructions\": \"Our guide on how to set up AppLock on Android\",\r\n                                \"type\": \"PDF\",\r\n                                \"header\": \"FirstNRC: AppLock Setup\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Five Minute Fix\",\r\n                                \"link\": \"https:\/\/firstnrc.org\/?page_id=187\",\r\n                                \"instructions\": \"Instructions on how to set up parental controls for Android.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Five Minute Fix: Android Parental Controls\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Google\",\r\n                                \"link\": \"https:\/\/support.google.com\/googleplay\/answer\/1075738?hl=en\",\r\n                                \"instructions\": \"Google's instructions on how to set up parental controls for Google Play, the app that supplies content to Android devices.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Google: Parental Controls for Google Play\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Google\",\r\n                                \"link\": \"https:\/\/support.google.com\/android\/answer\/9079129?hl=en\",\r\n                                \"instructions\": \"How to set up a screen lock on and Android device.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Google: Setting A Screen Lock\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Google Play\",\r\n                                \"link\": \"https:\/\/play.google.com\/store\/apps\/details?id=com.domobile.applockwatcher\",\r\n                                \"instructions\": \"Use this app to control installation of other apps.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"Google Play: AppLock Download\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Google Play\",\r\n                                \"link\": \"https:\/\/play.google.com\/store\/apps\/details?id=com.contentwatch.ghoti.cp2.parent&hl=en&gl=US\",\r\n                                \"instructions\": \"Net Nanny download on Google Play.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"Google Play: Net Nanny\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Google Play\",\r\n                                \"link\": \"https:\/\/play.google.com\/store\/apps\/details?id=com.qustodio.qustodioapp&hl=en_US\",\r\n                                \"instructions\": \"Install this Qustodio app on your child's Android device.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"Google Play: Qustodio Child App\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Google Play\",\r\n                                \"link\": \"https:\/\/play.google.com\/store\/apps\/details?id=com.qustodio.family.parental.control.app.screentime&hl=en_US\",\r\n                                \"instructions\": \"Install this Qustodio app on your Android device.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"Google Play: Qustodio Parent App\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Google Play\",\r\n                                \"link\": \"https:\/\/play.google.com\/store\/apps\/details?id=com.qustodio.qustodioapp&hl=en_US\",\r\n                                \"instructions\": \"Install this Qustodio app on your child's Android device.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"Google Play: Qustodio Child App\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Google Play\",\r\n                                \"link\": \"https:\/\/play.google.com\/store\/apps\/details?id=com.qustodio.family.parental.control.app.screentime&hl=en_US\",\r\n                                \"instructions\": \"Install this Qustodio app on your Android device.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"Google Play: Qustodio Parent App\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Google Play\",\r\n                                \"link\": \"https:\/\/play.google.com\/store\/apps\/details?id=com.domobile.applockwatcher\",\r\n                                \"instructions\": \"Use this app to control installation of other apps.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"Google Play: AppLock Download\"\r\n                            },\r\n                            {\r\n                                \"name\": \"GottaBeMobile.com\",\r\n                                \"link\": \"https:\/\/www.gottabemobile.com\/how-to-setup-android-parental-controls-and-content-filtering\/\",\r\n                                \"instructions\": \"Instructions on how to set up parental controls for Android.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"GottaBeMobile.com: Android Parental Controls\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Net Nanny\",\r\n                                \"link\": \"https:\/\/www.netnanny.com\/blog\/how-to-set-parental-controls-for-android\/\",\r\n                                \"instructions\": \"Instructions on how to set up Net Nanny on an Android device.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Net Nanny: Android Installation\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Net Nanny\",\r\n                                \"link\": \"https:\/\/www.netnanny.com\/\",\r\n                                \"instructions\": \"Net Nanny's website.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"Net Nanny: Main Site\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Net Nanny\",\r\n                                \"link\": \"https:\/\/install.netnanny.com\/\",\r\n                                \"instructions\": \"Visit this page from your child's device for a setup walk-through.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Net Nanny: Child Device Setup\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Net Nanny\",\r\n                                \"link\": \"https:\/\/www.netnanny.com\/support\/net-nanny-10\/\",\r\n                                \"instructions\": \"Support questions for Net Nanny 10\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Net Nanny: Support FAQ\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Qustodio\",\r\n                                \"link\": \"https:\/\/www.qustodio.com\/en\/\",\r\n                                \"instructions\": \"Qustodio's website.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"Qustodio: Main Site\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Qustodio\",\r\n                                \"link\": \"https:\/\/help.qustodio.com\/hc\/en-us\/\",\r\n                                \"instructions\": \"Qustodio's support page.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Qustodio: Support\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Qustodio\",\r\n                                \"link\": \"https:\/\/help.qustodio.com\/hc\/en-us\/articles\/360005404737-How-to-install-the-Kids-App-Qustodio-on-an-Android-device-\",\r\n                                \"instructions\": \"Step by Step instructions on how to install Qustodio on a child's Android device.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Qustodio: Child Android Installation\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Qustodio\",\r\n                                \"link\": \"https:\/\/www.qustodio.com\/en\/downloads\/\",\r\n                                \"instructions\": \"Downloads for Qustodio, including parent and child devices, whether Apple, Android, Windows, Chromebook or Kindle.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Qustodio: Download\"\r\n                            }\r\n                        ]\r\n                    },\r\n                    \"Account\": {\r\n                        \"Apple\": [\r\n                            {\r\n                                \"name\": \"Apple\",\r\n                                \"link\": \"https:\/\/www.apple.com\/family-sharing\/\",\r\n                                \"instructions\": \"The main page for Apple's Family Sharing service.\",\r\n                                \"type\": \"Service\",\r\n                                \"header\": \"Apple: Family Sharing\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Apple\",\r\n                                \"link\": \"https:\/\/support.apple.com\/guide\/iphone\/set-up-parental-controls-iph00ba7d632\/ios\",\r\n                                \"instructions\": \"How to set up parental controls on Apple's Family Sharing service.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Apple: Set Up Family Sharing Parental Controls\"\r\n                            }\r\n                        ],\r\n                        \"Google\": [\r\n                            {\r\n                                \"name\": \"Google\",\r\n                                \"link\": \"https:\/\/families.google\/familylink\/\",\r\n                                \"instructions\": \"The main page for Google's Family Link service.\",\r\n                                \"type\": \"Service\",\r\n                                \"header\": \"Google: Family Link\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Google\",\r\n                                \"link\": \"https:\/\/safety.google\/families\/parental-supervision\/\",\r\n                                \"instructions\": \"More information on the parental controls from Google Family Link.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Google: Set Parental Controls on Family Link\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Google Play\",\r\n                                \"link\": \"https:\/\/play.google.com\/store\/apps\/details?id=com.google.android.apps.kids.familylink&referrer=utm_source%3Dfamilylink%26utm_medium%3Dwebsite%26utm_campaign%3Dfaq_footer\",\r\n                                \"instructions\": \"App to install on your child's Android device to monitor and restrict content using the Google Family Link system.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"Google Play: Family Link\"\r\n                            },\r\n                            {\r\n                                \"name\": \"iOS App Store\",\r\n                                \"link\": \"https:\/\/apps.apple.com\/us\/app\/google-family-link\/id1150085200\",\r\n                                \"instructions\": \"App to install on your child's iOS device to monitor and restrict content using the Google Family Link system.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"iOS App Store: Family Link\"\r\n                            }\r\n                        ],\r\n                        \"Microsoft\": [\r\n                            {\r\n                                \"name\": \"Google Play\",\r\n                                \"link\": \"https:\/\/play.google.com\/store\/apps\/details?id=com.microsoft.familysafety&hl=en_US&gl=US\",\r\n                                \"instructions\": \"App to install on your child's Android device to monitor and restrict content using Microsoft's Famiy Safety system.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"Google Play: Microsoft Family Safety\"\r\n                            },\r\n                            {\r\n                                \"name\": \"iOS App Store\",\r\n                                \"link\": \"https:\/\/apps.apple.com\/us\/app\/microsoft-family-safety\/id1489209093\",\r\n                                \"instructions\": \"App to install on your child's iOS device to monitor and restrict content using Microsoft's Famiy Safety system.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"iOS App Store: Microsoft Family Safety\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Microsoft\",\r\n                                \"link\": \"https:\/\/www.microsoft.com\/en-us\/microsoft-365\/family-safety\",\r\n                                \"instructions\": \"The main page for Microsoft's Family Safety service.\",\r\n                                \"type\": \"Service\",\r\n                                \"header\": \"Microsoft: Family Safety\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Microsoft\",\r\n                                \"link\": \"https:\/\/support.microsoft.com\/en-us\/account-billing\/getting-started-with-microsoft-family-safety-b6280c9d-38d7-82ff-0e4f-a6cb7e659344\",\r\n                                \"instructions\": \"How to set up parental controls on Microsoft's Famiy Safety service.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Microsoft: Set Up Family Safety Parental Controls\"\r\n                            }\r\n                        ]\r\n                    },\r\n                    \"Router\": {\r\n                        \"Asus\": [\r\n                            {\r\n                                \"name\": \"Asus\",\r\n                                \"link\": \"https:\/\/www.asus.com\/support\/FAQ\/1008720\/\",\r\n                                \"instructions\": \"Videos and Instructions for Parental Controls on Asus Routers.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Asus: Parental Control Setup\"\r\n                            }\r\n                        ],\r\n                        \"AT&T\": [\r\n                            {\r\n                                \"name\": \"AT&T U-Verse \/ 2-Wire\",\r\n                                \"link\": \"https:\/\/support.opendns.com\/hc\/en-us\/articles\/228006207-Special-Case-AT-T-U-Verse\",\r\n                                \"instructions\": \"According to Protect Young Eyes (Link), the 2-Wire brand routers are not configurable because they are locked down by AT&T. They link to an OpenDNS article on this problem with a workaround, but you\ufffdll need a second router and some technical experience:\",\r\n                                \"type\": \"Tip\",\r\n                                \"header\": \"AT&T U-Verse \/ 2-Wire\"\r\n                            }\r\n                        ],\r\n                        \"Aura\": [\r\n                            {\r\n                                \"name\": \"Aura\",\r\n                                \"link\": \"https:\/\/www.aura.com\/\",\r\n                                \"instructions\": \"The main side for Aura (formerly Circle) online safety service.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Aura: Main Site\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Aura\",\r\n                                \"link\": \"https:\/\/buy.aura.com\/parental-controls-2-rdj-circle?utm_source=circle&utm_medium=referral&utm_campaign=circle-homepage&utm_id=circle-homepage&utm_gateway=parental-controls\",\r\n                                \"instructions\": \"The standalone device from Aura (formerly Circle)\",\r\n                                \"type\": \"Device\",\r\n                                \"header\": \"Aura: Standalone Device\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Aura\",\r\n                                \"link\": \"https:\/\/www.aura.com\/help-category\/parental-controls\",\r\n                                \"instructions\": \"Questions on setup and use of the Aura Parental Controls.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Aura: Parental Controls FAQ\"\r\n                            }\r\n                        ],\r\n                        \"Circle\": [\r\n                            {\r\n                                \"name\": \"Circle\",\r\n                                \"link\": \"https:\/\/support.meetcircle.com\/hc\/en-us\",\r\n                                \"instructions\": \"The Circle support site.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Circle: Support for Circle (formerly Aura)\"\r\n                            }\r\n                        ],\r\n                        \"All\": [\r\n                            {\r\n                                \"name\": \"Does My Current Router Have Parental Controls?\",\r\n                                \"link\": \"0\",\r\n                                \"instructions\": \"Quite a few routers nowadays have parental controls already on them. For the most part, though, the controls are limited. To use your current router in conjunction with a better filter, look for one of the third party services, listed above.\",\r\n                                \"type\": \"Tip\",\r\n                                \"header\": \"Does My Current Router Have Parental Controls?\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Kibosh\",\r\n                                \"link\": \"https:\/\/kibosh.com\/\",\r\n                                \"instructions\": \"The main site for Kibosh.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Kibosh: Main Site\"\r\n                            },\r\n                            {\r\n                                \"name\": \"NetAngel\",\r\n                                \"link\": \"https:\/\/www.netangel.com\/\",\r\n                                \"instructions\": \"The main site for NetAngel.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"NetAngel: Main Site\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Protect Young Eyes\",\r\n                                \"link\": \"https:\/\/protectyoungeyes.com\/the-ultimate-guide-to-understanding-routers\/\",\r\n                                \"instructions\": \"A detailed article on routers from Protect Young Eyes.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Protect Young Eyes: Router Guide\"\r\n                            }\r\n                        ],\r\n                        \"Eero\": [\r\n                            {\r\n                                \"name\": \"Eero\",\r\n                                \"link\": \"https:\/\/eero.com\/\",\r\n                                \"instructions\": \"The main site for Eero.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Eero: Main Site\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Eero\",\r\n                                \"link\": \"https:\/\/eero.com\/shop\",\r\n                                \"instructions\": \"Eero devices that can be purchased.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Eero: Device Options\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Eero\",\r\n                                \"link\": \"https:\/\/support.eero.com\/hc\/en-us\/articles\/360052742411-eero-Plus-Content-Filters\",\r\n                                \"instructions\": \"A description of the filtering Eero can do.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Eero: Filtering\"\r\n                            }\r\n                        ],\r\n                        \"Firewalla\": [\r\n                            {\r\n                                \"name\": \"Firewalla\",\r\n                                \"link\": \"https:\/\/firewalla.com\/\",\r\n                                \"instructions\": \"The main site for CleanRouter.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Firewalla: Main Site\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Firewalla\",\r\n                                \"link\": \"https:\/\/firewalla.com\/collections\/firewalla-products\",\r\n                                \"instructions\": \"Firewalla devices that can be purchased.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Firewalla: Device Options\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Firewalla\",\r\n                                \"link\": \"https:\/\/help.firewalla.com\/hc\/en-us\/articles\/360008214094-Activity-and-Parental-Control?_gl=1*kqcjhf*_ga*NDcxNTgwNTM5LjE3MDM4ODkwOTQ.*_ga_5CFZ2S3E53*MTcwMzg4OTA5NC4xLjAuMTcwMzg4OTA5NC42MC4wLjA.\",\r\n                                \"instructions\": \"Parental controls available with Firewalla.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Firewalla: Parental Controls\"\r\n                            }\r\n                        ],\r\n                        \"D-Link\": [\r\n                            {\r\n                                \"name\": \"Google Play\",\r\n                                \"link\": \"https:\/\/play.google.com\/store\/apps\/details?id=com.dlink.mydlink&hl=en_US\",\r\n                                \"instructions\": \"App to control your D-Link router from an Android device.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"Google Play: D-Link App\"\r\n                            },\r\n                            {\r\n                                \"name\": \"iOS App Store\",\r\n                                \"link\": \"https:\/\/apps.apple.com\/us\/app\/mydlink-lite\/id372571229\",\r\n                                \"instructions\": \"App to control your D-Link router from an iOS device.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"iOS App Store: D-Link App\"\r\n                            }\r\n                        ],\r\n                        \"NetGear\": [\r\n                            {\r\n                                \"name\": \"Google Play\",\r\n                                \"link\": \"https:\/\/play.google.com\/store\/apps\/details?id=com.dragonflow.android.orbi&hl=en\",\r\n                                \"instructions\": \"App to control your NetGear Orbi router from an Android device.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"Google Play: NetGear Orbi App\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Google Play\",\r\n                                \"link\": \"https:\/\/play.google.com\/store\/apps\/details?id=com.netgear.netgearup\",\r\n                                \"instructions\": \"App to control your NetGear Nighthawk router from an Android device.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"Google Play: NetGear Nighthawk App\"\r\n                            },\r\n                            {\r\n                                \"name\": \"iOS App Store\",\r\n                                \"link\": \"https:\/\/apps.apple.com\/us\/app\/netgear-orbi-wifi-system-app\/id1182184397\",\r\n                                \"instructions\": \"App to control your NetGear Orbi router from an iOS device.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"iOS App Store: NetGear Orbi App\"\r\n                            },\r\n                            {\r\n                                \"name\": \"iOS App Store\",\r\n                                \"link\": \"https:\/\/apps.apple.com\/us\/app\/netgear-nighthawk-wifi-app\/id1124666597\",\r\n                                \"instructions\": \"App to control your NetGear Nighthawk router from an iOS device.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"iOS App Store: NetGear Nighthawk App\"\r\n                            },\r\n                            {\r\n                                \"name\": \"NetGear\",\r\n                                \"link\": \"https:\/\/www.netgear.com\/home\/services\/circle-smart-parental-controls\/\",\r\n                                \"instructions\": \"Description of Circle parental controls on NetGear routers.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"NetGear: Circle\"\r\n                            },\r\n                            {\r\n                                \"name\": \"NetGear\",\r\n                                \"link\": \"https:\/\/www.netgear.com\/home\/services\/smart-parental-controls\/\",\r\n                                \"instructions\": \"Description of NetGear smart parental controls on NetGear routers.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"NetGear: Parental Controls\"\r\n                            },\r\n                            {\r\n                                \"name\": \"NetGear\",\r\n                                \"link\": \"https:\/\/www.netgear.com\/home\/services\/orbi-app\/\",\r\n                                \"instructions\": \"NetGear's app to control Orbi routers, including parental controls.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"NetGear: Orbi App\"\r\n                            },\r\n                            {\r\n                                \"name\": \"NetGear\",\r\n                                \"link\": \"https:\/\/www.netgear.com\/home\/services\/nighthawk-app\/\",\r\n                                \"instructions\": \"NetGear's app to control Nighthawk routers, including parental controls.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"NetGear: Nighthawk App\"\r\n                            }\r\n                        ],\r\n                        \"Gryphon\": [\r\n                            {\r\n                                \"name\": \"Gryphon\",\r\n                                \"link\": \"https:\/\/gryphonconnect.com\/\",\r\n                                \"instructions\": \"The main site for Gryphon.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Gryphon: Main Site\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Gryphon\",\r\n                                \"link\": \"https:\/\/gryphonconnect.com\/collections\/all\",\r\n                                \"instructions\": \"Gryphon devices that can be purchased.\",\r\n                                \"type\": \"Device\",\r\n                                \"header\": \"Gryphon: Router Options\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Gryphon\",\r\n                                \"link\": \"https:\/\/gryphonconnect.com\/pages\/customer-support\",\r\n                                \"instructions\": \"Gryphon customer support.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Gryphon: Support\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Gryphon\",\r\n                                \"link\": \"https:\/\/gryphonconnect.com\/pages\/parental-control\",\r\n                                \"instructions\": \"Features of the the Gryphon parental control system.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Gryphon: Parental Control Features\"\r\n                            }\r\n                        ],\r\n                        \"Linksys\": [\r\n                            {\r\n                                \"name\": \"HowToGeek\",\r\n                                \"link\": \"https:\/\/www.howtogeek.com\/242697\/how-to-manage-parental-controls-on-linksys-smart-wi-fi\/\",\r\n                                \"instructions\": \"Third party instructions on how to use parental controls on the Linksys routers.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"HowToGeek: Linksys Parental Controls\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Linksys\",\r\n                                \"link\": \"https:\/\/www.linksys.com\/linksys-support\",\r\n                                \"instructions\": \"Support site for Linksys products.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Linksys: Support\"\r\n                            }\r\n                        ],\r\n                        \"TP-Link\": [\r\n                            {\r\n                                \"name\": \"TP-Link\",\r\n                                \"link\": \"https:\/\/www.tp-link.com\/us\/support\/faq\/350\/\",\r\n                                \"instructions\": \"Instructions for parental controls for the older TP-Link devices.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"TP-Link: Older Parental Controls\"\r\n                            },\r\n                            {\r\n                                \"name\": \"TP-Link\",\r\n                                \"link\": \"https:\/\/www.tp-link.com\/us\/support\/faq\/1124\/\",\r\n                                \"instructions\": \"Instructions for parental controls for the newer TP-Link devices.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"TP-Link: Newer Parental Controls\"\r\n                            }\r\n                        ]\r\n                    },\r\n                    \"Home Internet\": {\r\n                        \"AT&T\": [\r\n                            {\r\n                                \"name\": \"AT&T\",\r\n                                \"link\": \"https:\/\/www.att.com\/support\/article\/u-verse-high-speed-internet\/KM1336815\/\",\r\n                                \"instructions\": \"How to set up Parental Controls on AT&T home internet devices.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"AT&T: Home Internet Parental Controls\"\r\n                            }\r\n                        ],\r\n                        \"Comcast\": [\r\n                            {\r\n                                \"name\": \"xfinity\",\r\n                                \"link\": \"https:\/\/www.xfinity.com\/support\/articles\/set-up-parental-controls-with-comcast-networking\",\r\n                                \"instructions\": \"How to set up Parental Controls on xfinity home internet devices.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"xfinity: Home Internet Parental Controls\"\r\n                            }\r\n                        ]\r\n                    },\r\n                    \"Mobile Internet\": {\r\n                        \"AT&T\": [\r\n                            {\r\n                                \"name\": \"AT&T\",\r\n                                \"link\": \"https:\/\/www.att.com\/security\/secure-family-app\/\",\r\n                                \"instructions\": \"The main page for AT&T Secure Family.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"AT&T: Secure Family\"\r\n                            },\r\n                            {\r\n                                \"name\": \"AT&T\",\r\n                                \"link\": \"https:\/\/www.att.com\/support\/article\/wireless\/KM1271913\/\",\r\n                                \"instructions\": \"Features and FAQs on the AT&T Secure Family app.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"AT&T: Secure Family Support\"\r\n                            },\r\n                            {\r\n                                \"name\": \"AT&T\",\r\n                                \"link\": \"https:\/\/www.att.com\/scmsassets\/upper_funnel\/wireless\/att-secure-family-user-guide.pdf\",\r\n                                \"instructions\": \"How to set up parental controls on AT&T Secure Family app.\",\r\n                                \"type\": \"PDF\",\r\n                                \"header\": \"AT&T: Secure Family Setup Guide\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Google Play\",\r\n                                \"link\": \"https:\/\/play.google.com\/store\/apps\/details?id=com.wavemarket.waplauncher&hl=en_US&gl=US\",\r\n                                \"instructions\": \"App to install on your own Android device to monitor and restrict content on your child's device using AT&T's Secure Family app.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"Google Play: AT&T Secure Family Parent App\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Google Play\",\r\n                                \"link\": \"https:\/\/play.google.com\/store\/apps\/details?id=com.att.securefamilycompanion&hl=en_US&gl=US\",\r\n                                \"instructions\": \"App to install on your child's Android device to monitor and restrict content using AT&T's Secure Family app.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"Google Play: AT&T Secure Family Child App\"\r\n                            },\r\n                            {\r\n                                \"name\": \"iOS App Store\",\r\n                                \"link\": \"https:\/\/apps.apple.com\/us\/app\/at-t-secure-family-parent-app\/id353334746\",\r\n                                \"instructions\": \"App to install on your own iOS device to monitor and restrict content on your child's device using AT&T's Secure Family app.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"iOS App Store: AT&T Secure Family Parent App\"\r\n                            },\r\n                            {\r\n                                \"name\": \"iOS App Store\",\r\n                                \"link\": \"https:\/\/apps.apple.com\/us\/app\/at-t-secure-family-companion\/id1402684782\",\r\n                                \"instructions\": \"App to install on your child's iOS device to monitor and restrict content using AT&T's Secure Family app.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"iOS App Store: AT&T Secure Family Child App\"\r\n                            }\r\n                        ],\r\n                        \"T-Mobile\": [\r\n                            {\r\n                                \"name\": \"Google Play\",\r\n                                \"link\": \"https:\/\/play.google.com\/store\/apps\/details?id=com.tmobile.familycontrols&hl=en_US\",\r\n                                \"instructions\": \"App to install on your child's Android device to monitor and restrict content using T-Mobile's Family Mode.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"Google Play: T-Mobile Family Mode\"\r\n                            },\r\n                            {\r\n                                \"name\": \"iOS App Store\",\r\n                                \"link\": \"https:\/\/apps.apple.com\/us\/app\/t-mobile-familymode\/id1348097043\",\r\n                                \"instructions\": \"App to install on your child's iOS device to monitor and restrict content using T-Mobile's Family Mode.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"iOS App Store: T-Mobile Family Mode\"\r\n                            },\r\n                            {\r\n                                \"name\": \"T-Mobile\",\r\n                                \"link\": \"https:\/\/www.t-mobile.com\/apps\/t-mobile-family-mode\",\r\n                                \"instructions\": \"The main page for T-Mobile's Family Mode.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"T-Mobile: Family Mode\"\r\n                            },\r\n                            {\r\n                                \"name\": \"T-Mobile\",\r\n                                \"link\": \"https:\/\/www.t-mobile.com\/support\/plans-features\/familymode-app\",\r\n                                \"instructions\": \"How to set up parental controls on T-Mobile's Family Mode app.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"T-Mobile: Set Up Family Mode Parental Controls\"\r\n                            }\r\n                        ],\r\n                        \"Verizon\": [\r\n                            {\r\n                                \"name\": \"Google Play\",\r\n                                \"link\": \"https:\/\/play.google.com\/store\/apps\/details?id=com.verizon.familybase.parent&hl=en_US&gl=US\",\r\n                                \"instructions\": \"App to install on your own Android device to monitor and restrict content on your child's device using Verizon's Smart Family app.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"Google Play: Verizon Smart Family Parent App\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Google Play\",\r\n                                \"link\": \"https:\/\/play.google.com\/store\/apps\/details?id=com.verizon.familybase.companion&hl=en_US&gl=US\",\r\n                                \"instructions\": \"App to install on your child's Android device to monitor and restrict content using Verizon's Smart Family app.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"Google Play: Verizon Smart Family Child App\"\r\n                            },\r\n                            {\r\n                                \"name\": \"iOS App Store\",\r\n                                \"link\": \"https:\/\/apps.apple.com\/us\/app\/verizon-smart-family-parent\/id923408272\",\r\n                                \"instructions\": \"App to install on your own iOS device to monitor and restrict content on your child's device using Verizon's Smart Family app.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"iOS App Store: Verizon Smart Family Parent App\"\r\n                            },\r\n                            {\r\n                                \"name\": \"iOS App Store\",\r\n                                \"link\": \"https:\/\/apps.apple.com\/us\/app\/smart-family-companion\/id1352914754\",\r\n                                \"instructions\": \"App to install on your child's iOS device to monitor and restrict content using Verizon's Smart Family app.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"iOS App Store: Verizon Smart Family Child App\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Verizon\",\r\n                                \"link\": \"https:\/\/www.verizon.com\/solutions-and-services\/add-ons\/safety\/verizon-smart-family\/\",\r\n                                \"instructions\": \"The main page for Verizon's Smart Family app.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"Verizon: Smart Family\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Verizon\",\r\n                                \"link\": \"https:\/\/www.verizon.com\/support\/verizon-smart-family-faqs\/\",\r\n                                \"instructions\": \"How to set up parental controls on Verizon's Smart Family app.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Verizon: Set Up Smart Family Parental Controls\"\r\n                            }\r\n                        ]\r\n                    },\r\n                    \"Computer\/Laptop\": {\r\n                        \"Windows\": [\r\n                            {\r\n                                \"name\": \"FirstNRC\",\r\n                                \"link\": \"https:\/\/firstnrc.org\/wp-content\/uploads\/2018\/09\/Microsoft-Family-Safety-in-Windows-10.pdf\",\r\n                                \"instructions\": \"Our guide on how to use Microsoft Family Safety.\",\r\n                                \"type\": \"PDF\",\r\n                                \"header\": \"FirstNRC: Microsoft Family Safety\"\r\n                            },\r\n                            {\r\n                                \"name\": \"FirstNRC\",\r\n                                \"link\": \"https:\/\/firstnrc.org\/?page_id=1292\",\r\n                                \"instructions\": \"FirstNRC's webpage for Net Nanny filtering software.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"FirstNRC: Net Nanny\"\r\n                            },\r\n                            {\r\n                                \"name\": \"FirstNRC\",\r\n                                \"link\": \"https:\/\/firstnrc.org\/?page_id=1239\",\r\n                                \"instructions\": \"FirstNRC's webpage for Qustodio filtering software.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"FirstNRC: Qustodio\"\r\n                            },\r\n                            {\r\n                                \"name\": \"GCFGlobal\",\r\n                                \"link\": \"https:\/\/edu.gcfglobal.org\/en\/windows7\/managing-user-accounts-and-parental-controls\/1\/\",\r\n                                \"instructions\": \"How to set up user accounts on Windows 7 devices for individual settings.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"GCFGlobal: User Account Setup on Windows 7\"\r\n                            },\r\n                            {\r\n                                \"name\": \"GCFGlobal\",\r\n                                \"link\": \"https:\/\/edu.gcfglobal.org\/en\/windows8\/managing-user-accounts-and-parental-controls\/1\/\",\r\n                                \"instructions\": \"How to set up user accounts on Windows 8 devices for individual settings.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"GCFGlobal: User Account Setup on Windows 8\"\r\n                            },\r\n                            {\r\n                                \"name\": \"InternetMatters\",\r\n                                \"link\": \"https:\/\/www.internetmatters.org\/parental-controls\/smartphones-and-other-devices\/windows-7\/\",\r\n                                \"instructions\": \"How to set up parental controls on Windows 7 devices.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"InternetMatters: Windows 7 Parental Controls\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Microsoft\",\r\n                                \"link\": \"https:\/\/support.microsoft.com\/en-us\/topic\/windows-8-set-up-family-safety-local-account-63ea6824-4b90-8987-eb62-547c4c45cd72\",\r\n                                \"instructions\": \"How to set up parental controls on Windows 8 devices.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Microsoft: Family Safety on Windows 8\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Microsoft\",\r\n                                \"link\": \"https:\/\/account.microsoft.com\/family\/home\",\r\n                                \"instructions\": \"The account page for Microsoft Family Safety.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Microsoft: Family Safety Page\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Net Nanny\",\r\n                                \"link\": \"https:\/\/www.netnanny.com\/\",\r\n                                \"instructions\": \"Net Nanny's website.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"Net Nanny: Main Site\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Net Nanny\",\r\n                                \"link\": \"https:\/\/www.netnanny.com\/support\/net-nanny-10\/\",\r\n                                \"instructions\": \"Support questions for Net Nanny 10\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Net Nanny: Support FAQ\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Net Nanny\",\r\n                                \"link\": \"https:\/\/www.netnanny.com\/downloads\/\",\r\n                                \"instructions\": \"Download the Net Nanny app for Windows and MacOS.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"Net Nanny: Download\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Qustodio\",\r\n                                \"link\": \"https:\/\/www.qustodio.com\/en\/\",\r\n                                \"instructions\": \"Qustodio's website.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"Qustodio: Main Site\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Qustodio\",\r\n                                \"link\": \"https:\/\/help.qustodio.com\/hc\/en-us\/\",\r\n                                \"instructions\": \"Qustodio's support page.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Qustodio: Support\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Qustodio\",\r\n                                \"link\": \"https:\/\/help.qustodio.com\/hc\/en-us\/articles\/360005219377-How-to-install-Qustodio-on-a-Windows-or-Mac-computer\",\r\n                                \"instructions\": \"Step by Step instructions on how to install Qustodio on Windows or Mac computers.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Qustodio: Windows or Mac Installation\"\r\n                            },\r\n                            {\r\n                                \"name\": \"WikiHow\",\r\n                                \"link\": \"https:\/\/www.wikihow.com\/Set-Up-Parental-Controls-in-Windows-8\",\r\n                                \"instructions\": \"How to set up parental controls on Windows 8 devices.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"WikiHow: Windows 8 Parental Controls\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Windows Central\",\r\n                                \"link\": \"https:\/\/www.windowscentral.com\/how-change-user-account-type-windows-10\",\r\n                                \"instructions\": \"How to set up user accounts on Windows 10 devices for individual settings.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Windows Central: User Account Setup on Windows 10\"\r\n                            },\r\n                            {\r\n                                \"name\": \"WonderShare\",\r\n                                \"link\": \"https:\/\/famisafe.wondershare.com\/parental-control\/windows-10-parental-controls.html\",\r\n                                \"instructions\": \"How to set up parental controls on Windows 10 devices.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"WonderShare: Windows 10 Parental Controls\"\r\n                            }\r\n                        ],\r\n                        \"Apple\": [\r\n                            {\r\n                                \"name\": \"Five Minute Fix\",\r\n                                \"link\": \"https:\/\/firstnrc.org\/?page_id=140\",\r\n                                \"instructions\": \"Instructions on how to set up parental controls on MacOS X.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Five Minute Fix: MacOS X Parental Contols\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Mac\",\r\n                                \"link\": \"0\",\r\n                                \"instructions\": \"You can allow older\ufffdchildren to use email and still block all other internet (i.e. website access) if you wish. You can\ufffdlimit your child\ufffds contact list (i.e. those to whom they can send and receive email from) by adding specific\ufffdemail addresses to the \ufffdAllowed Contacts\ufffd list in the \ufffdPeople\ufffd tab of the \ufffdParental Controls\ufffd settings\ufffdpanel. (Website access is allowed\/disallowed in the \ufffdWeb\ufffd tab of the \ufffdParental Controls\ufffd settings panel.)\",\r\n                                \"type\": \"Tip\",\r\n                                \"header\": \"Mac: Email & Internet Restrictions\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Qustodio\",\r\n                                \"link\": \"https:\/\/www.qustodio.com\/en\/downloads\/\",\r\n                                \"instructions\": \"Downloads for Qustodio, including parent and child devices, whether Apple, Android, Windows, Chromebook or Kindle.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Qustodio: Download\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Qustodio\",\r\n                                \"link\": \"https:\/\/help.qustodio.com\/hc\/en-us\/articles\/360005219377-How-to-install-Qustodio-on-a-Windows-or-Mac-computer\",\r\n                                \"instructions\": \"Step by Step instructions on how to install Qustodio on Windows or Mac computers.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Qustodio: Windows or Mac Installation\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Qustodio\",\r\n                                \"link\": \"https:\/\/www.qustodio.com\/en\/\",\r\n                                \"instructions\": \"Qustodio's website.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"Qustodio: Main Site\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Qustodio\",\r\n                                \"link\": \"https:\/\/help.qustodio.com\/hc\/en-us\/\",\r\n                                \"instructions\": \"Qustodio's support page.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Qustodio: Support\"\r\n                            }\r\n                        ],\r\n                        \"Chromebook\": [\r\n                            {\r\n                                \"name\": \"Qustodio\",\r\n                                \"link\": \"https:\/\/www.qustodio.com\/en\/downloads\/\",\r\n                                \"instructions\": \"Downloads for Qustodio, including parent and child devices, whether Apple, Android, Windows, Chromebook or Kindle.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Qustodio: Download\"\r\n                            }\r\n                        ]\r\n                    },\r\n                    \"Browser\": {\r\n                        \"All\": [\r\n                            {\r\n                                \"name\": \"iTechtics.com\",\r\n                                \"link\": \"https:\/\/www.itechtics.com\/private-browsing-mode-enable-disable\/\",\r\n                                \"instructions\": \"How to disable private browsing modes so that history is recorded.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"iTechtics.com: Disable In-Private Browsing\"\r\n                            }\r\n                        ]\r\n                    },\r\n                    \"All\": {\r\n                        \"All\": [\r\n                            {\r\n                                \"name\": \"Protect Young Eyes\",\r\n                                \"link\": \"https:\/\/protectyoungeyes.com\/the-best-parental-control-software\/\",\r\n                                \"instructions\": \"Detailed comparison of fourteen different filtering options for parental control.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Protect Young Eyes: Filter Comparison\"\r\n                            }\r\n                        ]\r\n                    }\r\n                },\r\n                \"2\": {\r\n                    \"Search\": {\r\n                        \"Bing\": [\r\n                            {\r\n                                \"name\": \"BeWebSmart\",\r\n                                \"link\": \"https:\/\/www.bewebsmart.com\/safe-search\/filter-out-adult-content-in-bing\/\",\r\n                                \"instructions\": \"How to set up SafeSearch on Bing.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"BeWebSmart: Bing SafeSearch Setup\"\r\n                            }\r\n                        ],\r\n                        \"Google\": [\r\n                            {\r\n                                \"name\": \"Google\",\r\n                                \"link\": \"https:\/\/support.google.com\/websearch\/answer\/510?hl=en\",\r\n                                \"instructions\": \"How to set up SafeSearch on Google.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Google: SafeSearch Setup\"\r\n                            }\r\n                        ],\r\n                        \"YouTube\": [\r\n                            {\r\n                                \"name\": \"Google\",\r\n                                \"link\": \"https:\/\/support.google.com\/youtube\/answer\/174084?hl=en\",\r\n                                \"instructions\": \"Turn YouTube Restrcited Mode on.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Google: YouTube Restricted Mode\"\r\n                            }\r\n                        ],\r\n                        \"All\": [\r\n                            {\r\n                                \"name\": \"KidzSearch\",\r\n                                \"link\": \"https:\/\/www.kidzsearch.com\/images.html\",\r\n                                \"instructions\": \"A website that delivers results from Google but more dependably filtered.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"KidzSearch: Child-Safe Seach Option\"\r\n                            }\r\n                        ],\r\n                        \"Yahoo\": [\r\n                            {\r\n                                \"name\": \"Yahoo\",\r\n                                \"link\": \"https:\/\/help.yahoo.com\/kb\/search\/SLN2247.html?impressions=true&guccounter=1&guce_referrer=aHR0cHM6Ly9maXJzdG5yYy5vcmcv&guce_referrer_sig=AQAAADWJfauv767nBMbXnfFhgqBL8wg8nv1FKjahrPIb7WMJ4-DMRIG0p0t7DNblLTzAaE6ECJh5eyYqwtkeIa8Wr_1V1WZ-3fhCF9O33cHmiO4cpGYr0EgSlBiK0JzTYy17pfORfFRfMXS17R4cTgkyvA93nOEAb87G-_YOdTDieqJ5\",\r\n                                \"instructions\": \"How to set up SafeSearch on Yahoo.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Yahoo: SafeSearch Setup\"\r\n                            }\r\n                        ]\r\n                    },\r\n                    \"Router\": {\r\n                        \"All\": [\r\n                            {\r\n                                \"name\": \"CleanBrowsing\",\r\n                                \"link\": \"https:\/\/cleanbrowsing.org\/\",\r\n                                \"instructions\": \"The main site for CleanBrowsing.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"CleanBrowsing: Main Site\"\r\n                            },\r\n                            {\r\n                                \"name\": \"FirstNRC\",\r\n                                \"link\": \"https:\/\/firstnrc.org\/?page_id=871\",\r\n                                \"instructions\": \"FirstNRC's webpage for routers.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"FirstNRC: Routers\"\r\n                            },\r\n                            {\r\n                                \"name\": \"FirstNRC\",\r\n                                \"link\": \"https:\/\/firstnrc.org\/wp-content\/uploads\/2017\/10\/openDNS_and_Router_Setup_Guide.pdf\",\r\n                                \"instructions\": \"Our instructions on how to set up OpenDNS.\",\r\n                                \"type\": \"PDF\",\r\n                                \"header\": \"FirstNRC: How to Set Up OpenDNS\"\r\n                            },\r\n                            {\r\n                                \"name\": \"OpenDNS\",\r\n                                \"link\": \"https:\/\/www.opendns.com\/home-internet-security\/\",\r\n                                \"instructions\": \"The main site for OpenDNS.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"OpenDNS: Main Site\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Protect Young Eyes\",\r\n                                \"link\": \"https:\/\/protectyoungeyes.com\/how-to-block-porn-on-any-device-for-free\/\",\r\n                                \"instructions\": \"Setup instructions for Cleanbrowsing from Protect Young Eyes.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Protect Young Eyes: CleanBrowsing Setup\"\r\n                            }\r\n                        ],\r\n                        \"CleanRouter\": [\r\n                            {\r\n                                \"name\": \"CleanRouter\",\r\n                                \"link\": \"https:\/\/cleanrouter.com\/\",\r\n                                \"instructions\": \"The main site for CleanRouter.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"CleanRouter: Main Site\"\r\n                            },\r\n                            {\r\n                                \"name\": \"CleanRouter\",\r\n                                \"link\": \"https:\/\/cleanrouter.com\/purchase\/#Router_Select\",\r\n                                \"instructions\": \"CleanRouter devices that can be purchased.\",\r\n                                \"type\": \"Device\",\r\n                                \"header\": \"CleanRouter: Router Options\"\r\n                            },\r\n                            {\r\n                                \"name\": \"CleanRouter\",\r\n                                \"link\": \"https:\/\/cleanrouter.com\/#faqs\",\r\n                                \"instructions\": \"CleanRouter questions and answers.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"CleanRouter: FAQ\"\r\n                            }\r\n                        ],\r\n                        \"D-Link\": [\r\n                            {\r\n                                \"name\": \"D-Link\",\r\n                                \"link\": \"https:\/\/support.dlink.com\/index.aspx\",\r\n                                \"instructions\": \"Support for D-Link products.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"D-Link: Support\"\r\n                            }\r\n                        ]\r\n                    },\r\n                    \"Browser\": {\r\n                        \"All\": [\r\n                            {\r\n                                \"name\": \"FirstNRC\",\r\n                                \"link\": \"https:\/\/firstnrc.org\/?page_id=1518\",\r\n                                \"instructions\": \"FirstNRC's webpage for browsers.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"FirstNRC: Browsers\"\r\n                            }\r\n                        ],\r\n                        \"Chrome\": [\r\n                            {\r\n                                \"name\": \"Google\",\r\n                                \"link\": \"https:\/\/support.google.com\/chrome\/answer\/95426?co=GENIE.Platform%3DDesktop&hl=en\",\r\n                                \"instructions\": \"How to set the default search engine for Google Chrome \",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Google: Chrome Default Search\"\r\n                            }\r\n                        ]\r\n                    },\r\n                    \"Computer\/Laptop\": {\r\n                        \"Apple\": [\r\n                            {\r\n                                \"name\": \"FirstNRC\",\r\n                                \"link\": \"https:\/\/firstnrc.org\/?page_id=854\",\r\n                                \"instructions\": \"FirstNRC's webpage for Apple's MacOS operating system.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"FirstNRC: Apple MacOS\"\r\n                            }\r\n                        ],\r\n                        \"Windows\": [\r\n                            {\r\n                                \"name\": \"FirstNRC\",\r\n                                \"link\": \"https:\/\/firstnrc.org\/?page_id=863\",\r\n                                \"instructions\": \"FirstNRC's webpage for the Microsoft Windows operating system.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"FirstNRC: Windows Devices\"\r\n                            }\r\n                        ]\r\n                    },\r\n                    \"E-Reader\": {\r\n                        \"All\": [\r\n                            {\r\n                                \"name\": \"FirstNRC\",\r\n                                \"link\": \"https:\/\/firstnrc.org\/?page_id=869\",\r\n                                \"instructions\": \"FirstNRC's webpage for E-Readers.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"FirstNRC: E-Readers\"\r\n                            }\r\n                        ]\r\n                    },\r\n                    \"Phone\/Tablet\": {\r\n                        \"Android\": [\r\n                            {\r\n                                \"name\": \"FirstNRC\",\r\n                                \"link\": \"https:\/\/firstnrc.org\/?page_id=819\",\r\n                                \"instructions\": \"FirstNRC's webpage for Google's Android operating system.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"FirstNRC: Android Devices\"\r\n                            }\r\n                        ],\r\n                        \"Apple\": [\r\n                            {\r\n                                \"name\": \"FirstNRC\",\r\n                                \"link\": \"https:\/\/firstnrc.org\/?page_id=90\",\r\n                                \"instructions\": \"FirstNRC's webpage for Apple's iOS operating system.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"FirstNRC: Apple iOS\"\r\n                            }\r\n                        ]\r\n                    }\r\n                },\r\n                \"4\": {\r\n                    \"Computer\/Laptop\": {\r\n                        \"Apple\": [\r\n                            {\r\n                                \"name\": \"Covenant Eyes\",\r\n                                \"link\": \"https:\/\/support.covenanteyes.com\/hc\/en-us\/articles\/12717137028123\",\r\n                                \"instructions\": \"Step by step instructions on how to install Covenant Eyes on a Mac computer.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Covenant Eyes: Install on Mac\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Covenant Eyes\",\r\n                                \"link\": \"https:\/\/www.covenanteyes.com\/\",\r\n                                \"instructions\": \"Covenant Eye's website.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"Covenant Eyes: Main Site\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Covenant Eyes\",\r\n                                \"link\": \"https:\/\/support.covenanteyes.com\/hc\/en-us\/articles\/11844270323995\",\r\n                                \"instructions\": \"Support article on how to set up an account for Covenant Eyes.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Covenant Eyes: General Support Article\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Covenant Eyes\",\r\n                                \"link\": \"https:\/\/support.covenanteyes.com\/hc\/en-us\/articles\/12717137028123\",\r\n                                \"instructions\": \"Step by step instructions on how to install Covenant Eyes on a Mac computer.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Covenant Eyes: Install on Mac\"\r\n                            }\r\n                        ],\r\n                        \"Windows\": [\r\n                            {\r\n                                \"name\": \"Covenant Eyes\",\r\n                                \"link\": \"https:\/\/support.covenanteyes.com\/hc\/en-us\/articles\/12776845315611\",\r\n                                \"instructions\": \"Step by step instructions on how to install Covenant Eyes on a Windows device.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Covenant Eyes: Install on Windows\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Covenant Eyes\",\r\n                                \"link\": \"https:\/\/www.covenanteyes.com\/\",\r\n                                \"instructions\": \"Covenant Eye's website.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"Covenant Eyes: Main Site\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Covenant Eyes\",\r\n                                \"link\": \"https:\/\/support.covenanteyes.com\/hc\/en-us\/articles\/11844270323995\",\r\n                                \"instructions\": \"Support article on how to set up an account for Covenant Eyes.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Covenant Eyes: General Support Article\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Covenant Eyes\",\r\n                                \"link\": \"https:\/\/support.covenanteyes.com\/hc\/en-us\/articles\/12776845315611\",\r\n                                \"instructions\": \"Step by step instructions on how to install Covenant Eyes on a Windows device.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Covenant Eyes: Install on Windows\"\r\n                            },\r\n                            {\r\n                                \"name\": \"FirstNRC\",\r\n                                \"link\": \"https:\/\/firstnrc.org\/?page_id=4911\",\r\n                                \"instructions\": \"FirstNRC's webpage for Covenant Eyes filtering software.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"FirstNRC: Covenant Eyes\"\r\n                            }\r\n                        ]\r\n                    },\r\n                    \"Phone \/ Tablet\": {\r\n                        \"Android\": [\r\n                            {\r\n                                \"name\": \"Covenant Eyes\",\r\n                                \"link\": \"https:\/\/support.covenanteyes.com\/hc\/en-us\/articles\/12868293068955\",\r\n                                \"instructions\": \"Step by step instructions on how to install Covenant Eyes on an Android device.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Covenant Eyes: Install on Android\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Covenant Eyes\",\r\n                                \"link\": \"https:\/\/www.covenanteyes.com\/\",\r\n                                \"instructions\": \"Covenant Eye's website.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"Covenant Eyes: Main Site\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Covenant Eyes\",\r\n                                \"link\": \"https:\/\/support.covenanteyes.com\/hc\/en-us\/articles\/11844270323995\",\r\n                                \"instructions\": \"Support article on how to set up an account for Covenant Eyes.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Covenant Eyes: General Support Article\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Covenant Eyes\",\r\n                                \"link\": \"https:\/\/support.covenanteyes.com\/hc\/en-us\/articles\/12868293068955\",\r\n                                \"instructions\": \"Step by step instructions on how to install Covenant Eyes on an Android device.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Covenant Eyes: Install on Android\"\r\n                            },\r\n                            {\r\n                                \"name\": \"FirstNRC\",\r\n                                \"link\": \"https:\/\/firstnrc.org\/?page_id=4911\",\r\n                                \"instructions\": \"FirstNRC's webpage for Covenant Eyes filtering software.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"FirstNRC: Covenant Eyes\"\r\n                            }\r\n                        ],\r\n                        \"Apple\": [\r\n                            {\r\n                                \"name\": \"Covenant Eyes\",\r\n                                \"link\": \"https:\/\/www.covenanteyes.com\/\",\r\n                                \"instructions\": \"Covenant Eye's website.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"Covenant Eyes: Main Site\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Covenant Eyes\",\r\n                                \"link\": \"https:\/\/support.covenanteyes.com\/hc\/en-us\/articles\/11844270323995\",\r\n                                \"instructions\": \"Support article on how to set up an account for Covenant Eyes.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Covenant Eyes: General Support Article\"\r\n                            },\r\n                            {\r\n                                \"name\": \"Covenant Eyes\",\r\n                                \"link\": \"https:\/\/support.covenanteyes.com\/hc\/en-us\/articles\/12351811675547\",\r\n                                \"instructions\": \"Step by step instructions on how to install Covenant Eyes on an iPhone or iPad.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"Covenant Eyes: Install on iPhone\/iPad\"\r\n                            },\r\n                            {\r\n                                \"name\": \"FirstNRC\",\r\n                                \"link\": \"https:\/\/firstnrc.org\/?page_id=4911\",\r\n                                \"instructions\": \"FirstNRC's webpage for Covenant Eyes filtering software.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"FirstNRC: Covenant Eyes\"\r\n                            },\r\n                            {\r\n                                \"name\": \"iOS App Store\",\r\n                                \"link\": \"https:\/\/apps.apple.com\/us\/app\/covenant-eyes-quit-porn-now\/id335318146\",\r\n                                \"instructions\": \"Use this iPhone\/iPad app for the person being protected.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"iOS App Store: Covenant Eyes Protection App\"\r\n                            },\r\n                            {\r\n                                \"name\": \"iOS App Store\",\r\n                                \"link\": \"https:\/\/apps.apple.com\/us\/app\/victory-by-covenant-eyes\/id1593067468\",\r\n                                \"instructions\": \"Use this iPhone\/iPad app for the accountability partner doing the monitoring.\",\r\n                                \"type\": \"App\",\r\n                                \"header\": \"iOS App Store: Covenant Eyes Victory App\"\r\n                            }\r\n                        ]\r\n                    }\r\n                },\r\n                \"1\": {\r\n                    \"Browser\": {\r\n                        \"All\": [\r\n                            {\r\n                                \"name\": \"FirstNRC\",\r\n                                \"link\": \"https:\/\/firstnrc.org\/?page_id=597\",\r\n                                \"instructions\": \"How to install an ad blocker on a broswer.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"FirstNRC: Ad Blocker Installation\"\r\n                            }\r\n                        ]\r\n                    },\r\n                    \"E-Reader\": {\r\n                        \"Kindle\": [\r\n                            {\r\n                                \"name\": \"LaptopMag\",\r\n                                \"link\": \"https:\/\/www.laptopmag.com\/articles\/turn-off-ads-kindle-fire-hdx\",\r\n                                \"instructions\": \"Step by step instructions on how to turn off ads on Kindle Fire.\",\r\n                                \"type\": \"Link\",\r\n                                \"header\": \"LaptopMag: How to Turn off Kindle Ads\"\r\n                            }\r\n                        ]\r\n                    }\r\n                }\r\n            }\r\n        }\r\n    };\r\n\t<\/script>","_et_gb_content_width":"","footnotes":""},"class_list":["post-7161","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.firstnrc.org\/index.php?rest_route=\/wp\/v2\/pages\/7161","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.firstnrc.org\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.firstnrc.org\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.firstnrc.org\/index.php?rest_route=\/wp\/v2\/users\/5"}],"replies":[{"embeddable":true,"href":"https:\/\/www.firstnrc.org\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=7161"}],"version-history":[{"count":21,"href":"https:\/\/www.firstnrc.org\/index.php?rest_route=\/wp\/v2\/pages\/7161\/revisions"}],"predecessor-version":[{"id":7302,"href":"https:\/\/www.firstnrc.org\/index.php?rest_route=\/wp\/v2\/pages\/7161\/revisions\/7302"}],"wp:attachment":[{"href":"https:\/\/www.firstnrc.org\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7161"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}