/*
Orange color: #e67e22
Dark Green: 

*/


/* ----------------------------------------------- */
/* BASIC SETUP */
/* ----------------------------------------------- */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html,
body {
    background-color: #eee;
    color: /*#777*/#333;
    font-family: 'Open Sans', sans-serif; font-weight:300;
    font-weight: 400;
    font-size: 110%;
    line-height: 1.5;
    text-rendering: optimizeLegibility;
    overflow-x: hidden;
}

.clearfix {zoom: 1;}
.clearfix:after {
    content: '.';
    clear: both;
    display: block;
    height: 0;
    visibility: hidden;
}

:focus {
        border-style: solid;
        border-color: red;
        border-width: 2px;
        padding: 0;
    
}

/* ----------------------------------------------- */
/* SKIP TO MAIN CONTENT */
/* ----------------------------------------------- */


a.skip-main {
 /*   left:20px;*/
    position:absolute;
    top:auto;
    width:1px;
    height:1px;
    overflow:hidden;
    z-index:-999;
}
a.skip-main:focus, a.skip-main:active {
    color: black;
    background-color:yellow;
    left: auto;
    top: auto;
    width: 30%;
    height: auto;
    overflow:auto;
    margin: 10px 35%;
    padding:5px;
    border-radius: 15px;
   /* border:4px solid yellow;*/
    text-align:center;
    font-size:1.2em;
    z-index:999;}       
/* ----------------------------------------------- */
/* REUSABLE COMPONENTS */
/* ----------------------------------------------- */
.container {
   
}

section {
    max-width: 1140px;
    padding: 0 10px;
    background-color: white;
    margin: 0 auto;
}

.div-boxed {
    background-color: #effdfa;
    margin: 0.5em auto;
    padding: 0.5em 1em;
}

.div-jump-to {
    margin: 0 auto;
}

.div-centered {
    text-align: center;
}

.row {
    max-width: 1140px;
    margin: 0 auto; 
    /*padding: 0 2em;*/
}

ul:not(.menu) {margin-bottom: 1em }



.box {
    padding: 1em;
}

.full-width-pic {
    width: 100%;
    padding: 0;
    padding-right: 15px;
}

.half-width-pic {
    width: 66%;
    padding: 0;
    padding-right: 15px;
}

.li-spaced-list {
    padding-bottom: 1em;
}

.no-spacing-below{
    padding-bottom: 0;
    margin-bottom: 0;
}

ul.no-spacing-below{
    padding-bottom: 0;
    margin-bottom: 0;
}
.div-google-maps {
        position: relative;
        padding-bottom: 75%;
        height: 0;
        overflow: hidden;
    }
    .google-maps iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
    }


.facebook-responsive {
    overflow:hidden;
    padding-bottom:56.25%;
    position:relative;
    height:0;
}

.facebook-responsive iframe {
    left:0;
    top:0;
    height:100%;
    width:100%;
    position:absolute;
}


/* ----- HEADINGS ----- */
h1,
h2,
h3 {
    font-weight: 600;
    
}

h1 {
    margin-top: 0;
    margin-bottom: 20px;
    font-size: 200%;
    
    word-spacing: 4px;
    letter-spacing: 1px;
    text-transform: uppercase
}

h2 {
    font-size: 150%;
    
    word-spacing: 2px;
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    letter-spacing: 1px;
}

h3 {
    font-size: 115%;
    margin-bottom: 10px;
}

h4 {font-size: 100%;
    font-weight: 400;
    margin-bottom: 0.25em;
    font-style: italic;
}

/* ----- PARAGRAPHS----- */
p {
    font-size: 100%;
    padding-bottom: 1em;
}

.p-no-bottom-padding {
    padding-bottom: 0;
}

.no-top-spacing {
    margin-top: 0;
}

.long-copy {
    line-height: 100%;
    width: 70%;
   /* margin-left: 15%; */
}

.box p {
    font-size: 90%;
    line-height: 145%;
}

/* ----- LISTS----- */
ul:not(.menu) {
    padding-left: 20px;
}



dl {
    display: flex;
    flex-flow: row wrap;
    }

dt {
    flex-basis: 20%;
    padding: 0.75em 0.5em;
    text-align: left;
   font-style:italic; 
  }

dd {
    flex-basis: 70%;
    flex-grow: 1;
    margin: 0;
    padding: 0.75em 1em;
  }


dt.striped:nth-of-type(even),  dd.striped:nth-of-type(even) {
    background: #f5f5f5;
}

ol { padding-left: 2em;}

.no-spacing-below {
    padding-bottom: 0;
    margin-bottom: 0;
}


/*---TABLES  */

table {
    margin-top: 0;
    font-size: 100%;
    border: 1px;
    border-style: none;
}

th {
    text-align: left;
    vertical-align: top;
    padding: 0.5em 0.5em;
    border: 1px;
    border-style: none;
}
td {
    text-align: left;
     vertical-align: top;
    padding: 1em 1em;
     border: 1px;
    border-style: none;
}

tr:nth-of-type(even) {background: #f5f5f5}

/* ----- ICONS ----- */

.fa-file-pdf { 
color: red; 
font-size: 3em;
}




.icon-big {
    font-size: 350%;
    display: block;
    color: #e67e22;
    margin-bottom: 10px;
}

.icon-small {
    display: inline-block;
    width: 30px;
    text-align: center;
    color: #e67e22;
    font-size: 120%;
    margin-right: 10px;
    
    /*secrets to align text and icons*/
    line-height: 120%;
    vertical-align: middle;
    margin-top: -5px;
}

/*-------FIGURES------ */

figure {
    margin:0;
    padding:0 0 2em 0;
}

figcaption {
    font-size: 95%
}

/* ----- LINKS ----- */

a:link,
a:visited {
    color: #a63e00;
    text-decoration: none;
    font-weight:600;
}

a:hover,
a:active {
    color: red;
}

/* ----- BUTTONS ----- */
.btn:link,
.btn:visited,
input[type=submit] {
    display: inline-block;
    padding: 10px 30px;
    font-weight: 300;
    text-decoration: none;
    border-radius: 200px;
    -webkit-transition: background-color 0.2s, border 0.2s, color 0.2s;
    transition: background-color 0.2s, border 0.2s, color 0.2s;
}

.btn-full:link,
.btn-full:visited,
input[type=submit] {
    background-color: #e67e22;
    border: 1px solid #e67e22;
    color: #fff;
    margin-right: 15px;
}

.btn-ghost:link,
.btn-ghost:visited {
    border: 1px solid #e67e22;
    color: #e67e22;
}

.btn:hover,
.btn:active,
input[type=submit]:hover,
input[type=submit]:active {
    background-color: #cf6d17;
}

.btn-full:hover,
.btn-full:active {
    border: 1px solid #cf6d17;
}

.btn-ghost:hover,
.btn-ghost:active {
    border: 1px solid #cf6d17;
    color: #fff;
}


/* ----------------------------------------------- */
/* HEADER */
/* ----------------------------------------------- */

header {
    max-width: 1140px;
    margin: 0 auto;
    vertical-align: middle;
    font-size:100%;
    font-weight:400;
}

nav {
  background-color: darkgreen;
    display:flex;
}



/* ----------------------------------------------- */
/* DROP-DOWN MENU */
/* ----------------------------------------------- */

.row-menu {
    display:flex;
    text-align: left;
    background-color: darkgreen;
    
}


.menu-logo {
    display: inline-block;
    width: 60px;
    height: 60px;
    padding: 1%;
}




.nav-title {
    background-color:white;
    color:darkgreen;
    font-size: 120%;
    font-weight: 600;
    margin-left:auto;
    padding-top:0.5em;
    padding-left: 1em;
    padding-right: 1em;
    border: 1px solid hsl(0, 0%, 90%);
}

a.menu {
  text-decoration: none;
}


ul.menu {
  background: darkgreen;
    list-style: none;
    margin: 0;
    padding-left: 0;
}

li.menu {
    color: #fff;
  background: darkgreen;
    display: block;
    float: left;
    padding: 0.5em 1em;
    position: relative;
    text-decoration: none;
 
}
  
li.menu a.menu {
  color: #fff;
}

li.menu:hover,
li.menu:focus-within {
    background: red;
    cursor: pointer;
}

li.menu:focus-within a.menu {
  outline: none;
}

ul.menu li.menu ul.menu {
    background: darkgreen;
    visibility: hidden;
  opacity: 0;
min-width: 10       rem;
    position: absolute; 
/*margin-top: 1rem;*/
    left: 0;
  display: none;
}

ul.menu li.menu:hover > ul.menu,
ul.menu li.menu:focus-within > ul.menu,
ul.menu li.menu ul.menu:hover,
ul.menu li.menu ul.menu:focus {
   visibility: visible;
   opacity: 1;
   display: block;
    z-index: 1;
}

ul.menu li.menu ul.menu li.menu {
    clear: both;
  width: 100%;
}               




/* Mobile navi */
.mobile-nav-icon {
    float: right;
    margin-top: 30px;
    cursor: pointer;
    display: none;
}

.mobile-nav-icon i {
    font-size: 200%;
    color: #fff;
}


/* Sticky navi */
.sticky {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: rgba(255, 255, 255, 0.98);
    box-shadow: 0 2px 2px #efefef;
    z-index: 9999;
}

.sticky .main-nav { margin-top: 18px; }

.sticky .main-nav li a:link,
.sticky .main-nav li a:visited {
    padding: 16px 0;
    color: #555;
}

.sticky .logo { display: none; }
.sticky .logo-black { display: block; }


/* ----------------------------------------------- */
/* BREADCRUMB */
/* ----------------------------------------------- */


nav.breadcrumb {
  padding: 0.8em 1em;
  margin: 0 auto;
  max-width: 1140px;
  background-color: white;
  font-size: 100%;
  font-weight: 400;
}

nav.breadcrumb ol {
  margin: 0;
  padding-left: 0;
  list-style: none;
}

nav.breadcrumb li {
  display: inline;
}

nav.breadcrumb li + li::before {
  display: inline-block;
  margin: 0 0.25em;
  transform: rotate(15deg);
  border-right: 0.1em solid currentColor;
  height: 0.8em;
  content: '';
}

nav.breadcrumb [aria-current="page"] {
  color: #000;
  text-decoration: none;
}

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


footer {
   background-color: darkgreen;
    color: white;
    text-align:center;
    min-height: 2em;
    max-width: 1140px;
    margin: 0 auto;
    padding-top: 0.5em;
    font-size:100%;
    font-weight:400;
}

div.footer {
    background-color: darkgreen;
    color: white;
}


 p.footer { 
        margin: auto; /* Important */ 
        text-align: center; 
      }

a.footer {color: #fff}

a.footer:hover,
a.footer:active {
    color: red;
}




/* ----------------------------------------------- */
/* HOME PAGE */
/* ----------------------------------------------- */

.home-pic {
    width: 100%;
    padding: 0;
}

.whats-new-list {
    padding-bottom: 1em;
}

/* ----------------------------------------------- */
/* CALENDAR */
/* ----------------------------------------------- */



/* ----------------------------------------------- */
/* PARISH COUNCIL MEETINGS*/
/* ----------------------------------------------- */

table.pc-meetings {
    border-width: 0;
}

tbody.pc-meetings {
    padding: 1.0em;
    border-width: 0;
}

th.pc-meetings {
    padding-bottom: 0.5em;
    border-width: 0;
}

td.td-icon {
    text-align:center;
    padding-bottom: 0.5em;
    border-width: 0;
}

/* ----------------------------------------------- */
/* PHOTOS*/
/* ----------------------------------------------- */

.figure-thumbnail {
    display: inline-block;
    margin: 0 10px;
}

.figcaption-thumbnail {
    font-size: 100%;
}


/* ----------------------------------------------- */
/* PANORAMA*/
/* ----------------------------------------------- */


.img-panorama {
    max-width: 90%;
    margin: 0 auto;
}

sub {font-size: 50%;}
