/*
Author: Kamilah Sayyidi
Date: April 26, 2024
File Name: styles.css
*/

/* Colors used: #fff3f5; #fbb1b2; #222222; #776663; #e99797; #da105e; #f0e1e6; 
*/

/* CSS Reset */
* {
    font-family: Molengo, Times, serif;
    color: #776663; 
}

body, header, nav, main, footer, h1, div, img, ul, figure, figcaption {
    margin: 0;
    padding: 0;
    border: 0;
}

h1, h2, h3, h4, h5, h6 {
    text-align: center;
}

h5 {
    font-style: italic;
    font-weight: lighter;
}


/* Style rules for body and images */
body {
    background-color: #fff3f5;
}

img {
    max-width: 100%;
    display: inline-block;
}

/* Style rule for box sizing applies to all elements */
* {
    box-sizing: border-box;
}

/* Style rules for mobile viewpoint */

/* Show mobile class, hide tablet-desktop class */
.mobile {
    display: block;
}

.tablet-desktop {
    display: none;
}

/* Style rules for header */
header {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    background-color: #fff3f5;
    height: 125px;
    /* width: 100%;
    padding: 2% 0; */
}

header img {
    margin: 0 auto;
    /* margin: 2px auto; */
}

/* Style rule for navigation area */
nav {
    padding: 1%;
    margin-bottom: 1%;
    /* position: -webkit-sticky;
    position: sticky;
    top: 0px;
    background-color: #f7e4e4;
    height: 50px;
    border-top: 1.0px solid #efdae1;
    border-bottom: 1.0px solid #efdae1; */
    /* margin: 5em 3em 0 0; */
}

nav ul {
    list-style-type: none;
    /* margin: auto; */
    text-align: center; 
}

nav li {
    /* display: inline-block; */
    font-size: 1.2em;
    font-family: Molengo, 'Trebuchet MS', sans-serif;
    border-top: 1px solid #efdae1;
}

nav li:first-child {
    border-top: none;
}

nav li a {
    display: block;
    padding: 0.7em 1em;
    /* text-align: center; */
    text-decoration: none;
}

nav li a:hover {
    color: #fbb1b2;
    background-color: #9a8e8e;
    font-weight: normal;
    transform: scale(1);
}

/* Style rule for main content */
main {
    /* clear: left; */
    margin: 0;
    background-color: #fdfdfd;
    padding: 2%;
    font-size: 1.1em;
}

.mobile h3 {
    text-shadow: 5px 5px 8px #ccc;
}

.quran {
    font-style: italic;
    text-align: center;
    font-size: smaller;
}

#curriculum {
    text-align: center;
    font-size: 1em;
}

#travel {
    text-align: left;
}

.map {
    border: 4px double #dbcfcf;
    width: 100%;
    margin: 5% auto;
    display: inherit;
    /* max-width: 97%; */
}

.frame {
    position: relative;
    max-width: 250px;
    margin: 2% auto;
}

.pic-text {
    position: absolute;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    color: #fff;
    width: 100%;
    padding: 20px 0;
    text-align: center;
    font-family: Verdana, Arial, sans-serif;
    font-size: 1em;
    font-weight: bold;
}

.gridcontainer {
    display: grid;
    grid-template-columns: 1fr 1fr;
    /* margin: 2% 2%; */
    padding: 1% 1%;
}

a:hover {
    color: #fbb1b2;
    font-weight: bold;
}

#form {
    margin-top: 3%;
    background-color: #fff3f5;
    padding: 2%;
    border-radius: 8px;
    width: 70%;
    margin: 0% auto;
}


/* Style rules for form elements */
fieldset, input, select, textarea {
    margin-bottom: 2%;
   
}

fieldset legend {
    /* font-weight: bold; */
    font-size: 1.25em;
    margin: 0 auto;
}

label {
    display: block;
    padding-top: 3%;
}

form #submit {
    margin: 0 auto;
    border: none;
    display: block;
    padding: 2%;
    background-color: #fbb1b2;
    font-size: 1em;
    border-radius: 10px;

}
form {
    text-align: center;
    column-width: auto;
    
}

/* Style rules for footer content */
footer p {
    font-size: .8em;
    text-align: center;
    padding: 0 1em;
}

footer p a {
    color: #fbb1b2;
    text-decoration: none;
}

/*Media Query for Tablet Viewport */
@media screen and (min-width: 510px), print {
    /* Tablet Viewport: Show tablet-desktop class, hide mobile class*/
    .tablet-desktop {
        display: block;
    }

    .mobile {
        display: none;
    }

    /* Tablet Viewport: Style rule for header */
    header {
        position: static;
        padding-bottom: 2%;
    }

    /*Tablet Viewport: Style rule for nav area */
    
    nav {
        width: 100%;
        margin: 2em 2em 0 0;
        position: -webkit-sticky;
        position: sticky;
        top: 0px;
        background-color: #f7e4e4;
        height: 50px;
        border-top: 1.0px solid #efdae1;
        border-bottom: 1.0px solid #efdae1

    }

    nav li {
        display: inline-block;
        border: none;
        /* border-right: 1px solid #fff3f5; */
    }

    /* nav li:last-child {
            /* border-right: none;  */
    

    nav li a {
        padding: 0.4em 1em;
        width: 100%;
    } 

    /*Tablet Viewport: Style rule for main content */
    main ul {
        margin: 0 0 4% 10%;
    }

    .map {
        width: 600px;
        height: 450px;
    }

    .grid {
        display: grid;
        grid-template-columns: auto auto auto;
        grid-gap: 20px;
        row-gap: 20px;
    }

    .pic-text {
        font-size: 1em;
        padding: 10px;
    }

    /* Tablet Viewport: Style rules for table */
    table {
        border: 3px solid #fbb1b2;
        border-collapse: collapse;
        margin: 0 auto;
        width: 100%;
    }

    caption {
        font-size: 1.2em;
        font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
        color: #dd8385;
        padding: 1%;
    }

    th, td {
        border: 1px solid #9a8e8e;
        padding: 1%;
        text-align: center;
    }

    th {
        background-color: #776663;
        color: #fdfdfd;
        font-size: 1.1em;
    }

    td {
        font-size: .85em;
    }

    tr:nth-child(odd) {
        background-color: #f7e4e4;
    }

    /* Tablet Viewport: Style rule for form element */
    #form {
        width: 60%;
    }

    /* Tablet Viewport: Animation */
    @-webkit-keyframes text-animation {
        0% {font-size: 1em;}
        50% {font-size: 2em;}
        100% {font-size: 1.35em;}
    }

    @keyframes text-animation {
        0% {font-size: 1em;}
        50% {font-size: 2em;}
        100% {font-size: 1.35em;}
    }

    figcaptions {
        -webkit-animation-name: text-animation;
        animation-name: text-animation;
        -webkit-animation-delay: 3s;
        animation-delay: 3s;
        -webkit-animation-duration: 5s;
        animation-duration: 5s;
    }

}

/* Media Query for Desktop Viewport */
@media screen and (min-width: 800px), print {

    /*Desktop Viewport: Style rule for header*/
    header {
        position: static;    
        width: 100%;
        padding-bottom: 10%;
    } 

    /* Desktop Viewport: Style rule for nav area*/
    nav {
        width: 100%;
        margin: 10em 2em 0 0;
        position: -webkit-sticky;
        position: sticky;
        top: 0px;
        background-color: #f7e4e4;
        height: 60px;
        border-top: 1.0px solid #efdae1;
        border-bottom: 1.0px solid #efdae1;

    }

    nav ul {
        text-align: center;
    }

    nav li {
        border: none;
        font-size: 1.4em;
    }

    nav li a {
        padding: 0.3em 1.5em;
        width: 100%;
    }

    /* Desktop Viewport: Style rule for main content */
    main {
        clear: left;
    }

    main h1 {
        font-size: 1.8em;
    }

    .pic-text {
        font-size: 1.5em;
        padding: 20px;
    }

    .frame {
        opacity: 0.9;
    }

    .frame:hover {
        opacity: 1;
        box-shadow: 0px 0px 10px #808080;
        transform: translateY(20px);
    }

    .map {
        width: 700px;
        height: 500px;
    }

    .grid {
        display: grid;
        grid-template-columns: auto auto auto;
        grid-gap: 0px;
    }

    /* Desktop Viewport: Style rule for form element */
    #form {
        width: 50%;
    }

}

/* Media Query for Large Desktop Viewports */
@media screen and (min-width: 1921px) {

    #container {
        width: 1920px;
        margin: 0 auto;
    }

    table {
        width: 80%;
    }
}

/* Media Query for Print*/
@media print {

    body {
        background-color: #fff;
        color: #000;
    }
}