Files
computing-box/Export/assets/css/styles.css
Alexander Davis 93b5f11abe Wave 1 Beta Release
# Wave 1 Beta Release

---

## Key Features and Enhancements

### 1. Core Functionality
- Developed and optimized JavaScript functions for binary, hexadecimal, and logic gate simulations, ensuring high performance and compatibility across GCSE and A-Level specifications.
- Introduced dynamic behavior to adapt pages (e.g., GCSE vs A-Level) based on URL or heading context.
- Streamlined reset, toggle, and update functionalities for user inputs and sliders across various simulation pages.

### 2. Hexadecimal Simulator
- Enabled two configurations:
  - 8-bit binary with 2-digit hexadecimal (GCSE).
  - 16-bit binary with 4-digit hexadecimal (A-Level).
- Ensured user input validation for denary and hexadecimal values with robust error handling and feedback.

### 3. Hex Colors Module
- Added dynamic color preview updates for RGB sliders, denary, binary, and hexadecimal values.
- Included an "invert color" feature with corresponding visual updates.

### 4. Logic Gates Module
- Implemented NOT, AND, and OR gates with toggle buttons and live output updates.
- Enhanced reset functionality to initialize states correctly for each gate type.

### 5. Error Handling
- Resolved bugs related to undefined slider properties and invalid binary/hexadecimal inputs.
- Implemented fallback defaults for invalid or canceled inputs.

---

## Visual Enhancements

### 1. Custom Illustrations
- Created custom images for the following sections:
  - **About CS:Box**: A simplistic and educational-themed design.
  - **The Evolution from Bit:Box**: A visual transition from Bit:Box to CS:Box.
  - **Educational Impact**: Vibrant and engaging designs showcasing classroom learning.
- Refined visual hierarchy across all pages for better user experience.

### 2. Navigation Revamp
- Redesigned Bootstrap-based dropdown menus for better usability and accessibility.
- Improved menu hierarchy to align with the UK Computing Curriculum elements.

---

## Documentation

### 1. CS:Box Overview
- Added content explaining the project's evolution from Bit:Box and its educational significance.
- Highlighted key features and their relevance to the UK Computing Curriculum.

### 2. GitHub Repository
- Structured repository with concise descriptions of modules, features, and usage instructions.

---

## Bug Fixes and Optimizations
- Addressed issues with sliders not functioning correctly after reset on hexadecimal pages.
- Fixed error with NOT gate toggling state incorrectly upon reset.
- Streamlined JavaScript logic across all simulations to reduce redundancy and improve maintainability.

---

## Future Scope
- Prepare for **Wave 2 Release** with additional simulations (e.g., XOR gates, floating-point representations).
- Enhance accessibility features for a more inclusive user experience.
- Explore collaborative features for classroom settings.

---

*Wave 1 Beta Release is the foundation of CS:Box, setting the stage for engaging, curriculum-aligned computing education tools.*
2024-12-07 22:49:29 +00:00

429 lines
6.5 KiB
CSS

html {
background: #000000;
color: rgb(255,255,255);
--bs-primary: #dc3545;
--bs-primary-rgb: 220,53,69;
--bs-secondary: #198754;
--bs-secondary-rgb: 25,135,84;
}
.btn-primary, .btn-primary:focus {
color: #fff;
background-color: #dc3545;
border-color: #dc3545;
border-radius: 6px;
padding: 6px 12px;
}
.btn:hover, .btn-primary:hover {
background-color: #0d6efd;
border-color: #ffc107;
}
.btnActive, .btnActive:focus {
color: #fff;
background-color: #198754;
border-color: #198754;
}
.poweredOn {
filter: opacity(100%);
}
.poweredOff {
filter: opacity(5%);
}
.overlay {
transition: .5s ease;
height: 100px;
width: 100px;
opacity: 1;
}
.overlay:hover {
opacity: 0;
}
.central {
display: flex;
justify-content: center;
align-items: center;
}
.centred {
opacity: 1;
margin: auto;
}
.reset {
background-image: url("/assets/img/BitBoxLogo.png?h=a50b3ddb5614299b0c00dd4f01bc402e");
height: 100px;
width: 100px;
}
.homeIcon:hover {
opacity: 1;
}
.homeIcon {
width: 100px;
height: 100px;
opacity: 0.25;
transition: .5s ease;
}
.warning {
background-color: #ffc107;
border-color: #ffc107;
margin-top: 10px;
text-align: center;
margin-bottom: 10px;
}
.warning:hover {
background-color: #dc3545;
border-color: #dc3545;
margin-top: 10px;
text-align: center;
margin-bottom: 10px;
}
.bulb-text {
text-align: center;
font-size: 40px;
font-family: 'Seven Segment Regular';
position: relative;
opacity: 0.75;
z-index: 2;
}
.stacked {
position: relative;
height: 110px;
}
.bulbs {
text-align: center;
font-size: 48px;
opacity: 0;
/*position: absolute;*/
/*margin-top: 1em;*/
/*left: 50%;*/
/*-webkit-transform: translate(-50%, -50%);*/
/*z-index: 1;*/
}
.bulb-div {
position: relative;
top: 0;
left: 0;
}
.buttonMiddle {
font-size: xx-large;
font-family: 'IEC symbols Unicode';
height: 62px;
}
table .high-toggle {
padding-bottom: 0px;
}
table .mid-toggle {
padding-top: 0px;
}
table .stacked {
width: 11%;
}
.btnUp {
border-bottom-right-radius: 0;
border-bottom-left-radius: 0;
margin-top: 10px;
text-align: center;
margin-bottom: 0px;
}
.btnDown {
margin-top: 0px;
text-align: center;
margin-bottom: 10px;
border-top-left-radius: 0;
border-top-right-radius: 0;
}
.btnUp svg, .btnDown svg {
font-size: 5em;
}
.simHeading {
font-family: 'Seven Segment';
text-align: center;
}
.simData {
text-align: center;
color: #10ff00;
font-family: 'DSEG7 Classic Regular';
white-space: nowrap;
}
.simColumns {
text-align: center;
font-family: 'DSEG7 Classic Regular';
color: rgb(255,255,255);
}
.btnReset {
margin-top: 10px;
text-align: center;
margin-bottom: 10px;
}
.bs-icon {
--bs-icon-size: .75rem;
display: flex;
flex-shrink: 0;
justify-content: center;
align-items: center;
font-size: var(--bs-icon-size);
width: calc(var(--bs-icon-size) * 2);
height: calc(var(--bs-icon-size) * 2);
color: var(--bs-primary);
}
.bs-icon-xs {
--bs-icon-size: 1rem;
width: calc(var(--bs-icon-size) * 1.5);
height: calc(var(--bs-icon-size) * 1.5);
}
.bs-icon-sm {
--bs-icon-size: 1rem;
}
.bs-icon-md {
--bs-icon-size: 1.5rem;
}
.bs-icon-lg {
--bs-icon-size: 2rem;
}
.bs-icon-xl {
--bs-icon-size: 2.5rem;
}
.bs-icon.bs-icon-primary {
color: var(--bs-white);
background: var(--bs-primary);
}
.bs-icon.bs-icon-primary-light {
color: var(--bs-primary);
background: rgba(var(--bs-primary-rgb), .2);
}
.bs-icon.bs-icon-semi-white {
color: var(--bs-primary);
background: rgba(255, 255, 255, .5);
}
.bs-icon.bs-icon-rounded {
border-radius: .5rem;
}
.bs-icon.bs-icon-circle {
border-radius: 50%;
}
.dropdown-menu {
opacity: 0;
transform: translateY(2rem);
transition: transform 0.5s;
}
.dropdown:hover > .dropdown-menu {
opacity: 1;
transform: translateY(-2px);
transition: opacity 0.5s, transform 0.5s;
}
.introP {
margin-bottom: 1rem !important;
}
.completeFeatures {
font-weight: bold;
color: rgb(25,245,170);
margin-bottom: 0px;
}
.hexColourToggles {
margin-right: 5em;
display: inline-grid;
}
.hexColourTogglesEnd {
display: inline-grid;
}
.resetButton {
font-weight: 600;
color: black;
text-align: center;
position: absolute;
top: 25%;
left: 50%;
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
transform: translate(-50%);
}
.resetIcon {
z-index: -1;
}
.bottomSpacer {
height: 12px;
}
.spacer {
height: 56px;
}
.binaryButtons {
margin: auto;
display: flex;
height: 38px;
}
.hexColourButtons {
margin: auto;
display: flex;
height: 38px;
margin-top: 10px;
}
.logicGateInput2 {
float: left;
margin-top: 4em;
}
.logicGateInput1 {
float: left;
margin-top: 1.5em;
}
.logicGateOutput {
}
.logicGate {
filter: invert(100%);
margin: auto;
padding: 10px;
height: 15em;
float: left;
}
.oneInputRows {
display: inline-flex;
vertical-align: middle;
justify-content: right;
height: 75px;
}
.twoInputRows {
display: inline-flex;
vertical-align: middle;
justify-content: right;
margin-top: 30px;
}
.singleInputSingleOutput {
text-align: left;
font-size: 72px;
width: 20%;
display: flex;
align-items: center;
justify-content: center;
float: left;
margin-top: 90px;
margin-left: -90px;
}
.dualInputSingleOutput {
text-align: left;
font-size: 5em;
display: flex;
align-items: center;
justify-content: center;
float: left;
margin-top: .90em;
margin-left: -0.5em;
}
.tableCells {
width: 110px;
}
.social-media {
font-size: 25px;
display: grid;
margin: auto;
}
a:hover {
color: var(--bs-success);
}
a {
color: #ffffff;
}
#mainNav.navbar-dark .navbar-nav > li.nav-item > a.nav-link:hover, #mainNav.navbar-dark .navbar-nav > li.nav-item > a.nav-link:focus {
color: #19f5aa;
}
#mainNav.navbar-dark .navbar-nav > li.nav-item > a.nav-link {
color: #fff;
}
#mainNav .navbar-nav > li.nav-item > a.nav-link.active {
font-weight: 700 !important;
color: #19f5aa;
}
.dropdown-item.active, .dropdown-item:active {
color: #19f5aa!important;
text-decoration: none;
background-color: rgb(45, 44, 56);
}
.dropdown-item:hover, .dropdown-item:focus {
color: #19f5aa;
background-color: var(--bs-dropdown-link-hover-bg);
}
.vertical-center {
transform: rotate(-90deg);
-ms-transform: translateY(-50%);
top: 50%;
margin: auto;
position: relative;
width: 8em;
}
.hexSliders {
height: 150px;
}
.hexadecimalButtons {
margin: 0.5em auto 0.5em auto;
display: flex;
height: 38px;
}