/* HTML5 ✰ Boilerplate */

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

blockquote, q { quotes: none; }
blockquote:before, blockquote:after,
q:before, q:after { content: ""; content: none; }
ins { background-color: #ff9; color: #000; text-decoration: none; }
mark { background-color: #ff9; color: #000; font-style: italic; font-weight: bold; }
del { text-decoration: line-through; }
abbr[title], dfn[title] { border-bottom: 1px dotted; cursor: help; }
table { border-collapse: collapse; border-spacing: 0; }
hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }
input, select { vertical-align: middle; }

body {
    font-family: sans-serif;
    font-size: 16px;
    line-height: 1.231;
}
select, input, textarea, button { font:99% sans-serif; }
pre, code, kbd, samp { font-family: monospace, sans-serif; }

html { overflow-y: scroll; }
a:hover, a:active { outline: none; }
ul, ol {
    margin: 0 0 1em 2em;
}
li {
    margin: 0 0 0.3em 0;
}

ol { list-style-type: decimal; }
nav ul, nav li { margin: 0; list-style:none; list-style-image: none; }
small { font-size: 85%; }
strong, th { font-weight: bold; }
td { vertical-align: top; }
sub, sup { font-size: 75%; line-height: 0; position: relative; }
sup { top: -0.5em; }
sub { bottom: -0.25em; }

pre { white-space: pre; white-space: pre-wrap; word-wrap: break-word; padding: 15px; }
textarea { overflow: auto; } 
.ie6 legend, .ie7 legend { margin-left: -7px; } 
input[type="radio"] { vertical-align: text-bottom; }
input[type="checkbox"] { vertical-align: bottom; }
.ie7 input[type="checkbox"] { vertical-align: baseline; }
.ie6 input { vertical-align: text-bottom; }
label, input[type="button"], input[type="submit"], input[type="image"], button { cursor: pointer; }
button, input, select, textarea { margin: 0; }
input:valid, textarea:valid   {  }
input:invalid, textarea:invalid { border-radius: 1px; -moz-box-shadow: 0px 0px 5px red; -webkit-box-shadow: 0px 0px 5px red; box-shadow: 0px 0px 5px red; }
.no-boxshadow input:invalid, .no-boxshadow textarea:invalid { background-color: #f0dddd; }

a:link { -webkit-tap-highlight-color: #FF5E99; }
button {  width: auto; overflow: visible; }
.ie7 img { -ms-interpolation-mode: bicubic; }

body, select, input, textarea { color: #444; }
h1, h2, h3, h4, h5, h6 { font-weight: bold; }
a, a:active, a:visited { color: #607890; }
a:hover { color: #036; text-decoration:underline;}


/* Your Dental Practice */

/* + Top-level framing {{{ */

.strip_header {
    margin-top: 7px;
    width: 100%;
    background: linear-gradient(to bottom, rgba(120, 195, 207, 1) 0%, rgb(127, 206, 220) 3%, rgb(127, 206, 220) 97%, rgba(120, 195, 207, 1));
}
.strip_main {
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 1px, rgb(212, 222, 225) 1.5px, rgba(255, 255, 255, 1) 42px);
}

.central_column {
	max-width: 930px;
    padding: 0 16px;
	margin: 0 auto;

    //border: 1px solid red;
}

/* + }}} */

/* + Header {{{ */

header#nonFixedHeader {
    width: 930px;
    margin: auto;
    /*height: 337px;*/

    position: relative;
}

/* + + Contact {{{ */

#contact {
	float: right;
	padding-top: 10px;
	padding-bottom: 0;
	margin-bottom: 0;

	color: #FFF;
    text-align: right;
}

#contact dd {
    display: inline-block;
	font-size: 181%;
	padding-left: 10px;
	background: transparent url('../images/contact_divider.png') repeat-y left;
	margin-left: 10px;
}

#contact address {
	font-size: 75%;
	font-weight: 400;
	padding-top: 1px;
	text-transform: uppercase;
}

/* + + }}} */

/* + + Navigation {{{ */

#nonFixedHeader .navigation {
	margin-bottom: 1em;
}

#nonFixedHeader .navigation ul {
    /* Remove default ul margin */
	margin: 0;
}

#nonFixedHeader .navigation ul li {
    /* Arrange menu items horizontally */
    display: inline-block;
    margin: 0 10px 0 0;
}

#nonFixedHeader .navigation ul li {
    /* Tab size and shape */
	width: 98px;
	height: 48px;
    line-height: 48px;  /* Vertically centre text in tab */
    border-radius: 0 0 8px 8px;

    /* Tab colour */
    background: linear-gradient(to bottom, rgba(83, 181, 199, 1) 0%, rgba(94, 194, 211, 1) 15%);

    /* */
    list-style: none;

    /* Text style */
    font-family: Arial, Helvetica, sans-serif;
    font-weight: 600;
    font-size: 93.75%;
    text-transform: uppercase;

    /* Text alignment */
    text-align: center;
}

#nonFixedHeader .navigation ul li a {
    /* Expand link to whole of li element */
    margin: 0;
    display: block;
    width: 100%;
    height: 100%;

    /* Text style */
	color: #FFF;
	text-decoration: none;
}

/* + + + Active tab {{{ */

/* Underline inactive tabs when hovered, but not active tab */
#nonFixedHeader .navigation ul li a:hover {
	text-decoration: underline;
}
#nonFixedHeader .navigation ul li.active a:hover {
	text-decoration: none;
}

#nonFixedHeader .navigation ul li.active {
    /* Tab size and shape */
	width: 121px;
	height: 55px;
    border-radius: 0 0 10px 10px;

    /* Tab colour */
    background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(220, 241, 246, 1) 100%);
    border: 1px solid white;
}

#nonFixedHeader .navigation ul li.active a {
    /* Text style */
	color: #00cccc;
}

/* + + + }}} */

/* + + }}} */

#logo_square {
	float: left;
	margin-top: -5px;
}

#slider {
	margin-top: 11px;
	border: 10px solid #FFF;

	float: right;

    box-sizing: border-box;
    max-width: 100%;
}

#slider {
    /* Make slider image overlap the bottom of header strip */
    position: relative;
    top: 24px;
    margin-top: -13px;
}

/* + }}} */

@media (max-width: 962px) {
    #main {
	    max-width: 600px;
        margin-left: auto;
        margin-right: auto;
    }
}

/* + Sidebar {{{ */

#sidebar {
	float: left;
	width: 230px;
	padding-top: 32px;
}

#sidebar p {
	padding-bottom: 10px;
	font-family:Georgia, "Times New Roman", Times, serif;
	color: #666;
	
}

#sidebar h4 {
	float: right;
	color: #666;
	font-style: italic;
}

/* + }}} */

/* + Footer {{{ */

footer {
	border-top: 1px solid #CCC;
	text-align: center;
	margin-top: 50px;
}

footer p {
	padding-top: 20px;
	padding-bottom: 20px;
	color: #999;
}

.footerContent {
    width: 930px;
    margin: 0 auto;
}

.privacyNotice {
    float: right;
    font-size: 81.25%;
}

.createdby {
    font-size: 81.25%;
}
.createdby a {
	color: #999;
	text-decoration: none;
}

.createdby a:hover {
	color: #66cccc;
	text-decoration: underline;
}

/* + }}} */

#content {
    float: right;
	width: 71%;
	padding-top: 56px;
}

#content p {
	margin-bottom: 15px;
}

/* + General text {{{ */

#main h2 {
	text-transform: uppercase;
	font-size: 156.25%;
	font-weight: 500;
	color: #66cccc;
	margin-bottom: 3px;
}

#main h3 {
	color: #006666;
	font-size: 93.75%;
	font-weight: bold;
}

#main p {
	font-size: 100%;
}

#main td {
	color: #666;
}

.blue_emphasis {
    color: #66cccc;
    font-weight: bold;
}


/* + }}} */

/* + Team page {{{ */

ul.team_list {
	margin: 0;
	list-style: none;
}

.team_list li {
	margin-bottom: 15px;
}

.team_profile_item_image {
    display: table-cell;
    width: 175px;
}
.team_profile_item_image img {
	border: 3px #CCC solid;
    max-width: 150px;
}
.team_profile_item_text {
    display: table-cell;

    vertical-align: top;
	padding-top: 0px;
	list-style: none;
}

.team_profile_item_text p {
	padding-top: 5px;
	text-align: justify;
}

.gdc {
	font-family: Arial, Helvetica, sans-serif;
	color: #555;
	font-size: 87.5%;
	font-weight: 600;
}

@media (max-width: 500px) {
    .team_list li {
        margin-bottom: 2em;
    }
    .team_profile_item_image {
        display: block;
        width: auto;
    }
    .team_profile_item_text {
        display: block;
    }

    /* Centre images and names
    .team_profile_item_image img {
        display: block;
        margin: auto;
    }
    .team_profile_item_text h3 {
        text-align: center;
    }
    */
}

/* + }}} */

/* + Services page {{{ */

#main table {
	width: 100%;
	max-width: 450px;
}

#main table tr th {
	text-align: left;
	color: #006666;
	font-size: 87.5%;
	font-weight: bold;
	padding-bottom: 5px;
	padding-top: 0px;	
}

#main table tr td {
	font-size: 87.5%;
		
}

.table_from {
	padding-right: 7px;
}

/* + }}} */

/* + Contact page {{{ */

.contact_form {
	float: left;
	width: 64%;
	margin-right: 2%;
}

.contact_details {
	float: right;
	width: 30%;
}

.contact_item {
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    break-inside: avoid;

	padding-bottom: 10px;
}

.contact_form {
	font-size: 81.25%;
}

.contact_details {
	padding: 2%;
	background-color: #ccffff;
}

.contact_details dt {
	display: block;
	font-size: 87.5%;
}

.contact_details dd {
	/*text-align: left;*/
	font-size: 87.5%;
}

@media (max-width: 962px) {
    .contact_form {
        float: none;
	    width: auto;
        font-size: 81.25%;
    }

    .contact_details {
        float: none;
	    width: auto;

        margin-top: 2em;
        width: auto;
        max-width: 600px;
        margin-left: auto;
        margin-right: auto;
        columns: 2;
    }
}

@media (max-width: 500px) {
    .contact_details {
        columns: 1;
    }

    /* Centre details */
    .contact_details {
        margin: 1em;
    }
    .contact_details dl {
        text-align: center;
    }
    .contact_details dd {
        text-align: center;
    }
}


#main .contact .loading_icon {
	float:right;
	background:url(../images/load.gif) no-repeat 1px;
	height:27px;
	width:27px;
	display:none;
}

#main .contact .done, .error {
	text-align:center;
	padding:10px;
	display:none;
	font-weight: bold;
}

#main .contact .errorField {
	clear:left;
	float:left;
	padding:5px;
	display:none;
}

#main .contact ul.formList {
	list-style-image: none;
	list-style-position: outside;
	list-style-type: none;
	margin-left: 0;
}

#main .contact ul.formList li {
	margin-bottom: 5px;
	margin-left: 0;
	padding-left: 0;
}

#main .contact ul.formList li label {
	display: block;
	float: left;
	padding: 2px;
	width: 50px;
}

#main .contact ul.formList li input, #main .contact ul.formList li textarea {
	border: 1px solid #7f7f7f;
}

#main .contact ul.formList li input {
	padding: 2px;
}

#main .contact ul.formList li {
	margin-bottom: 10px;
}

#main .contact ul.formList li label {
	width: 20%;
	padding: 5px;
	padding-left: 0px;
	padding-right: 5%;
}

#main .contact ul.formList li input, .contact ul.formList li textarea {
	width: 70%;
	padding: 5px;
	float: right;
}

#main .contact .done, #main .contact .error {
	font-size: 87.5%;
	padding: 100px 0;
}

.contact ul.formList li textarea {
	height: 130px;
}

.submit {
	display: block;
	text-decoration: none;
	font-size: 87.5%;
	font-weight: bold;
	text-align: center;
	color: #FFF;
	text-transform: uppercase;
	border: 1px solid #66cccc;
	background-color: #66cccc;
}

#main .contact input.submit {
	float: right;
	height: 35px;
	width: 150px;
}

.heading_bold {
	color: #006666;
	font-size: 81.25%;
	font-weight: bold;
}

/* + + How to find us {{{ */

#howtofindus {
	padding-top: 20px;
	max-width: 440px;
	text-align: justify;
}

@media (max-width: 962px) {
    #howtofindus {
	    max-width: none;
    }
}

#howtofindus a {
    float: left;
    height: 25px;
    width: 250px;

}

#howtofindus a.buttonmap {
	padding-top: 10px;
	background-color: #66CCCC;
    border: 1px solid #66CCCC;
    color: #FFFFFF;
    display: block;
    font-size: 87.5%;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
}


#howtofindus h3 {
	padding-top: 30px;
}

#howtofindus p {
	padding-top: 0px;
	margin-top: 0px;
	padding-bottom: 0px;
	margin-bottom: 0px;
}

#howtofindus p.secpara{
	padding-top: 10px;
	margin-top: 0px;
	padding-bottom: 0px;
	margin-bottom: 0px;
}

#howtofindus p.lastpara{
	padding-top: 30px;
	margin-top: 0px;
	padding-bottom: 0px;
	margin-bottom: 0px;
	color: #006666;
}

/* + + }}} */

/* + }}} */

/* + Quotes {{{ */

.quote {
	padding-bottom: 20px;
}

.quote .quoteTxt {
	background-color: transparent;
	background-image: url(../images/quote_bg_top.png);
	background-repeat: no-repeat;
	background-position: left top;
}

.quote .quoteInnerTxt {
	background-color: transparent;
	background-image: url(../images/quote_bg_bottom.png);
	background-repeat: no-repeat;
	background-position: right bottom;
}

.quote .quoteInnerTxt p.quote {
	padding: 10px 25px 5px 35px;
}

.quote .author {
	font-style: italic;
	text-align: right;
	display: block;
	padding-top: 10px;
	color: #797979;
}

/* + }}} */

/* + Bulletins {{{ */

#bulletin {
    box-sizing: border-box;
    margin-top: 44px;
    margin-bottom: 4px;
    border: 5px solid #7fcedc;
	float: right;
	width: 100%;
	padding: 32px 32px 17px 32px;

    /* centre when not floated (on narrow screen)*/
    margin-left: auto;
    margin-right: auto;
}

#bulletin p {
	margin-bottom: 15px;
}
#bulletin p.heading {
    color: #7fcedc;
	margin-bottom: 25px;
    text-align: center;
    font-weight: bold;
}
#bulletin p.lead {
	margin-bottom: 15px;
    text-align: center;
    font-weight: bold;
}

/* + }}} */

/* + Hacks {{{ */

.hidden { display: none; visibility: hidden; }

.clearfix:before, .clearfix:after { content: "\0020"; display: block; height: 0; overflow: hidden; }
.clearfix:after { clear: both; }
.clearfix { zoom: 1; }

/* + }}} */

/* + Fixed header (for narrow screens) {{{ */

/* Show only on narrow screens */
#fixedHeader {
    display: none;
}
@media (max-width: 962px) {
    #fixedHeader {
        display: flex;
    }
}

@media (max-width: 962px) {
    header#nonFixedHeader {
        width: 100%;
    }
    #nonFixedHeader #logo_square {
        display: none;
    }
    #nonFixedHeader .navigation {
        display: none;
    }
    #nonFixedHeader #contact {
        padding-top: 60px;
    }
}

#fixedHeader .navigation {
    /*opacity: 0.5;*/
}
#fixedHeader {
}


#fixedHeader {
    /* Stretch fully across top of viewport */
    position: fixed;
    left: 0;
    top: 0;
	width: 100%;

    /* Appear on top of other elements */
    z-index: 1;

    /* Make column to contain: logo, navigation */
    flex-direction: column;

    background: rgba(127, 206, 220, 1);
}

/* + + Logo {{{ */

#logo_bar {
    display: flex;
    flex-direction: row;

    justify-content: space-between;
    /*border: 1px solid green;*/
    max-height: 60px;
}

#logo_wide {
    box-sizing: border-box;
	max-width: 80%;

    padding: 1em;
}

#logo_bar .buttons {
    width: 3%;
    margin: 1em;

    cursor: pointer;

    /* Contain child icons */
    position: relative;
}
.menuButton {
    position: absolute;
    width: 100%;
    height: 100%;
}
.closeButton {
    position: absolute;
    width: 100%;
    height: 100%;
}

/* If menu is closed, show only menu button,
   else if menu is open, show only close button */
.closeButton {
    display: none;
}
#fixedHeader.opened .menuButton {
    display: none;
}
#fixedHeader.opened .closeButton {
    display: block;
}

/* + + }}} */

/* + + Navigation {{{ */

#fixedHeader .navigation {
    /* Fill space in column */
    justify-self: stretch;
    flex-grow: 1;
}

/* If header is not hovered/opened, hide navigation and let header be auto height,
   else if header is hovered/opened, show navigation and stretch header to full viewport height */
#fixedHeader:hover, #fixedHeader.opened {
    height: 100%;
}
#fixedHeader .navigation {
    display: none;
}
@media (max-width: 962px) {
    #fixedHeader:hover .navigation, #fixedHeader.opened .navigation {
        display: flex;
        flex-direction: column;
    }
}

/* Make column to contain: navigation items */
#fixedHeader .navigation {
}

#fixedHeader .navigation {
    padding: 0 36px;

    overflow-y: auto;
}
#fixedHeader .navigation a {
    /* Space between tabs */
    /*
    margin-top: 12px;
    margin-bottom: 12px;
    */
    margin: 0;
}
#fixedHeader .navigation hr {
    border: none;

    margin: 0;
    padding: 0;

    flex-grow: 1;
    flex-shrink: 1;
    height: 2%; /* 10 / 5 */
}

#fixedHeader .navigation a {
    overflow: hidden;

    /* Tab size and shape */
    width: 100%;
    flex-grow: 1;
    flex-shrink: 1;
    height: 15%; /* 90 / 5 */
    border-radius: 8px;
    box-sizing: border-box;

    /* Vertically centre text in tab */
    display: flex;
    justify-content: center; /* align horizontal */
    align-items: center; /* align vertical */

    /* Tab colour */
    background: linear-gradient(to left, rgba(83, 181, 199, 1) 0%, rgba(94, 194, 211, 1) 15%);
}

#fixedHeader .navigation a.active {
    /* Tab colour */
    background: linear-gradient(to left, rgba(255, 255, 255, 1) 0%, rgba(220, 241, 246, 1) 100%);
    border: 1px solid white;
}
#fixedHeader .navigation a.active div {
    /* Text style */
	color: #00cccc;
}

/* Underline inactive tabs when hovered, but not active tab */
/*
#fixedHeader .navigation a:hover {
	text-decoration: underline;
}
#fixedHeader .navigation a.active:hover {
	text-decoration: none;
}
*/

#fixedHeader .navigation a {
    /* Text style */
    font-family: Arial, Helvetica, sans-serif;
    font-weight: 600;
    font-size: 150%;
    text-transform: uppercase;
	text-decoration: none;
	color: #FFF;
}

#fixedHeader .navigation a:hover {
    border: 1px solid white;
}
a:link {
    -webkit-tap-highlight-color: rgba(0, 204, 204, 0.5);
}

/* + + }}} */

/* + }}} */

/* + Contact {{{ */

/* */
@media (max-width: 962px) {
    #contact dl {
        display: inline-block;
        vertical-align: middle;
        float: right;
    }
    #contact address {
        display: inline-block;
    }
}

@media (max-width: 962px) {
    #contact {
	    float: none;
    }

    #contact dd {
        font-size: 150%;
    }
}

/* + }}} */


@media (max-width: 962px) {
    #content {
        float: none;
	    width: 100%;
	    padding-top: 56px;
    }
    header {
        width: auto;
    }
    .footerContent {
        width: auto;
    }

    #bulletin {
        /* Centre bulletin */
        float: none;
    }

    #main table {
        /* Centre table */
        margin: auto;
    }
}

@media print {
  * { background: transparent !important; color: black !important; text-shadow: none !important; filter:none !important;
  -ms-filter: none !important; } 
  a, a:visited { color: #444 !important; text-decoration: underline; }
  a[href]:after { content: " (" attr(href) ")"; display:none;}
  abbr[title]:after { content: " (" attr(title) ")"; }
  .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after { content: ""; }  
  pre, blockquote { border: 1px solid #999; page-break-inside: avoid; }
  thead { display: table-header-group; } 
  tr, img { page-break-inside: avoid; }
  @page { margin: 0.5cm; }
  p, h2, h3 { orphans: 3; widows: 3; }
  h2, h3{ page-break-after: avoid; }
}


/* + Cookie banner {{{ */

#cookie_banner {
    position: fixed;
    bottom: 0;
    left: 0;
    margin: 1em;

    text-align: center;

    padding: 1em 2.5em 1em 1em;
    line-height: 1.5;

    background-color: white;
    border: 1px solid #aaa;
    border-radius: 5px;
    box-shadow: 0px 0px 8px #aaa;

    font-size: 0.9em;
}

#cookie_banner .close_button {
}

#cookie_banner button {
}

#cookie_banner button.close {
    position: absolute;
    top: 0.5em;
    right: 0.5em;

    background-color: white;
    border: none;
}

#cookie_banner button.reject {
    width: 120px;

    margin: 0.5em 0.3em 0 0.3em;
    padding: 0.6em;

    background-color: white;
    border: 2px solid rgba(94, 194, 211, 1);
    color: rgba(94, 194, 211, 1);

    font-weight: bold;
}

#cookie_banner button.accept {
    width: 120px;

    margin: 0.5em 0.3em 0 0.3em;
    padding: 0.6em;

    color: white;
    border: 2px solid rgba(94, 194, 211, 1);
    background-color: rgba(94, 194, 211, 1);

    font-weight: bold;
}

/* + }}} */
