/* This file states the styling for the services page */

/* our fonts for the page, we're using the Poppins, Montserrat, and Waterfall families font from google*/
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Waterfall&display=swap');

/* The root of the page */
*{
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}
/*Adding background for page body*/
body{
    font-family: 'Montserrat', 'Poppins', sans-serif;
    background: white;
    background-size: contain;
    background-repeat: repeat;
    overflow-x: hidden;
    overflow-y: scroll;
    padding-top: 100px;
}
/* Title of page */
h1{
    text-align: center;
    font-weight: 800;
    font-size: 42px;
    color: #1d2f75;
    font-family: 'Poppins', sans-serif;
}

/* holds all visuals items on page */
.WRAPPER{
    display: flex;
    justify-content: center;
    align-items: center;
    height: auto;
    background: rgba(255, 255, 255, 0.4);
}



/*------------------------------ */
/*------- NAVBAR SECTION ------- */
/*------------------------------ */

/* Global navigation bar */
.NAV{
    position: fixed;
    top: 0;
    display: flex;
    justify-content: space-between;
    width: 100%;
    height: 100px;
    background: linear-gradient(rgba(70, 77, 53, 0.177), #7e91da);
    z-index: 1000;
    transition: all 0.3s ease-in-out;
}
/*For trademark position*/
.NAV-LOGO{
    display: flex;
    align-items: center;
    padding-right: 500px;
    /* padding-top: 20px; */
}
/*For sizing and hovering*/
.NAV-LOGO img{
    padding: 20px;
    width: auto;
    height: 100px;
    object-fit: contain;
    cursor: pointer;
    transition: .3s;
}
.NAV-LOGO img:hover{
    opacity: 0.8;
}
/* For menu position*/
.NAV-MENU{
    top: 100px;
    display: flex;
    align-items: center;
    height: 100%;
}
/* For pages menu */
.NAV-MENU ul{
   display: flex;
   justify-content: center;
   flex-wrap: nowrap;
   align-items: center;
   padding: 50px 0;
   list-style-type: none;
}
.NAV-MENU ul li {
    display: block;
}
/* For color of pages in menu */
.NAV-MENU ul li .link{
    text-decoration: none;
    font-weight: 600;
    font-style: italic;
    font-family: 'Poppins', sans-serif;
    font-size: 20px;
    color: #1d2f75;
    padding: 15px;
    margin: 0 25px;
    align-items: center;
    transition: 0.3s;
    white-space: nowrap;
}
/* When link hovered over with mouse, underlined to let know engaged */
.link:hover, .active{
    border-bottom: 4px solid #99b2fd ;
}


/*------------------------------ */
/*---- MENU BUTTON  SECTION ---- */
/*------------------------------ */

/* Hamburger menu button */
.NAV-MENU-BUTTON{
    display: none;
    flex-direction: column;
    justify-content: center;
    width: 44px;
    height: 44px;
    background-color: #25335d;
    border-radius: 20%;
    cursor: pointer;
    margin-top: 26px;
    margin-right: 12px;
    z-index: 1001;
    transition: all 0.3s ease-in-out;
    position: center;
}
.NAV-MENU-BUTTON:hover{
    background-color: #7185d8;
}
/* Hamburger menu bars */
.NAV-MENU-BUTTON .menuBar1, .menuBar2, .menuBar3{
    width: 26px;
    height: 4px;
    background: #7185d8;
    margin: 2px 0;
    transition: 0.3s;
    border-radius: 2px;
}
.NAV-MENU-BUTTON:hover .menuBar1, .NAV-MENU-BUTTON:hover .menuBar2, 
.NAV-MENU-BUTTON:hover .menuBar3{
    background-color: #25335d;
}
/* Hamburger menu animation */
.change .menuBar1{
    transform: translate(-8px, 8px) rotate(-50deg);
    background: #7e91da;
    margin-left: 16px;
    width: 28px;
    height: 5px;
}
.change .menuBar2{
    opacity: 0;
}
.change .menuBar3{
    transform: translate(-8px, -8px) rotate(49deg);
    background: #7e91da;
    margin-left: 16px;
    width: 28px;
    height: 5px;
}


/*------------------------------- */
/*--- SCROLLED NAVBAR SECTION --- */
/*------------------------------- */

/* Scrolled class for navbar */
.NAV.scrolled{
    height: 60px;
    line-height: 60px;
    box-shadow: 0 8px 10px rgba(0, 0, 0, 0.1);
    background: linear-gradient(white, #c9d3f9);
}
.NAV.scrolled .NAV-MENU ul li .link{
    font-size: 18px;
    font-weight: 600;
    color: #252525;
    padding: 8px;
    /* margin: 40px; */
}
.NAV.scrolled .NAV-LOGO{
    padding-top: 20px;
}
/* Scrolled class for navbar logo */
.NAV.scrolled .NAV-LOGO img{
    height: 80px;
    padding: 20px;
}


/*------------------------------ */
/*---- MENU BUTTON  SECTION ---- */
/*------------------------------ */

/* Hamburger menu button */
.NAV-MENU-BUTTON{
    display: none;
    flex-direction: column;
    justify-content: center;
    width: 44px;
    height: 44px;
    background-color: #25335d;
    border-radius: 20%;
    cursor: pointer;
    margin-top: 26px;
    margin-right: 12px;
    z-index: 1001;
    transition: all 0.3s ease-in-out;
    position: center;
}
.NAV-MENU-BUTTON:hover{
    background-color: #7185d8;
}
/* Hamburger menu bars */
.NAV-MENU-BUTTON .menuBar1, .menuBar2, .menuBar3{
    width: 26px;
    height: 4px;
    background: #7185d8;
    margin: 2px 0;
    transition: 0.3s;
    border-radius: 2px;
}
.NAV-MENU-BUTTON:hover .menuBar1, .NAV-MENU-BUTTON:hover .menuBar2, 
.NAV-MENU-BUTTON:hover .menuBar3{
    background-color: #25335d;
}
/* Hamburger menu animation */
.change .menuBar1{
    transform: translate(-8px, 8px) rotate(-50deg);
    background: #7e91da;
    margin-left: 16px;
    width: 28px;
    height: 5px;
}
.change .menuBar2{
    opacity: 0;
}
.change .menuBar3{
    transform: translate(-8px, -8px) rotate(49deg);
    background: #7e91da;
    margin-left: 16px;
    width: 28px;
    height: 5px;
}



/*------------------------------- */
/*--- SCROLLED NAVBAR SECTION --- */
/*------------------------------- */

/* Scrolled class for navbar */
.NAV.scrolled{
    height: 60px;
    line-height: 60px;
    box-shadow: 0 8px 10px rgba(0, 0, 0, 0.1);
    background: linear-gradient(white, #c9d3f9);
}
.NAV.scrolled .NAV-MENU ul li .link{
    font-size: 18px;
    font-weight: 600;
    color: #252525;
    padding: 8px;
    /* margin: 40px; */
}
.NAV.scrolled .NAV-LOGO{
    padding-top: 20px;
}
/* Scrolled class for navbar logo */
.NAV.scrolled .NAV-LOGO img{
    height: 80px;
    padding: 20px;
}


/*------------------------------ */
/*------ SERVICES SECTION ------ */
/*------------------------------ */

/* Services section hero image*/
.SERVICES-HERO-IMAGE{
    width: 100%;
    height: 40vh;
    background-image: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)),
    url('../Images/Services-page/SUABI-services-hero-16x9.jpg');
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    margin-bottom: 10px;
}
/* Services section hero text */
.SERVICES-HERO-TEXT h1{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    color: #c9d3f9;
}
/* Services section container */
.SERVICES-CONTAINER{
    margin: 20px;
    margin-bottom: 20px;
}
/* Services section intro */
.SERVICES-SEC .SERVICES-INTRO{
    text-align: center;
    font-weight: 600;
    font-size: 24px; 
    font-style: italic;
    color: #1d2f75;
    background: #f0f0f0;
    padding: 20px;
    margin-bottom: 35px;
    font-family: 'Montserrat', sans-serif;
    border: 12px solid #7185d8;
}

/* Services section column */
.SERVICES-COLUMN{
    /* float: left; */
    width: 25%; 
    flex: 1;
    padding: 4px;
}
/* Services section row */
.SERVICES-ROW{
    margin: 0 -5px;
    display: flex;
}
/* Clearfix for the row */
/* .SERVICES-ROW::after{
    content: "";
    display: table;
    clear: both;
} */
/* Services section content card */
.SERVICES-CONTENT-CARD{
    box-shadow: 0 2px 4px #2d408a;
    padding: 10px;
    text-align: center;
    background: rgba(183, 180, 231, 0.233);
    border: 1px solid #7e91da;
    border-radius: 2px;
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
    transition: transform 0.3s ease; 
}
/* Services section content */
.SERVICES-CONTAINER h3{
    text-align: left;
    margin-bottom: 12px;
    font-weight: 800;
    font-size: 32px;
    color: #1d2f75;
    font-family: 'Montserrat', sans-serif;
}

/* Services section content */
/* Bookkeeping header */
.SERVICES-GRID-HEADER-BOOKKEEPING{
    text-align: left;
    margin-top: 4px;
    margin-bottom: 4px;
    font-weight: 800;
    font-size: 38px;
    color: goldenrod;
    font-family: 'Montserrat', sans-serif;
    padding: 66px;
    background-image: linear-gradient(#0b0b0df2,rgba(36, 45, 52, 0.128)),
    url('../Images/Services-page/SUABI-bookkeeping-header-3x2.jpg');
    background-size: cover;
    background-position: right 50% bottom 32.5%;
}
.SERVICES-CONTAINER .SERVICES-GRID-HEADER-BOOKKEEPING{
    margin-top: 10px;
    margin-bottom: 4px;
}
/* Consulting header */
.SERVICES-GRID-HEADER-CONSULTING{
    text-align: left;
    margin-top: 4px;
    margin-bottom: 4px;
    font-weight: 800;
    font-size: 38px;
    color: goldenrod;
    font-family: 'Montserrat', sans-serif;
    padding: 66px;
    background-image: linear-gradient(#0b0b0df2,rgba(36, 45, 52, 0.128)),
    url('../Images/Services-page/SUABI-consulting-header-3x2.jpg');
    background-size: cover;
    background-position: right 50% bottom 35.5%;
}
.SERVICES-CONTAINER .SERVICES-GRID-HEADER-CONSULTING{
    margin-top: 34px;
    margin-bottom: 4px;
}
/* Payroll header */
.SERVICES-GRID-HEADER-PAYROLL{
    text-align: left;
    margin-top: 4px;
    margin-bottom: 4px;
    font-weight: 800;
    font-size: 38px;
    color: goldenrod;
    font-family: 'Montserrat', sans-serif;
    padding: 66px;
    background-image: linear-gradient(#0b0b0df2,rgba(36, 45, 52, 0.128)),
    url('../Images/Services-page/SUABI-payroll-header-3x2.jpg');
    background-size: cover;
    background-position: right 50% bottom 65.5%;
}
.SERVICES-CONTAINER .SERVICES-GRID-HEADER-PAYROLL{
    margin-top: 34px;
    margin-bottom: 4px;
}
/* Card content sizing */
.SERVICES-COLUMN h4{
    margin-bottom: 10px;
    text-align: center;
    font-size: 24px;
    color: #1d2f75;
    font-weight: 900;
}
.SERVICES-CONTAINER p{
    margin-top: 10px;
    flex-grow: 1;
    font-size: 22px;
}

/*------------------------------------------ */
/*------- SLIDE-IN ANIMATION SECTION ------- */
/*------------------------------------------ */

/* How page should look at start.
Column content starts offset and hidden */
/* will-change ensures that changes to opacity and transform are optimized */
.slide-in{
    opacity: 0;
    will-change: opacity, transform;
    transition: all 0.8s ease-out;
}
/* Slides in from right */
.slide-in.from-right{
    transform: translateX(50px);
}
/* How page should look at end.
Content should be visible and centered on page */
/* translateX(0) recenters position*/
.slide-in.visible{
    opacity: 1;
    transform: translateX(0);
}


/*------------------------------ */
/*------- FOOTER SECTION ------- */
/*------------------------------ */

/*For trademark position*/
.FOOT-LOGO{
    display: flex;
    align-items: center;
    background: #7e91da;
    align-items: center;
    justify-content: center;
    width: 100%;
}
/*Footer logo sizing*/
.FOOT-LOGO img{
    padding: 4px;
    margin-top: 6px;
    width: auto;
    height: 100px;
    object-fit: contain;
}
.FOOT-BUSINESS-INFO {
    display: block;
    text-align: center;
    background: #7e91da;
    padding-left: 10px;
    padding-top: 2px;
    color:#c9d3f9;
    font-size: 14px;
}
.FOOT-BUSINESS-INFO a{
    color: inherit;
    text-decoration: none;
}
.FOOT-BUSINESS-INFO a:hover{
    color: #b2baf7;
    text-decoration: underline;
    transition: all 0.3s ease;
}
.FOOT-BUSINESS-INFO .bold{
    font-weight: 600;
}
/*Footer paragraph styling*/
.FOOT p{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding: 10px;
    background: #7e91da;
    color: #c9d3f9;
    font-size: 16px;
}

/*------------------------------- */
/*---- FOOTER SOCIAL SECTION ---- */
/*------------------------------- */

/*Footer social media icons placement*/
.FOOT-SOCIAL{
    display: flex;
    justify-content: center;
    align-items: center;
    background: #7e91da;
}
/*Footer social media icons styling*/
.FOOT .fa{
    padding: 6px;
    margin: 0 2px;
    font-size: 20px;
    width: 38px;
    text-decoration: none;
    text-align: center;
    border-radius: 20%;
    color: #25335d;
    background: whitesmoke;
    opacity: 0.8;
}
/*Social hover action*/
.FOOT .fa:hover{
    opacity: 1;
}
/*Footer social media icons styling*/
.FOOT .fa-facebook{
    background: #3b5998;
    color: white;
}
.FOOT .fa-linkedin{
    background: #0077b5;
    color: white;
}
.FOOT .fa-instagram{
    background: #e1306c;
    color: white;
}
.FOOT .fa-google{
    background: whitesmoke;
    color: rgba(214, 1, 1, 0.952);
}

/*----------------------------------- */
/*---- RESPONSIVE DESIGN SECTION ---- */
/*----------------------------------- */

/* Making the page responsive so that it 
responds to different screen shapes and sizes */
@media only screen and (max-width: 1274px){
    /* Styling menu button */
    .NAV-MENU-BUTTON{
        display: flex;
        color: #7185d8;
        background: #25335d;
        cursor: pointer;
        transition: .3s;
        z-index: 1002;
        position: fixed;
        right: 2px;
        align-items: center; 
        justify-content: center;
    }
    .NAV-MENU-BUTTON ul li{
        margin: 2px;
        padding: 20px 0;
    }
    /* Making menu responsive to shrinking pages */
    .NAV-MENU.responsive{
        top: 100px; 
        max-height: 40vh;
        opacity: 1;
        visibility: visible;
    }
    /* Position and style of menu */
    .NAV-MENU{
        position: fixed;
        top: 100px;
        justify-content: center;
        flex-direction: column; 
        background: rgba(212, 213, 252, 0.6);
        width: 100%;
        height: 100vh;
        backdrop-filter: blur(20px);
        z-index: 1001;
        
        display: flex;
        flex-direction: column;
        align-items: center;

        /* Animation */
        max-height: 0;
        overflow: hidden;
        opacity: 0;
        visibility: hidden;
        transition: max-height 0.4s ease-in-out, opacity 0.4s ease-in-out, visibility 0.4s;
    
    }
    .NAV-MENU ul{
        flex-direction: column;
        justify-content: center;
        text-align: center;
        list-style: none;
        width: 100%;
        padding: 0;
        margin: 0;
    }
   .NAV-MENU ul li {
        width: 100%;
        font-size: 20px;
        display: block;
        margin: 16px;
    }

    /* When link hovered over with mouse, underlined to let know engaged */
    .link:hover, .active{
        border-bottom: 4px solid #99b2fd ;
    }

    /* Scroll class for menu links */
    .NAV.scrolled .NAV-MENU ul li {
        margin:0px;
    }
    /* Scrolled class for menu position */
    .NAV.scrolled .NAV-MENU {
        top: 60px;
    }
    /* Scrolled class for menu button */
    .NAV.scrolled .NAV-MENU-BUTTON{
        align-items: center;
        top: -12px;
        padding: 4px;
        width: 34px;
        height: 34px;
        background: #1d2f75;
        z-index: 1002;
    }
    /* Scrolled class for menu button */
    .NAV.scrolled .NAV-MENU-BUTTON .menuBar1, 
    .NAV.scrolled .NAV-MENU-BUTTON .menuBar2, 
    .NAV.scrolled .NAV-MENU-BUTTON .menuBar3{
        width: 22px;
        height: 2.5px;
        background: #7e91da;
        margin: 1.8px 0;
        transition: 0.3s;
        border-radius: 1.5px;
    }
    /* Scrolled class for menu animation*/
    .NAV.scrolled .NAV-MENU-BUTTON.change .menuBar1{
        transform: translate(-7px, 7px) rotate(-46deg);
        background: #7e91da;
        margin-left: 14px;
        height: 3.5px;
        width: 24px;
    }
    .NAV.scrolled .NAV-MENU-BUTTON.change .menuBar2{
        opacity: 0;
    }
    .NAV.scrolled .NAV-MENU-BUTTON.change .menuBar3{
        transform: translate(-7px, -7px) rotate(46deg);
        background: #7e91da;
        margin-left: 14px;
        height: 3.5px;
        width: 24px;
    }
    /* Changing color of menu button on hover */
    .NAV.scrolled .NAV-MENU-BUTTON:hover{
    background-color: #7185d8;
    }
    /* Changing color of menu bars on hover when*/
    .NAV.scrolled .NAV-MENU-BUTTON:hover .menuBar1, 
    .NAV.scrolled .NAV-MENU-BUTTON:hover .menuBar2, 
    .NAV.scrolled .NAV-MENU-BUTTON:hover .menuBar3{
    background-color: #25335d;
    }
    /* Services section intro */
    .SERVICES-SEC .SERVICES-INTRO{
        font-size: 22px;
    }
        /* Services section content */
    .SERVICES-CONTAINER h3{
        font-size: 28px;
    }
    /* Services section content */
    /* Bookkeeping header */
    .SERVICES-GRID-HEADER-BOOKKEEPING{
        text-align: left;
        margin-top: 8px;
        margin-bottom: 8px;
        font-weight: 800;
        font-size: 28px;
        color: goldenrod;
        font-family: 'Montserrat', sans-serif;
        padding: 38px;
        background-image: linear-gradient(#0b0b0df2,rgba(36, 45, 52, 0.128)),
        url('../Images/Services-page/SUABI-bookkeeping-header-3x2.jpg');
        background-size: cover;
        background-position: right 60% bottom 30%;
    }
    /* Consulting header */
    .SERVICES-GRID-HEADER-CONSULTING{
        text-align: left;
        margin-top: 8px;
        margin-bottom: 8px;
        font-weight: 800;
        font-size: 28px;
        color: goldenrod;
        font-family: 'Montserrat', sans-serif;
        padding: 38px;
        background-image: linear-gradient(#0b0b0df2,rgba(36, 45, 52, 0.128)),
        url('../Images/Services-page/SUABI-consulting-header-3x2.jpg');
        background-size: cover;
        background-position: right 50% bottom 35%;
    }
    /* Payroll header */
    .SERVICES-GRID-HEADER-PAYROLL{
        text-align: left;
        margin-top: 8px;
        margin-bottom: 8px;
        font-weight: 800;
        font-size: 28px;
        color: goldenrod;
        font-family: 'Montserrat', sans-serif;
        padding: 38px;
        background-image: linear-gradient(#0b0b0df2,rgba(36, 45, 52, 0.128)),
        url('../Images/Services-page/SUABI-payroll-header-3x2.jpg');
        background-size: cover fixed;
        background-position: right 50% bottom 65%;
    }
    /* Card content sizing */
    .SERVICES-COLUMN h4{
    font-size: 18px;
    }
    .SERVICES-CONTAINER p{
        font-size: 16px;
    }

}

@media only screen and (max-width:1000px){
    
    /* How page should look at start.
    Column content starts offset and hidden */
    /* will-change ensures that changes to opacity and transform are optimized */
    .slide-in{
        opacity: 0;
        will-change: opacity, transform;
        transition: all 0.8s ease-out;
    }
    /* Slides in from right */
    .slide-in.from-right{
        transform: translateX(50px);
    }
    /* How page should look at end.
    Content should be visible and centered on page */
    /* translateX(0) recenters position*/
    .slide-in.visible{
        opacity: 1;
        transform: translateX(0);
    }
}

@media only screen and (max-width: 670px){
    
    /* Adjusting hero image size */
    .SERVICES-HERO-IMAGE{
        width: 100%;
        height: 30vh;
    }
    /* Services Grid Header size adjustment */
    .SERVICES-GRID-HEADER{
        font-size: 28px;
        padding: 20px;
    }
    /* Services column layout on smaller screen */
    .SERVICES-COLUMN{
        width: 50%;
        /* 4px padding on each side, so subtract 8px from 50% to make spacing even*/
        flex: 0 0 calc(50% - 8px);
        margin-bottom: 20px;
        align-items: center;
    }
    .SERVICES-ROW{
        flex-wrap: wrap;
        justify-content: center;
    }
}