/* * Universal Calculator Styles - Extended Version * Comprehensive CSS framework for all CalmyTime calculator pages * Includes unique class prefixes for each calculator to prevent conflicts * Version: 2.0 - Extended for additional calculators */ /* ========================================================================== COUNTDOWN TIMER STYLES (ctimer- prefix) ========================================================================== */ /* CSS Variables for Consistent Theming */ :root { --cdtimer-light-gray: #f8f9fa; --cdtimer-vibrant-red: #dc3545; --cdtimer-slate-gray: #333333; --cdtimer-productive-green: #28a745; --cdtimer-urgent-orange: #fd7e14; --cdtimer-shadow-red: rgba(220, 53, 69, 0.15); --cdtimer-font-primary: 'Montserrat', sans-serif; --cdtimer-font-secondary: 'Lora', serif; --cdtimer-border-radius: 12px; --cdtimer-transition: all 0.3s ease; } /* Reset and Base Styles */ * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: var(--cdtimer-font-primary); line-height: 1.6; color: var(--cdtimer-slate-gray); background-color: var(--cdtimer-light-gray); } /* Main Container */ .cdtimer-main-container { max-width: 1200px; margin: 0 auto; padding: 20px; } /* Header Section */ .cdtimer-header { text-align: center; margin-bottom: 40px; padding: 40px 20px; background: linear-gradient(135deg, var(--cdtimer-vibrant-red), #b02a37); color: white; border-radius: var(--cdtimer-border-radius); box-shadow: 0 8px 25px rgba(220, 53, 69, 0.3); } .cdtimer-main-title { font-family: var(--cdtimer-font-secondary); font-size: 2.5rem; margin-bottom: 15px; font-weight: 600; } .cdtimer-subtitle { font-size: 1.2rem; opacity: 0.9; max-width: 600px; margin: 0 auto; } /* Timer Tool Section */ .cdtimer-tool-section { background: white; padding: 40px; border-radius: var(--cdtimer-border-radius); box-shadow: 0 5px 20px var(--cdtimer-shadow-red); margin-bottom: 40px; border: 2px solid var(--cdtimer-vibrant-red); } .cdtimer-tool-title { font-family: var(--cdtimer-font-secondary); font-size: 2rem; color: var(--cdtimer-vibrant-red); text-align: center; margin-bottom: 30px; display: flex; align-items: center; justify-content: center; gap: 10px; } /* Timer Setup Form */ .cdtimer-setup-form { background: var(--cdtimer-light-gray); padding: 30px; border-radius: var(--cdtimer-border-radius); margin-bottom: 30px; } .cdtimer-form-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px; margin-bottom: 30px; } .cdtimer-input-group { display: flex; flex-direction: column; } .cdtimer-label { font-weight: 600; margin-bottom: 8px; color: var(--cdtimer-slate-gray); display: flex; align-items: center; gap: 5px; } .cdtimer-input, .cdtimer-select { padding: 12px 15px; border: 2px solid #e9ecef; border-radius: var(--cdtimer-border-radius); font-size: 1rem; transition: var(--cdtimer-transition); font-family: var(--cdtimer-font-primary); } .cdtimer-input:focus, .cdtimer-select:focus { outline: none; border-color: var(--cdtimer-vibrant-red); box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.1); } /* Timer Display */ .cdtimer-display { background: linear-gradient(135deg, #2c3e50, #34495e); color: white; padding: 40px; border-radius: var(--cdtimer-border-radius); text-align: center; margin-bottom: 30px; display: none; } .cdtimer-display.active { display: block; animation: fadeInUp 0.5s ease; } .cdtimer-event-title { font-size: 1.5rem; font-weight: 600; margin-bottom: 20px; color: #ecf0f1; } .cdtimer-countdown-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)); gap: 20px; margin-bottom: 30px; } .cdtimer-time-unit { background: rgba(255, 255, 255, 0.1); padding: 20px; border-radius: var(--cdtimer-border-radius); backdrop-filter: blur(10px); } .cdtimer-time-value { font-size: 2.5rem; font-weight: 700; font-family: 'Courier New', monospace; color: var(--cdtimer-urgent-orange); display: block; } .cdtimer-time-label { font-size: 0.9rem; text-transform: uppercase; letter-spacing: 1px; color: #bdc3c7; margin-top: 5px; } .cdtimer-progress-bar { width: 100%; height: 8px; background: rgba(255, 255, 255, 0.2); border-radius: 4px; overflow: hidden; margin-bottom: 20px; } .cdtimer-progress-fill { height: 100%; background: linear-gradient(90deg, var(--cdtimer-urgent-orange), var(--cdtimer-vibrant-red)); width: 0%; transition: width 1s ease; } .cdtimer-status-message { font-size: 1.1rem; font-weight: 500; color: #ecf0f1; } /* Button Styles */ .cdtimer-button-group { display: flex; gap: 15px; justify-content: center; flex-wrap: wrap; } .cdtimer-btn { padding: 12px 30px; border: none; border-radius: var(--cdtimer-border-radius); font-size: 1rem; font-weight: 600; cursor: pointer; transition: var(--cdtimer-transition); font-family: var(--cdtimer-font-primary); display: flex; align-items: center; gap: 8px; } .cdtimer-btn-primary { background: var(--cdtimer-vibrant-red); color: white; } .cdtimer-btn-primary:hover { background: #b02a37; transform: translateY(-2px); box-shadow: 0 5px 15px rgba(220, 53, 69, 0.3); } .cdtimer-btn-secondary { background: #6c757d; color: white; } .cdtimer-btn-secondary:hover { background: #545b62; transform: translateY(-2px); } .cdtimer-btn-success { background: var(--cdtimer-productive-green); color: white; } .cdtimer-btn-success:hover { background: #1e7e34; transform: translateY(-2px); } /* Content Sections */ .cdtimer-content-section { background: white; padding: 40px; border-radius: var(--cdtimer-border-radius); box-shadow: 0 5px 20px var(--cdtimer-shadow-red); margin-bottom: 30px; } .cdtimer-section-title { font-family: var(--cdtimer-font-secondary); font-size: 1.8rem; color: var(--cdtimer-vibrant-red); margin-bottom: 20px; display: flex; align-items: center; gap: 10px; } .cdtimer-paragraph { font-size: 1.1rem; line-height: 1.8; margin-bottom: 20px; color: var(--cdtimer-slate-gray); } /* Lists */ .cdtimer-list { list-style: none; padding: 0; } .cdtimer-list-item { padding: 10px 0; padding-left: 30px; position: relative; font-size: 1.1rem; line-height: 1.6; } .cdtimer-list-item::before { content: "\f058"; font-family: "Font Awesome 6 Free"; font-weight: 900; position: absolute; left: 0; color: var(--cdtimer-productive-green); font-size: 1.2rem; } /* Tables */ .cdtimer-table-wrapper { overflow-x: auto; margin: 20px 0; } .cdtimer-table { width: 100%; border-collapse: collapse; background: white; border-radius: var(--cdtimer-border-radius); overflow: hidden; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); } .cdtimer-table th, .cdtimer-table td { padding: 15px; text-align: left; border-bottom: 1px solid #e9ecef; } .cdtimer-table th { background: var(--cdtimer-vibrant-red); color: white; font-weight: 600; } .cdtimer-table tr:hover { background: var(--cdtimer-light-gray); } /* FAQ Section */ .cdtimer-faq-item { background: var(--cdtimer-light-gray); border-radius: var(--cdtimer-border-radius); margin-bottom: 15px; overflow: hidden; border-left: 4px solid var(--cdtimer-productive-green); } .cdtimer-faq-question { padding: 20px; cursor: pointer; display: flex; justify-content: space-between; align-items: center; font-weight: 600; color: var(--cdtimer-vibrant-red); transition: var(--cdtimer-transition); } .cdtimer-faq-question:hover { background: #e9ecef; } .cdtimer-faq-answer { padding: 0 20px; max-height: 0; overflow: hidden; transition: max-height 0.3s ease, padding 0.3s ease; } .cdtimer-faq-item.active .cdtimer-faq-answer { max-height: 200px; padding: 20px; } .cdtimer-faq-icon { transition: transform 0.3s ease; } .cdtimer-faq-item.active .cdtimer-faq-icon { transform: rotate(180deg); } /* Example Boxes */ .cdtimer-example-box { background: linear-gradient(135deg, #fff3cd, #ffeaa7); padding: 25px; border-radius: var(--cdtimer-border-radius); margin: 20px 0; border-left: 5px solid var(--cdtimer-urgent-orange); } .cdtimer-tip-box { background: linear-gradient(135deg, #d1ecf1, #bee5eb); padding: 25px; border-radius: var(--cdtimer-border-radius); margin: 20px 0; border-left: 5px solid #17a2b8; } /* Internal Links */ .cdtimer-internal-links { background: var(--cdtimer-light-gray); padding: 30px; border-radius: var(--cdtimer-border-radius); margin-top: 30px; } .cdtimer-link-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 15px; margin-top: 20px; } .cdtimer-link-item { background: white; padding: 20px; border-radius: var(--cdtimer-border-radius); text-decoration: none; color: var(--cdtimer-slate-gray); transition: var(--cdtimer-transition); border: 2px solid transparent; } .cdtimer-link-item:hover { border-color: var(--cdtimer-vibrant-red); transform: translateY(-3px); box-shadow: 0 5px 15px var(--cdtimer-shadow-red); text-decoration: none; color: var(--cdtimer-vibrant-red); } /* Animations */ @keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } @keyframes pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.05); } } .cdtimer-pulse { animation: pulse 2s infinite; } /* Responsive Design */ @media (max-width: 768px) { .cdtimer-main-title { font-size: 2rem; } .cdtimer-tool-section, .cdtimer-content-section { padding: 25px; } .cdtimer-form-grid { grid-template-columns: 1fr; } .cdtimer-countdown-grid { grid-template-columns: repeat(2, 1fr); } .cdtimer-button-group { flex-direction: column; align-items: center; } .cdtimer-btn { width: 100%; max-width: 300px; } } @media (max-width: 480px) { .cdtimer-main-container { padding: 10px; } .cdtimer-header { padding: 30px 15px; } .cdtimer-main-title { font-size: 1.8rem; } .cdtimer-tool-section, .cdtimer-content-section { padding: 20px; } .cdtimer-countdown-grid { grid-template-columns: 1fr; } .cdtimer-time-value { font-size: 2rem; } } /* ========================================================================== DATE DURATION CALCULATOR STYLES (ddcalc- prefix) ========================================================================== */ /* CSS Variables for Consistent Theming */ :root { --ddcalc-light-gray: #f8f9fa; --ddcalc-deep-purple: #6f42c1; --ddcalc-slate-gray: #333333; --ddcalc-productive-green: #28a745; --ddcalc-analytical-teal: #20c997; --ddcalc-shadow-purple: rgba(111, 66, 193, 0.15); --ddcalc-font-primary: 'Montserrat', sans-serif; --ddcalc-font-secondary: 'Lora', serif; --ddcalc-border-radius: 12px; --ddcalc-transition: all 0.3s ease; } /* Reset and Base Styles */ * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: var(--ddcalc-font-primary); line-height: 1.6; color: var(--ddcalc-slate-gray); background-color: var(--ddcalc-light-gray); } /* Main Container */ .ddcalc-main-container { max-width: 1200px; margin: 0 auto; padding: 20px; } /* Header Section */ .ddcalc-header { text-align: center; margin-bottom: 40px; padding: 40px 20px; background: linear-gradient(135deg, var(--ddcalc-deep-purple), #5a32a3); color: white; border-radius: var(--ddcalc-border-radius); box-shadow: 0 8px 25px rgba(111, 66, 193, 0.3); } .ddcalc-main-title { font-family: var(--ddcalc-font-secondary); font-size: 2.5rem; margin-bottom: 15px; font-weight: 600; } .ddcalc-subtitle { font-size: 1.2rem; opacity: 0.9; max-width: 600px; margin: 0 auto; } /* Calculator Tool Section */ .ddcalc-tool-section { background: white; padding: 40px; border-radius: var(--ddcalc-border-radius); box-shadow: 0 5px 20px var(--ddcalc-shadow-purple); margin-bottom: 40px; border: 2px solid var(--ddcalc-deep-purple); } .ddcalc-tool-title { font-family: var(--ddcalc-font-secondary); font-size: 2rem; color: var(--ddcalc-deep-purple); text-align: center; margin-bottom: 30px; display: flex; align-items: center; justify-content: center; gap: 10px; } /* Calculator Form */ .ddcalc-form { background: var(--ddcalc-light-gray); padding: 30px; border-radius: var(--ddcalc-border-radius); margin-bottom: 30px; } .ddcalc-form-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px; margin-bottom: 30px; } .ddcalc-input-group { display: flex; flex-direction: column; } .ddcalc-label { font-weight: 600; margin-bottom: 8px; color: var(--ddcalc-slate-gray); display: flex; align-items: center; gap: 5px; } .ddcalc-input, .ddcalc-select { padding: 12px 15px; border: 2px solid #e9ecef; border-radius: var(--ddcalc-border-radius); font-size: 1rem; transition: var(--ddcalc-transition); font-family: var(--ddcalc-font-primary); } .ddcalc-input:focus, .ddcalc-select:focus { outline: none; border-color: var(--ddcalc-deep-purple); box-shadow: 0 0 0 3px rgba(111, 66, 193, 0.1); } /* Results Display */ .ddcalc-results { background: white; padding: 30px; border-radius: var(--ddcalc-border-radius); border: 2px solid var(--ddcalc-analytical-teal); margin-top: 20px; display: none; } .ddcalc-results.show { display: block; animation: fadeInUp 0.5s ease; } .ddcalc-results-header { text-align: center; margin-bottom: 30px; } .ddcalc-duration-title { font-size: 1.5rem; font-weight: 600; color: var(--ddcalc-deep-purple); margin-bottom: 10px; } .ddcalc-duration-summary { font-size: 1.1rem; color: var(--ddcalc-slate-gray); } .ddcalc-duration-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 20px; margin-bottom: 30px; } .ddcalc-duration-unit { background: linear-gradient(135deg, var(--ddcalc-light-gray), #e9ecef); padding: 20px; border-radius: var(--ddcalc-border-radius); text-align: center; border: 1px solid #dee2e6; } .ddcalc-unit-value { font-size: 2rem; font-weight: 700; color: var(--ddcalc-deep-purple); font-family: 'Courier New', monospace; display: block; } .ddcalc-unit-label { font-size: 0.9rem; text-transform: uppercase; letter-spacing: 1px; color: var(--ddcalc-slate-gray); margin-top: 5px; } .ddcalc-detailed-breakdown { background: var(--ddcalc-light-gray); padding: 25px; border-radius: var(--ddcalc-border-radius); margin-top: 20px; } .ddcalc-breakdown-title { font-size: 1.2rem; font-weight: 600; color: var(--ddcalc-deep-purple); margin-bottom: 15px; display: flex; align-items: center; gap: 8px; } .ddcalc-breakdown-item { display: flex; justify-content: space-between; align-items: center; padding: 10px 0; border-bottom: 1px solid #dee2e6; } .ddcalc-breakdown-item:last-child { border-bottom: none; } .ddcalc-breakdown-label { font-weight: 500; color: var(--ddcalc-slate-gray); } .ddcalc-breakdown-value { font-weight: 700; color: var(--ddcalc-deep-purple); font-family: 'Courier New', monospace; } /* Button Styles */ .ddcalc-button-group { display: flex; gap: 15px; justify-content: center; flex-wrap: wrap; } .ddcalc-btn { padding: 12px 30px; border: none; border-radius: var(--ddcalc-border-radius); font-size: 1rem; font-weight: 600; cursor: pointer; transition: var(--ddcalc-transition); font-family: var(--ddcalc-font-primary); display: flex; align-items: center; gap: 8px; } .ddcalc-btn-primary { background: var(--ddcalc-deep-purple); color: white; } .ddcalc-btn-primary:hover { background: #5a32a3; transform: translateY(-2px); box-shadow: 0 5px 15px rgba(111, 66, 193, 0.3); } .ddcalc-btn-secondary { background: #6c757d; color: white; } .ddcalc-btn-secondary:hover { background: #545b62; transform: translateY(-2px); } /* Content Sections */ .ddcalc-content-section { background: white; padding: 40px; border-radius: var(--ddcalc-border-radius); box-shadow: 0 5px 20px var(--ddcalc-shadow-purple); margin-bottom: 30px; } .ddcalc-section-title { font-family: var(--ddcalc-font-secondary); font-size: 1.8rem; color: var(--ddcalc-deep-purple); margin-bottom: 20px; display: flex; align-items: center; gap: 10px; } .ddcalc-paragraph { font-size: 1.1rem; line-height: 1.8; margin-bottom: 20px; color: var(--ddcalc-slate-gray); } /* Lists */ .ddcalc-list { list-style: none; padding: 0; } .ddcalc-list-item { padding: 10px 0; padding-left: 30px; position: relative; font-size: 1.1rem; line-height: 1.6; } .ddcalc-list-item::before { content: "\f058"; font-family: "Font Awesome 6 Free"; font-weight: 900; position: absolute; left: 0; color: var(--ddcalc-productive-green); font-size: 1.2rem; } /* Tables */ .ddcalc-table-wrapper { overflow-x: auto; margin: 20px 0; } .ddcalc-table { width: 100%; border-collapse: collapse; background: white; border-radius: var(--ddcalc-border-radius); overflow: hidden; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); } .ddcalc-table th, .ddcalc-table td { padding: 15px; text-align: left; border-bottom: 1px solid #e9ecef; } .ddcalc-table th { background: var(--ddcalc-deep-purple); color: white; font-weight: 600; } .ddcalc-table tr:hover { background: var(--ddcalc-light-gray); } /* FAQ Section */ .ddcalc-faq-item { background: var(--ddcalc-light-gray); border-radius: var(--ddcalc-border-radius); margin-bottom: 15px; overflow: hidden; border-left: 4px solid var(--ddcalc-productive-green); } .ddcalc-faq-question { padding: 20px; cursor: pointer; display: flex; justify-content: space-between; align-items: center; font-weight: 600; color: var(--ddcalc-deep-purple); transition: var(--ddcalc-transition); } .ddcalc-faq-question:hover { background: #e9ecef; } .ddcalc-faq-answer { padding: 0 20px; max-height: 0; overflow: hidden; transition: max-height 0.3s ease, padding 0.3s ease; } .ddcalc-faq-item.active .ddcalc-faq-answer { max-height: 200px; padding: 20px; } .ddcalc-faq-icon { transition: transform 0.3s ease; } .ddcalc-faq-item.active .ddcalc-faq-icon { transform: rotate(180deg); } /* Example Boxes */ .ddcalc-example-box { background: linear-gradient(135deg, #e8f4fd, #d1ecf1); padding: 25px; border-radius: var(--ddcalc-border-radius); margin: 20px 0; border-left: 5px solid var(--ddcalc-analytical-teal); } .ddcalc-tip-box { background: linear-gradient(135deg, #f3e5f5, #e1bee7); padding: 25px; border-radius: var(--ddcalc-border-radius); margin: 20px 0; border-left: 5px solid var(--ddcalc-deep-purple); } /* Internal Links */ .ddcalc-internal-links { background: var(--ddcalc-light-gray); padding: 30px; border-radius: var(--ddcalc-border-radius); margin-top: 30px; } .ddcalc-link-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 15px; margin-top: 20px; } .ddcalc-link-item { background: white; padding: 20px; border-radius: var(--ddcalc-border-radius); text-decoration: none; color: var(--ddcalc-slate-gray); transition: var(--ddcalc-transition); border: 2px solid transparent; } .ddcalc-link-item:hover { border-color: var(--ddcalc-deep-purple); transform: translateY(-3px); box-shadow: 0 5px 15px var(--ddcalc-shadow-purple); text-decoration: none; color: var(--ddcalc-deep-purple); } /* Animations */ @keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } /* Responsive Design */ @media (max-width: 768px) { .ddcalc-main-title { font-size: 2rem; } .ddcalc-tool-section, .ddcalc-content-section { padding: 25px; } .ddcalc-form-grid { grid-template-columns: 1fr; } .ddcalc-duration-grid { grid-template-columns: repeat(2, 1fr); } .ddcalc-button-group { flex-direction: column; align-items: center; } .ddcalc-btn { width: 100%; max-width: 300px; } } @media (max-width: 480px) { .ddcalc-main-container { padding: 10px; } .ddcalc-header { padding: 30px 15px; } .ddcalc-main-title { font-size: 1.8rem; } .ddcalc-tool-section, .ddcalc-content-section { padding: 20px; } .ddcalc-duration-grid { grid-template-columns: 1fr; } .ddcalc-unit-value { font-size: 1.5rem; } } /* ========================================================================== DATE FORMATTER STYLES (dfmt- prefix) ========================================================================== */ /* CSS Variables for Consistent Theming */ :root { --dfmt-light-gray: #f8f9fa; --dfmt-emerald-green: #10b981; --dfmt-slate-gray: #333333; --dfmt-productive-green: #28a745; --dfmt-tech-cyan: #06b6d4; --dfmt-shadow-green: rgba(16, 185, 129, 0.15); --dfmt-font-primary: 'Montserrat', sans-serif; --dfmt-font-secondary: 'Lora', serif; --dfmt-border-radius: 12px; --dfmt-transition: all 0.3s ease; } /* Reset and Base Styles */ * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: var(--dfmt-font-primary); line-height: 1.6; color: var(--dfmt-slate-gray); background-color: var(--dfmt-light-gray); } /* Main Container */ .dfmt-main-container { max-width: 1200px; margin: 0 auto; padding: 20px; } /* Header Section */ .dfmt-header { text-align: center; margin-bottom: 40px; padding: 40px 20px; background: linear-gradient(135deg, var(--dfmt-emerald-green), #059669); color: white; border-radius: var(--dfmt-border-radius); box-shadow: 0 8px 25px rgba(16, 185, 129, 0.3); } .dfmt-main-title { font-family: var(--dfmt-font-secondary); font-size: 2.5rem; margin-bottom: 15px; font-weight: 600; } .dfmt-subtitle { font-size: 1.2rem; opacity: 0.9; max-width: 600px; margin: 0 auto; } /* Formatter Tool Section */ .dfmt-tool-section { background: white; padding: 40px; border-radius: var(--dfmt-border-radius); box-shadow: 0 5px 20px var(--dfmt-shadow-green); margin-bottom: 40px; border: 2px solid var(--dfmt-emerald-green); } .dfmt-tool-title { font-family: var(--dfmt-font-secondary); font-size: 2rem; color: var(--dfmt-emerald-green); text-align: center; margin-bottom: 30px; display: flex; align-items: center; justify-content: center; gap: 10px; } /* Formatter Form */ .dfmt-form { background: var(--dfmt-light-gray); padding: 30px; border-radius: var(--dfmt-border-radius); margin-bottom: 30px; } .dfmt-form-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 20px; margin-bottom: 30px; } .dfmt-input-group { display: flex; flex-direction: column; } .dfmt-label { font-weight: 600; margin-bottom: 8px; color: var(--dfmt-slate-gray); display: flex; align-items: center; gap: 5px; } .dfmt-input, .dfmt-select { padding: 12px 15px; border: 2px solid #e9ecef; border-radius: var(--dfmt-border-radius); font-size: 1rem; transition: var(--dfmt-transition); font-family: var(--dfmt-font-primary); } .dfmt-input:focus, .dfmt-select:focus { outline: none; border-color: var(--dfmt-emerald-green); box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1); } /* Results Display */ .dfmt-results { background: white; padding: 30px; border-radius: var(--dfmt-border-radius); border: 2px solid var(--dfmt-tech-cyan); margin-top: 20px; display: none; } .dfmt-results.show { display: block; animation: fadeInUp 0.5s ease; } .dfmt-results-header { text-align: center; margin-bottom: 30px; } .dfmt-format-title { font-size: 1.5rem; font-weight: 600; color: var(--dfmt-emerald-green); margin-bottom: 10px; } .dfmt-format-summary { font-size: 1.1rem; color: var(--dfmt-slate-gray); } .dfmt-format-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; margin-bottom: 30px; } .dfmt-format-item { background: linear-gradient(135deg, var(--dfmt-light-gray), #e9ecef); padding: 20px; border-radius: var(--dfmt-border-radius); border: 1px solid #dee2e6; } .dfmt-format-label { font-size: 0.9rem; font-weight: 600; color: var(--dfmt-emerald-green); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 8px; } .dfmt-format-value { font-size: 1.2rem; font-weight: 500; color: var(--dfmt-slate-gray); font-family: 'Courier New', monospace; background: white; padding: 10px; border-radius: 6px; border: 1px solid #dee2e6; word-break: break-all; } .dfmt-copy-btn { margin-top: 10px; padding: 6px 12px; background: var(--dfmt-tech-cyan); color: white; border: none; border-radius: 6px; font-size: 0.8rem; cursor: pointer; transition: var(--dfmt-transition); } .dfmt-copy-btn:hover { background: #0891b2; } /* Button Styles */ .dfmt-button-group { display: flex; gap: 15px; justify-content: center; flex-wrap: wrap; } .dfmt-btn { padding: 12px 30px; border: none; border-radius: var(--dfmt-border-radius); font-size: 1rem; font-weight: 600; cursor: pointer; transition: var(--dfmt-transition); font-family: var(--dfmt-font-primary); display: flex; align-items: center; gap: 8px; } .dfmt-btn-primary { background: var(--dfmt-emerald-green); color: white; } .dfmt-btn-primary:hover { background: #059669; transform: translateY(-2px); box-shadow: 0 5px 15px rgba(16, 185, 129, 0.3); } .dfmt-btn-secondary { background: #6c757d; color: white; } .dfmt-btn-secondary:hover { background: #545b62; transform: translateY(-2px); } /* Content Sections */ .dfmt-content-section { background: white; padding: 40px; border-radius: var(--dfmt-border-radius); box-shadow: 0 5px 20px var(--dfmt-shadow-green); margin-bottom: 30px; } .dfmt-section-title { font-family: var(--dfmt-font-secondary); font-size: 1.8rem; color: var(--dfmt-emerald-green); margin-bottom: 20px; display: flex; align-items: center; gap: 10px; } .dfmt-paragraph { font-size: 1.1rem; line-height: 1.8; margin-bottom: 20px; color: var(--dfmt-slate-gray); } /* Lists */ .dfmt-list { list-style: none; padding: 0; } .dfmt-list-item { padding: 10px 0; padding-left: 30px; position: relative; font-size: 1.1rem; line-height: 1.6; } .dfmt-list-item::before { content: "\f058"; font-family: "Font Awesome 6 Free"; font-weight: 900; position: absolute; left: 0; color: var(--dfmt-productive-green); font-size: 1.2rem; } /* Tables */ .dfmt-table-wrapper { overflow-x: auto; margin: 20px 0; } .dfmt-table { width: 100%; border-collapse: collapse; background: white; border-radius: var(--dfmt-border-radius); overflow: hidden; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); } .dfmt-table th, .dfmt-table td { padding: 15px; text-align: left; border-bottom: 1px solid #e9ecef; } .dfmt-table th { background: var(--dfmt-emerald-green); color: white; font-weight: 600; } .dfmt-table tr:hover { background: var(--dfmt-light-gray); } /* FAQ Section */ .dfmt-faq-item { background: var(--dfmt-light-gray); border-radius: var(--dfmt-border-radius); margin-bottom: 15px; overflow: hidden; border-left: 4px solid var(--dfmt-productive-green); } .dfmt-faq-question { padding: 20px; cursor: pointer; display: flex; justify-content: space-between; align-items: center; font-weight: 600; color: var(--dfmt-emerald-green); transition: var(--dfmt-transition); } .dfmt-faq-question:hover { background: #e9ecef; } .dfmt-faq-answer { padding: 0 20px; max-height: 0; overflow: hidden; transition: max-height 0.3s ease, padding 0.3s ease; } .dfmt-faq-item.active .dfmt-faq-answer { max-height: 200px; padding: 20px; } .dfmt-faq-icon { transition: transform 0.3s ease; } .dfmt-faq-item.active .dfmt-faq-icon { transform: rotate(180deg); } /* Example Boxes */ .dfmt-example-box { background: linear-gradient(135deg, #d1fae5, #a7f3d0); padding: 25px; border-radius: var(--dfmt-border-radius); margin: 20px 0; border-left: 5px solid var(--dfmt-emerald-green); } .dfmt-tip-box { background: linear-gradient(135deg, #cffafe, #a5f3fc); padding: 25px; border-radius: var(--dfmt-border-radius); margin: 20px 0; border-left: 5px solid var(--dfmt-tech-cyan); } /* Internal Links */ .dfmt-internal-links { background: var(--dfmt-light-gray); padding: 30px; border-radius: var(--dfmt-border-radius); margin-top: 30px; } .dfmt-link-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 15px; margin-top: 20px; } .dfmt-link-item { background: white; padding: 20px; border-radius: var(--dfmt-border-radius); text-decoration: none; color: var(--dfmt-slate-gray); transition: var(--dfmt-transition); border: 2px solid transparent; } .dfmt-link-item:hover { border-color: var(--dfmt-emerald-green); transform: translateY(-3px); box-shadow: 0 5px 15px var(--dfmt-shadow-green); text-decoration: none; color: var(--dfmt-emerald-green); } /* Animations */ @keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } /* Responsive Design */ @media (max-width: 768px) { .dfmt-main-title { font-size: 2rem; } .dfmt-tool-section, .dfmt-content-section { padding: 25px; } .dfmt-form-grid { grid-template-columns: 1fr; } .dfmt-format-grid { grid-template-columns: 1fr; } .dfmt-button-group { flex-direction: column; align-items: center; } .dfmt-btn { width: 100%; max-width: 300px; } } @media (max-width: 480px) { .dfmt-main-container { padding: 10px; } .dfmt-header { padding: 30px 15px; } .dfmt-main-title { font-size: 1.8rem; } .dfmt-tool-section, .dfmt-content-section { padding: 20px; } } /* ========================================================================== DATETIME CALCULATOR STYLES (dtcalc- prefix) ========================================================================== */ /* CSS Variables for Consistent Theming */ :root { --dtcalc-light-gray: #f8f9fa; --dtcalc-royal-blue: #4169e1; --dtcalc-slate-gray: #333333; --dtcalc-productive-green: #28a745; --dtcalc-tech-orange: #ff6b35; --dtcalc-shadow-blue: rgba(65, 105, 225, 0.15); --dtcalc-font-primary: 'Montserrat', sans-serif; --dtcalc-font-secondary: 'Lora', serif; --dtcalc-border-radius: 12px; --dtcalc-transition: all 0.3s ease; } /* Reset and Base Styles */ * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: var(--dtcalc-font-primary); line-height: 1.6; color: var(--dtcalc-slate-gray); background-color: var(--dtcalc-light-gray); } /* Main Container */ .dtcalc-main-container { max-width: 1200px; margin: 0 auto; padding: 20px; } /* Header Section */ .dtcalc-header { text-align: center; margin-bottom: 40px; padding: 40px 20px; background: linear-gradient(135deg, var(--dtcalc-royal-blue), #2e4bc6); color: white; border-radius: var(--dtcalc-border-radius); box-shadow: 0 8px 25px rgba(65, 105, 225, 0.3); } .dtcalc-main-title { font-family: var(--dtcalc-font-secondary); font-size: 2.5rem; margin-bottom: 15px; font-weight: 600; } .dtcalc-subtitle { font-size: 1.2rem; opacity: 0.9; max-width: 600px; margin: 0 auto; } /* Calculator Tool Section */ .dtcalc-tool-section { background: white; padding: 40px; border-radius: var(--dtcalc-border-radius); box-shadow: 0 5px 20px var(--dtcalc-shadow-blue); margin-bottom: 40px; border: 2px solid var(--dtcalc-royal-blue); } .dtcalc-tool-title { font-family: var(--dtcalc-font-secondary); font-size: 2rem; color: var(--dtcalc-royal-blue); text-align: center; margin-bottom: 30px; display: flex; align-items: center; justify-content: center; gap: 10px; } /* Calculator Tabs */ .dtcalc-tabs { display: flex; justify-content: center; margin-bottom: 30px; border-bottom: 2px solid #e9ecef; } .dtcalc-tab { padding: 12px 24px; background: none; border: none; font-size: 1rem; font-weight: 600; color: #6c757d; cursor: pointer; transition: var(--dtcalc-transition); border-bottom: 3px solid transparent; } .dtcalc-tab.active { color: var(--dtcalc-royal-blue); border-bottom-color: var(--dtcalc-royal-blue); } .dtcalc-tab:hover { color: var(--dtcalc-royal-blue); } /* Tab Content */ .dtcalc-tab-content { display: none; } .dtcalc-tab-content.active { display: block; animation: fadeInUp 0.5s ease; } /* Calculator Form */ .dtcalc-form { background: var(--dtcalc-light-gray); padding: 30px; border-radius: var(--dtcalc-border-radius); margin-bottom: 30px; } .dtcalc-form-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px; margin-bottom: 30px; } .dtcalc-input-group { display: flex; flex-direction: column; } .dtcalc-label { font-weight: 600; margin-bottom: 8px; color: var(--dtcalc-slate-gray); display: flex; align-items: center; gap: 5px; } .dtcalc-input, .dtcalc-select { padding: 12px 15px; border: 2px solid #e9ecef; border-radius: var(--dtcalc-border-radius); font-size: 1rem; transition: var(--dtcalc-transition); font-family: var(--dtcalc-font-primary); } .dtcalc-input:focus, .dtcalc-select:focus { outline: none; border-color: var(--dtcalc-royal-blue); box-shadow: 0 0 0 3px rgba(65, 105, 225, 0.1); } /* Results Display */ .dtcalc-results { background: white; padding: 30px; border-radius: var(--dtcalc-border-radius); border: 2px solid var(--dtcalc-tech-orange); margin-top: 20px; display: none; } .dtcalc-results.show { display: block; animation: fadeInUp 0.5s ease; } .dtcalc-results-header { text-align: center; margin-bottom: 30px; } .dtcalc-result-title { font-size: 1.5rem; font-weight: 600; color: var(--dtcalc-royal-blue); margin-bottom: 10px; } .dtcalc-result-summary { font-size: 1.1rem; color: var(--dtcalc-slate-gray); } .dtcalc-result-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px; margin-bottom: 30px; } .dtcalc-result-item { background: linear-gradient(135deg, var(--dtcalc-light-gray), #e9ecef); padding: 20px; border-radius: var(--dtcalc-border-radius); text-align: center; border: 1px solid #dee2e6; } .dtcalc-result-value { font-size: 1.5rem; font-weight: 700; color: var(--dtcalc-royal-blue); font-family: 'Courier New', monospace; display: block; margin-bottom: 5px; } .dtcalc-result-label { font-size: 0.9rem; text-transform: uppercase; letter-spacing: 1px; color: var(--dtcalc-slate-gray); } /* Button Styles */ .dtcalc-button-group { display: flex; gap: 15px; justify-content: center; flex-wrap: wrap; } .dtcalc-btn { padding: 12px 30px; border: none; border-radius: var(--dtcalc-border-radius); font-size: 1rem; font-weight: 600; cursor: pointer; transition: var(--dtcalc-transition); font-family: var(--dtcalc-font-primary); display: flex; align-items: center; gap: 8px; } .dtcalc-btn-primary { background: var(--dtcalc-royal-blue); color: white; } .dtcalc-btn-primary:hover { background: #2e4bc6; transform: translateY(-2px); box-shadow: 0 5px 15px rgba(65, 105, 225, 0.3); } .dtcalc-btn-secondary { background: #6c757d; color: white; } .dtcalc-btn-secondary:hover { background: #545b62; transform: translateY(-2px); } /* Content Sections */ .dtcalc-content-section { background: white; padding: 40px; border-radius: var(--dtcalc-border-radius); box-shadow: 0 5px 20px var(--dtcalc-shadow-blue); margin-bottom: 30px; } .dtcalc-section-title { font-family: var(--dtcalc-font-secondary); font-size: 1.8rem; color: var(--dtcalc-royal-blue); margin-bottom: 20px; display: flex; align-items: center; gap: 10px; } .dtcalc-paragraph { font-size: 1.1rem; line-height: 1.8; margin-bottom: 20px; color: var(--dtcalc-slate-gray); } /* Lists */ .dtcalc-list { list-style: none; padding: 0; } .dtcalc-list-item { padding: 10px 0; padding-left: 30px; position: relative; font-size: 1.1rem; line-height: 1.6; } .dtcalc-list-item::before { content: "\f058"; font-family: "Font Awesome 6 Free"; font-weight: 900; position: absolute; left: 0; color: var(--dtcalc-productive-green); font-size: 1.2rem; } /* Tables */ .dtcalc-table-wrapper { overflow-x: auto; margin: 20px 0; } .dtcalc-table { width: 100%; border-collapse: collapse; background: white; border-radius: var(--dtcalc-border-radius); overflow: hidden; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); } .dtcalc-table th, .dtcalc-table td { padding: 15px; text-align: left; border-bottom: 1px solid #e9ecef; } .dtcalc-table th { background: var(--dtcalc-royal-blue); color: white; font-weight: 600; } .dtcalc-table tr:hover { background: var(--dtcalc-light-gray); } /* FAQ Section */ .dtcalc-faq-item { background: var(--dtcalc-light-gray); border-radius: var(--dtcalc-border-radius); margin-bottom: 15px; overflow: hidden; border-left: 4px solid var(--dtcalc-productive-green); } .dtcalc-faq-question { padding: 20px; cursor: pointer; display: flex; justify-content: space-between; align-items: center; font-weight: 600; color: var(--dtcalc-royal-blue); transition: var(--dtcalc-transition); } .dtcalc-faq-question:hover { background: #e9ecef; } .dtcalc-faq-answer { padding: 0 20px; max-height: 0; overflow: hidden; transition: max-height 0.3s ease, padding 0.3s ease; } .dtcalc-faq-item.active .dtcalc-faq-answer { max-height: 200px; padding: 20px; } .dtcalc-faq-icon { transition: transform 0.3s ease; } .dtcalc-faq-item.active .dtcalc-faq-icon { transform: rotate(180deg); } /* Example Boxes */ .dtcalc-example-box { background: linear-gradient(135deg, #e3f2fd, #bbdefb); padding: 25px; border-radius: var(--dtcalc-border-radius); margin: 20px 0; border-left: 5px solid var(--dtcalc-royal-blue); } .dtcalc-tip-box { background: linear-gradient(135deg, #fff3e0, #ffe0b2); padding: 25px; border-radius: var(--dtcalc-border-radius); margin: 20px 0; border-left: 5px solid var(--dtcalc-tech-orange); } /* Internal Links */ .dtcalc-internal-links { background: var(--dtcalc-light-gray); padding: 30px; border-radius: var(--dtcalc-border-radius); margin-top: 30px; } .dtcalc-link-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 15px; margin-top: 20px; } .dtcalc-link-item { background: white; padding: 20px; border-radius: var(--dtcalc-border-radius); text-decoration: none; color: var(--dtcalc-slate-gray); transition: var(--dtcalc-transition); border: 2px solid transparent; } .dtcalc-link-item:hover { border-color: var(--dtcalc-royal-blue); transform: translateY(-3px); box-shadow: 0 5px 15px var(--dtcalc-shadow-blue); text-decoration: none; color: var(--dtcalc-royal-blue); } /* Animations */ @keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } /* Responsive Design */ @media (max-width: 768px) { .dtcalc-main-title { font-size: 2rem; } .dtcalc-tool-section, .dtcalc-content-section { padding: 25px; } .dtcalc-form-grid { grid-template-columns: 1fr; } .dtcalc-result-grid { grid-template-columns: repeat(2, 1fr); } .dtcalc-button-group { flex-direction: column; align-items: center; } .dtcalc-btn { width: 100%; max-width: 300px; } .dtcalc-tabs { flex-wrap: wrap; } .dtcalc-tab { flex: 1; min-width: 120px; } } @media (max-width: 480px) { .dtcalc-main-container { padding: 10px; } .dtcalc-header { padding: 30px 15px; } .dtcalc-main-title { font-size: 1.8rem; } .dtcalc-tool-section, .dtcalc-content-section { padding: 20px; } .dtcalc-result-grid { grid-template-columns: 1fr; } .dtcalc-result-value { font-size: 1.2rem; } } /* ========================================================================== SHARED COMPONENT STYLES ========================================================================== */ /* Form Elements - Shared across all calculators */ .calculator-form { background: var(--light-gray, #f8f9fa); padding: 30px; border-radius: 12px; margin-bottom: 30px; } .calculator-form-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px; margin-bottom: 30px; } .calculator-input-group { display: flex; flex-direction: column; } .calculator-label { font-weight: 600; margin-bottom: 8px; display: flex; align-items: center; gap: 5px; } .calculator-input, .calculator-select { padding: 12px 15px; border: 2px solid #e9ecef; border-radius: 12px; font-size: 1rem; transition: all 0.3s ease; font-family: 'Montserrat', sans-serif; } .calculator-input:focus, .calculator-select:focus { outline: none; box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1); } /* Button Styles - Shared across all calculators */ .calculator-button-group { display: flex; gap: 15px; justify-content: center; flex-wrap: wrap; } .calculator-btn { padding: 12px 30px; border: none; border-radius: 12px; font-size: 1rem; font-weight: 600; cursor: pointer; transition: all 0.3s ease; font-family: 'Montserrat', sans-serif; display: flex; align-items: center; gap: 8px; } .calculator-btn-primary { background: var(--primary-color, #007bff); color: white; } .calculator-btn-primary:hover { transform: translateY(-2px); box-shadow: 0 5px 15px rgba(0, 123, 255, 0.3); } .calculator-btn-secondary { background: #6c757d; color: white; } .calculator-btn-secondary:hover { background: #545b62; transform: translateY(-2px); } /* List Styles - Shared across all calculators */ .calculator-list { list-style: none; padding: 0; } .calculator-list-item { padding: 10px 0; padding-left: 30px; position: relative; font-size: 1.1rem; line-height: 1.6; } .calculator-list-item::before { content: "\f058"; font-family: "Font Awesome 6 Free"; font-weight: 900; position: absolute; left: 0; color: var(--productive-green, #28a745); font-size: 1.2rem; } /* Table Styles - Shared across all calculators */ .calculator-table-wrapper { overflow-x: auto; margin: 20px 0; } .calculator-table { width: 100%; border-collapse: collapse; background: white; border-radius: 12px; overflow: hidden; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); } .calculator-table th, .calculator-table td { padding: 15px; text-align: left; border-bottom: 1px solid #e9ecef; } .calculator-table th { background: var(--primary-color, #007bff); color: white; font-weight: 600; } .calculator-table tr:hover { background: var(--light-gray, #f8f9fa); } /* FAQ Styles - Shared across all calculators */ .calculator-faq-item { background: var(--light-gray, #f8f9fa); border-radius: 12px; margin-bottom: 15px; overflow: hidden; border-left: 4px solid var(--productive-green, #28a745); } .calculator-faq-question { padding: 20px; cursor: pointer; display: flex; justify-content: space-between; align-items: center; font-weight: 600; color: var(--primary-color, #007bff); transition: all 0.3s ease; } .calculator-faq-question:hover { background: #e9ecef; } .calculator-faq-answer { padding: 0 20px; max-height: 0; overflow: hidden; transition: max-height 0.3s ease, padding 0.3s ease; } .calculator-faq-item.active .calculator-faq-answer { max-height: 200px; padding: 20px; } .calculator-faq-icon { transition: transform 0.3s ease; } .calculator-faq-item.active .calculator-faq-icon { transform: rotate(180deg); } /* Example and Tip Boxes - Shared across all calculators */ .calculator-example-box { background: linear-gradient(135deg, #e3f2fd, #bbdefb); padding: 25px; border-radius: 12px; margin: 20px 0; border-left: 5px solid var(--primary-color, #007bff); } .calculator-tip-box { background: linear-gradient(135deg, #fff3e0, #ffe0b2); padding: 25px; border-radius: 12px; margin: 20px 0; border-left: 5px solid var(--tech-orange, #ff6b35); } /* Internal Links - Shared across all calculators */ .calculator-internal-links { background: var(--light-gray, #f8f9fa); padding: 30px; border-radius: 12px; margin-top: 30px; } .calculator-link-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 15px; margin-top: 20px; } .calculator-link-item { background: white; padding: 20px; border-radius: 12px; text-decoration: none; color: var(--slate-gray, #333333); transition: all 0.3s ease; border: 2px solid transparent; } .calculator-link-item:hover { border-color: var(--primary-color, #007bff); transform: translateY(-3px); box-shadow: 0 5px 15px rgba(0, 123, 255, 0.15); text-decoration: none; color: var(--primary-color, #007bff); } /* Animations */ @keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } /* Responsive Design - Shared across all calculators */ @media (max-width: 768px) { .calculator-main-title { font-size: 2rem; } .calculator-tool-section, .calculator-content-section { padding: 25px; } .calculator-form-grid { grid-template-columns: 1fr; } .calculator-button-group { flex-direction: column; align-items: center; } .calculator-btn { width: 100%; max-width: 300px; } } @media (max-width: 480px) { .calculator-main-container { padding: 10px; } .calculator-header { padding: 30px 15px; } .calculator-main-title { font-size: 1.8rem; } .calculator-tool-section, .calculator-content-section { padding: 20px; } } /* ========================================================================== UTILITY CLASSES ========================================================================== */ .text-center { text-align: center; } .text-left { text-align: left; } .text-right { text-align: right; } .mb-10 { margin-bottom: 10px; } .mb-15 { margin-bottom: 15px; } .mb-20 { margin-bottom: 20px; } .mb-30 { margin-bottom: 30px; } .mt-10 { margin-top: 10px; } .mt-15 { margin-top: 15px; } .mt-20 { margin-top: 20px; } .mt-30 { margin-top: 30px; } .p-10 { padding: 10px; } .p-15 { padding: 15px; } .p-20 { padding: 20px; } .p-30 { padding: 30px; } .font-weight-bold { font-weight: 600; } .font-weight-normal { font-weight: 400; } .d-flex { display: flex; } .align-items-center { align-items: center; } .justify-content-center { justify-content: center; } .gap-10 { gap: 10px; } .gap-15 { gap: 15px; } /* ========================================================================== END OF UNIVERSAL CALCULATOR STYLES ========================================================================== */