

/* icons/icons.css */
@font-face {
    font-family: 'custom-icons';
    src: url('data:application/octet-stream;base64,d09GRgABAAAAABGMAA8AAAAAHEgAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABWAAAADsAAABUIIslek9TLzIAAAGUAAAAQwAAAFY+IFPNY21hcAAAAdgAAAClAAACMrR7mUtjdnQgAAACgAAAABMAAAAgBtf/BGZwZ20AAAKUAAAFkAAAC3CKkZBZZ2FzcAAACCQAAAAIAAAACAAAABBnbHlmAAAILAAABh0AAAfaIjkz6mhlYWQAAA5MAAAAMwAAADYOujAoaGhlYQAADoAAAAAdAAAAJAc8A19obXR4AAAOoAAAADAAAAA0KWf//WxvY2EAAA7QAAAAHAAAABwLMg0rbWF4cAAADuwAAAAgAAAAIADtC+VuYW1lAAAPDAAAAYwAAAL9HIHX2XBvc3QAABCYAAAAdwAAAKSA5UR3cHJlcAAAERAAAAB6AAAAhuVBK7x4nGNgZGBg4GIwYLBjYHJx8wlh4MtJLMljkGJgYYAAkDwymzEnMz2RgQPGA8qxgGkOIGaDiAIAJjsFSAB4nGNgZNZnnMDAysDAVMW0h4GBoQdCMz5gMGRkAooysDIzYAUBaa4pDA4vGD7zMQf9z2KIYg5mmAYUZgTJAQDQVAt2AHic7ZHLDcIwEERfPtgJRDlxQNRAURTEiVtutJNO9ugoBYSxN1IogrWepVlr19IMcAIa8RAtVG8qcr3UrUq/4Vz6LU/pkY6aYI31KaZ5mdZx28CwmMKhf6rSzJUb93KyrrWz1c+BqG299l8Y9BD411Duz6EMJ6dhO3IQ28np2U5O0KKTk7XOkdNY78hzUnDkPik6yoE0OznxZXKUDevoMHwB3m8wAQAAAHicY2BAAxIQyBz8PwuEARJ2A98AeJytVml300YUHXlJnIQsJQstamHExGmwRiZswYAJQbJjIF2crZWgixQ76b7xid/gX/Nk2nPoN35a7xsvJJC053Cak6N3583VzNtlElqS2AvrkZSbL8XU1iaN7DwJ6YZNy1F8KDt7IWWKyd8FURCtltq3HYdERCJQta6wRBD7HlmaZHzoUUbLtqRXTcotPekuW+NBvVXffho6yrE7oaRmM3RoPbIlVRhVokimPVLSpmWo+itJK7y/wsxXzVDCiE4iabwZxtBI3htntMpoNbbjKIpsstwoUiSa4UEUeZTVEufkigkMygfNkPLKpxHlw/yIrNijnFawS7bT/L4vead3OT+xX29RtuRAH8iO7ODsdCVfhFtbYdy0k+0oVBF213dCbNnsVP9mj/KaRgO3KzK90IxgqXyFECs/ocz+IVktnE/5kkejWrKRE0HrZU7sSz6B1uOIKXHNGFnQ3dEJEdT9kjMM9pg+Hvzx3imWCxMCeBzLekclnAgTKWFzNEnaMHJgJWWLKqn1rpg45XVaxFvCfu3a0ZfOaONQd2I8Ww8dWzlRyfFoUqeZTJ3aSc2jKQ2ilHQmeMyvAyg/oklebWM1iZVH0zhmxoREIgIt3EtTQSw7saQpBM2jGb25G6a5di1apMkD9dyj9/TmVri501PaDvSzRn9Wp2I62AvT6WnkL/Fp2uUiRen66Rl+TOJB1gIykS02w5SDB2/9DtLL15YchdcG2O7t8yuofdZE8KQB+xvQHk/VKQlMhZhViFZAYq1rWZbJ1awWqcjUd0OaVr6s0wSKchwXx76Mcf1fMzOWmBK+34nTsyMuPXPtSwjTHHybdT2a16nFcgFxZnlOp1mW7+s0x/IDneZZntfpCEtbp6MsP9RpgeVHOh1jeUELmnTfwZCLMOQCDpAwhKUDQ1hegiEsFQxhuQhDWBZhCMslGMLyYxjCchmGsLysZdXUU0nj2plYBmxCYGKOHrnMReVqKrlUQrtoVGpDnhJulVQUz6p/ZaBePPKGObAWSJfIml8xzpWPRuX41hUtbxo7V8Cx6m8fjvY58VLWi4U/Bf/V1lQlvWLNw5Or8BuGnmwnqjapeHRNl89VPbr+X1RUWAv0G0iFWCjKsmxwZyKEjzqdhmqglUPMbMw8tOt1y5qfw/03MUIWUP34NxQaC9yDTllJWe3grNXX27LcO4NyOBMsSTE38/pW+CIjs9J+kVnKno98HnAFjEpl2GoDrRW82ScxD5neJM8EcVtRNkja2M4EiQ0c84B5850EJmHqqg3kTuGGDfgFYW7BeSdconqjLIfuRezzKKT8W6fiRPaoaIzAs9kbYa/vQspvcQwkNPmlfgxUFaGpGDUV0DRSbqgGX8bZum1Cxg70Iyp2w7Ks4sPHFveVkm0ZhHykiNWjo5/WXqJOqtx+ZhSX752+BcEgNTF/e990cZDKu1rJMkdtA1O3GpVT15pD41WH6uZR9b3j7BM5a5puuiceel/TqtvBxVwssPZtDtJSJhfU9WGFDaLLxaVQ6mU0Se+4BxgWGNDvUIqN/6v62HyeK1WF0XEk307Ut9HnYAz8D9h/R/UD0Pdj6HINLs/3mhOfbvThbJmuohfrp+g3MGutuVm6BtzQdAPiIUetjrjKDXynBnF6pLkc6SHgY90V4gHAJoDF4BPdtYzmUwCj+Yw5PsDnzGHQZA6DLeYw2GbOGsAOcxjsMofBHnMYfMGcdYAvmcMgZA6DiDkMnjAnAHjKHAZfMYfB18xh8A1z7gN8yxwGMXMYJMxhsK/p1jDMLV7QXaC2QVWgA1NPWNzD4lBTZcj+jheG/b1BzP7BIKb+qOn2kPoTLwz1Z4OY+otBTP1V050h9TdeGOrvBjH1D4OY+ky/GMtlBr+MfJcKB5RdbD7n74n3D9vFQLkAAQAB//8AD3icfVVNbBvHFX5vZn8oklpyl/tDrqjlPxmLrCUvd5eQI9NrxTFlQTECRVDkQFAZQHANR7aDJBfH6KUtnEvhBEZtGEYRwEGQUxDAPgVFABeVDoV7iHtsE+TsnPKD5JDAWvUtpSLJJZzBzLyZ4Xtv3vu+t8AA9v7OH7MnkIIMzIYBAMgSyBsgJUSGTMINARnnbJkmxleBM74IkFHG0/SPlBr/xsRC21crasXoGhW/67doyR9HN9ei/trX7Ntd5Tz7y+7WcGFh+Hu8Q/pxb2/vB67xFJyBWlh2kSEgMDYAWl0GBuwy3To3H1bKTS4a7YYuydRq1eY0a7YOY6s5jYdxGps9rxf0+th1LbOEDloOM3SFyXos+CS7tG323D6zXAdpaZlcS0upWa+bcVT76aA9uNOeyCUTCUHmOFkqKjOZhJDUs0ldZtlEuekgF1CZurSEmpiS5KTjlNNyNs+GLc7ezcwoxXJREBOGPtG5vdAOilZWKysZz5tNSWnGWyXdybB8NpEqO05STKS4ic9dmkozkWO5XsVElgW5pEAvjXNwgX3LX4Ak5GAytBOIJ+NYvEpBgTW6kWanc7bGRauteoFgGro8Rq/XTTfwmlXpczz6uR99En3if7b+p3Xq+J+/fsH+++7VU9EyfnTq6ny8t05xJzvf8FfZv8CAqbAV5xUHABwu7xvjlOAVoFyvAeNsqVbXVUHMtzFwrTGUqk3vOFZoDHqVVtPDt0urDp6J7jur/dJy9FZnrj+FV5ZL7MNSKbpH28dWS8v91TlcLq/CyDY99CN2H4rghBN5NckFBjhASjxc5oStc3pet2J7PtkhA4Fbwl7gmnoGLVOXqtMokw/29rbtnbJ3tgsLbmF7u+AuFLZ3Cgvdl+p2PLuFnZ14b2fb3j/vxmYJbxf4XT4OCahAO3yqRFYVJKMDoPijAEPyjzPkQwr4ODtt1fScJhKq0TuMkm72EUcOEAQPs77gMEuXLZP98cajG9TR6RzVH2xeff7G+ZDNbV1///rWHD77wMA//O4Gu/XwtvTn6M7klPHg2f6Fd967fumoMH/u1nNXNx8YcUg4+XaP+LcNBZiF0xCGxyY0pBzkgFhBDnKiA4eL5CaF6xUQSRLZBjkt4AogCmsgoLDkH/tNYeqQJNrthhqTRWEt8pXCSE3VzV7FDXI+MUZqVaqSrFum5Qi9rtvnIwL1VGIYpbZH6OpWXJPf1YybZ4v1uQlm96uTa7cMog0P5GRcCQTpyUNavfDKG0JZK+fTLGU7uiO+seV4A6/x5GE9QK/Bg4aXwg/17OuLedthtmMuvp7VoxU5jUm2rCiiyHha2jixss6Lik6bZtph6yv5ZX/3bsPDoM5+2/C8fdzs/QO/Yt+DAvnQSPK4VgzifQItntMtJprtI16P+OD1cR+nGh6JPtXqnorXojdzM82ChjM4o3lVlouuRFe0+oHef5LeH2EcrFCX8Rdq81qsVsUYfkS1GH4tfEs70tCiR6Sp7mr4MslkInoUfap6NW2US9L5A3+J7VAlLcE09ELvKaQCQQiPoSaCwEVhSNcIaSyGHIxSGDMcYanpU+uOUmjsp6Plx1yjdJDcOpCtA7n2c/msnn3yVUZHU+FqxsRfkTYHo+VoxOyCQseZ0YjKQDHjA1r//y33+FkefxWasABz4WxJZUygIDGBqMsviuQ/UTh+EOKobuAaEKmWEDqHGtW8NSZBBhVJ1NvomsYBxHyCWA99KYME02pczKkb+wjlXrM2giehk8q1IxxnwXGMu0wgZR8/s7HxzO6X8cgOqdpiz+md7tkXbDkvlg38t1lGx4qmTQerhr1pGUI2qSTl1PgYH09iOoU3c3WeGp7YfTy/gcMTLE/T7v3v9NR0zWg2tZOaYArfxTrwRavsWEZH0UJF4YkEfQLpxSwhYULGl8c7+9j5gK8TM6twMjwhx3WUcHmRyjZeGqNTUQBxSNnmwgoIAl+V6DvCFxGKdiFvmTk1q6RTybGEBFWsJH+KTxvVrl/zvafRr1WlSawZXfUgZF32dScMO++99lpxdbi4ef589LdY5qzf2X2zE2Jw7ZRze+vM/LXoYdhh1zp9+B9uDE2KAAAAeJxjYGRgYADiSUsPXY/nt/nKwM38AijCcPXmN2cY/f///yzmF8zBQC4HAxNIFAC4hA/oAHicY2BkYGAO+p8FJF/8BwLmFwxAERTACwC2pwegAAAAeJxjfsHAwAzCgv//M30C0gUMDEzrgPSC//+ZX/z/z/iegQGEmSOhOIaBAQCl/Q6BAAAAAAA6AMIA9gE0AXIBwAJQAnwCpgMMA5oD7QABAAAADQBPAAMAAAAAAAIAFAAkAHMAAABVC3AAAAAAeJx1kM1OwkAUhc/IjxGMC02MO2dlIIbykxgSVhgiuCaGnYmllLZYOmQ6xfAMvoU+g6/je7jzUCaGmNCm0++eOXfuvQPgHN8Q2D13/HYscMpox0c4xr3lAvVHy0Xyk+USqnixXKb+armCW7xZruICHzxBFE8YLfBlWeBKXFs+wpnoWi5Qf7BcJD9bLuFSZJbL1N8tVzARn5aruBE/A7Xa6CgIjawN6rLTanfldCMVpShxY+lmJlQ6lX05V4nx41g5nlp6WWrUshF5KknHfpDFrt6X9nni6zRSiWw7rX155Ce+do0/21ZL10HHmLmca7WUQ1tHrrRa+J5xQmNWvWZzvz4GUFhhA40IAUIYSNSo1vnvoIU2uqQpHZLOnStCAhcxFRcZM8J8J2Xc5zdnlFD16YjJDjyuS64ZPSbnBs/wcl+KMZ0B92Kepg+6DukTZm9rR3ks2a/Drg+5R3QneYabdzj7my3Fml10qBpOsJ1C59kSw3/zSN7Xdm9BxaPu5LdmqPbQ5Htg/l+z6JHxeJxtiUEOgyAUBXkUUak2vYiHovgVIvIp4v2bxnTXWU1mhBQXRvxnhMQNCg00WnToYXDHgBEP0c50bJVzkz0n6iI7WwMnubJ2NjmK+iBbnFe7DdGUsPo6cabUR1ouUzulc/ju6XifttD8XKyjF/P2C0J8AK6GJQcAeJxj8N7BcCIoYiMjY1/kBsadHAwcDMkFGxlYnTYxMDJogRibuZgYOSAsPgYwi81pF9MBoDQnkM3utIvBAcJmZnDZqMLYERixwaEjYiNzistGNRBvF0cDAyOLQ0dySARISSQQbOZhYuTR2sH4v3UDS+9GJgYXAAx2I/QAAA==') format('woff');
}

[class^="icon-"]:before, [class*=" icon-"]:before {
    font-family: "custom-icons";
    font-style: normal;
    font-weight: normal;
    speak: none;
    display: inline-block;
    text-decoration: inherit;
    width: 1em;
    text-align: center;

    /* For safety - reset parent styles, that can break glyph codes*/
    font-variant: normal;
    text-transform: none;

    /* fix buttons height, for twitter bootstrap */
    line-height: 1em;
}

.icon-desktop:before { content: '\e800'; } /* '' */
.icon-phone:before { content: '\e801'; } /* '' */
.icon-location:before { content: '\e802'; } /* '' */
.icon-go:before { content: '\e803'; } /* '' */
.icon-cancel:before { content: '\e807'; } /* '' */
.icon-search:before { content: '\e808'; } /* '' */
.icon-mail:before { content: '\e809'; } /* '' */
.icon-right-open:before { content: '\f006'; } /* '' */
.icon-left-open:before { content: '\f007'; } /* '' */
.icon-menu:before { content: '\f0c9'; } /* '' */
.icon-mail-squared:before { content: '\f199'; } /* '' */
.icon-facebook-squared:before { content: '\f30e'; } /* '' */

/* style.css */
/*
Theme Name: Southpoint
Description:  Main theme.
Author:	Joshua Lawrence
*/

/** Print **/
@media print {
    #center-panel {
        display: block !important;
        margin: 0 !important;
    }
    
    .page-content p {
        page-break-inside: avoid;
    }

    #navigation-bar {
        display: none !important;
    }
}

/** Undo browser defaults **/
h1,h2,h3,h4,h5,h6,pre,form,body,html,p,fieldset,input, textarea {margin: 0; padding: 0;}
a img,:link img,:visited img {border: none;}
address {font-style: normal;}

ul, ol {
    margin-top: 0;
    margin-bottom: 0;
}


/** Basic elements **/
html, body {
    background-color: #FEF3E5;
}

body {
    color: #000000;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: none;
    -ms-text-size-adjust: 100%;
}


/* be specific enough to td and th to override WSYWYG editor styles */
body, input, textarea, td, th {
    font-family: Helvetica, Arial, sans-serif;
    font-size: 15px;
    line-height: 1.5;
}

a, a:visited, a:hover, a:focus, a:active {
    color: #0085b0;
}

a, a:visited, a:active {
    text-decoration: none;
}

a:hover, a:focus {
    text-decoration: underline;
}

table {
    border-collapse: collapse;
    border-style: none;
}

th {
    text-align: left;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: bold;
    line-height: 1.3;
}

h1, h2, h3 {
    color: #b10c00;
    font-family: "Droid Serif", Georgia, "Times New Roman", Times, serif;
}


h1 {
    font-size: 26px;
    margin-bottom: 18px;
}

h2 {
    font-size: 24px;
    margin-bottom: 12px;
}

h3 {
    font-size: 22px;
    margin-bottom: 5px;
}

h4 {
    font-size: 20px;
    margin-bottom: 0px;
}

h5 {
    font-size: 18px;
    margin-bottom: 0px;
}

h6 {
    font-size: 16px;
    margin-bottom: 0px;
}

/* Ensure that alt text is the right size */
img {
    font-size: 12px;
}

#center-panel {
    min-height: calc(100vh - 66px);  /* navigation bar height is 66px */
    margin: 66px auto 0 auto;
    max-width: 980px;
    position: relative;
    display: flex;
    flex-direction: column;
}

#center-panel:has(.page-content_calendar) {
    max-width: 1280px;
}

/*
The admin page editor uses the "content" class for the <body> tag in the iframe.
The actual page uses the "content" and "page-content" classes for the page content section.
Usually you should use the "content" class when defining styles so that they will apply in the editor.
Use "page-content" only for behavior that should apply in the actual page and not the editor.
*/
.page-content {
    width: 100%;
    flex-grow: 1;
}

.content {
    text-align: left;
    box-sizing: border-box;
    background: white;
    padding: 32px 38px;
}

/** Responsive Design **/

/* Ensure that images don't cause the page width to exceed the viewport. */
.page-content img {
    max-width: 100%;
    height: auto !important;
}

/* Allow certain images to have a fixed size */
.page-content img.fixed-width {
    max-width: none;
}

/* Force table cells to wrap to the next line if necessary */
.page-content .missionary-table {
    width: 100% !important;
}

.page-content .missionary-table td {
    display: inline-block;
    width: 250px !important;
    word-wrap: break-word; /* prevent horizontal overlap */
    height: auto !important; /* prevent vertical overlap */
}


/** Basic styles **/

.red, .red a, .red a:visited, a.red, a.red:visited {
    color: #b10c00 !important;
}

.serif {
    font-family: "Droid Serif", Georgia, "Times New Roman", Times, serif;
}

.scripture {
    color: #b10c00;
    font-family: "Droid Serif", Georgia, "Times New Roman", Times, serif;
    font-style: italic;
}

.no_border {
    border-style: none;
}

table.no_border td {
    border-style: none;
}

table.show_border {
    border-style: solid;
    border-width: 1px;
}

table.show_border td, table.show_border th {
    border-style: solid;
    border-width: 1px;
}

/** Posts and Comments **/
.post {
    margin-bottom:25px;
}

h1.postTitle {
    margin-bottom: 0px;
}

.postTime {
    font-size:10px;
    margin-bottom:8px;
}

.comment {
    word-wrap: break-word;
}

.comment-meta a {
    text-decoration: none;
    font-size:10px;
}

.commentlist {
    padding: 0;
    text-align: justify;
}

.commentlist li {
    margin: 15px 0 10px;
    padding: 5px 5px 10px 10px;
    list-style: none;
}

.commentlist li ul li {
    margin-right: -5px;
    margin-left: 10px;
}

.commentlist p {
    margin: 10px 5px 10px 0;
}
commentlist .children {
    padding: 0;
}

#commentform p {
    margin: 10px 0;
}

.nocomments {
    text-align: center;
    margin: 0;
    padding: 0;
}

.commentmetadata {
    margin: 0;
    display: block;
}

.commentlist .thread-alt {
    background-color: #F8F8F8;
}
.commentlist .thread-even {
    background-color: white;
}
.commentlist .depth-1 {
    border: 1px solid #DDDDDD;
}
.commentlist .even, .commentlist .alt {
    border-left: 1px solid #DDDDDD;
}

.commentAuthorName {
    font-style:italic;
}

.commentlist .says {
    display:none;
}

input#author {
    padding: 0 2px;
}

/** Letter from our Pastor **/
#letter-text, #letter-signature {
    font-size: 16px;
    font-family: 'Quattrocento Sans', Helvetica, Arial, sans-serif;
    font-style: italic;
}


/** Search Results **/

.search-result h4 {
    margin-top: 26px;
    margin-bottom: 0px;
    font-weight: normal;
}

/** Key Questions **/

.key-questions-navigation {
    margin-top: 16px;
    font-size: 16px;
}

.key-questions-previous-link {
    float: left;
}

.key-questions-next-link {
    float: right;
}

#key-questions-list {
    list-style: none;
    font-size: 16px;
    margin: 0;
    padding: 0;
}

#key-questions-list li {
    margin-bottom: 10px;
}

/** Bylaws **/

.bylaws-header {
    text-align: center;
    font-family: "times new roman";
    font-size: 18px;
}

.bylaws-article-row {
    display: table-row;
    font-family: "times new roman";
    font-size: 16px;
}

.bylaws-article-number {
    width: 100px;
    display: table-cell;
}

.bylaws-article-title {
    display: table-cell;
}

.bylaws-section-row {
    display: table-row;
}

.bylaws-section-number {
    width: 100px;
    display: table-cell;
}

.bylaws-section-title {
    display: table-cell;
}

.bylaws-article-sections {
    margin-left: 50px;
    font-family: "times new roman";
    font-size: 16px;
}

.bylaws-indent {
    text-indent: 50px;
    font-family: "times new roman";
    font-size: 16px;
}

.bylaws-revisions {
    padding-left: 50px;
    font-family: "times new roman";
    font-size: 16px;
    overflow: hidden; /* clearfix */
}

.bylaws-revision-date-line {
    border-bottom: solid 1px;
    width: 150px;
}

.bylaws-revisions p {
    font-family: "times new roman";
    font-size: 16px !important;
}

.bylaws-revision-label {
    float: left;
    margin-right: 15px;
}

.bylaws-revision-date {
    float: left;
}



/** Miscellaneous **/

.missionary-table td {
    padding-bottom: 20px;
}

.page-content_church-staff {
    box-sizing: border-box;
    width: 100%;
}

.staff-table td {
    width: 270px;
    display: inline-block;
    padding-bottom: 20px;
}

.page-content__homepage {
    padding: 25px;
}

/* Password-protected pages */
.post-password-form p {
    margin-bottom: 15px;
}

/* Previous and Next links */
.navigation {
    padding-top: 20px;
    padding-bottom: 20px;
}


/** Required Wordpress Classes - don't remove these. **/
.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto;
}
.alignleft { float: left; }
.alignright { float: right; }

/** Wordpress style overrides **/

/* 
Allow images to wrap if there is insufficient space. 
This is particularly important for mobile.
*/
.gallery-item {
    width: auto !important;
    margin: 0;
    padding-right: 10px;
}


/** Mobile **/
@media only screen and (max-width: 980px) {
    .page-content  {
        padding: 20px;
        font-size: 15.5px;
    }
    
    /* Need to keep padding consistent so that the alert bar doesn't overflow */
    .page-content__homepage  {
        padding: 25px;
    }

    /* Allow calendar to be full width of page */
    .page-content_calendar {
        padding-left: 0;
        padding-right: 0;
    }
    
    /* Put padding back for calendar date details view */
    .page-content_calendar .rcr-date-details {
        padding: 20px;
    }
}


/** Fonts **/
/*
    When generating the woff files with FontSquirrel, the size of the fonts was set to to match their primary fallback fonts.
    That way, when the fonts load, the page appearance will change only slightly.
*/

/*
Droid Serif
Digitized data copyright 2007, Google Corporation.
Apache License
*/

@font-face {
    font-family: 'Droid Serif';
    src: url('fonts/droid-serif_bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Droid Serif';
    src: url('fonts/droid-serif_bold-italic.woff') format('woff');
    font-weight: bold;
    font-style: italic;
}

@font-face {
    font-family: 'Droid Serif';
    src: url('fonts/droid-serif_italic.woff') format('woff');
    font-weight: normal;
    font-style: italic;
}

@font-face {
    font-family: 'Droid Serif';
    src: url('fonts/droid-serif_regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

/*
Quattrocento Sans
Copyright (c) 2011, Pablo Impallari (www.impallari.com|impallari@gmail.com),
Copyright (c) 2011, Igino Marini. (www.ikern.com|mail@iginomarini.com),
Copyright (c) 2011, Brenda Gallo. (gbrenda1987@gmail.com),
with Reserved Font Name Quattrocento Sans.

This Font Software is licensed under the SIL Open Font License, Version 1.1.
*/

@font-face {
    font-family: 'Quattrocento Sans';
    src: url('fonts/quattrocento-sans_bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
}

@font-face {
    font-family: 'Quattrocento Sans';
    src: url('fonts/quattrocento-sans_bold-italic.woff') format('woff');
    font-weight: bold;
    font-style: italic;
}

@font-face {
    font-family: 'Quattrocento Sans';
    src: url('fonts/quattrocento-sans_italic.woff') format('woff');
    font-weight: normal;
    font-style: italic;
}

@font-face {
    font-family: 'Quattrocento Sans';
    src: url('fonts/quattrocento-sans_regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
}

/* Realm Bar */
.realm-bar a {
    white-space: nowrap;
}

.realm-bar {
    margin-top: 20px;
}

/* Misc */

.download-icon {
    display: inline-block;
    position: relative;
    width: 16px;
    height: 16px;
    vertical-align: middle;
    margin: 4px;
    box-sizing: border-box;
    border-bottom: solid 2px #0085b0;
}

.download-icon::before {
    content: "";
    display: block;
    position: absolute;
    width: 6px; 
    height: 6px; 
    left: 5px;
    top: 0;
    background-color: #0085b0;
}

.download-icon::after {
    content: "";
    display: block;
    position: absolute;
    top: 6px;
    left: 0px;
    width: 0; 
    height: 0; 
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-top: 8px solid #0085b0;
}

.download-spacer {
    display: inline-block;
    width: 20px;
}

/* Home Page */
.page-content__homepage h2 {
    margin: 0 0 10px 0;
    padding-bottom: 8px;
    border-bottom: solid 3px #b10c00;
}


/* Event Bar */

.event-bar {
    margin-bottom: 20px;
}

.event-bar h2 {
    margin: 0 0 10px 0;
    padding-bottom: 8px;
    border-bottom: solid 3px #b10c00;
}

.event-bar ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}

.event-bar > ul > li {
    display: inline-block;
    margin: 10px 10px;
    padding: 10px;
    color: #000000;
    width: 230px;
    border: solid 1px #dddddd;
    min-height: 100px;
    word-wrap: break-word;
    text-align: center;
    box-sizing: border-box;
}

.event-bar li a , 
.event-bar li a:hover, 
.event-bar li a:visited, 
.event-bar li a:focus, 
.event-bar li a:active {
    color: #000000;
    text-decoration: none;
}

.event-bar h3 {
    color: black;
    display: block;
    font-family: Helvetica, Arial, sans-serif;
    font-weight: bold;
    font-size: 15px;
    line-height: 22.5px;
    text-align: center;
    padding: 0;
    margin: 0;
}

.event-bar li .event-details {
    display: block;
    margin-top: 10px;
}

.event-bar.service-times li .event {
    min-height: 100px;
}

.event-bar.service-times li .event-details {
    white-space: pre-wrap;
}

/** Service Box **/

.event-bar .southpoint-service-box-details {
    display: block;
    margin-top: 10px;
}

.event-bar .southpoint-service-box-row {
    display: block;
    margin-top: 4px;
}

.event-bar .southpoint-service-box-row-caption {
    display: block;
    font-size: 12px;
}

.event-bar .southpoint-service-box-button {
    margin-bottom: 20px;
    display: inline-block;
    font-size: 15px;
    border-radius: 6px;
    background: #b10c00;
    color: white !important;
    text-decoration: none !important;
    padding: 6px 55px;
    margin-top: 10px;
}

/* navigation-bar/navigation-bar.css */
/** Navigation Bar **/
#navigation-bar {
    background-color: #0085b0;
    position: fixed;
    top: 0;
    z-index: 10;
    width:100%;
}

html.ie #main-menu-list>li>a,
html.ie #navigation-content>a
{
    background-color: #0085b0;
}

#navigation-bar a:visited, #navigation-bar a:hover, #navigation-bar a:focus, #navigation-bar a:active{
    color: white;
}

#navigation-content {
    margin: 0 auto;
    height: 66px;
    max-width: 980px;
    display: flex;
    position: relative;
}

#navigation-content > *{
    flex: 0 0 auto;
}

/** Skip to Content **/

#skip-to-content-link {
    background-color: #0085b0;
    cursor: pointer;
    border-radius: 4px;
    color: white;
    z-index: 11;
    left: 10px;
    top: 10px;
    padding: 8px;
    position: absolute;
    transform: translateY(-100px);
}

#skip-to-content-link:focus {
    transform: translateY(0);
}

/** Header Icons **/
#navigation-bar a.icon-button {
    font-size: 24px;
    display: flex;
    align-items: center;
    box-sizing: border-box;
    height: 66px;
    padding: 0px 18px;
}

#navigation-bar a.icon-button#facebook-button {
    font-size: 22px;
}

#navigation-bar a.icon-button, 
#navigation-bar a.icon-button:hover,
#navigation-bar a.icon-button:active,
#navigation-bar a.icon-button:visited {
    color: white;
    text-decoration: none;
    cursor: pointer;
}

#navigation-bar a.icon-button:focus,
#navigation-bar a.icon-button:hover,
#home-button:hover,
#home-button:focus {
    background: rgba(0,0,0,0.1); /* darken background */
}

/** Home Button **/
#home-button {
    padding: 8px;
    margin: 0px 10px;
}

#home-button img {
    height: 50px;
    display: inline-block;
}

#home-button img:first-child {
    margin-right: 8px;
}

/** Search **/
#search-bar {
    position: absolute;
    top: 0;
    left: 0;
    background: #0085b0;
    text-align: center;
    display: none;
    height: 100%;
    width: 100%;
}

#search-bar.visible {
    display: block;
}    
    
#search-cancel-button, #search-submit-button {
    position: absolute;
    top: 0;
}
    
#search-cancel-button {
    left: 0;
}

#search-submit-button {
    right: 0;
}
    
#search-text {
    background: white;
    padding: 6px 12px;
    margin-top: 13px;
    height: 38px;
    font-size: 16px;
    box-sizing: border-box;
    display: inline-block;
    width: calc(100% - 120px);
    border: none;
    border-radius: 3px;
}

/** Mobile Overrides **/
@media only screen and (max-width: 980px) {
    html:not(.ie) #home-button img:first-child {
        display: none;
    }

    html:not(.ie) #home-button {
        flex-grow: 1;
        text-align: center;
        margin: 0;
        padding-left: 0;
        padding-right: 0;
    }

    html:not(.ie) #navigation-bar a.icon-button#facebook-button {
        font-size: 25px;
    }
}

/* navigation-bar/mobile-menu.css */
/** Hide for non-mobile mode **/
@media only screen and (min-width: 980px) {
    #menu-button, #mobile-menu  {
        display: none !important;
    }
}

/* Prevent mobile mode from displaying in IE */
html.ie #menu-button, 
html.ie #mobile-menu  {
    display: none !important;
}

@media only screen and (max-width: 980px) {
    /* Remove "position: fixed" so that menu can be scrolled */
    #navigation-bar {
        position: absolute;
    }
}

/* Hide body content when menu is open so that it doesn't cause unnecessary scrolling */
#navigation-bar.menu-open + * {
    display: none;
}

/** Menu Button **/
#menu-button:focus,
#menu-button:hover {
    background: transparent !important;
}

#menu-button.open {
    background: white !important;
    color: #333 !important;
}


/** Dropdown Menu **/
#mobile-menu {
    position: absolute;
    display: block;
    z-index: 10;
    width: 100%;
    top: 66px;
    font-size: 16px;
}

#mobile-menu ul {
    position: absolute;
    left: 0;
    top:0;
    visibility: hidden;
    list-style: none;
    background: white;
    color: #333;
    margin: 0 !important;
    padding: 0;
    width: 100%;
    min-height: calc(100vh - 51px); /* subtract header height */
    transition: visibility;
    transition-delay: 0.25s; /* keep the menu visible while the slide out animation occurs */
    animation: mobile-menu-slide-out 0.25s ease-in-out 0s 1;

    /* 
    
    Leave animation-fill-mode: none so that it will go back to translateX(0).
    If we don't do this, the menu will stay at translateX(100%) and take up space.
    This causes a horizontal scrollbar when the menu is open.
    The presence of the scrollbar prevents the user from easily pinching to zoom out to the right size.
    
    */
}

#mobile-menu ul.open {
    visibility: visible;
    transition-delay: 0s; /* make the menu visible instantly so that you can see the animation */
    animation: mobile-menu-slide-in 0.25s ease-in-out 0s 1;
    animation-fill-mode: forwards;
}

@keyframes mobile-menu-slide-in {
    0% { 
        transform: translateX(100%);
    }
    100% {
        transform: translateX(0);
    }
}

@keyframes mobile-menu-slide-out {
    0% { 
        transform: translateX(0);
    }
    100% {
        transform: translateX(100%);
    }
}

/** Disable animation when opening and closing the top level menu.
The "display" property is necessary to prevent the slide out animation
that would otherwise occur on child menus if you closed the menu when a child menu was open. **/

#mobile-menu>ul {
    display: none;
}

#mobile-menu>ul.open {
    display: block;
}

#mobile-menu>ul, #mobile-menu>ul.open {
    transition: none;
    animation: none;
}

/** end animation disabling **/

#mobile-menu li {
    padding: 0;
    margin: 0;
}

#mobile-menu a:hover {
    background-color: rgba(23, 23, 23, 0.1); /* darken background */
}

#mobile-menu ul .submenu-header {
    font-weight: bold;
    text-align: center;
    padding: 10px 10px 0px 10px;
}

/*** Menu Links ***/

#mobile-menu ul a {
    text-decoration: none !important;
    color: #444 !important;
    width: 100%;
    display: table;
    cursor: pointer;
    border-bottom: solid 1px #eee;
}

#mobile-menu ul a>div {
    display: table-row;
}

#mobile-menu ul a>div>div {
    display: table-cell;
    padding-top: 12px;
    padding-bottom: 12px;
}

#mobile-menu ul a>div>div.menu-item-content{
    padding-left: 24px;
    padding-right: 4px;
}


#mobile-menu ul a>div>div.end {
    width: 24px;
}

#mobile-menu ul a.no_children>div>div.end>div {
    display: none;
}

/* Show right arrow for menus with children */
#mobile-menu ul a.has_children>div>div.end>div {
    display: block;
}

/* Back link */
#mobile-menu .back-link-arrow {
    margin-left: -3px;
}

#mobile-menu .back-link-text {
    display: inline-block;
    margin-left: 5px;
}



/* navigation-bar/main-menu.css */
/** General **/

#main-menu {
    flex-grow: 1;
    justify-content: center;
    display: flex;
}

#main-menu-list a {
    cursor: pointer;
    display: block;
    text-decoration: none;
	z-index: 10;
}

/** Top-level Menu **/

#main-menu-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: inline-block;
}

#main-menu-list>li>a {
    line-height: 66px;
    padding: 0 15px;
    color: white !important;
    text-align: center;
    font-size: 16px;
    font-family: "Droid Serif", Georgia, "Times New Roman", Times, serif;
    letter-spacing: 0.5px;
}

#main-menu-list>li:hover>a,
#main-menu-list>li>a:focus,
#main-menu-list>li>a:active,
#main-menu-list li.focus>a {
	background-color: rgba(23, 23, 23, 0.1); /* darken background */
}

#main-menu-list>li>a>div>div.end {
    display: none;
}

/** Dropdown menus **/

#main-menu-list ul {
    background-color: #fefefe;
    list-style: none;
    float: left;
    line-height: 20px;
    padding: 0;
    margin: 0;
    width: 100%;
    z-index: 10;
    box-shadow: 1px 1px 1px 1px rgba(0,0,0,0.25);
    position: absolute;
	height: auto;
	width: 221px;
}

/* Submenu positioning */
#main-menu-list li ul ul {
	margin: -33px 0px 0px 221px;
}

#main-menu-list li {
	float: left;
	z-index: 10;
}

#main-menu-list ul li {
    width: 100%;
}

#main-menu-list ul a {
    width: 100%;
    display: table;
    cursor: pointer;
    border-bottom: solid 1px #eee;
    color: #444 !important;
    font-size: 14px;
}

#main-menu-list ul li:hover>a,
#main-menu-list ul a:focus {
	background-color: #eee;
}

#main-menu-list ul a>div {
    display: table-row;
}

#main-menu-list ul a>div>div {
    display: table-cell;
    padding-top: 7px;
    padding-bottom: 5px;
    vertical-align: bottom;
}

#main-menu-list .menu-item-content {
    padding-left: 9px;
    padding-right: 9px;
}

#main-menu-list ul a>div>div.end {
    width: 18px;
}

/* Hide right arrow for menus without children */
#main-menu-list ul a.no_children>div>div.end>div {
    display: none;
}

/* Show right arrow for menus with children */
#main-menu-list ul a.has_children>div>div.end>div {
    display: block;
}

/** Show/hide **/

/*
Notes:
The menus affect the scroll width of the page even when they have visibility:hidden.
display: none will prevent them from affecting the scroll width/height of the page.
*/

#main-menu-list ul {
    visibility: hidden;
    opacity: 0;
    transition: visibility 0s linear 0.5s, opacity 0.5s linear 0s;
}

#main-menu-list li.focus>ul,
#main-menu-list li:hover>ul {
    visibility: visible;  
    opacity: 1;
    transition: visibility 0s linear 0.5s, opacity 0s linear 0s;
}

/* Make top-level menus snappier */
#main-menu-list>li:hover>ul {
    visibility: visible;
    transition-delay: 0.2s;
}

/* Make menus snappier when tabbed to */
#main-menu-list li.focus>ul {
    visibility: visible;
    transition-delay: 0s;
}

/** Mobile Overrides **/
@media only screen and (max-width:980px) {
    html:not(.ie) #main-menu {
        display: none;
    }
}


/** Overrides for submenu positioning **/
#main-menu-list li.menu-page_key-questions > ul {
	margin-top: -152px;
}

#main-menu-list li.menu-page_sunday-school > ul {
    margin-top: -99px;
}

#main-menu-list li.menu-page_special-ministries > ul {
    margin-top: -54px;
}

#main-menu-list li.menu-page_missions > ul {
    margin-top: -198px;
}

/* photo-bar/photo-bar.css */
/** Basic Styles **/

#photo-bar {
    position: relative;
    overflow: hidden;
    white-space: nowrap;
    flex-shrink: 0;
    background: white;
    text-align: center;
}

#photo-bar-sliding-container {
    position: relative;
    animation-fill-mode: forwards;
}

#photo-bar img {
    display: inline-block;
    vertical-align: top; /* prevent extra whitespace at bottom of images */
    max-width: 100%;
}

#photo-bar.slideshow img {
    width: 100%;
}


/** Arrows **/

.photo-bar-arrow {
    display: none; /* Hide except in slideshow */
}

#photo-bar.slideshow .photo-bar-arrow {
    display: block;
}

a.photo-bar-arrow, 
a.photo-bar-arrow:hover, 
a.photo-bar-arrow:visited,
a.photo-bar-arrow:active,
a.photo-bar-arrow:focus {
    color: white;
    text-decoration: none;
    font-size: 20px;
    position: absolute;
    z-index: 5;
    top: calc(50% - 20px); /* subtract 1/2 height of arrow */
    background-color: rgba(0,0,0, 0.5);
    padding: 5px;
}


a.photo-bar-arrow:hover,
a.photo-bar-arrow:focus {
    color: #CCC;
    background-color: rgba(0,0,0, 0.7);
}

#photo-bar-left-arrow {
    left: 0px;
    transform: scaleX(-1);
}

#photo-bar-right-arrow {
    right: 0px;
}

/* iframe-bar/iframe-bar.css */
#iframe-bar {
    background: #ffffff;
}

#iframe-bar > iframe {
    display: block;
    border: none;
    width: 50%;
    height: 450px;
    float: left;
}

/** Mobile **/
@media only screen and (max-width: 980px) {
    #iframe-bar > iframe {
        width: 100%;
    }
}

/* footer/footer.css */
#footer {
    background: #0085b0;
    color: white !important;
    display: flex;
    flex-direction: row;
}

#footer a, #footer a:visited, #footer a:hover, #footer a:focus, #footer a:active {
    color: white !important;
}

#footer > div {
    padding: 30px;
    flex: 1;
    text-align: center;
}

#facebook-button {
    font-size: 30px;
}

/** Mobile **/
@media only screen and (max-width: 700px) {
    html:not(.ie) #footer {
        flex-direction: column;
    }
}

/* site-map.css */
#site-map {
    display: flex;
    flex-direction: row;
}

#site-map ul {
    list-style-type: none;
}

#site-map li {
    margin-top: 6px;
    margin-bottom: 6px;
}

#site-map > ul {
    flex: 1 1 0;
    padding: 0 40px 0 0;
}

#site-map > ul > li {
    font-weight: bold;
    font-size: 18px;
}

#site-map  > ul > li > ul {
    font-weight: normal;
    font-size: 16px;
}

/** Mobile **/
@media only screen and (max-width: 700px) {
    #site-map {
        flex-direction: column;
    }
}

/* video-bar/video-bar.css */
.video-bar {
    position: relative;
    overflow: hidden;
    height: calc(100vh - 60px); /* Menu bar is 66 px */
    text-align: center;
    max-height: 670px;
    background: white;
}

.video-bar video {
    width: 100%;
	position: absolute;
	left: 0;
	top: 0;
    z-index: 2;
}

.video-bar img {
    width: 100%;
	position: absolute;
	left: 0;
	top: 0;
	filter: contrast(70%);
    z-index: 1;
}


/** Welcome Overlay **/

.video-bar .welcome-overlay {
	width: 100%;
	height: 100%;
	position: absolute;
	display: flex;
	justify-content: center;
	padding-top: 20vh;
    z-index: 3;
}

.video-bar .overlay-text {
	font-size: 100px;
    font-weight: normal;
    margin: 0;
    padding: 0;
	line-height: 100%;
	text-transform: uppercase;
    font-family: "Droid Serif", Georgia, "Times New Roman", Times, serif;
	color: white;
	letter-spacing: 5px;
}


/** Buttons **/

.video-bar .welcome-buttons {
	width: 100%;
	top: 60%;
	position: absolute;
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
}

.video-bar a.welcome-button, .video-bar a.welcome-button:hover {
	display: block;
	width: 250px;
	color: white;
	text-decoration: none;
	font-size: 18px;
	z-index: 3;
	background-color: rgba(50, 50, 50, 0.9);
	padding: 5px;
	cursor: pointer;
	margin: 20px;
	padding: 10px;
	line-height: 1;
}

/** Mobile **/
@media only screen and (max-width: 980px) {
    .video-bar {
        max-height: 68vw; /* a little less than (video height / video width) * 100 */
    }
}

@media only screen and (max-width: 600px) {
    .video-bar .overlay-text {
        display: none;
    }

    .video-bar .welcome-buttons {
        top: 20px;
        flex-direction: column;
    }
}

@media only screen and (max-width: 350px) {
    .video-bar .welcome-buttons {
        top: -5px;
    }
}

/* ie.css */
.ie .page-content {
    min-height: calc(100vh - 66px);
}

.ie .page-content__homepage {
    min-height: 0;
}