@charset "utf-8";
/* CSS Document */

/******************************

[Table of Contents]

1. 1600px
2. 1440px
3. 1280px
4. 1199px
5. 1024px
6. 991px
7. 959px
8. 880px
9. 768px
10. 767px
11. 539px
12. 479px
13. 400px

******************************/

/************
1. 1600px
************/

@media only screen and (max-width: 1600px)
{
	
}

/************
2. 1440px
************/

@media only screen and (max-width: 1440px)
{
	
}

/************
3. 1380px
************/

@media only screen and (max-width: 1380px)
{
	.header
	{
		width: 1200px;
	}
	.header_content
	{
		width: calc(100% - 219px);
	}
	.main_nav_container
	{
		padding-right: 63px;
	}
	.header_side
	{
		width: 219px;
	}
	.header_side span
	{
		font-size: 14px;
	}
	.header_side img
	{
		width: 20px;
		height: 20px;
	}
}

/************
3. 1280px
************/

@media only screen and (max-width: 1280px)
{
	.header
	{
		width: 90%;
	}
	.header_content
	{
		width: 100%;
	}
	.header_side
	{
		display: none !important;
	}
	.main_nav_container
	{
		padding-right: 53px;
	}
	.hero_slide_content h1
	{
		font-size: 56px;
	}
	.card-title
	{
		font-size: 20px;
	}
	.register_content,
	.search_content
	{
		width: 442px;
	}
}

/************
4. 1199px
************/

@media only screen and (max-width: 1199px)
{
	.hero_box
	{
		padding-left: 20px;
	}
}

/************
4. 1100px
************/

@media only screen and (max-width: 1100px)
{
	
}

/************
5. 1024px
************/

@media only screen and (max-width: 1024px)
{
	.main_nav_item
	{
		margin-right: 33px;
	}
}

/************
6. 991px
************/

@media only screen and (max-width: 991px)
{
	.main_nav_container
	{
		display: none;
	}
	.logo_container
	{
		padding-left: 30px;
	}
	.hamburger_container
	{
		display: block;
	}
	.hero_slide_content h1
	{
		font-size: 48px;
	}
	.hero_boxes
	{
		width: 100%;
		height: auto;
		padding-top: 117px;
	}
	.hero_boxes_inner
	{
		position: relative;
		top: auto;
		left: auto;
	}
	.hero_box
	{
		padding-left: 50px;
	}
	.hero_box_col
	{
		margin-bottom: 30px;
	}
	.hero_box_col:last-child
	{
		margin-bottom: 0px;
	}
	.course_box
	{
		margin-bottom: 80px;
	}
	.course_box:last-child
	{
		margin-bottom: 0px;
	}
	.search_section
	{
		padding-top: 156px;
		padding-bottom: 161px;
	}
	.register_content,
	.search_content
	{
		width: 75%;
	}
	.testimonials_slider_container
	{
		padding-left: 0px;
		padding-right: 0px;
	}
	.event_date
	{
		margin-top: 30px;
	}
	.event_name
	{
		margin-top: 17px;
	}
	.event_content p
	{
		margin-bottom: 0px;
	}
	.newsletter_form_container
	{
		width: 90%;
	}
	.footer_col
	{
		margin-bottom: 30px;
	}
	.footer_col:last-child
	{
		margin-bottom: 0px;
	}
}

/************
7. 959px
************/

@media only screen and (max-width: 959px)
{
	
}

/************
8. 880px
************/

@media only screen and (max-width: 880px)
{
	
}

/************
9. 768px
************/

@media only screen and (max-width: 768px)
{
	
}

/************
10. 767px
************/

@media only screen and (max-width: 767px)
{
	.menu_container
	{
		right: -100vw;
		width: 100vw;
		height: 100vh;
	}
	.newsletter_email
	{
		width: 100%;
	}
	.newsletter_submit_btn
	{
		margin-top: 15px;
	}
}

/************
11. 575px
************/

@media only screen and (max-width: 575px)
{
	h1{font-size: 24px;}
	p{font-size:13px;}
	.header
	{
		height: 74px;
	}
	.logo_container
	{
		padding-left: 15px;
	}
	.logo img
	{
		width: 30px;
	}
	.logo span
	{
		font-size: 16px;
	}
	.hamburger_container
	{
		right: 5px;
	}
	.menu
	{
		top: 70px;
	}
	.menu_item
	{
		margin-bottom: 0px;
	}
	.menu_item a
	{
		font-size: 24px;
	}
	.menu_copyright
	{
		display: none;
	}
	.menu_social_container
	{
		margin-top: 50px;
	}
	.menu_close_container
	{
		right: 30px;
		top: 34px;
	}
	.hero_slider_nav
	{
		display: none;
	}
	.hero_slide_content
	{
		max-width: 100%;
		padding-left: 15px;
		padding-right: 15px;
	}
	.card-title
	{
		margin-top: 30px;
	}
	.card-title a
	{
		font-size: 20px;
	}
	.card-text
	{
		font-size: 13px;
	}
	.price_box
	{
		margin-top: 37px;
	}
	.register_section,
	.search_section
	{
		padding-top: 115px;
		padding-bottom: 120px;
	}
	.register_content,
	.search_content
	{
		width: 100%;
		padding-left: 15px;
		padding-right: 15px;
	}
	.register_text
	{
		margin-top: 25px;
	}
	.register_button
	{
		margin-top: 53px;
	}
	.testimonials_slider .owl-dots
	{
		display: none !important;
	}
	.testimonials_item
	{
		padding-bottom: 0px;
	}
	.event_date
	{
		width: 100px;
		height: 100px;
	}
	.event_day
	{
		font-size: 36px;
	}
	.event_month
	{
		font-size: 14px;
	}
	.event_name
	{
		margin-top: 5px;
	}
	.footer_bar
	{
		padding-top: 49px;
		padding-bottom: 52px;
	}
	.footer_social
	{
		margin-top: 20px;
	}
	.footer_copyright span
	{
		font-size: 13px;
	}
}

/************
11. 539px
************/

@media only screen and (max-width: 539px)
{
	
}

/************
12. 480px
************/

@media only screen and (max-width: 480px)
{
	
}

/************
13. 479px
************/

@media only screen and (max-width: 479px)
{
	.header
	{
		height: 60px;
		top: 15px;
	}
	.hero_slide_content h1
	{
		font-size: 28px;
	}
	.hero_slide_content h1 span
	{
		padding-left: 5px;
		padding-right: 5px;
		margin-left: 0px;
		margin-right: 0px;
	}
	.hero_boxes
	{
		padding-top: 80px;
	}
	.hero_box
	{
		padding-left: 15px;
		height: 120px;
	}
	.hero_box_content
	{
		padding-top: 6px;
	}
	.hero_box img
	{
		width: 45px;
	}
	.hero_box_title
	{
		font-size: 18px;
		margin-bottom: 3px;
	}
	.hero_box_link
	{
		font-size: 10px;
	}
}

/************
14. 400px
************/

@media only screen and (max-width: 400px)
{
	
}

/* Enhanced Responsive Design for Quest Business School */

/* Extra Large Devices (1400px and up) */
@media (min-width: 1400px) {
    .container-fluid {
        max-width: 1320px;
    }
    
    .dashboard-card {
        padding: 32px;
    }
    
    .enhanced-card {
        border-radius: 20px;
    }
}

/* Large Devices (1200px and up) */
@media (min-width: 1200px) {
    .sidebar {
        min-height: calc(100vh - 76px);
    }
    
    .main-content {
        padding-left: 2rem;
    }
}

/* Medium Devices (992px and up) */
@media (min-width: 992px) {
    .user-type-selector {
        flex-direction: row;
    }
    
    .user-type-option {
        flex: 1;
    }
    
    .dashboard-stats {
        grid-template-columns: repeat(4, 1fr);
    }
}

/* Small Devices (768px and up) */
@media (min-width: 768px) {
    .auth-container {
        padding: 40px;
    }
    
    .auth-card {
        max-width: 600px;
    }
    
    .dashboard-stats {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5rem;
    }
    
    .mentor-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Extra Small Devices (576px and up) */
@media (min-width: 576px) {
    .auth-container {
        padding: 30px;
    }
    
    .auth-body {
        padding: 30px;
    }
    
    .dashboard-stats {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
}

/* Mobile First - Base Styles (up to 575px) */
@media (max-width: 575px) {
    /* Header and Navigation */
    .header {
        padding: 10px 0;
    }
    
    .navbar-brand {
        font-size: 1.2rem;
    }
    
    .navbar-toggler {
        padding: 0.25rem 0.5rem;
        font-size: 0.875rem;
    }
    
    /* Auth Forms */
    .auth-container {
        padding: 20px 15px;
        min-height: calc(100vh - 80px);
    }
    
    .auth-card {
        max-width: 100%;
        border-radius: 12px;
    }
    
    .auth-header {
        padding: 20px;
    }
    
    .auth-header h2 {
        font-size: 1.5rem;
    }
    
    .auth-body {
        padding: 25px 20px;
    }
    
    /* User Type Selector */
    .user-type-selector {
        flex-direction: column;
        gap: 15px;
    }
    
    .user-type-option {
        padding: 20px 15px;
        border-radius: 12px;
    }
    
    .user-type-option i {
        font-size: 1.5rem !important;
    }
    
    /* Form Controls */
    .form-control, .form-control-enhanced {
        padding: 12px 16px;
        font-size: 16px; /* Prevents zoom on iOS */
        border-radius: 8px;
    }
    
    .form-label {
        font-size: 0.9rem;
        margin-bottom: 8px;
    }
    
    /* Buttons */
    .btn, .btn-enhanced {
        padding: 12px 20px;
        font-size: 16px;
        border-radius: 8px;
    }
    
    .btn-primary {
        width: 100%;
    }
    
    /* Dashboard */
    .dashboard-container {
        padding: 15px;
    }
    
    .dashboard-stats {
        display: grid;
        grid-template-columns: 1fr;
        gap: 1rem;
        margin-bottom: 2rem;
    }
    
    .dashboard-card {
        padding: 20px;
        border-radius: 16px;
    }
    
    .dashboard-card h3 {
        font-size: 1.8rem;
    }
    
    .dashboard-card h6 {
        font-size: 0.85rem;
    }
    
    /* Sidebar */
    .sidebar {
        position: fixed;
        top: 76px;
        left: -100%;
        width: 280px;
        height: calc(100vh - 76px);
        z-index: 1000;
        transition: left 0.3s ease;
        background: white;
        box-shadow: 2px 0 10px rgba(0,0,0,0.1);
    }
    
    .sidebar.show {
        left: 0;
    }
    
    .sidebar .nav-link {
        padding: 15px 20px;
        font-size: 1rem;
        border-radius: 8px;
        margin: 5px 15px;
    }
    
    /* Main Content */
    .main-content {
        width: 100%;
        padding: 15px;
    }
    
    /* Tables */
    .table-responsive {
        font-size: 0.875rem;
    }
    
    .table th, .table td {
        padding: 12px 8px;
    }
    
    /* Cards */
    .card {
        border-radius: 12px;
        margin-bottom: 1rem;
    }
    
    .card-header {
        padding: 15px 20px;
    }
    
    .card-body {
        padding: 20px;
    }
    
    /* Mentor Grid */
    .mentor-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 1rem;
    }
    
    .mentor-card {
        border-radius: 12px;
        padding: 20px;
    }
    
    /* Modals */
    .modal-content {
        border-radius: 16px;
        margin: 20px;
    }
    
    .modal-header {
        padding: 20px;
    }
    
    .modal-body {
        padding: 20px;
    }
    
    .modal-footer {
        padding: 20px;
    }
    
    /* Alerts */
    .alert {
        border-radius: 12px;
        padding: 15px 20px;
        margin-bottom: 1rem;
    }
    
    /* Badges */
    .badge {
        font-size: 0.75rem;
        padding: 6px 12px;
        border-radius: 16px;
    }
    
    /* Progress Bars */
    .progress {
        height: 10px;
        border-radius: 5px;
    }
    
    /* Chat Interface */
    .chat-container {
        height: calc(100vh - 200px);
    }
    
    .chat-messages {
        padding: 15px;
    }
    
    .message {
        margin-bottom: 15px;
        padding: 12px 16px;
        border-radius: 12px;
    }
    
    .chat-input {
        padding: 15px;
    }
    
    /* Calendar */
    .fc-toolbar {
        flex-direction: column;
        gap: 10px;
    }
    
    .fc-toolbar-chunk {
        display: flex;
        justify-content: center;
    }
    
    .fc-button {
        padding: 8px 12px;
        font-size: 0.875rem;
    }
    
    /* Networking */
    .networking-groups {
        grid-template-columns: 1fr;
        gap: 1rem;
    }
    
    .group-card {
        padding: 20px;
        border-radius: 12px;
    }
    
    /* Profile */
    .profile-header {
        text-align: center;
        padding: 20px;
    }
    
    .profile-avatar {
        width: 100px;
        height: 100px;
        margin: 0 auto 20px;
    }
    
    .profile-info {
        padding: 20px;
    }
    
    /* Utilities */
    .d-mobile-none {
        display: none !important;
    }
    
    .d-mobile-block {
        display: block !important;
    }
    
    .text-mobile-center {
        text-align: center !important;
    }
    
    .p-mobile-2 {
        padding: 1rem !important;
    }
    
    .m-mobile-2 {
        margin: 1rem !important;
    }
}

/* Landscape Mobile */
@media (max-width: 575px) and (orientation: landscape) {
    .auth-container {
        min-height: auto;
        padding: 15px;
    }
    
    .sidebar {
        height: calc(100vh - 60px);
        top: 60px;
    }
    
    .chat-container {
        height: calc(100vh - 150px);
    }
}

/* High DPI Displays */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
    .enhanced-card {
        border-width: 0.5px;
    }
    
    .btn {
        border-width: 0.5px;
    }
}

/* Print Styles */
@media print {
    .sidebar, .navbar, .btn, .modal {
        display: none !important;
    }
    
    .main-content {
        width: 100% !important;
        padding: 0 !important;
    }
    
    .dashboard-card {
        break-inside: avoid;
        box-shadow: none;
        border: 1px solid #ddd;
    }
}

/* Accessibility Improvements */
@media (prefers-reduced-motion: reduce) {
    .enhanced-card,
    .btn-enhanced,
    .nav-link-enhanced {
        transition: none !important;
        animation: none !important;
    }
}

@media (prefers-contrast: high) {
    .enhanced-card {
        border: 2px solid #000;
    }
    
    .btn {
        border: 2px solid currentColor;
    }
}

/* Dark Mode Support */
@media (prefers-color-scheme: dark) {
    .enhanced-card {
        background: #1a1a1a;
        color: #ffffff;
        border-color: #333;
    }
    
    .form-control-enhanced {
        background: #2a2a2a;
        color: #ffffff;
        border-color: #444;
    }
    
    .form-control-enhanced:focus {
        background: #333;
        border-color: #081a42;
    }
}