/* General Styling */

body {
    margin: 0;
    font-family: 'Open Sans', sans-serif;
}

section {
    max-width: 1000px;
    width: 96%;
    margin: auto;
}

a {
    color: #579ebe;
    text-decoration: none;
}

h1 {
    font-size: 35px;
    margin: 10px 0;
    color: #333;
    text-align: center;
}

h2 {
    padding: 5px;
    border-bottom: 2px solid #277ea5;
    color: #277ea5;
    /* display: inline-block; */
    margin-top: 0;
    /* float: left; */
    text-align: center;
}

/* Header */

header {
    padding: 20px 0;
    overflow: auto;
}

#logo {
    /* float: left; */
    max-width: 100%;
    width: 270px;
    margin: auto;
    display: block;
}

.contact-details {
    float: right;
    text-align: center;
    /* font-size: 27px; */
    width: 33%;
}

.contact-details.left {
    float: left;
}

.contact-details p {
    margin: 0;
}

.contact-details small {
    font-size: 13px;
    text-transform: uppercase;
    /* margin-right: 5px; */
    display: block;
}

.contact-details strong {
    color: #333;
    font-size: 24px;
}

.contact-details a {
    font-size: 24px;
    color: #888;
}

a.social {
    display: block;
    font-size: 13px;
    text-transform: uppercase;
    padding: 8px 10px;
    background: #ccc;
    color: #fff;
    margin-top: 10px;
    border-radius: 5px;
}

a.social:hover {
    opacity: 0.8;
}

a.social i {
    font-size: 15px;
    margin-right: 10px;
}

a.social.facebook {
    background: #3b5998;
}

a.social.insta {
    background: #833ab4;
}

a.social.telno, a.social.emailad {
    display: none;
}


/* Slider */

#slider {
    background: url(images/slider.jpg) no-repeat center #eee;
    background-size: cover;
    border: 7px solid #333;
    border-left: 0;
    border-right: 0;
    text-align: right;
}

#slider.braces {
	background: url(images/slider.jpg) no-repeat right center #eee;
	background-size: cover;
}

#slider.implants {
	background: url(images/slider-implants.png) no-repeat right center #eee;
	background-size: cover;
}

#slider section {
    padding: 20px 0;
}

#contact {
    background: rgba(255, 255, 255, 0.8);
    margin: 20px 0;
    max-width: 380px;
    width: 100%;
    padding: 20px;
    text-align: center;
    border: 1px solid rgba(204, 204, 204, 0.5);
    box-sizing: border-box;
    display: inline-block;
}

#contact h2 {
    margin-bottom: 5px;
    padding: 10px;
    font-size: 22px;
}

#contact p {
    font-size: 14px;
}

#contact input, #contact textarea {
    -webkit-appearance: none;
    display: block;
    box-sizing: border-box;
    width: 100%;
    margin-bottom: 10px;
    padding: 7px 10px;
    font-family: inherit;
    border: 1px solid rgba(87, 158, 190, 0.4);
}

#contact input:focus, #contact textarea:focus {
    outline: 0;
    border: 1px solid #277ea5;
    padding-left: 20px;
}

#contact textarea {
    height: 70px;
    resize: none;
}

#contact input[type="submit"] {
    text-transform: uppercase;
    font-size: 15px;
    color: #fff;
    background: #277ea5;
    padding: 8px;
    cursor: pointer;
}

#contact input[type="submit"]:hover {
    background: #579ebe;
}

/* Main Content */

main {
    padding: 15px 0;
    min-height: 400px;
    margin-bottom: 50px;
}

article {
    padding: 30px 0;
    text-align: justify;
    text-align-last: center;
}

/* Figure Boxes */

figure {
    display: inline-block;
    width: 47%;
    margin: 1%;
    background: #fbfbfb;
    border: 1px solid #eee;
    box-sizing: border-box;
    vertical-align: top;
}

figure img {
    max-width: 100%;
    display: block;
}

figcaption {
    padding: 10px 20px;
    /* min-height: 170px; */
}

.longer figcaption {
    min-height: 170px;
}

figcaption h3 {
    margin-top: 0;
}

/* Treatment Options */

#treatment-options {
    margin-top: 50px;
    padding: 20px;
    background: #fcfcfc;
    border: 1px solid #579ebe;
    position: relative;
}

#treatment-options figure {
    margin: 0;
    position: relative;
    z-index: 0;
    min-height: 270px;
    margin-top: -270px;
}

#treatment-options .tab {
    float: left;
    clear: both;
    margin-top: -51px;
    padding: 5px 10px;
    background: #579ebe;
    color: #fff;
    font-size: 14px;
    text-transform: uppercase;
    border: 1px solid #596773;
    cursor: pointer;
}

#treatment-options figcaption {
    opacity: 0;
    overflow: auto;
    padding: 20px;
    text-align: justify;
}

#treatment-options figure#six-ms {
    margin-top: 0px;
}

figure#invis .tab {
    margin-left: 147px;
}

figure#damon .tab {
    margin-left: 243px;
}

figure#lingual .tab {
    margin-left: 371px;
}

#treatment-options figure.active {
    z-index: 2;
}

#treatment-options figure.active > .tab {
    background: #004483;
    padding: 10px;
    margin-top: -61px;
}

#treatment-options figure.active > figcaption {
    opacity: 1;
}

#treatment-options .logo {
    width: 200px;
    padding: 10px;
    background: #fefefe;
    border: 1px solid #eee;
}

.video-right {
    float: right;
    max-width: 320px;
    width: 100%;
    margin-left: 25px;
    padding: 10px;

    background: #fefefe;
    border: 1px solid #eee;
    box-sizing: border-box;
}

.video-right iframe {
    display: block;
}

/* Before & After */

#before-after {
    margin: 20px 0;
    display: inline-block;
}

#before-after h2 {
    float: left;
}

.img-holder {
    width: 300px;
    float: left;
    margin-right: 10px;
    clear: left;
}

.img-holder img {
    display: block;
    width: 100%;
    box-sizing: border-box;
    border: 5px solid #579ebe;
}

.img-holder img:first-of-type {
    margin-bottom: 10px;
}

.description {
    float: left;
    width: calc(100% - 310px);
    box-sizing: border-box;
    padding: 35px;
    border: 5px solid #579ebe;
    background: #fbfbfb;
    height: 317px;
    font-style: italic;
}

.description:before {
    content: "\f10d";
    float: left;
    font-size: 55px;
    font-family: FontAwesome;
    margin-right: 15px;
    margin-top: 0px;
    color: #004483;
}

.description:after {
    content: "\f10e";
    float: right;
    font-size: 55px;
    font-family: FontAwesome;
    margin-top: -30px;
    color: #004483;
}

/* Highlight Box */

.highlight-box {
    text-align: center;
    padding: 25px;
    background: #fcfcfc;
    border: 5px solid #579ebe;
    margin: 50px 0;
}

.highlight-box h2 {
    text-transform: uppercase;
    padding: 0 0 10px;
    display: block;
    width: 70%;
    margin: 10px auto;
}

.highlight-box table {
    width: 80%;
    border-collapse: collapse;
    margin: 20px auto;
}

.highlight-box table td {
    padding: 5px 20px;
}

.highlight-box table td:nth-of-type(odd) {
    text-align: left;
    text-align-last: left;
}

.highlight-box table tr:nth-of-type(odd) { 
    background: #fff
}


/* Footer */

footer {
    padding: 10px 0;
    background: #444;
    text-align: center;
    color: #fff;
    font-size: 11px;
    text-transform: uppercase;
}

footer a {
    color: #eee;
}

iframe#map {
    display: block;
    border: 0;
    border-top: 7px solid #333;
}

.notice {
    text-align: center;
    padding: 20px;
    background: #000;
    color: #fff;
    font-size: 24px;
    text-transform: uppercase;
}

/* Transitions */

a, input, textarea, figure, figcaption, .tab {
    transition: all 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
}

.alignright {
    float: right;
    margin-left: 20px;
}

/* Responsive styles */

@media only screen and (max-width: 960px) { 

	.description {
		padding: 25px;
	}

}

@media only screen and (max-width: 905px) { 
    
    #treatment-options figure {
        min-height: 300px;
        margin-top: -300px;
    }
    
}

@media only screen and (max-width: 850px) { 

	a.social.telno, a.social.emailad {
		display: block;
	}

	a.social.emailad {
		background: #333;
	}

	a.social.telno {
		background: #277ea5;
	}

	a.social {
		width: 50%;
		box-sizing: border-box;
		border-radius: 0;
		float: left;
		margin-top: 0;
		font-size: 11px;
	}

	.contact-details {
		width: 50%;
		margin-bottom: 20px;
	}

	.contact-details p {
		display: none;
	}

}

@media only screen and (max-width: 843px) { 

    #treatment-options figcaption p {
        font-size: 15px;
    }
    
}

@media only screen and (max-width: 820px) {

	a.social {
		font-size: 10px;
	}

}

@media only screen and (max-width: 780px) { 

    .video-right {
        float: none;
        margin: 10px auto;
    }

    #treatment-options figcaption {
        text-align: center;
    }

    #treatment-options figure {
        min-height: 500px;
        margin-top: -500px;
    }

    .img-holder {
		margin-right: 0;
		margin-bottom: 10px;
		width: 100%;
		float: none;
	}

	.img-holder img {
		margin: 1%;
		width: 49%;
		float: left;
	}

	.img-holder img:first-of-type {
		margin-left: 0;
	}

	.img-holder img:last-of-type {
		margin-right: 0;
	}

	.description {
		width: 100%;
	}
    
}

@media only screen and (max-width: 760px) { 

	a.social span {
		display: none;
	}

	a.social i {
		font-size: 20px;
		margin-right: 0;
	}

}

@media only screen and (max-width: 700px) { 

    .contact-details small {
        display: none;
    }

}
    
@media only screen and (max-width: 680px) { 

    #treatment-options figure {
        min-height: 520px;
        margin-top: -520px;
    }
    
}

@media only screen and (max-width: 650px) { 

    #logo, .contact-details {
        /* float: none; */
        text-align: center;
    }
    
    header {
        text-align: center;
    }
    
    article {
        text-align-last: center;
    }
    
    h2 {
        display: block;
        padding: 5px;
        text-align: center;
    }
    
    #contact {
        margin: 0 auto;
    }
	
	.alignright {
		float: none;
		display: block;
		margin: 10px auto;
	}
	
	ul {
		padding-left: 0;
	}
	
	li {
		list-style-position: inside;
	}

}

@media only screen and (max-width: 600px) { 
    
    h1 {
        font-size: 28px;
    }

    #treatment-options {
        margin: 0;
        padding: 0;
        border: 0;
    }

    #treatment-options .tab {
        float: none;
        margin-top: 0;
        margin-left: 0 !important;
        padding: 10px;
    }

    #treatment-options figure {
        margin-top: 0;
        min-height: 0;
        height: 40px;
        overflow: hidden;
    }

    #treatment-options figure.active > .tab {
        margin-top: 0;
    }

    #treatment-options figure.active {
        height: 600px;
    }
    
    .highlight-box {
        width: 100%;
        box-sizing: border-box;
    }

    figure {
		width: 100%;
		margin: 10px 0;
	}

	.highlight-box h2 {
		width: 100%;
	}

	.highlight-box table {
		width: 100%;
	}
    
}

@media only screen and (max-width: 500px) { 

    article {
        text-align: center;
    }

}

@media only screen and (max-width: 450px) { 

	.img-holder img {
		width: 100%;
		margin: 0;
		margin-bottom: 10px;
	}
	
	.description {
		height: auto;
	}

}

@media only screen and (max-width: 380px) { 

    #contact h2 {
        font-size: 21px;
    }
    
    .contact-details strong {
        font-size: 22px;
    }

    .contact-details a {
        font-size: 16px;
    }
    
    #slider {
        background-position: left center;
    }
    
}