Files
Hi-School-Slide-Manager/assets/css/slider.css
T

297 lines
8.1 KiB
CSS

/**
* HSSM Slider Styles
* Custom classes and styles based on client specifications
* Optimized for Classic Divi environments
*/
:root {
--hssm-ratio: 42.85714%; /* 900 / 2100 * 100 */
--hssm-red: #ff0000;
--hssm-bg-overlay: rgba(0, 0, 0, 0.3);
--hssm-shadow: 0.08em 0.08em 0px rgba(0, 0, 0, 0.6);
/* Default Sizes */
--hssm-title-size: 32px;
--hssm-subtitle-size: 20px;
--hssm-content-size: 18px;
--hssm-arrow-size: 50px;
}
/* Force 80% width container */
.hssm-slider-container {
position: relative !important;
width: 80% !important;
max-width: 1980px !important;
margin: 60px auto !important;
box-sizing: border-box !important;
padding: 0 !important;
}
.hssm-slider {
position: relative !important;
width: 100% !important;
}
.hssm-viewport {
position: relative !important;
overflow: hidden !important;
width: 100% !important;
border-radius: 20px !important;
box-shadow: 0 20px 60px rgba(0, 0, 0, 0.35) !important;
background: #000 !important;
}
.hssm-track {
display: flex !important;
transition: transform 0.6s cubic-bezier(0.45, 0.05, 0.55, 0.95) !important;
width: 100% !important;
padding: 0 !important;
margin: 0 !important;
}
.hssm-slide {
flex: 0 0 100% !important;
width: 100% !important;
min-width: 100% !important;
position: relative !important;
margin: 0 !important;
padding: 0 !important;
}
/* Aspect Ratio Maintainer - Very Aggressive */
.hssm-slide-inner {
position: relative !important;
width: 100% !important;
height: 0 !important;
padding-bottom: var(--hssm-ratio) !important;
background-size: cover !important;
background-position: center !important;
background-repeat: no-repeat !important;
overflow: hidden !important;
display: block !important;
}
/* Fallback for modern browsers */
@supports (aspect-ratio: 21 / 9) {
.hssm-slide-inner {
padding-bottom: 0 !important;
height: auto !important;
aspect-ratio: 2100 / 900 !important;
min-height: 300px !important; /* Safety min-height */
}
}
.hssm-slide-content-wrapper {
position: absolute !important;
top: 0 !important;
left: 0 !important;
right: 0 !important;
bottom: 0 !important;
display: flex !important;
flex-direction: column !important;
justify-content: center !important;
align-items: center !important;
padding: 40px 5% !important;
z-index: 5 !important;
}
.hssm-slide-content {
display: flex !important;
flex-direction: column !important;
align-items: center !important;
text-align: center !important;
width: 100% !important;
margin: 0 auto !important;
}
/* Spacing between rows */
.hssm-slide-content > * {
margin-bottom: 30px !important;
}
.hssm-slide-content > *:last-child {
margin-bottom: 0 !important;
}
/* Title Styles - 80% width */
.hssm-slide-title {
font-size: var(--hssm-title-size) !important;
color: #ffffff !important;
font-weight: 600 !important;
line-height: 1.3em !important;
letter-spacing: 1px !important;
max-width: 80% !important;
margin: 0 0 30px 0 !important;
}
.hssm-slide-title span {
background: var(--hssm-bg-overlay) !important;
padding: 5px 15px !important;
border-radius: 8px !important;
text-shadow: var(--hssm-shadow) !important;
display: inline-block !important;
}
/* Subtitle Styles - 80% width */
.hssm-slide-subtitle {
font-size: var(--hssm-subtitle-size) !important;
color: #ffffff !important;
font-weight: 600 !important;
line-height: 1em !important;
letter-spacing: 1px !important;
max-width: 80% !important;
margin: 0 0 30px 0 !important;
}
.hssm-slide-subtitle span {
background: var(--hssm-bg-overlay) !important;
padding: 5px 12px !important;
border-radius: 6px !important;
text-shadow: var(--hssm-shadow) !important;
display: inline-block !important;
}
/* Description / Content Styles - 50% width */
.hssm-slide-description {
font-size: var(--hssm-content-size) !important;
color: #ffffff !important;
font-weight: 500 !important;
line-height: 1.6em !important;
letter-spacing: 1px !important;
max-width: 50% !important;
margin: 0 0 30px 0 !important;
}
.hssm-slide-description span {
background: var(--hssm-bg-overlay) !important;
padding: 10px 20px !important;
border-radius: 8px !important;
text-shadow: var(--hssm-shadow) !important;
display: inline-block !important;
}
/* Button Container */
.hssm-button-container {
display: flex !important;
flex-wrap: wrap !important;
gap: 15px !important;
justify-content: center !important;
}
.hssm-button {
background: var(--hssm-red) !important;
color: #ffffff !important;
font-size: 16px !important;
font-weight: 600 !important;
padding: 12px 25px !important;
border-radius: 8px !important;
text-decoration: none !important;
transition: transform 0.2s ease, background 0.2s ease !important;
text-transform: uppercase !important;
display: inline-block !important;
border: none !important;
box-shadow: 0 4px 10px rgba(0,0,0,0.2) !important;
}
.hssm-button:hover {
transform: scale(1.05) !important;
background: #e60000 !important;
}
/* Arrows */
.hssm-arrow {
position: absolute !important;
top: 50% !important;
transform: translateY(-50%) !important;
width: var(--hssm-arrow-size) !important;
height: var(--hssm-arrow-size) !important;
background: var(--hssm-red) !important;
border: none !important;
border-radius: 50% !important;
color: white !important;
cursor: pointer !important;
z-index: 10 !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4) !important;
transition: all 0.3s ease !important;
padding: 0 !important;
}
.hssm-arrow:hover {
background: #d00000 !important;
transform: translateY(-50%) scale(1.1) !important;
}
.hssm-arrow-prev { left: -25px !important; }
.hssm-arrow-next { right: -25px !important; }
.hssm-arrow-icon {
display: block !important;
width: 14px !important;
height: 14px !important;
border-top: 4px solid white !important;
border-right: 4px solid white !important;
}
.hssm-arrow-prev .hssm-arrow-icon {
transform: rotate(-135deg) !important;
margin-left: 6px !important;
}
.hssm-arrow-next .hssm-arrow-icon {
transform: rotate(45deg) !important;
margin-right: 4px !important;
}
/* Responsive */
/* X-Large Screen Breakpoint: 1921px and up */
@media (min-width: 1921px) {
:root {
--hssm-title-size: 35.2px;
--hssm-subtitle-size: 22px;
--hssm-content-size: 19.8px;
}
}
@media (max-width: 1400px) {
.hssm-slider-container { width: 90% !important; }
.hssm-slide-description { max-width: 70% !important; }
}
@media (max-width: 980px) {
:root {
--hssm-arrow-size: 44px;
}
.hssm-slider-container { width: 92% !important; margin: 40px auto !important; }
.hssm-slide-description { max-width: 85% !important; }
.hssm-arrow-prev { left: -22px !important; }
.hssm-arrow-next { right: -22px !important; }
}
@media (max-width: 768px) {
.hssm-slider-container { width: 95% !important; margin: 30px auto !important; }
.hssm-viewport { border-radius: 12px !important; }
.hssm-slide-description { max-width: 95% !important; }
.hssm-slide-title, .hssm-slide-subtitle { max-width: 95% !important; }
.hssm-arrow { width: 40px !important; height: 40px !important; }
.hssm-arrow-prev { left: -15px !important; }
.hssm-arrow-next { right: -15px !important; }
:root {
--hssm-title-size: 24px;
--hssm-subtitle-size: 16px;
--hssm-content-size: 14px;
}
}
@media (max-width: 480px) {
.hssm-slider-container { width: 100% !important; border-radius: 0 !important; margin: 20px 0 !important; }
.hssm-viewport { border-radius: 0 !important; }
.hssm-arrow { width: 32px !important; height: 32px !important; }
.hssm-arrow-prev { left: 5px !important; }
.hssm-arrow-next { right: 5px !important; }
}