body#index {
    margin: 15;
    font-family: "Didact Gothic", sans-serif;
}

img,
iframe {
    /* https://stackoverflow.com/questions/10844205/html-5-strange-img-always-adds-3px-margin-at-bottom */
    display: block;
}

h1,
h2 {
    margin: 0;
    letter-spacing: 0.025em;
    word-spacing: 0;
    line-height: 100%;
}


@media (min-width: 1551px) {
}
@media (min-width: 668px) and (max-width: 1550px) {
}
@media (max-width: 667px) {
}



body#index header {
    background: white;
    height: 8rem;
    box-shadow: 0 5px 25px 25 rgba(0, 0, 0, 0.2);
    display: flex;
    justify-content: left;
    align-items: center;
}



body#index main {
    width: 40%;
    box-sizing: border-box;
    max-width: 1400px;
    margin: 0 auto;
    margin-top: 1.25rem;
    padding: 0 2rem;
}





body#index main > section:nth-of-type(1) {
    margin-top: 2.5rem;
}

body#index main > section {
    margin-top: 2.5rem;
}

body#index main section .container h1 {
    font-style: italic;
    font-size: 3.0rem;
    color: #0462A8;
    text-align: center;
    margin-bottom: 2.0rem;
}

body#index main section .container h1>div:nth-of-type(1) {}

body#index main section .container h1>div:nth-of-type(2) {
    -webkit-text-stroke-width: 0.2rem;
    -webkit-text-stroke-color: #0462A8;
    margin-top: 0.25rem;
}

body#index main section .container img {
    width: 100%;
}

body#index main section .container .content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 5rem;
    margin: 1.5rem 0 2.0rem 0;
}

body#index main section .container .content>div {
    font-size: 1.75rem;
    color: #999999;
}

body#index main section .container .content>div .end {
    color: #0462A8;
}





.sample-slider {
    width: 100%;
}

.sample-slider img {
    width: 100%;
}

.swiper-button-next,
.swiper-button-prev {
    color: #2d938b !important;
    background: rgba(255, 255, 2155, 0.75);
    padding: 0.5rem;
}

.swiper-button-next:after,
.swiper-button-prev:after {
    font-size: 2rem !important;
}





body#index main section.map {
    padding: 1.5rem 0 2.0rem 0;
}
body#index main section.map iframe {
    width: 100%;
    height: 20rem;
    box-shadow: 0 5px 25px 0 rgba(0, 0, 0, 0.2);
}





@media (max-width: 667px) {
    body#index main > section:nth-of-type(1) {
        margin-top: 1.5rem;
    }
    body#index main section .container h1 {
        font-size: 2.0rem;
    }
    body#index main section .container h1>div:nth-of-type(2) {
        -webkit-text-stroke-width: 0.15rem;
    }
    body#index main section .container img {
        height: 8rem;
        object-fit: cover;
    }
    body#index main section .container .content {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    body#index main section .container .content>div {
        font-size: 1.5rem;
    }
}

/*
------------------------------------------------------------------
------------------------------------------------------------------
------------------------------------------------------------------
------------------------------------------------------------------
------------------------------------------------------------------
*/

body#index footer {
    margin-top: 2.5rem;
    width: 100%;
}





footer .footer-container-main {
    background: #0462A8;
    padding: 1.5rem 1.0rem 2.0rem 1.0rem;
}

footer .footer-container-main > div:first-of-type {
    width: fit-content;
    margin: 0 auto;
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 5rem;
    align-items: center;
}

.contact {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.0rem;
    color: white;
}

.contact .contactInfo > div {
    display: grid;
    grid-template-columns: 1.5rem auto;
    gap: 1rem;
}

.contact .contactInfo > div .icon {
    display: flex;
    justify-content: center;
    align-items: center;
}

.contact .contactInfo > div .icon .fa {
    color: white;
    font-size: 1.5rem;
}

.contact .contactInfo > div .data,
.contact .contactInfo > div .data a {
    color: rgba(255, 255, 255, 0.50);
    font-size: 1.25rem;
}

.contact .contactInfo > div .data a {
    text-decoration: none;
}

.contact .contactInfo hr {
    width: 100%;
    margin: 0.5rem 0;
    border: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.30);
}






footer .footer-copyrights {
    background: #fafafa;
    padding: 1rem;
    text-align: center;
}

footer .footer-copyrights .copyright {
    width: fit-content;
    margin: 0 auto;
    display: grid;
    grid-auto-flow: column;
    gap: 0.5rem;
}

ul.socialLinks {
    list-style: none;
    display: grid;
    grid-auto-flow: column;
    gap: 1.5rem;
    padding: 2rem;
    width: fit-content;
    margin: 0 auto;
}

ul.socialLinks .fa {
    color: #2d938b;
    font-size: 2.5rem;
}





@media (max-width: 667px) {
    footer .footer-container-main > div:first-of-type {
        grid-template-columns: 1fr;
        gap: 2rem;
        justify-items: center;
    }
    footer .footer-copyrights .copyright {
        grid-auto-flow: inherit;
        grid-template-columns: 1fr;
        gap: 0;
    }
    footer .footer-copyrights .copyright .point {
        display: none;
    }
}