@charset "UTF-8";
/* CSS Document */

/* global */
body { 
    font-family: 'Open Sans', sans-serif; 
    color:#1B4A68; 
    padding:0;
    margin:0; 
}

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


/*homepage styles*/

main { 
        display:block;
        position:relative;
        background-color:#ffffff; 
        text-align:center;
        width:100%;
        margin:0 auto 0;
}

        @media only screen and (min-width: 768px) {
                main {  width:90%;  }
        }


main nav, main nav a, 
.treatments_wrapper nav.desktop, 
.about_wrapper nav.desktop,
.contact_wrapper nav.desktop { display:none; }

        @media only screen and (min-width: 768px) {

                main nav.desktop, 
                .treatments_wrapper nav.desktop,
                .about_wrapper nav.desktop,
                .contact_wrapper nav.desktop {
                
                    display:block; 
                    width:50vw;
                    position:relative;
                    float:right;  
                    margin-top:3vw;
                    clear:both;
                }
            
                .treatments_wrapper nav.desktop,  { 
                    margin-bottom:0;
                    width:40vw;
                    display:block;
                }
 
                main nav.desktop a, 
                .treatments_wrapper nav.desktop a, 
                .about_wrapper nav.desktop a,
                .contact_wrapper nav.desktop a,
                .contact_wrapper nav.desktop a:visited,
                .about_wrapper nav.desktop a:visited,
                .treatments_wrapper nav.desktop a:visited, 
                main nav.desktop a:visited { 
                        display:block;
                        float:right;
                        margin-left:3vw;
                        position:relative; 
                        font-size:1.15vw;
                        color: #1B4A68;
                        font-weight:500;
                        text-decoration:none;
                    }

                    main nav.desktop a.gift, 
                    .treatments_wrapper nav.desktop a.gift,
                    .about_wrapper nav.desktop a.gift,
                    .contact_wrapper nav.desktop a.gift
                    { color: #b42528; }
            }


.homepage { 
        display:block; 
        width:95vw; 
        margin:0 auto; 
        text-align:center;  
        background-image: url("images/imgresized.jpg");
        background-size:70vw;
        background-repeat:no-repeat;
        background-position: 10vw 30vw;
}

        @media only screen and (min-width: 768px) {
                .homepage { 
                    width:90vw;
                    height:60vw;
                    position:relative;
                    clear:both;
                    background-size:60vw;
                    background-repeat:no-repeat;
                    background-position:28vw 13vw;
                }
        }

.logo_home { 
        width:15vw; 
        display:block; 
        vertical-align:middle;
        float:left;
}

        @media only screen and (min-width: 768px) {
                .logo_home { 
                        width:9vw; 
                        display:inline-block; 
                        vertical-align:middle;
                        margin-bottom:4vw;
                }
        }

.homepage h1,  .homepage h2, .homepage h3 { display:block; position:relative; }


@media only screen and (min-width: 768px) {

    .homepage div.desktop { 
        display:block;
        width:33vw;
        float:left; 
        text-align:left;
    }      
}

.homepage h1 { 
        display:block;
        float:left;
        position:relative;
        font-size:8.5vw; 
        line-height:12.5vw;
        font-weight:200; 
        letter-spacing:.5vw;
        margin:0;
        padding:0;
}

        @media only screen and (min-width: 768px) {
            .homepage h1 { 
                    font-size:2.95vw; 
                    line-height:6.5vw;
                    letter-spacing:.1vw;
                    margin-top:1vw;
                    clear:right;
            }
        }

.homepage strong { 
       display:block;
        position:relative;
        float:left;
        font-size:4.15vw;
        font-weight:400; 
        color:#888;
        margin-left:0.25vw;
        margin-top:0;
        line-height:4vw;
        letter-spacing: normal;
}


        @media only screen and (min-width: 768px) {
         .homepage strong { 
                display:block;
                font-size:1.38vw !important; 
                font-weight:400; 
                margin-top:0;
                line-height:0 !important;
                letter-spacing: .05vw;
                clear:left;
            }
        }



.homepage h2 { 
        font-size:3.85vw; 
        line-height:12vw;
        font-weight:300; 
        color:#94A35E; 
        margin:0 0 1vw 0;
        padding:0;
}

.homepage h2.desktop { display:none; }


        @media only screen and (min-width: 768px) {

            .homepage h2.desktop { 
                display:block; 
                float:left;
                font-size:1.5vw;
                line-height:0;
                margin-top:4vw;
                margin-left:0.25vw;
                margin-bottom:3vw;
            }
        }



p.desktop { display:none; }

        @media only screen and (min-width: 768px) {
            
            p.desktop { 
                display:block;
                position:relative;
                float:left;
                clear:left;
                margin-left:0.25vw;
                width:29vw;
                font-size:1.5vw;
                font-weight:200;
                line-height:3vw;
                color:#888;
             }   
            
            p.mobile { display:none; }
}


.book_wrapper {  
        width:26vw; 
        margin:36vw auto 0; 
        background-color:transparent;
}

        @media only screen and (min-width: 768px) {
            .book_wrapper {  
                display:block;
                width:14vw;
                margin:10vw 0 0 0;
                position:relative;
                float:right;     
                text-align:right;
            }
    
}   

.book { 
		position:relative;
		background-image:none;
		display:table-cell;
		width:25vw;
		height:25vw;
		background-color:#b42528;
		text-align:center;
		vertical-align:middle;
		border-radius: 12.5vw 12.5vw 12.5vw 12.5vw;
		moz-border-radius: 12.5vw 12.5vw 12.5vw 12.5vw;
		-webkit-border-radius: 12.5vw 12.5vw 12.5vw 12.5vw;
		margin:6px auto 0px;
		line-height:4.75vw;
		font-family:arial;
		font-weight:normal;
		text-decoration:none;
		color:#fff;
		font-size:4.75vw;
	}

        @media only screen and (min-width: 768px) {
            .book {  
                width:13vw;
                height:13vw;
                font-size:2vw;
                line-height:2vw;
            }
    
}   

.homepage  nav { display:block; width:90%; margin:0 auto; }
.homepage  nav a { 
        display:block; 
        position:relative;
        height: 12.5vw;
        border: 2px solid #1B4A68;  
        color: #1B4A68;
        margin-bottom:2vw;
        box-sizing: border-box;
        font-size:4.75vw;
        line-height:10.75vw;
        font-weight:600;
        text-decoration:none;
        border-radius: 1.25vw 1.25vw 1.25vw 1.25vw;
		-moz-border-radius: 1.25vw 1.25vw 1.25vw 1.25vw;
		-webkit-border-radius: 1.25vw 1.25vw 1.25vw 1.25vw;
}
.homepage nav a.treatments, .homepage  nav a.gift { width:100%; clear:both;}
.homepage  nav a.contact { width:48.3%; float:left;}
.homepage  nav a.about { width:48.3%; float:right; }
.homepage  nav a.gift { color:#94A35E; border-color:#94A35E; }
.homepage  h3 { font-size: 3.25vw; font-weight:400; }
.homepage  h4, main h4 a { font-size: 3.25vw; font-weight:400;  color:#888; text-decoration:none; }
.homepage  h4 span { font-weight:600; color:#888; font-size:4.25vw;}



.sm { 
        width: 6vw; 
        height:auto; 
        vertical-align:middle; 
        margin:0 1.75vw;  
        border:0; 
}

    @media only screen and (min-width: 768px) {

        .sm  {
            width: 2.25vw; 
            height:auto; 
            vertical-align:middle; 
            margin: 0 0.25vw;  
            border:0; 
            display:inline-block;
            }

        
        .desktopfooter {
            display:block;
            height:5vw;
            position:relative;
            width:90vw;
            clear:both;
            text-align:right;
            padding-top:4vw;
            }
        
    
        .homepage h3 {
            font-size: 1.05vw; 
            float:right;
            display:inline-block;
            width:auto;
            }

        .homepage h4 br { display:none; }
        
        .homepage h4  {
            font-size: 1.05vw; 
            text-align:left;
            margin-left:9vw;
            }   

        .homepage h4  {
            font-size: 1.05vw; 
            text-align:left;
            margin-left:9vw;
            }   
        
        .homepage h4  a  {
            font-size: 1.05vw; 
            text-align:left;
            }   
        
        .homepage h4 span.desktop { 
            font-size: 1.05vw; 
            font-weight: normal;
            margin-left:1vw;
           }
    }

@media only screen and (min-width: 768px) {

    .homepage h2 { display:none;} 
    .homepage nav { display:none; }
    
}
/* global interior page styles */
.treatments_wrapper nav, 
.about_wrapper nav, 
.contact_wrapper nav {
        width:100%; 
        text-align:center; 
        margin:3vw 0 6vw;  
}
.treatments_wrapper nav a,  
.about_wrapper nav a, 
.contact_wrapper nav a  { 
        font-size:3.25vw; 
        color:#1B4A68; 
        display:inline-block; 
        position:relative; 
        margin:0 3vw;
}

    @media only screen and (min-width: 768px) {
      
      .treatments_wrapper nav, 
      .about_wrapper nav, 
      .contact_wrapper nav {  display:none; }
        
        .treatments_wrapper nav a,  
        .about_wrapper nav a, 
        .contact_wrapper nav a  { 
        font-size:3.25vw; 
        color:#1B4A68; 
        display:inline-block; 
        position:relative; 
        margin:0;
}
        
    }    


.logo { 
        width:12%; 
        display:inline-block; 
        vertical-align:middle; 
}

        @media only screen and (min-width: 768px) {
              
            .logo {         
                width:6.5vw; 
                display:inline-block; 
                vertical-align:middle;
                }
        }


h2.interior, h2.interior a  {    
        font-size:5vw; 
        font-weight:300; 
        color:#1B4A68;
        text-align: left;
        text-decoration:none;
        margin:0;
}

        @media only screen and (min-width: 768px) {
            
            h2.interior a {
                font-size:2.25vw;
            }    
        }

 
h1.interior {
    font-size:6.5vw; 
    font-weight:400; 
    color:#1B4A68;
    text-align: left;
    margin:0 0 9vw 5vw;
}


        @media only screen and (min-width: 768px) {
            
            h1.interior {
                clear:both;
                margin-left:4vw;  
                margin-top:2vw;
                margin-bottom:7vw;
                font-size:2.75vw;
                width:35vw;

            }  
            
        }

div.treatments_wrapper > div.book_wrapper, 
div.about_wrapper > div.book_wrapper, 
div.contact_wrapper div.book_wrapper { margin-top:5vw; }

        @media only screen and (min-width: 768px) {
            
            div.treatments_wrapper > div.book_wrapper, 
            div.about_wrapper > div.book_wrapper, 
            div.contact_wrapper div.book_wrapper { 
                margin:-3vw 6vw; /* was -14 */
            }
            
            div.about_wrapper > div.book_wrapper  { margin:0vw 3vw; }
        }


/*treatment styles*/

.treatments_wrapper { 
    padding:6vw;
    background-color:#efefef; 
    text-align:center;  }

        @media only screen and (min-width: 768px) {
            .treatments_wrapper { 
                height:65vw;
                }

        }

.treatments_wrapper div.sixty, 
.treatments_wrapper div.ninety { 
        display:block; 
        position:relative;
        height: 15.25vw;
        width:42vw;
        margin:0vw 0 6vw;
        padding:3vw 0 0 0;
        background-color:#fff;
        color: #1B4A68;
        font-size:4.25vw;
        line-height:6vw;
        font-weight:400;
        text-decoration:none;
        border-radius: 1.25vw 1.25vw 1.25vw 1.25vw;
		-moz-border-radius: 1.25vw 1.25vw 1.25vw 1.25vw;
		-webkit-border-radius: 1.25vw 1.25vw 1.25vw 1.25vw;
}

.treatments_wrapper div.sixty { float:left;  }
.treatments_wrapper div.ninety {  float:right;   }

        @media only screen and (min-width: 768px) {
            
            .treatments_wrapper div.sixty, 
            .treatments_wrapper div.ninety { 
                
                font-size:1.85vw;
                line-height:3vw;
                width:23vw;
                height: 7.25vw;
                padding:1vw 0 0 0;
                margin-left:3vw;
                float:left;
                border-radius: .50vw .50vw .50vw .50vw;
		        -moz-border-radius: .50vw .50vw .50vw .50vw;
		        -webkit-border-radius: .50vw .50vw .50vw .50vw;
            }
            
    }




.treatments_wrapper p { text-align:left; }

        @media only screen and (min-width: 768px) {
            .treatments_wrapper p { 
                font-size:1.62vw;
                line-height:2.75vw;
                font-weight:200;
                display:block;
                clear:left;
                margin-left:3vw;
                width:55vw;
            }
        }


.treatments_wrapper p img {  
        width:30%;  
        float:right;
        margin: .25em 0 0 1.25em;
        border-radius: 6px 6px 6px 6px;
        -moz-border-radius: 6px 6px 6px 6px;
		-webkit-border-radius: 6px 6px 6px 6px;
}

        @media only screen and (min-width: 768px) {
            
            .treatments_wrapper p img {
               display:block;
                width:25vw;
                margin-top:-14vw;
                margin-right:-28vw;
                border-radius: .50vw .50vw .50vw .50vw;
		        -moz-border-radius: .50vw .50vw .50vw .50vw;
		        -webkit-border-radius: .50vw .50vw .50vw .50vw;
            }
            
        }


/* about page styles */

.about_wrapper {     
        padding:8%;
        background-color:#f8f6f2; 
        text-align:center; 
}

@media only screen and (min-width: 768px) {

    .profile {
        width:60vw;
        margin-left:4vw;
    }
    
}
.about_wrapper p { text-align:left; }


#aboutBookDesktop, #contactBookDesktop {
    display:none;
}

        @media only screen and (min-width: 768px) {
            .about_wrapper p { 
                font-size:1.62vw;
                line-height:2.75vw;
                font-weight:200;
                display:block;
                clear:left;
                margin-left:3vw;
                width:55vw;
            }
            
            #aboutBookDesktop, #contactBookDesktop {
                display:block;
                margin-right:3vw;
            }
            
            #aboutBookMobile,  #contactBookMobile {
            display:none;
}
        }



.about_wrapper p img { 
        width:20%;  
        float:left;
        margin: .25em 1.25em 0 0;
        border-radius: 6px 6px 6px 6px;
        -moz-border-radius: 6px 6px 6px 6px;
		-webkit-border-radius: 6px 6px 6px 6px;
}

.title { font-weight: 300; font-style:italic; }

details { margin:1em 0 2em; }



details > summary  { 
    display:block;
    text-align:left;
    color:#94A35E; 
}

details > p { 
    font-style: italic; 
    font-weight:200; }

     @media only screen and (min-width: 768px) {
         
             details > summary  {  
                 margin-left: 3vw; 
                 font-size: 1.5vw;
             }

            .about_wrapper details > p {
                 font-size: 1.35vw;
                 font-style:italic;
                 line-height:2.5vw;
             }
        }





/* contact page styles */





.contact_wrapper { 
        padding:8%;
        background-color:#efefef; 
        top: text-align:center; 
}

.contact_wrapper p { text-align:left; }

     @media only screen and (min-width: 768px) {
         .contact_wrapper p {
         font-size: 1.62vw;
         line-height:2.75vw;
         font-weight:200;
         display:block;
         width:57vw; }
         
    }        

@media only screen and (min-width: 768px) {
    #contactBookDesktop { margin-top: 0vw; }
}
.contact_wrapper p.address { 
    margin:10vw 0vw; 
    line-height:6.70vw; }

     @media only screen and (min-width: 768px) {
         .contact_wrapper p.address { 
             margin:0;
             line-height: 2.75vw; }
    }        

.contact_wrapper p img { 
        width:40%;  
        float:left;
        margin: 1vw 3.5vw 0 0;
           border-radius: 2.5vw 2.5vw 2.5vw 2.5vw;
        -moz-border-radius: 0.5vw 0.5vw 0.5vw 0.5vw;
		-webkit-border-radius: 0.5vw 0.5vw 0.5vw 0.5vw;
}



.contact_wrapper img.desktop { display:none; }

     @media only screen and (min-width: 768px) {
         .contact_wrapper p img { display:none; }
         .contact_wrapper img.desktop { 
            display:block;
             width:20vw;
            float:left;
            margin-left:4vw; 
            margin-right: 4vw;
            border-radius: .50vw 0.5vw 0.5vw 0.5vw;
         }

        }
    

.contact_map { 
        width:100%; 
        height:60vw; 
        margin-bottom:5vw;
        background-color:#fff;   
        border:2px solid #94A35E; 
        border-radius:  2vw 2vw 2vw 2vw;
        -moz-border-radius: 0.25vw 0.25vw 0.25vw 0.25vw;
        -webkit-border-radius: 0.25vw 0.25vw 0.25vw 0.25vw;
}

    @media only screen and (min-width: 768px) {
        .contact_map { 
                width:78vw; 
                height:40vw; 
                margin-top:9vw;
                margin-left:4vw;
                border-radius:  2vw 2vw 2vw 2vw;
                -moz-border-radius: 0.25vw 0.25vw 0.25vw 0.25vw;
	            -webkit-border-radius: 0.25vw 0.25vw 0.25vw 0.25vw;
        }
    }

.addy, .phone { color: #1B4A68; }
.phone { 
        font-weight: 600; 
        text-decoration:none;
        font-size:4.85vw; 
        line-height:0vw;
}

    @media only screen and (min-width: 768px) {
        .phone { 
        font-weight: 600; 
        text-decoration:none;
        font-size:2.85vw; 
        line-height:0vw;
        }
    }

.contact_wrapper h3.desktop {
        display:none;
}

.contact_wrapper h3 {
        font-size:4.25vw;
        font-weight:400;
        text-align:center;
}
    @media only screen and (min-width: 768px) {
        .contact_wrapper h3.desktop {
            font-size: 1.5vw;
            font-weight:400;
            float: left;
            display: block;
            width: auto;
            margin-left:4vw;
        }
        
        .contact_wrapper h3 { display:none; }
}    

/*DESKTOP*/
/* homepage styles */


    /*
.homepage { 
        display:block; 
        width:95%; 
        margin:0 auto; 
        text-align:center;  
        background-image: url("images/imgresized.jpg");
        background-size:73%;
        background-repeat:no-repeat;
        background-position:100% 62%;
}
   
main { width:90%; margin:5vw; auto; }
    
   */


/*
.homepage h1 { 
        font-size:2.85em; 
        line-height:0em;
        font-weight:200; 
        text-align:left;
        margin:0;
        padding:0;
}
*/



/*
.homepage strong { 
        display:block;
        float:left;
        font-size:1.35em !important; 
        font-weight:300; 
        color:#888;
        margin-left:10.5vw; margin-top:-37px;
        line-height:0 !important; 
}

*/
/* 

*/
} /* end media query*/