﻿/*  GERLER STYLESHEET
 *
 *  Initial clearances and settings
 *  General styles
 *  Layout / Page areas
 *  Navigation
 *  Specialty elements
 *  Tables
 *  Buttons
 *  Mobile variations
 *  Miscellaneous
*/

/* INITIAL CLEARANCES AND SETTINGS ------------------------------------------*/

* {margin: 0; padding: 0; border: none; text-decoration: none; box-sizing: border-box;}

html, body {
	font-family: "Roboto",Verdana,Helvetica,Arial,sans-serif;
	font-size: 62.5%;
	font-weight: 300;
	font-stretch: expanded;
	background-color: #F3F3F3;
	color: #505050;
	-webkit-tap-highlight-color: rgba(115, 115, 115, 0.4);
	}

/* GENERAL STYLES -----------------------------------------------------------*/

p, ul, ol, li, ul li, ol li, table {
	font-size: 18px;	
	font-size: 1.8rem;
	}

p {
	margin-top: 20px;
	}

a, a:focus, a:visited, a:active { 
	text-decoration: none;
	color: #428BCA;
	}

a:hover {
	color: #428BCA;
	}

h1, h2, h3, h4, h5, h6 {
	color: #222;
	}
	
h1 {
	margin-top: 20px;
	margin-bottom: 10px;
	font-size: 3.0rem;
	font-weight: 400;
	}

h2 {
	margin-top: 20px;
	margin-bottom: 10px;
	font-size: 2.4rem;
	font-weight: 400;
	}

h3 {
	margin-top: 20px;
	margin-bottom: 10px;
	font-size: 2.2rem;
	font-weight: 400;
	}

h4 {
	margin-top: 20px;
	margin-bottom: 10px;
	font-size: 2.0rem;
	font-weight: 400;
	}

h5 {
	margin-top: 10px;
	margin-bottom: 10px;
	font-size: 2.0rem;
	font-weight: 400;
	}
	
main p a {
	white-space: nowrap;
	}
	
p.list-intro {
	margin-bottom: 0px;
	}

p.list-return {
	margin-top: -15px;
	}
	
ul, ol {
	margin-left: 20px;
	margin-bottom: 25px;
	}

ul + p {
	margin-top: 10px;
	}

ul.bullet {
	list-style-type: square;
	padding-left: 15px;
	}

ul.bullet li {
	margin-top: 5px;
	padding-left: 10px;
	}

ul:last-child > p {
	padding: 1rem;
	}

ol.number {
	list-style-type: number;
	padding-left: 15px;
	}

ol.number li {
	padding-left: 10px;
	}

img {
    max-width: 100%;
    height: auto;
	}

img#top-of-page {
    padding-top: 30px;
	}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible;
    border: 0;
    border-top: 1px solid #eee;
    margin: 20px 0;
	}

/* LAYOUT / PAGE AREAS ------------------------------------------------------*/

#container {
	position: relative;
	width: 100%;
	}

#page {
	position: relative;
	width: 100%;
	margin: 0px auto;
	background-color: #FFF;
	}

.print-header {
	display: none;
	}

header, nav, #site-navigation, .navbar, .menu, .navbar-inverse .navbar-toggle .icon-bar, .navbar-inverse .navbar-toggle:focus, .navbar-inverse .navbar-toggle:hover, #logo-text, #logo-text a {
	background-color: #B30000;
	color: #FFF;
	}

header a:hover {
	color: #428BCA;
	}

#full-width {
	margin: 0px;
	}

main {
	position: relative;
	width: 100%;
	max-width: 1024px;
	min-height: 90vh;
	margin: 0px auto;
	padding: 0px 30px 30px;
	background-color: #FFF;
	}

#myCarousel {
	margin-top: 30px;
	}

footer {
	display: block;
	padding: 30px;
	text-align: center;
    background-color: #363636;
	}

footer p, footer p a, footer p a:visited, footer p a:hover {
	margin: 0px auto;
	font-size: 1.6rem;
	color: #878787;
	}
	
/* NAVIGATION ---------------------------------------------------- */

#site-navigation {
	margin: 0px auto;
	padding: 10px 0px;
	max-width: 1024px;
	}

.menu {
	border: none;
	}
	
.navbar {
	margin-bottom: 0px;
	border-radius: 0;
	}
	
.navbar-header {
	margin-bottom: 0px;
	}
	
.menu .navbar-brand, a.navbar-brand, .navbar-brand a, .navbar-brand a:visited, .navbar-brand a:hover {
	margin-top: -5px;
	margin-left: -1px;
	vertical-align: middle;
	font-family: "Merriweather Sans","Roboto",Verdana,Arial,sans-serif;
	font-size: 3.5rem;
	line-height: 0.9;
	color: #FFF;
	}

.navbar-brand {
    padding-left: 30px;
	}

.navbar-right {
	padding-right: 30px;
	}

.navbar-inverse .navbar-toggle,
.navbar-inverse .navbar-collapse {
    border: 1px solid transparent;
	}

.navbar-collapse.collapse.in {
	border-top: 1px solid #C20029; /* Mobile dropdown top border */
	}

.navbar-inverse .navbar-nav > li > a,
.navbar-inverse .navbar-nav > li > a:visited,
.navbar-inverse .navbar-nav > li > a:hover,
.navbar-inverse .navbar-toggle:hover,
.navbar-inverse .navbar-toggle:focus,
.dropdown-menu,
.dropdown-menu > li,
.dropdown-menu > li > a,
.dropdown-menu > li > a:hover {
	text-transform: uppercase;
	font-size: 1.6rem;
	color: #FFF;  /* Navigation top level links colour */
	}

.navbar-inverse .navbar-nav > li > a {
	margin: 15px 15px;
	padding: 0px;
	}

.navbar-inverse .navbar-nav > li:last-child > a {
	margin: 15px 0px 15px 15px;
	}

.navbar-inverse .navbar-nav > li > a.current {  /* Current page navigation link style */
	color: black;
	border-bottom: solid 5px grey;
	}

.navbar-inverse .navbar-toggle .icon-bar { /* Mobile hamburger icon colour */
	margin-top: 5px;
	border-radius: 0;
	background-color: #FFF;
	}

.navbar-inverse .navbar-toggle .icon-bar:first-child {
	margin-top: 0px;
	}

.navbar-nav > li > a {
    padding-top: 15px;
    padding-bottom: 15px;
	}

.navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
    color: #fff;
}	

.dropdown-toggle {
	background: 0 !important;
	}

.navbar-right .dropdown-menu {
    left: 0;
	}

.dropdown-menu {
	top: 69px;
	right: -50px !important;
	border: none;
	min-width: 100px;
	}

.dropdown-menu > li > a {
	margin-bottom: 5px;
	padding: 10px 15px;
	}

.dropdown-menu > li > a:hover {
	background-color: #444444;
	}

/* SPECIALTY STYLES ---------------------------------------*/

.contact {
	width: auto;
	}

.contact h2 {
	padding-top: 20px;
	}

.contact-address {
	padding: 20px 0px 0px;
	line-height: 110%;
	}

.contact-aspect {
	padding-left: 15px;
	width: 80px;
	}

.contact-description {
	padding-left: 20px;
	padding-right: 0px;
	}

p.feature1 {
	margin: 30px 60px;
	text-align: center;
	font-size: 3.5rem;
	}

p.feature2 {
	margin: 30px auto;
	font-size: 2.0rem;
	text-align: justify;
	}

.feature-box {
	display: block;
	margin: 20px 0px;
	border-radius: 0px;
	width: 100%;
	padding: 20px;
	white-space: pre-line;
	background-color: #E7EDFA;   
	border: 1px solid #E0E0E0;
	word-wrap: break-word;
	}

.caption {
	margin-top: 10px;
	padding: 5px 0px;
	background: transparent;
	border: none;
	max-width: 100%;
	text-align: left;
	font-size: 1.5rem;
	}

.google-map {
	width: 100%;
	height: 450px;
	margin-top: 10px;
	border: 1px solid #E0E0E0;
	}

img.no-border {
	margin-top: 20px;
	}

.polaroid-box {
	display: block;
	margin: 30px auto;
	padding: 20px;
	border-radius: 0px;
	width: auto;
	background-color: #FBFBFB;   
	border: 1px solid #E0E0E0;
	word-wrap: break-word;
	}

.polaroid-box .caption {
	margin: 10px auto 0px;
	}

.notes {
	font-size: 1.5rem;
	}

.notes ul, .notes ol {
	margin: 0 0 10px -10px;
	}

.notes li {
	margin: 0 0 0 -10px;
	}

iframe {
    max-width: 100%;
	}
	
.see-also {
	display: block;
	margin: 30px auto;
	border-radius: 0px;
	outline: none;
	width: auto;
	padding: 5px 20px 10px;
	background-color: #FBFBFB;   
	border: 1px solid #E0E0E0;
	word-wrap: break-word;
	}

.see-also a, .see-also a:visited, .see-also a:active {
	color: #0F60A4;
	}
	
/*  TABLES  ------------------------------------------------*/

/*  Individual tables  -------------------------------------*/

	
/*  Tables generally  --------------------------------*/

table {
    border-collapse: collapse;
    width: 100%;
	margin: 20px 0px;
	}

th, td {
    vertical-align: top;
	text-align: left;
    padding: 8px;
	}

table tr {
	border-bottom: 1px solid #EEE;
	}
	
table, tr:last-child {
	border: 1px solid grey;
	}

table thead {
	border-bottom: 1px solid grey;
	background: red;
	color: #FFF;
	}

table tfoot {
	border-top: 1px solid grey;
	background: red;
	color: #FFF;
	}

/* BUTTONS  ----------------------------------------------*/

#go-to-top-button, #go-to-top-button:link, #go-to-top-button:visited, #go-to-top-button:active {
	display: none;
	position: fixed;
	bottom: 5%;
	right: 5%;
	height: 50px;
	width: 50px;
	border: 1px solid grey;
	outline: none;
	border-radius: 50%;
	padding: 10px 10px;
	background-color: #FFF;
	color: #C5C5C5;
	cursor: pointer;
	font-size: 1.5rem;
	-webkit-tap-highlight-color: rgba(115, 115, 115, 0.4);
	}

#go-to-top-button:hover {
	background-color: #E8E8E8;
	}

#go-to-top-button::after {
	clear: both;
	}

.phonebutton {
	display: none;
	}

/* MOBILE ADJUSTMENTS ---------------------------------------*/

@media (max-width: 768px) {

p, ul, ol, li, ul li, ol li, table {
	font-size: 18px;
	font-size: 1.8rem;
	}

ul, ol {
    margin-left: 10px;
	margin-bottom: 0px;
	}
	
.list-return {
    margin-top: 10px;
	}

h1 {
	font-size: 2.5rem;
	}

#page {
	padding: 0px 15px;
	background-color: #FFF;
	}	

header {
	margin: 0px -15px;
	}
	
#site-navigation {
	padding: 0px;
	}

.menu .navbar-brand, a.navbar-brand, .navbar-brand a, .navbar-brand a:visited, .navbar-brand a:hover {
	margin-left: -1px;
	padding-top: 17px;
	padding-left: 15px;
	font-size: 2.9rem;
	}

.navbar-right {
    margin-right: 0px;
	}

.navbar-inverse .navbar-nav > li > a {
    padding: 5px 0px;
	}
	
.navbar-inverse .navbar-nav > li > a.current {
	border-bottom: none;
	}

.dropdown-menu {
	padding: 0px;
	}
	
.navbar-nav .open .dropdown-menu {
	padding-left: 20px;
	}
	
#full-width {
	margin: 0px -15px;
	}
	
main {
	margin-top: 15px;
	padding: 0px;
	}

#myCarousel {
	margin-top: 15px;
	}
	
p.feature1 {
	margin: 20px auto;
	font-size: 2.5rem;
	}

p.feature2 {
	margin: 20px auto;
	font-size: 1.7rem;
	}

img.no-border {
	margin-top: 15px;
	}

.carousel-caption p {
    display: none;
    }

.google-map {
	max-height: 280px;
	}

.polaroid-box {
	margin: 30px auto;
	padding: 10px;
	}

.polaroid-box .caption {
	margin: 10px auto 0px;
	}

.approach-aspect {
    padding-left: 0px;
	}

.see-also {
	padding: 0px 20px 20px;
	}
	
.see-also ul, .see-also li {
	line-height: 2.0;
	}

.phonebutton {
	display: block;
	position: relative;
	max-width: 210px;
	margin: 40px auto;
	padding: 10px;
	border-radius: 5px;
	border: 1px solid #008CC6;
	cursor: pointer;
	outline: none;
	background: #008CC6;
	text-align: center;
	color: #FFF;
	font-size: 2.0rem;
	-webkit-tap-highlight-color: rgba(115, 115, 115, 0.4);
	-webkit-transition: all 1ms linear 1ms;     /* Safari */
	transition: all 1ms linear 1ms;
	}

.phonebutton a, .phonebutton a:focus, .phonebutton a:visited, .phonebutton a:hover {
	text-decoration: none;
	color: #FFF;
	}

.phonebutton + h2 {
	margin-top: 0px;
	}

footer, footer p, footer a {
    margin: 0px -15px;
	padding: 5px 15px;
	font-size: 1.5rem;
	}

} /* End of media query */

/* PRINT ADJUSTMENTS ---------------------------------------*/

@media print {

.print-header {
	display: block;
	width: 100%;
	margin: 0px auto 20px;
	padding: 0;
	text-align: center;
	}

.print-header h1 {
	margin-bottom: 0px;
	text-align: center;
	}

.print-header p {
	margin-top: 10px;
	}

footer, .video, .see-also, .phonebutton, .directory-right a {
	display: none;
	}
	
} /* End of media query */

/* MISCELLANEOUS --------------------------------------------*/

p.two-col-left {
	display: inline;
	}

p.two-col-right {
	display: inline;
	position: absolute;
	left: 220px;
	margin-top: 0px;
	}

.directory h2 {
	padding: 10px;
	background-color: #999;
	color: #fff;
	}

.directory h3 {
	margin: 10px auto 20px;
	padding: 10px 0px;
	border-bottom: 1px solid black;
	font-weight: bold;
	font-size: 2.5rem;
	}

.directory h5 {
	margin-top: 15px;
	margin-bottom: 5px;
	font-weight: bold;
	}

.directory p {
	margin: 5px auto;
	line-height: 110%;
	}

p.directory-left {
	display: inline;
	padding-right: 25px;
	line-height: 2.3;
	}

p.directory-right {
	display: inline;
	margin-top: 0px;
	}
