/*
* ----------------------------------------------------------------------------------------
Author       : DuezaThemes
Author URL   : https://themeforest.net/user/duezathemes
Template Name: UPGRADE - Interior Design, Construction & Repair Services Template
Version      : 1.0                                          
* ----------------------------------------------------------------------------------------
*/

/* Medium Layout: 1280px. */

@media only screen and (min-width: 992px) and (max-width: 1280px) {}


/* Tablet Layout: 768px. */

@media only screen and (min-width: 767px) and (max-width: 991px) {
    .mainmenu .navbar-nav li a {
        padding: 30px 11px;
        font-size: 12px;
    }
    .navbar-right {
        float: left !important;
        left: 35px;
        position: relative;
    }
    .single-blog-heading h2 {
        margin-top: 50px;
    }
    .menu-bg .mainmenu .navbar-nav li a {
        padding: 30px 11px;
        font-size: 12px;
    }
    .logo {
        text-align: center;
    }
    .single-logo {
        margin-top: 30px;
    }
    .single-blog img {
        width: 100%;
    }
	.intro-service-box .intro-single-service-box {
		margin-top: 25px;
	}
    .pricing-box {
        margin-top: 30px;
    }
    .have-a-project-idea-white .project-idea h2,
    .have-a-project-idea-white .project-idea p {
        font-size: 22px;
    }
    .project-idea h2,
    .project-idea p {
        font-size: 22px;
    }
    .single-logo {
        width: 160px;
        margin: 0 auto;
    }
    .single-project-complete {
        margin-top: 30px;
    }
    .content-grid:hover {
        transform: scale(1.05, 1.05);
    }
    .single-project-complete:hover{
        transform: scale(1.05, 1.05);
    }
    .single-service:hover {
        transform: scale(1.05, 1.05);
    }
	.team-social ul {
		position: relative;
		float: left;
		left: -90%;
		bottom: 240%;
	}
    .single-team:hover {
        transform: scale(1.02, 1.02);
    }
    .pricing-table:hover {
        transform: scale(1.05, 1.05);
    }
    .single-blog:hover {
        transform: scale(1.05, 1.05);
    }
    .blog-description p {
        padding: 0px;
    }
    .why-image img {
        margin-bottom: 20px;
    }
	.pricing-table {
		margin-bottom: 40px;
	}
	.blog-area .single-blog {
		margin-bottom: 40px;
	}
	.classchart-area .classchart-tab-area {
		width: 100%;
	}
	.classchart-area .tab-content {
		width: 100%;
	}
	.classchart-area .tab-content .tab-pane .classchart-box {
		width: 96%;
	}
	#monday-chart{
		margin-top: 20px;
	}
	.header-text h2 {
		font-size: 60px;
	}
	.carousel-indicators {
		bottom: 50px;
	}
	.single-contact-details:hover{
		-ms-transform: scale(1.05, 1.05); /* IE 9 */
		-webkit-transform: scale(1.05, 1.05); /* Safari */
		transform: scale(1.05, 1.05);
	}
	.header-text p {
		line-height: 26px;
	}
	.single-testimonial p {
		padding: 0 10px;
	}
}


/* Mobile Layout: 320px. */

@media only screen and (max-width: 767px) {
    .navbar-toggle .icon-bar {
        background: #f8f8f8;
    }
    .menu-bg .navbar-toggle .icon-bar {
        background: #fff;
    }
    .navbar-toggle {
        margin-right: 0px;
        margin-top: -43px !important;
        padding: 9px 0px;
    }
    .navbar {
        min-height: 0px;
    }
    .mainmenu .navbar-nav li a {
        padding: 11px 15px;
    }
    .mainmenu .navbar-nav li a:hover {
        color: #fff;
    }
    .menu-bg .mainmenu .navbar-nav li a:hover {
        color: #fff;
    }
    .menu-bg .mainmenu .navbar-nav li a {
        padding: 11px 15px;
    }
    .navbar-fixed-bottom .navbar-collapse,
    .navbar-fixed-top .navbar-collapse {
        max-height: 420px;
    }
    .navbar-toggle {
        margin-top: -40px;
    }
    .navbar-collapse {
        background: rgba(0, 0, 0, .9);
    }
    .menu-bg .navbar-collapse {
        background: rgba(0, 0, 0, .9);
    }
    .welcome-image-area h2,
    .single-slide-item h2,
    .welcome-video-area h2 {
        font-size: 30px;
    }
    a.slide-btn {
        font-size: 14px;
        padding: 5px;
        width: 240px;
        margin-bottom: 5px;
    }
	.intro-service-box .intro-single-service-box {
		margin-top: 15px;
	}
    .section-title h2 {
        font-size: 22px;
    }
    .section-title h2 span {
        font-size: 30px;
    }
    .footer-social-link {
        text-align: left;
        margin-top: 20px;
    }
    .pricing-box {
        margin-top: 30px;
    }
    .single-testimonial {
        padding-top: 10px;
    }
    .video-area-text {
        margin-top: 50px;
    }
    .footer-social-link {
        text-align: center;
    }
    .footer-area img {
        margin-bottom: 0px;
    }
    .scrollup {
        height: 40px;
        width: 40px;
        line-height: 35px;
    }
    .our-news-letter input[type="text"] {
        width: 90%;
    }
    .our-news-letter h2 {
        font-size: 14px;
    }
    .single-project-complete {
        margin-top: 30px;
        text-align: center;
    }
    .header-text {
        margin-top: -40px;
    }
	.header-text p {
		font-size: 14px;
		line-height: 25px;
	}
    .footer-text h6 {
        font-size: 10px;
    }
    .footer-area {
        padding: 50px 0px;
    }
    .section-padding {
        padding: 40px 0px;
    }
    .post-user {
        padding-left: 10px;
    }
    .post-date a {
        padding-left: 20px;
    }
    .post-comment a {
        padding-left: 20px;
    }
    .footer-social-link ul li {
        margin: 0px 8px;
    }
    .footer-social-link ul li a {
        height: 35px;
        line-height: 35px;
        width: 35px;
    }
    a.slide-btn {
        padding: 10px 0px;
        margin-bottom: 5px;
        margin: 0px 3px;
    }
    .welcome-image-area, .welcome-video-area {
        padding-top: 60px;
    }
    .content-grid:hover {
        transform: scale(1.05, 1.1);
    }
    .single-project-complete:hover{
        transform: scale(1.05, 1.1);
    }
    .single-service:hover {
        transform: scale(1.05, 1.1);
    }
    .single-team:hover {
        transform: scale(1.05, 1.1);
    }
    .pricing-table:hover {
        transform: scale(1.05, 1.1);
    }
    .single-blog:hover {
        transform: scale(1.05, 1.1);
    }
    .why-image img {
        margin-bottom: 20px;
    }
    .about-icon {
        margin-bottom: 20px;
    }
    .content-grid .icon-holder::after {
        height: 70%;
    }
    ul.work li {
        margin: 3px 8px;
    }
    .blog-description p {
        padding: 0px;
		line-height: 26px;
    }
	.pricing-table {
		margin-bottom: 40px;
	}
	.blog-area .single-blog {
		margin-bottom: 40px;
	}	
	.classchart-area .classchart-tab-area {
		width: 100%;
	}
	.classchart-area .tab-content {
		width: 100%;
	}
	.classchart-area .tab-content .tab-pane .classchart-box {
		width: 88%;
	}
	#monday-chart{
		margin-top: 20px;
	}
	.team-social {
		left: 35px;
		bottom: 20%;
	}
	.carousel-indicators {
		bottom: 50px;
	}
	.single-contact-details:hover {
		-ms-transform: scale(1.05, 1.05); /* IE 9 */
		-webkit-transform: scale(1.05, 1.05); /* Safari */
		transform: scale(1.05, 1.05);
	}
	.single-testimonial p {
		padding: 0px 10px;
		line-height: 26px;
	}
}


/* Wide Mobile Layout: 480px. */

@media only screen and (min-width: 480px) and (max-width: 767px) {
    .single-logo {
        margin-bottom: 20px;
    }
}

/* =====================================================================
   RESPONSIVE FIXES (added) - phones, tablets and small laptops
   Keep this block at the very END of this file.
   ===================================================================== */

/* ---- Never let media or long words push the page sideways ---- */
img, iframe, video { max-width: 100%; }
iframe { border: 0; }
.accom-email a { overflow-wrap: anywhere; word-break: break-word; }

/* ---- MENU: the 9 items need ~1060px, so use the menu button below 1200px ---- */
@media (max-width: 1199.98px) {
    .header-top-area .mainmenu .navbar { min-height: 0; margin: 0; }

    /* bar:  OSIICON-27 ........................ [menu button] */
    .header-top-area .navbar-header {
        float: none;
        display: flex;
        align-items: center;
        justify-content: space-between;
        min-height: 58px;
    }
    .header-top-area .navbar-header::after { display: none; }   /* Bootstrap clearfix, not needed in the flex bar */
    .header-top-area .navbar-header::before {
        content: "OSIICON-27";
        color: #0b3a66;
        font-family: "Montserrat", sans-serif;
        font-weight: 700;
        font-size: 18px;
        letter-spacing: 2px;
    }
    .header-top-area .navbar-toggle {
        display: block;
        float: none;
        position: static;
        margin: 0 !important;
        padding: 10px;
        border: 1px solid #0b3a66;
        border-radius: 6px;
        background: transparent;
    }
    .header-top-area .navbar-toggle .icon-bar { background-color: #0b3a66; }

    /* the list of links: hidden until the button is tapped */
    .header-top-area .navbar-collapse.collapse { display: none !important; }
    .header-top-area .navbar-collapse.collapse.in {
        display: block !important;
        max-height: calc(100vh - 70px);
        overflow-y: auto !important;
        background: #fff;
        border-top: 1px solid #e3eaf0;
    }
    .header-top-area .navbar-collapse { padding-left: 0; padding-right: 0; }

    .header-top-area .mainmenu .navbar-nav {
        display: block;
        width: auto;
        float: none !important;
        left: auto !important;
        position: static !important;
        margin: 0;
    }
    .header-top-area .mainmenu .navbar-nav > li { float: none; }
    .header-top-area .mainmenu .navbar-nav > li > a {
        padding: 13px 15px;
        font-size: 14px;
        border-bottom: 1px solid #eef3f6;
    }

    /* dropdowns open inline under their item (no hover pop-up on touch screens) */
    .header-top-area .mainmenu .navbar-nav .dropdown:hover > .dropdown-menu { display: none; }
    .header-top-area .mainmenu .navbar-nav .dropdown.open > .dropdown-menu { display: block; }
    .header-top-area .mainmenu .navbar-nav .dropdown-menu {
        position: static;
        float: none;
        width: auto;
        min-width: 0;
        margin: 0 !important;
        padding: 0;
        border: 0;
        border-radius: 0;
        box-shadow: none;
        animation: none;
        background: #f1f6f8;
    }
    .header-top-area .mainmenu .navbar-nav .dropdown-menu > li > a { padding: 11px 15px 11px 32px; }
}

/* ---- Small laptops (992-1199): the home hero was a few pixels too wide ---- */
@media (max-width: 1199.98px) {
    .hero-three-col { margin-left: 0; margin-right: 0; }
}

/* ---- Pages with fixed side margins (LOC and SSC lists) ---- */
@media (max-width: 1199.98px) {
    .loc-members-row,
    .ssc-members-row { margin-left: 0; margin-right: 0; max-width: 100%; }
    .comment-section .row { margin-left: 0; margin-right: 0; }
}

/* ---- Home hero: do not stretch to the full window height below 1200px
        (on tall screens it left big blank gaps above and below the content) ---- */
@media (max-width: 1199.98px) {
    .welcome-area,
    .welcome-video-area,
    .welcome-video-area .display-table { height: auto; min-height: 0; }

    /* the 3 intro cards no longer overlap the countdown */
    .intro-service-box { margin-top: 0; padding-top: 25px; padding-bottom: 40px; }
}

/* ---- Tablets (768-991): 3 intro cards in one row, tidier registration list ---- */
@media (min-width: 768px) and (max-width: 991.98px) {
    .intro-service-box .col-md-4 { width: 33.3333%; }
}
@media (max-width: 991.98px) {
    .registration-details { padding: 25px 25px 10px; }
    .registration-award-list > .col-md-6 { padding-left: 0 !important; padding-right: 0 !important; }
}

/* ---- Phones (below 768) ---- */
@media (max-width: 767.98px) {
    .intro-service-box .row > .col-xs-6 { width: 100%; margin-bottom: 15px; }
    .text-justify { text-align: left; }
    .themes-numbered-list { padding-left: 12px; padding-right: 12px; }

    .registration-details { padding: 20px 5px 10px; }
    .registration-award-list { padding: 0; }
    .reg-row { padding: 12px 8px; }
    .reg-label { width: auto; flex: 1 1 auto; padding-right: 10px; font-size: 15px; }
    .reg-value { width: auto; flex: 0 0 auto; font-size: 15px; }
}

/* =====================================================================
   FIX 2 - same 3-in-a-row / 4-in-a-row layout as desktop on tablets and
   on phones that open the site at "desktop width" (about 768-991px).
   Keep this block at the very END of responsive.css.
   ===================================================================== */
@media (min-width: 768px) and (max-width: 991.98px) {
    /* Registration / Call for Abstracts / Key Dates: 3 boxes in one row */
    .intro-service-box .row > .col-md-4 { width: 33.3333%; float: left; }

    /* Themes / Themes / Special Sessions: 3 boxes in one row */
    .service-area .row > .col-md-4.col-sm-6 { width: 33.3333%; float: left; }

    /* IOC and NOC photos: 4 per row, same as desktop */
    .ioc-cards-row,
    .noc-cards-row { grid-template-columns: repeat(4, 1fr); gap: 15px; }
}