@font-face {font-display: swap; font-family: 'Rubik';font-style:normal;font-weight: 300 900;src: url('/assets/fonts/Rubik-VariableFont_wght.ttf') format('truetype-variations');}
@font-face {font-display: swap; font-family: 'Rubik';font-style: italic;font-weight: 300 900;src: url('/assets/fonts/Rubik-Italic-VariableFont_wght.ttf') format('truetype-variations');}



:root {
    --light-blue: #5aa9b3;
    --blue: #01606A;
    --black:#0A0A0A;
    --dark-grey: #292929;
    --orange:#e0834f;
    --dark-orange:#cd4a00;
    --white: #ffffff;
    --shadow: #a1a1a1;
    --green: #aec867;
    --light-green: #cddda2;
    --dark-green: #7c9d20;
}

@media (prefers-reduced-motion: reduce) {
  *, ::before, ::after {animation-delay: -1ms !important;animation-duration: 1ms !important;animation-iteration-count: 1 !important;background-attachment: initial !important;scroll-behavior: auto !important;transition-delay: 0s !important;transition-duration: 0s !important;}
}

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
.sreen-reader-only {position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;}
#skip a {position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden;}
#skip a:focus {position:static;width:auto;height:auto;}

:target {
    scroll-margin-top: 2rem;
}
*, ::before, ::after { box-sizing: border-box; }
body {font-family: 'Rubik';    font-size: 1.1rem;color: var(--dark-grey);margin: 0;padding: 0;line-height: 1.5;
/*background-size: 100% 100%;*/
/*background: fixed; */
/*background-position: 0px 0px, 0px 0px, 0px 0px, 0px 0px, 0px 0px, 0px 0px, 0px 0px, 0px 0px, 0px 0px, 0px 0px, 0px 0px;*/
/*background-image: radial-gradient(18% 28% at 24% 50%, #FFFFFF94 7%, #073AFF00 100%), radial-gradient(18% 28% at 18% 71%, #FFFFFF59 6%, #073AFF00 100%), radial-gradient(42% 53% at 15% 94%, #FFFFFFFF 7%, #073AFF00 100%), radial-gradient(42% 53% at 34% 72%, #FFFFFFFF 7%, #073AFF00 100%), radial-gradient(18% 28% at 35% 87%, #FFFFFFFF 7%, #073AFF00 100%), radial-gradient(31% 43% at 7% 98%, #FFFFFFFF 24%, #073AFF00 100%), radial-gradient(28% 38% at 72% 23%, #E1FCFF 4%, #073AFF00 100%), radial-gradient(35% 56% at 91% 74%, #F2CCB7 0%, #073AFF00 100%), linear-gradient(125deg, #e4854a0a 1%, #FAEBE3 100%);*/}
.clear::after {
  content: "";
  clear: both;
  display: table;
}
main {/*width: 94%;*/margin:0 auto;max-width: 1280px;min-height: 75vh;padding: 0 0 2rem 0;overflow: clip;font-size: 1.1rem;}

h1,h2,h3,h4,h5,h6 {margin: 0;padding: 0;font-weight: 400;font-family: 'Rubik', system-ui, arial, serif;line-height: 1;text-wrap:balance;}
h1 {font-size: 2.75rem;color:var(--dark-orange);margin-bottom: .5em;text-shadow: 1px 1px white, -1px -1px white, -1px 1px white, 1px -1px white;}
h2 {font-size: 1.75rem;color:var(--blue); margin: 2rem 0 1rem;}
h2:first-of-type {
    margin: 0 0 1rem;
}
h3 {font-size: 1.375em}
h4 {font-size: 1.5em;color: var(--dark-orange);}

a {color: var(--blue)}
a:hover {background: #efb494;text-decoration: none;}
p a[href^="https"]:after, li a[href^="https"]:after {content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1em' height='1em' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%2301606A' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M12 6H6a2 2 0 0 0-2 2v10a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2v-6m-7 1l9-9m-5 0h5v5'/%3E%3C/svg%3E");padding: 0 0 0 .25em;}
:focus {outline:2px solid var(--blue);}
a:focus img  {outline:2px auto var(--blue); outline-offset: 2px;}

main ol, main ul {max-width: 70ch;margin: .5rem 0 1rem 0;}
main p {max-width:70ch;text-wrap:pretty;}

img {max-width: 100%;height: auto;display:block;}
blockquote {font-style: italic;margin: 0.25rem auto;padding: 0.25rem 2.5rem;position: relative;}
blockquote:before {content: "\201C";font-size: 5rem;position: absolute;left: -3px;top: -20px;color: var(--orange);}

.staff-login {
background: black;
color: white;
padding: .5rem 1rem;
display: flex;
}
.staff-login-btn-wraper{margin:0 0 0 auto;}
.staff-login-btn-wraper a {
    padding: .15rem .25rem;
    border-radius: .25rem;
    margin-inline: .5rem;
    color:white;text-decoration: none;
}
.staff-login-btn-wraper a:hover {color:var(--blue);}

/**************  SYSTEM ERROR PAGE  ****************************************************/
.system-page, .system_page {padding:60px 10px; text-align:center;}
.system-page p, .system_page p {margin:2rem auto 4rem;}
.system_table {margin:auto;}
.system_page .big_letter {
    font-size: 5em;
    font-family: Emerald,"Helvetica Neue", Helvetica, sans-serif;font-weight: normal;
    color: var(--dark-red);
}
.system_svg{width:45px;height:45px;margin:0 auto 35px;display:block}
.system_table td:nth-child(1) {text-align: right;padding:.25rem;}
.system_table td:nth-child(2) {text-align: left;padding:.25rem;}

header {border-bottom: 7px solid #e0834f;background: #adc56a;}
.main-logo-container {max-width: 1280px;margin: auto;position: relative;}
.main-logo {margin: 20px 0 -60px 2rem;max-width: 195px;position: absolute;z-index: 2;transition: all .6s ease-in-out;}
.sub-menu {display: flex;font-size: .9em;white-space: nowrap;max-width: 1280px;width: 96%;margin: 0 auto;justify-content: flex-end;align-items: center;height: 70px;}
.sub-menu a {color: var(--dark-grey);text-decoration:none;}
.a-btn {display:inline-block;border: 3px solid #1a7d7d;background: #1a7d7d;padding: 0.25rem 1.25rem;margin: 1rem;border-radius: 1rem;letter-spacing: 1px;text-decoration: none;color: #ffffff;font-size: inherit;}
.a-btn:hover, .review-btn:hover {border: 3px solid #e4844a;background:#e4844a;color:white;}


.edit-content {text-align: right;}
.edit-btn {background: grey;color: white;font-size: .9rem;line-height: 1;padding: .15rem .5rem;border-radius: 20px;text-decoration: none;border: 1px solid grey;}
.form-delete {display:inline;}
.form-delete input[type=submit] {background: black;color: white;font-size: .9rem;line-height: 1;padding: .25rem .5rem;border-radius: 20px;text-decoration: none;border: 1px solid black;margin: 0 .15rem;font-weight: inherit;letter-spacing: inherit;}
.edit-btn:hover, .form-delete input[type=submit]:hover {border: 1px solid #e4844a;background:#ffffff;color:black;}

@media(max-width: 575px) {
    .main-logo {margin: 31px 0 -60px 1rem;max-width: 150px;}
    .desktop{display:none;}
}
    
/**************  NAVIGATION  ****************************************************/
nav.main { text-align: right;position: relative;background:white;}
.nav-dropdown > :first-child:after { content: "\25BE"; padding-left: 4px; }
.nav-dropdown:focus-within > ul, .nav-dropdown:hover > ul {display: block;}
.selected > a:first-of-type { color: #ffffff;background-color:var(--light-blue); }
/*.highlight > a {background-color: var(--light-accent);color: var(--black)!important;}*/
.main ul { margin: 0 auto; padding: 0; list-style-type: none; /*position: relative;*/ max-width: 1280px;}
.main ul li { display: inline-block;transition: background-color 0.4s ease-in-out; position: relative; }
.main ul li a, .main ul li span { text-decoration: none; display: block; padding: 1rem 1.5rem; font-size: 1rem; color: #000000;transition: padding .6s ease-in-out; }
.main :focus, .main ul li a:hover, .main ul li span:hover, .main button:hover, .highlight > a:hover {  background: var(--light-blue);color:#ffffff;transition: background 0.6s ease-in-out}
.main ul ul { position: absolute; z-index:2; min-width: 200px; display: none; text-align:left; background: var(--orange);box-shadow: 2px 2px 5px #af653c;border-radius: 0 0 1rem 1rem;overflow: hidden;left: 50%;transform: translateX(-50%);}
.main ul ul li a {color:var(--black);}
.main ul ul li { display: block; }
.main ul li:hover ul { display: block;}
.main ul li i { float: right; padding-left: 10px; color: #000000; /*font awesoome color*/}
.mobilenav {display: block!important;position: absolute;right: 0;}
.main button {font-size: 1.3rem;cursor: pointer;display: none;padding: 1.1rem .5rem;color: var(--black);background: inherit;border: none;font-family: inherit;margin: 0 8% 0 auto;line-height:1;align-items: center;}
.main button span {font-size: 1.3rem;}

@media(max-width: 990px) {
.main ul li a, .main ul li span  {padding: 1rem .5rem;}
}
@media(max-width: 840px) {
    .main button {display: flex;}
    .main button svg {stroke:#000000;}
    .main button:focus svg {stroke: #ffffff;}
    .main button:hover svg {stroke:white;}
    .main ul {display: none;background:var(--white);text-align: left;max-width: 300px;margin: 0 0 0 auto;z-index: 10;}
    .main ul li {display: block;border: thin solid var(--orange);}
    .nav-dropdown {background: #eeeeee;}
    .main ul li a, .main ul li span  {padding: .5rem 2rem;}
    .main ul ul {position: static; left: 0;transform: none;width:100%;box-shadow: none;border-radius:0 0 0 0;}
    .main ul ul li {background: #ffffff;border-left: none;border-right: none;border-bottom: none;}
    .main ul ul li a {padding: .5rem 4rem;}
    nav:has(.mobilenav) ul {display: block;}
}
@media(max-width: 575px) {
   /* .main ul {display: none;top: 55px;text-align: center;} */
    .main button {padding: 10px 8px;}
}

article {position:relative;/*margin-right:.5rem*/padding: 0 2%;}
article:has(aside) {display:flex;gap: 2rem;}

article:has(aside) > div {flex: 1 1 auto;max-width: 50%;}
article h1 {padding-top: 4rem;}
article > aside {flex: 1 1 auto;max-width: 50%;}
.aside-center {text-align: center;}
.photo-circle {margin: 4rem 4rem 0 0;border-radius: 100%;}
article > aside h2:first-of-type {padding-top: 4rem;text-align:left;mix-blend-mode: color-burn;}

@media(max-width: 800px) {
    article:has(aside) {flex-wrap: wrap;}
    article:has(aside) > div, article > aside {width:100%;max-width:100%;}
    article > aside h2:first-of-type {padding-top:0;}
}
@media(min-width: 600px) {
    .article-circles {background: url(/assets/orange-elipses.webp) right top no-repeat}
}

.pageBottomTagLine {background: url(/assets/orange-dots-hp.webp) center repeat-x;margin: 2rem 1rem 1.5rem 1rem;text-align: center}
.pageBottomTagLine h2 {background: #fff;font-size: 1.5em;display: inline-block;line-height: 1.2;padding: 0 1rem;color: var(--dark-orange);}
.vid-frame iframe {height:auto;width: 100%; aspect-ratio: 535 / 300;}


/**********  OUR TEAM PAGE  **********/
.team-list section:nth-child(even) {margin-left:4rem;}
.team-wraper {display: flex;gap: 1rem;margin: 2rem 1rem;align-items: center;}
.team-wraper p {white-space: pre-wrap;}
/*.team-wraper h3 + p {margin-top: .5rem;}*/
.team-position {margin: 0 0 1rem 0;padding: 0;}
.team-wraper img, .team-wraper picture {display:block;width: 100%;height: 100%;max-width: 200px;max-height: 200px;border-radius: 100%;border: 5px solid var(--light-blue);}
.staff-wrapper img, .staff-wrapper picture {display:block;width: 100%;height: 100%;max-width: 150px;max-height: 150px;border-radius: 100%;border: 5px solid var(--light-blue);}
@media(max-width: 700px) {
    .team-wraper {flex-wrap:wrap;text-align: center;}
    .team-wraper img, .team-wraper picture {margin: 0 auto;}
    .team-list section:nth-child(even) {margin-left:2rem;}
}

/**********  OUR TEAM LOCATION PAGE  **********/
.staff-flex {display: flex;flex-wrap: wrap;gap: 2rem;justify-content: center;}
.staff-wrapper {text-align: center;}
.staff-wrapper h3 {margin-block-start: .5rem;}
.staff-wrapper p {margin: 0;font-style: italic;}

.detail-portrait {border-radius: 100%;}


.circle-statement {margin: auto;width: fit-content;}
.circle-statement-wrapper {position: absolute;right: 30px;top: -20px;transition: all .6s ease-in-out;}
.circle-statement-blue {background:var(--blue);}
.circle-statement-blue::after {background: var(--light-blue);}
.circle-statement-green {background:var(--dark-green);}
.circle-statement-green::after {background: var(--green);}
.circle-statement-blue, .circle-statement-green {max-width: 250px;aspect-ratio: 1 / 1;display: flex;border-radius: 100%;align-items: center;text-align: center;position:relative;padding: 1.1rem;}
.circle-statement-blue::after, .circle-statement-green::after {content:'';width: 150px;aspect-ratio: 1 / 1;border-radius: 100%;z-index: -2;position: absolute;right: 140px;bottom: 0;}
.circle-statement-blue h2, .circle-statement-green h2 {color: white;font-size: 1.7rem;rotate: -10deg;line-height: 1.1;text-wrap-style: stable;padding-top: 0 !important;text-align: center !important;mix-blend-mode: normal !important;}
@media(max-width: 600px) {
    .circle-statement-wrapper {right:-50px;}
}
@media(max-width: 520px) {
    .circle-statement-wrapper {position: static;margin: 0 auto 1rem;width: fit-content;}
}

.braces-type {text-align:center;}
.braces-type .flex-grid {display: flex;align-items: center;justify-content: space-between;}
.braces-type h1 {font-size: clamp(2.5rem, 0rem + 5vw, 4rem);}
.braces-type h2 {font-size: clamp(1.5rem, 0rem + 5vw, 2.5rem);font-weight: bold;color: var(--blue);letter-spacing: 2px;}
.center-list {text-align:center;}
.center-list ul {display: inline-block;text-align: left;}
.braces-type .orange {color:var(--dark-orange);}
.braces-type .blue {color:var(--blue);}
.braces-type .green {color:var(--dark-green);}

.smile-gallery-wrapper {background: url(/assets/orange-dots-hp.webp) center bottom repeat-x;padding-bottom: 3em;margin: 3em auto;display: flex;gap: 2rem;flex-wrap: wrap;align-items: center;}
.smile-gallery-wrapper > div {flex: 1 1 400px;}
.smile-gallery-images {display: flex;gap: 1rem;justify-content: center;}
.smile-before, .smile-after {position: relative;}
.smile-before::after, .smile-after::after  {position: absolute;bottom: 0;left: 0;padding: .3rem;background: var(--green);line-height: 1;border-radius: 50%;width: 53px;aspect-ratio: 1 / 1;align-content: center;font-size: .9rem;height: 53px;text-align: center;}
.smile-after::after {content: 'after';}
.smile-before::after {content: 'before';}
    
@media(max-width: 910px) {
    .smile-gallery-wrapper {text-align:center;}
}
@media(max-width: 500px) {
    .smile-gallery-images {flex-wrap: wrap;}
    .smile-gallery-images img{margin: auto;}
}

.testimonials-wrapper {display: flex;align-items: center;flex-wrap: wrap;gap: 1rem;}
.testimonials-wrapper > div {flex: 1 1 auto;}
.testimonials-wrapper .muse-video-player {width: clamp(400px, 48%, 700px);height: auto;aspect-ratio: 576 / 324;}
.testimonials-wrapper iframe {width: 100%;aspect-ratio: 700 / 395;border: none;height: auto;}
.testimonials-wrapper video {width:100%;height:auto;margin:0 auto;max-width: 1280px;}

.review-wrapper {display: flex;flex-wrap: wrap;gap: 1rem;}
.review-card {flex: 1 1 400px;}
.review-card h3 {margin: 0 0 0 .5rem;}
.review-verified {font-size: .8rem;display: inline-block;margin: 0 1rem;border: thin solid var(--shadow);padding: .125rem;text-transform: lowercase;vertical-align: top;}
.review-star-wrapper {display: flex;gap: 1rem;align-items: center;margin: .5rem;}
.review-star-wrapper .star {font-size: 1.5rem;color: var(--orange);}
.review-date {font-size: .9rem;font-style: italic;}
.rating-card blockquote {display: block;text-align: left;}
.review-card p {margin: .5rem 0 2rem 0;}

.review-confirmation-wrapper {padding: 4rem 0;text-align: center;}
.review-confirmation-wrapper p {margin: 1rem auto;}
.review-confirmation-wrapper h1 {padding-top:0;}
.review-link-wrapper {display: flex;column-gap: 1rem;justify-content: center;flex-wrap: wrap;text-align: center;row-gap: 3rem;margin: 2rem auto;}
.review-link-wrapper > div {flex: 0 1 300px;}
.review-icon {width: 60px;height: auto;margin:0 10px; border-radius: 50%;}
.review-btn {display: block;border: 3px solid #ffffff;padding: 0.25rem 1rem;border-radius: 1rem;font-weight: 600;letter-spacing: 1px;text-decoration: none;color: black;}

.giving-back-wrapper {background: url(/assets/orange-dots-hp.webp) center bottom repeat-x;padding-bottom: 3em;margin: 3em auto;}
.giving-back-wrapper span {font-size: .9rem;font-style: italic;}
.giving-back-wrapper:has(.giving-image) {display: flex;align-items: center;flex-direction: row;}
.giving-image img {max-width: 250px;}
@media(max-width: 650px) {
    .giving-back-wrapper:has(.giving-image) {flex-direction: column;text-align: center;}
}

/**********  LOCATION DETAIL  **********/
iframe {width: 100%;height: 300px;border: none;}
.location-grid {display: grid;grid-template-columns: repeat(2, 1fr);gap: 2rem;}
.location-contact-grid {display: grid;grid-template-columns: 100px 1fr;gap: 1rem;}
.contact-title {font-weight: 600;text-align: right;}
.section-orange {padding-block: 2rem;margin-block: 2rem;margin-inline: -2rem;background-color: var(--orange);}

@media(max-width: 750px) {
    .location-grid {display: grid;grid-template-columns: 1fr;}
}

/**********  CONSULT OPTIONS DETAIL  **********/
.content-flex {display:flex;flex-wrap: wrap;gap: 2rem;margin-block: 2rem;}
    .content-flex > div {flex: 1 1 250px;}
    .consult-type-wrapper {text-align: center;padding: 2rem;}
    .consult-type-wrapper img {max-width: 400px;width: 100%;border: solid thin;margin-inline: auto;display: block;margin-block-end: 2rem;}

/**********  FOOTER  **********/
footer a {color:white;text-decoration:none;}
footer a:focus {outline:2px solid white;}
footer a:hover {background: inherit;text-decoration:underline;}
footer { color: var(--white); background-color: var(--blue);padding: 2rem 0; text-align:center; }
footer h3 {margin-bottom: 1rem;font-weight: bold;}
footer p {margin: 0 auto 1rem auto;}
.footer-grid {width: 96%;max-width: 1280px;margin: auto;display: flex;flex-wrap: wrap;justify-content: center;column-gap: 1rem;row-gap: 3rem;}
.footer-grid > div {flex: 1 1 220px;}
.footer-phone {color:var(--white);}
.footer-phone:hover {color:var(--black);}
.copyright { text-align:center; font-size: .8em; font-style: italic;margin: 2rem auto;width: 90%;text-wrap: balance; }
.hours {display: grid;grid-template-columns: 70px 140px;column-gap: 1em;row-gap: .25em;text-align: left;    justify-content: center;}
.hours span:nth-child(odd) {text-align: right;}
.social-icons {display: flex;column-gap: 20px;justify-content: center;}
.social-icon {width: 35px;height: auto; }
footer svg:hover, footer img:hover {filter: invert(1);}
.social-round {border-radius:50%;}

/**********  TABLE  **********/
table {border-collapse: collapse;}
th {background-color: var(--orange);color: var(--white);padding: .25rem .5rem;font-size: 1rem;text-align: left;}
tbody tr {border-bottom: thin solid var(--shadow);}
td {padding: .25rem .5rem;font-size: 1rem;}
td span {
    font-size: .8rem;
}
td a {text-decoration: none;padding: .15rem .25rem;border-radius: .25rem;}

/**********  SIGNIN  **********/
.sign-in-wrapper {display:grid;grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));gap: 4rem;}

/**********  FORM  **********/
form {text-align:left;margin:0 auto;max-width: 800px;}
.form-flex {display: flex;column-gap: 2rem;flex-wrap: wrap;}
.form-flex > div {flex: 1 1 0;min-width: 300px;}
.form-note {font-size: .9rem;margin-inline: 1rem;font-style: italic;line-height: 1;margin-block-start: .25rem;color: #565656;}
.form-item, .form-item-fit {border: thin solid var(--blue);border-radius: .5rem;margin: 1.5rem 0 0 0;max-width:500px;position:relative;}
.form-item-fit {width:fit-content;}
.form-item > label, .form-item-fit > label {display: block;font-size: .9rem;margin: -0.5rem 0 0 0.5rem;background: white;width: fit-content;padding: 0 .5rem;position: absolute;border-radius: .25rem;}
label {line-height: 1;color: var(--blue);}
label:has(+ input:required):after, label:has(+ textarea:required):after, label:has(+ select:required):after, .check-list legend:has(~ div > input:required):after {content: ' *';color: red;}
input[type=email], input[type=tel], input[type=text], input[type=file], input[type=password], input[type=date], input[type=number] {border: none;border-radius: .5rem;width: 100%;padding: .75rem;font-family: inherit;font-size: inherit;line-height:1;background-color:#ffffff;}
textarea {display:block;border: none;border-radius: .5rem;width: 100%;padding: .75rem;font-family: inherit;font-size: inherit;line-height:inherit;field-sizing: content;min-height: 75px;}

input[type=checkbox] {margin: .625em .625em .625em 0}
select {border: none;border-radius: .5rem;width: 100%;padding: .85rem .75rem;font-family: inherit;font-size: inherit;line-height:1;background: inherit;-webkit-appearance: none;appearance: none;}
input[type=submit] {border: 3px solid #1a7d7d;background: #1a7d7d;padding: 0.25rem 1.25rem;margin: 1rem;border-radius: 1rem;letter-spacing: 1px;text-decoration: none;color:#ffffff; font-size: inherit;}
input[type=submit]:hover {border: 3px solid #e4844a;background:#e4844a;color:white;}
fieldset {margin-bottom: 2rem;border: none;padding-inline: 0;}
fieldset:last-of-type {margin-bottom: 0;}
legend {
    background: var(--orange);
    color: #fffdfd;
    padding: .25rem .75rem;
    font-weight: bold;
    letter-spacing: 2px;
    margin-inline-start: 1rem;
    border-radius: 1rem;width: fit-content;
}
legend + p {font-style: italic;font-size: 1rem;margin: 0 0 1.5rem;}

fieldset.check-list {padding: .25rem .75rem 0.85rem .75rem;border: thin solid var(--blue);border-radius: .5rem;max-width: 500px;margin: 1rem 0 0 0;position: relative;display: flex;column-gap: 1.5rem;flex-wrap: wrap;text-align: left;}
fieldset.check-list legend {font-weight: normal;letter-spacing: normal;font-size: .9rem;background: white;width: fit-content;padding: 0 .5rem;color: var(--blue);margin: 0;}
fieldset.check-list > div {white-space: nowrap;}

#form_image_view img, .form-image-view img {
    max-width: 300px;
    margin: 1rem auto;
    display: block;border: thin solid var(--blue);
}
#form_image_view p, .form-image-view p {
    text-align: center;
}

.float-btn {position: sticky;bottom: 0;text-align: center;margin-inline: -1rem;z-index: 1;}
.float-btn a {color: var(--black);background: var(--orange);padding: .7rem;width:100%;display: block;text-decoration:none;font-weight: 600;font-size: 1.3rem;}
.float-btn a:hover {color: var(--white); background-color: var(--dark-orange);}


.form-table .form-flex {flex-wrap: nowrap;align-items: center;}
.form-table .form-flex > div {min-width: auto;flex: 0 1 auto;}
.form-table select {width: auto;outline: thin solid var(--shadow);padding: .25rem .5rem;border-radius: .25rem;}
.form-table textarea {outline: thin solid var(--shadow);padding: .25rem .5rem;border-radius: .25rem;min-width: 100px;min-height: auto;field-sizing: content; line-height: 1;}

input:user-invalid, select:user-invalid {
    background: #ffe0d8;
}

/**********     PASSWORD ENTRY     **********/
.password-form {max-width:500px;text-align: left;}
.password-view-wrapper {
    position: absolute;
    right: 5px;
    top: -7px;
    background: var(--white);
}
.password-view-checkbox {    font-size: .8rem;
    display: flex;
    margin-inline-end: .5rem;
    align-items: center;}
.password-view-checkbox > input[type=checkbox] {
    margin: 0 .625em 00;
}
#password_error_wrapper {columns: 2;max-width: 450px;    margin: .5em;font-size: .8rem;}
#password_error_match {font-size: .8rem;margin: 0 0 1rem 1rem;color: red;}
.password-error {color: red; font-weight:bold;}
.password-success {color: green;font-weight:bold;}
.password-no-break {white-space: nowrap;}

/*
.imgupload-blank {display:none!important;}
#fileInfo {
    text-align: center;
}
.upload-error {color:red;}*/

.slideshow-container {position:relative;width:100%;height:80vh;min-height:500px;overflow:hidden;}
.mySlides { display: none; height: 80vh;min-height: 500px;width: 100%; overflow:hidden;background-color: var(--black);border-bottom: 2px solid var(--shadow);max-width: 1440px;margin: 0 auto;}
.mySlides .res-image { width: 100%; height: 100%; object-fit: cover; /*filter: brightness(0.5);*/     aspect-ratio: 1920 / 1132;}
.mySlides img {transform:scale(1.2); animation: kenburns 10.3s; /*animation-iteration-count: infinite;*/}
.slideshow-text {padding: 3%;text-align: center;position: absolute;left: 8%;bottom: -3%;width: clamp(250px, 35%, 350px);max-width: 350px;aspect-ratio: 1 / 1;animation: textfade 10.3s;/*animation-iteration-count: infinite;*/background: #4d9499;display: flex;flex-direction: column;justify-content: center;align-items: center;border-radius: 50%; rotate: -10deg;z-index:2;}
.slideshow-text-circle {content: "";position: absolute;left: 28%;bottom: 10%;width: clamp(175px, 30%, 200px);aspect-ratio: 1 / 1;animation: textfade 10.3s;/*animation-iteration-count: infinite;*/background: #97bdc2;border-radius: 50%;z-index: 1;}
.slideshow-text-line1 {font-size: clamp(2rem, calc(5vw - 1rem), 3rem);color: var(--white);line-height: 1;text-wrap: balance;text-transform: uppercase;font-weight: 600;}
.slideshow-text-line2 { font-size: clamp(1.25rem, calc(5vw - 1rem), 1.5rem);color: var(--white);line-height: 1;}
.slideshow-container .next { right: 10px; }
.slideshow-container .prev { left: 10px; }
.slideshow-container .prev, .slideshow-container .next {cursor: pointer; position: absolute; bottom: 50%; /*padding: 10px 20px;*/ color: #f2f2f2;  font-size: 3em;  transition: .6s ease; opacity: .7; }
.slideshow-container .prev:hover, .slideshow-container .next:hover { color: var(--black); background-color: #f2f2f2; }
.dot-selector {text-align:center; position: absolute; bottom: 20px; left: 0; width:100%; z-index:1;}
.dot { cursor: pointer; height: 12px;  width: 12px;border-radius: 50%;  display: inline-block;border: thin solid var(--prime);margin: .2rem; }
.dot-selector .active {border:thin solid var(--prime);background:var(--prime); }
.dot:hover { background-color: var(--white); border:none;}
.slideshow-container a {text-decoration:none;}

@media screen and (max-width: 800px) {
    .slideshow-container { height:60vh;}
    .mySlides { height: 60vh;}
}
@keyframes kenburns {
    0%{transform: scale(1);opacity:0;} 
    10%{transform: scale(1);opacity:1;} 
    90% {transform: scale(1.2);opacity:1;}
    100% {transform: scale(1.2);opacity:0;}
}
@keyframes textfade {
    0%{opacity:0;} 
    10% {opacity:0;} 
    30% {opacity:1;} 
    100% {opacity:1;}
}

/**************  Gallery  ****************************************************/
.image-gallery {display: flex;flex-wrap: wrap;gap: 1rem;justify-content: center;}
.gallery-card {padding: 0 0 40px 0;}
.image-card {flex: 1 1 auto;width: 250px;height: auto;aspect-ratio: 1 / 1;text-align: center;position: relative;}
.image-card img {width: 100%;height: 100%;object-fit: cover;}
.image-card p, .caption {font-size: .8em;margin: 5px 20px 10px;text-align: center;}
.image-edit-bar {position: absolute;bottom: 0;right: 0;padding: 5px;}
@media(max-width: 600px) {
    .image-card {flex: 1 1 auto;min-width: 300px;height: auto;aspect-ratio: 1 / 1;}
}


.offer-image {
    clip-path: polygon(71% 0, 100% 0, 100% 100%, 0 100%, 0 85%);
    shape-outside: polygon(75% 0, 100% 0, 100% 100%, 0 100%, 0 85%);
    float: right;
    position: relative;
    z-index: -1;width: 65%;}
    .small-text {
    margin: 0;
    font-size: .8rem;
}
.offer {
        list-style: none;
    padding: 0;
    max-width: 90%;
    margin-inline: auto;
}
.offer-terms {
    font-size: 75%;
}
.offer li {
    background-color: #e17e4226;
    margin-block: .5rem;
    padding: .5rem;
    border-radius: .5rem;
    font-weight: bold;
    text-align: center;
    position: relative;
}
.offer li:before {
    content: "";
    position: absolute;
    left: -5px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 15px solid var(--dark-orange);
}
.offer li:after {
    content: "";
    position: absolute;
    right: -5px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-right: 15px solid var(--dark-orange);
}
/*********     SMILE-SNAP-VIEWER     **********/
.smile-snap-grid {display: grid;grid-template-columns: repeat(3, 1fr);gap: 1rem;align-items: center;font-size: 1rem;}
.smile-snap-grid img {width: 100%;height: 100%;object-fit: contain;}
.smile-snap-grid p strong {margin-inline-start: 1rem;}
.smile-snap-grid .details {display: grid;grid-template-columns: 1fr 2fr;gap: .5rem;}
.smile-snap-grid .details > div:nth-child(odd) {text-align:right;}
.smile-snap-grid .grid-item:first-child {grid-column: 1 / 3;}

/*********     PRINTER     **********/

@media print {
    @page {
    size: letter;
    size: landscape;
    }
    nav, header, footer,  button, .pagination, form, .noprint, input[type=submit], .staff-login {display:none!important;}
    html {background-color: white;}
    main {width: 100% !important;min-width:1000px;background-color:inherit;padding:0;}
    .smile-snap-grid {line-height: 1rem;/*grid-template-rows: repeat(3, 1fr);*/}
    .smile-snap-grid .grid-item {height: 235px;overflow: clip;}
  }