/*

	Same Day Pest Control stylesheet.
	author: cfront (sabn)
	created: 21-3-18
	
	fonts:
	
	
	colors:
    blue: #0075B2;

*/

* {
	box-sizing:border-box;
}

html {
	overflow-y:visible;
}

body {
	margin:0;
	padding:0;
	font-size:19px;
	font-family: 'Muli', sans-serif;
    color:#212121;
    background:#ededed;
}


.no-scrollbar::-webkit-scrollbar {
    display: none;
}

.no-scrollbar {
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch;
}

h1, h2, h3, h4, h5 {
    font-weight: 700;
    letter-spacing: 1px;
}

h1 {
    font-size: 48px;
    letter-spacing: 1px;
    color: #58b0d6;
}

h2 {
    font-size: 44px;
    padding: 0 20px;
    color: #58b0d6;
}

h3 {
    font-size: 30px;
}

h4 {
    font-size: 26px;
}

h5 {
    font-size: 22px;
}

p {
    line-height: 30px;
}

a {
   color:#58b0d6;
}

a:hover {
    color: #023a37;
}

.row.intro_row {
    margin-top:80px;
}

.faq_section {
    
}

.faq_section h3 {
    padding: 20px 80px 20px 20px;
    background: #ededed;
    margin-bottom: 0;
    position: relative;
    font-size:24px;
    font-weight:500;
}

.faq_section h3:hover {
    cursor: pointer;
    transition: all ease 1.5s;
    background:rgba(0,0,0,0.1);
    color:#0075b2;
}

.faq_answer {
    display: none;
    padding: 10px 20% 10px 20px;
    background: #f4f4f4;
    border-top: 1px solid #d8d8d8;
}

.faq_section h3 .material-icons {
    position: absolute;
    top: 20px;
    right: 20px;
    font-size: 32px;
    line-height:32px;
    color:#CCCCCC;
    transition:all ease 0.7s;
}

.faq_section h3.active {
    color: #0075b2;
}

.faq_section h3.active .material-icons {
    transform: rotate(90deg);
}

.expand_all,
.contract_all {
    display:inline-block;
    padding:10px 15px;
    margin:0 20px 0 0;
    background:#0075b2;
    color:#FFFFFF;
    transition:all ease 0.7s;
}

.expand_all:hover,
.contract_all:hover {
    cursor:pointer;
}

.expand_all.active,
.contract_all.active {
    background:#EDEDED;
    color:#7f7f7f;
}

.dark_blue_row {
    background: #01242d;
}

.dark_blue_row p {
    padding: 10px 0;
}

#header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    color: #FFFFFF;
    z-index: 10;
    display: flex;
    align-items: center;
    background: #aee4ff;
}

#header > * {
    flex-grow:1;
}

#logo {
    padding:10px 0;
}

#logo img {
    display: block;
    width: 250px;
    transition: all ease 1.27s;
}

nav a {
    color: #FFFFFF;
    text-decoration: none;
    margin: 0 5px;
    padding: 15px;
    font-size: 17px;
    transition: all ease 0.7s;
    letter-spacing: 1px;
    text-align: center;
}

.no_hero nav a {
    color:#0075B2;
}

.no_hero #header {
    color:#0075b2;
}

nav a.facebook {
    color:#58b0d6;
    font-size:30px;
}

nav a.facebook:hover {
    transition:all ease 0.7s;
    color:#58b0d6;
}
    #popupNav {
    display: none;
}

.section_image_bg .col_1_2 img {
    display:none;
}
/* when header fixed - after scroll */


#header nav a.current {
    border-bottom: 2px solid #FFFFFF;
}

.no_hero #header nav a.current, 
#header.fix nav a.current {
    border-bottom: 2px solid #0174b2;
}

#header.fix nav a.try_it, nav a.try_it {
    background: #0075B2;
    color: #FFFFFF;
}

.two_cols {
    column-count: 2;
    column-gap: 40px;
}

.two_cols p {
    margin:0;
}

.area_map {
    padding:40px;
}

.area_map img {
    display:block;
    width:100%;
}


#header.fix nav a.try_it:hover,
nav a.try_it:hover {
    background: #e7f70b;
    color: #0075B2;
}

#header .inner {
    padding: 0 20px;
    -webkit-box-shadow: 0 8px 6px -6px rgba(0,0,0,0.2);
    -moz-box-shadow: 0 8px 6px -6px rgba(0,0,0,0.2);
    box-shadow: 0 8px 6px -6px rgba(0,0,0,0.2);
    align-items:center;
}

#hero {
    position: relative;
    margin: auto;
    height: 100vh;
    background-size: cover;
    background-attachment: fixed;
}

.features_page #hero {
    background-position: 0 bottom;
}

.short_hero #hero {
    height: 60vh;
    min-height: 440px;
}

.hero_content {
    display: flex;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    align-items: flex-end;
    z-index: 2;
}


#hero:before {
    content: "";
    display: block;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    position: absolute;
    background: rgba(0,0,0,0.3);
    background: -webkit-linear-gradient(rgba(0,0,0,0), rgba(0,0,0,0.7));
    background: -o-linear-gradient(rgba(0,0,0,0), rgba(0,0,0,0.7));
    background: -moz-linear-gradient(rgba(0,0,0,0), rgba(0,0,0,0.7));
    background: linear-gradient(rgba(0,0,0,0), rgba(0,0,0,0.7));
    z-index: 1;
}

.hero_caption {
    max-width: 1280px;
    margin: 0 auto;
    color: #FFFFFF;
    text-align: center;
    margin-bottom: 120px;
    width: 54%;
}

.hero_caption h4 {
    letter-spacing: 1px;
    font-weight: 200;
    font-size: 30px;
    line-height: 44px;
}

.personnel_page h2 {
    color:#0075b2;
}

.features_row {
    background:#ededed;
}

.row {
    margin: 0;
    background-size: cover;
    background-repeat: no-repeat;
    outline: none;
}

.registration_page .row:first-of-type {
       margin-top:120px;
}

.registration_page .row.form-items {
    background: #EDEDED;
    padding: 40px 0 60px 0;
}

.registration_page .row.form-items .section {
    max-width: 1280px;
    margin: 0 auto;
    outline: none;
}

.inner {
    max-width: 1280px;
    margin: 0 auto;
    outline: none;
}
.flex_row {
    display:flex;
    flex-wrap:wrap;
}

nav {
    display: flex;
    flex-direction: row;
    justify-content: flex-end;
    width: calc(100% - 250px);
    align-items: center;
    height: 100%;
    color: #58b0d6;
    font-size: 30px;
}

nav a img {
    display: block;
    width: 30px;
}

li {
    margin:0 0 10px 0;
}

span.c2a,
a.link_button,
a.c2a {
    display: inline-block;
    padding: 12px 24px;
    background: #0075B2;
    color: #FFFFFF;
    text-decoration: none;
    font-size: 17px;
    letter-spacing: 1px;
    transition:all ease 0.7s;
}

span.c2a:hover,
a.link_button:hover,
a.c2a:hover {
    cursor:pointer;
    background:#e7f70b;
    color:#0075B2;
}

.static_caption .link_button {
    font-size:24px;
}

.material-icons {
    line-height: 10px;
}

a.link_button .material-icons {
    margin-right:5px;
    position:relative;
    top:5px;
}

.hero_scroll_container {
    position: absolute;
    bottom: 0;
    width: 100%;
    text-align: center;
    height: 86px;
    color: #FFFFFF;
    z-index: 2;
    display: flex;
    flex-direction: row;
    justify-content: center;
}

.hero_scroll {
    display: block;
    width: 140px;
    font-size:30px;
}

.scroll_label {
    font-size: 11px;
    letter-spacing: 2px;
    display: block;
    margin-bottom: 5px;
}
.hero_scroll:hover {
    cursor: pointer;
}

.hero_scroll img {
    width:70px;
    fill:#FFFFFF;
}

.hero_scroll .fa-long-arrow-down {
    position: relative;
    transition: top 0.25s linear;
    top: 0;
}

.hero_scroll:hover .fa-long-arrow-down {
    top: 5px;
}

.col_1_1 {
    width: 100%;
    padding: 10px;
    background: #FFFFFF;
}

.col_1_2 {
    background:#FFFFFF;
    padding:10px;
}

#popupNav .inner,
#popupNav .col_1_2 {
    background: none;
    box-shadow: unset;
}

.col_1_2 h1 {
    margin-top: 0;
}

.col_1_2 {
    width: 50%;
    padding: 40px;
}

.col_1_2 img {
    display: block;
    max-width: 100%;
    margin:auto;
}

.img_70pc .col_1_2 img {
    max-width:70%;
}

.col_2_3 {
    width: 66.667%;
}

.col_1_3 {
    width:33.333%;
}

.col_1_4 {
    width: 25%;
    padding: 20px;
}

.col_3_4 {
    width: 75%;
}

.service_image img {
    display:block;
    width:100%;
}
.quotes {
    font-size: 60px;
    color: #0075b2;
    font-family: 'Passion One', cursive;
    position: relative;
    top: 12px;
    margin: 0 5px;
}

.body_text {
    padding-bottom:20px;
}

.grey_row {
    background: #EDEDED;
    padding: 40px 0 60px 0;
}

.v_center .flex_row {
    align-items:center;
}

.v_center .flex_row h2 {
    margin-top:0;
}

.item_detail {
    width: 100%;
    margin: 0;
    position: fixed;
    height: 100vh;
    box-sizing: border-box;
    background: #0075B2;
    z-index: 1002;
    color: #333333;
    overflow-y: auto;
    right: -100%;
    top:0;
}


ul ul {
    margin:10px 0 20px 0;
}

.item_detail .container {
    background:#FFFFFF;
    padding:40px 0;

}

.close_nav,
.close_detail {
    position: absolute;
    top: 20px;
    right: 20px;
    cursor: pointer;
    color: #58b0d6;
    transition: background ease 0.5s;
    -webkit-transition: -webkit-transform .3s ease-in-out;
    transition: transform .3s ease-in-out;
    font-size: 40px;
}

.close_detail .material-icons {
    line-height:60px;
    font-size:60px;

}

.close_nav {
    color:#FFFFFF;
}

.close_nav:hover,
.close_detail:hover {
    transform: rotate(180deg);
}

.close_nav:hover {
    color:#58b0d6;
}

.service_item image {
    display:block;
    width:100%;
}

.service_info h4 {
    margin:0 0 20px 0;
}

.service_info  {
    padding:20px 40px;
}

.service_item {
    margin: 20px 0 0 0;
    padding: 30px 0 0 0;
    position: relative;
    outline: none;
    border-top: 2px solid #b3e6e4;
}

.intro_content .col_1_2 {
    background: #58b0d6;
    color: #FFFFFF;
}

.intro_content a,
.intro_content a:visited {
    color: #023a37;
}

.intro_content a:hover {
    color: #607d8b;
}

.service_item:first-of-type {
    border:none;
}

.row.services,
.row.areas {
    margin-top: 20px;
}

.service_title {
    align-items: center;
    margin-bottom: 40px;
}

.service_title h3 {
    margin:0;
}

.service_title > * {
    flex-grow: 1;
    width:50%;
}

.service_title > a {
    display: block;
    padding: 10px;
    background: #58b0d6;
    text-decoration: none;
    text-align: center;
    font-size: 16px;
    letter-spacing: 1px;
    color: #FFFFFF;
}

.service_title > a:hover {
    transition: all ease 0.7s;
    background: #58b0d6;
    color: #FFFFFF;
}

.title_row, 
.contact_details {
    background: #58b0d6; /*url(/images/tcs/bg_title.png);*/
    padding: 20px 40px;
    color:#FFFFFF;
}

.title_row {
    margin-bottom: 0;
}

.contact_details h2 {
    margin:0;
}
    /* footer */
footer, footer .inner {
    background: #58b0d6;
    color: #FFFFFF;
}

.service_links {
    padding:20px 0;
}
.services_footer_list {
    font-size: 13px;
    margin: 0;
    padding: 10px;
    list-style-type: none;
    flex-grow: 1;
}

.services_footer_list li {
    margin:10px 0;
}

.flex_row.two_col {
    flex-wrap: wrap;
}

.flex_row.two_col > div {
    width: 50%;
}

.sub_item {
    display:flex;
}

.sub_item_image {
    width: 180px;
    padding: 20px;
    box-sizing:border-box;
}
.sub_item_image img {
    display:block;
    width:100%;
}

.sub_item_text {
    width: calc(100% - 180px);
    padding: 20px;
}


.page_intro {
    display:flex;
    text-align:center;
    align-items:center;
    padding:140px 0;
    position:relative;
}

.row.text_page,
.small_intro .page_intro {
    padding: 40px 0 0 0;
}

.header_contact {
    width: calc(100% - 250px);
    color: #212121;
    text-align: right;
}

.page_features {
    padding: 40px 0;
    position: relative;
}

table {
    margin:20px 0;
    border-collapse: collapse
}

table td,
table th {
    border: 1px solid #CCC;
    padding: 5px
}

table tr th:nth-of-type(1),
table tr th:nth-of-type(2) {
    width: 20%;
}

table tr th:nth-of-type(3) {
    width: 60%;
} 


table th {
    background: #ededed;
    font-weight: 700;
}

table {
    margin: 20px 0;
    border-collapse: collapse;
}

table td {
    border: 1px solid #CCC;
    padding: 5px;
}

table th {
    white-space: nowrap;
    text-align: left;
    font-weight: 600;
    padding: 10px;
    border: 1px solid #CCC;
    background: rgba(0,0,0,0.1);
}

.page_intro_content {
    width: 100%;
    max-width: 680px;
    margin: 0 auto;
}

.page_intro_content h3 {

}

.page_features {
    display:flex;
    flex-wrap:wrap;
    text-align:center;
}

.page_feature {
    width: 25%;
    box-sizing: border-box;
    padding: 40px;
    position: relative;
    display: block;
    text-decoration: none;
    color: #7f7f7f;
}

.pf_image {
    margin-bottom:40px;
}

.pf_text h4 {
    margin-bottom: 5px;
    font-size: 28px;
}

footer a, footer a:link, footer a:visited {
    text-decoration: none;
    color: #FFFFFF;
}

footer a:hover {
    transition: all ease 0.7s;
    color: #ededed;
}

footer .col_1_3:nth-of-type(1) {
    padding-left: 0;
}

footer .col_1_3:nth-of-type(3) {
    padding-right: 0;
}

footer .base {
    font-size: 14px;
    padding: 40px 0;
    border-top: 1px solid rgba(255,255,255,0.1);
    display: flex;
    flex-wrap: wrap;
    box-sizing: border-box;
    font-weight: 200;
    letter-spacing: 1px;
}

footer .fa {
    font-size: 26px;
}

footer .col_1_3 {
    padding: 20px 0;
}

footer .vcard {
    letter-spacing: 1px;
    line-height: 26px;
}

footer .addr {
    font-weight: 200;
    font-size: 16px;
}

.vcard .tel,
.vcard .email {
    font-size: 16px;
}


.footer_logo {
    width: 206px;
    padding: 20px 0 0 0;
}

.footer_logo img {
    display:block;
    width:100%;
}

.contact_page footer .email a, .contact_page footer .tel, footer .email a, footer .tel {
    border: none;
}

footer .email a:hover,
.contact_page footer .email a:hover {
    color: #e7f70b;
}

.tagline {
    margin-top: 10px;
    letter-spacing: 1px;
    font-size: 16px;
}

.contact_page footer .email a:after {
    display: none;
}

.contact_page footer .email a {
    padding: 0 0 5px 0;
}

.contact_page footer .email {
    margin: 0;
}

.home_page h2 {
       font-size:44px;
}

.page_intro_text, 
.home_page .body_text p {
    font-size: 28px;
    line-height: 40px;
}


.contact_form input,
.contact_form textarea {
    font-weight: 200;
    font-size: 16px;
    padding: 10px;
    border: 1px solid #CCCCCC;
    outline: 0;
    display: block;
    margin: 10px 0;
    width: 50%;
    min-width: 233px;
    font-family: 'Muli', sans-serif;
}

.contact_form textarea{
    width: 60%;
    min-width: 233px;
    height: 140px;
}

.contact_form input[type=submit],
.register_form button {
    background: #0075b2;
    color: #FFFFFF;
    font-weight: 600;
    width: 180px;
    letter-spacing: 1px;
    font-size: 18px;
    text-transform: uppercase;
    font-family: 'Muli', sans-serif;
    padding: 10px;
    margin-top: 30px;
    border: none;
}

.register_form button {
    width: 260px;
    margin: 30px 0 0 180px;
}

.field-validation-error {
    font-weight: 500;
    color: #FF3300;
    margin-bottom: 10px;
    display: block
}

.register_form button:hover, 
.contact_form input[type=submit]:hover {
    background: #e7f70b;
    cursor: pointer;
    transition: all ease .7s;
    color: #FFFFFF;
}


.register_form input[type=checkbox] {
    display: none;
}
/* to hide the checkbox itself */
.register_form input[type=checkbox] + label:before {
    font-family: FontAwesome;
    display: inline-block;
}

.register_form input[type=checkbox] + label:before {
    content: "\f096";
}
/* unchecked icon */
.register_form input[type=checkbox] + label:before {
    letter-spacing: 10px;
    font-size: 30px;
    position: relative;
    top: 5px;
    line-height: 36px;
}
/* space between checkbox and label */

.register_form input[type=checkbox]:checked + label:before {
    content: "\f046";
}
/* checked icon */
.register_form input[type=checkbox]:checked + label:before {
    letter-spacing: 5px;
}
/* allow space for check mark */


.contact_page .social a {
    color:#0075b2;
}
button.agree_button {
    border: 0;
    background: transparent;
    color: #DDDDDD;
    font-weight: 500;
    padding: 0;
    box-sizing: border-box;
    margin: 10px 20px 10px 0;
    letter-spacing: 1px;
    outline: none;
}

button.agree_button:hover {
    cursor: pointer;
}

button.agree_button .material-icons {
    font-size: 60px;
    color: rgba(0,0,0,0.2);
    margin-left: 0;
    line-height:unset;
}

.form_agree {
    display: flex;
    align-items: center;
    margin: 10px auto;
    flex-wrap: wrap;
    padding-left:180px;
}

.register_form input[type="checkbox"] {
    width: 180px;
    min-width: 180px;
}

.register_form .form_agree label {
    width: calc(80% - 180px);
    font-weight: 200;
}

.register_form .captcha {
    padding-left:178px;
}

button .agree_button.selected, button.agree_button.selected .material-icons {
    color: #0075b2;
}

.ef.static {
    background: #ee0000;
    padding: 10px;
    color: #FFFFFF;
    margin: 0 0 10px 0;
}

label {
    font-weight: 600;
    padding: 10px 10px 10px 0;
    letter-spacing: 1px;
    width: 180px;
}

.agreement_notice  a,
.contact_page .vcard a {
    color: #0075b2;
}

.contact_page footer .vcard a {
    color:#FFFFFF;    
}

footer .contact {
    text-align: right;
    margin-top: 40px;
}

footer .logos {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

footer .logos a {
    display: block;
    width: 33.333%;
    box-sizing: border-box;
    padding: 10px;
}

footer .logos a img {
    display: block;
    width: 100%;
}

.social {
    margin-top:20px;
}

.social a {
    color:#FFFFFF;
    text-decoration:none;
    font-size:30px;
}

.social a:hover {
    color: #e7f70b;
    text-decoration: none;
    transition:all ease 0.7s;
}

.base_right,
.base_left {
    box-sizing: border-box;
    width: 50%;
}

.base_right {
    width:0;
    text-align: right;
}

.base_left {
    width:100%;
}

    .inner ul.footer_nav {
    padding: 0;
    margin: 30px 0 0 0;
    list-style-type: none;
    width: 80%;
    font-size: 19px;
    letter-spacing: 1px;
}

.inner ul.footer_nav li {
    margin: 0;
}

.footer_nav li a,
.footer_nav li a:visited,
.footer_nav li a:link {
    display: block;
    padding: 10px 0;
    position: relative;
    color: #FFFFFF;
}

.footer_nav li a:after {
    content: "";
    display: block;
    width: 90%;
    height: 1px;
    position: absolute;
    bottom: 0;
    left: 0;
    background: rgba(255, 255, 255,0.1);
}

.footer_nav li a:hover {
    color: #e7f70b;
}

.base_row {
    background:rgba(0,0,0,0.2);
}

.footer_nav li a:hover:after {
    background: #e7f70b;
    transition: all ease 0.7s;
}

img.footer_logo {
    display: block;
    width: 80%;
    margin-bottom: 20px;
}

.base_left a {
    margin:0 10px;
}

.org {
    font-weight: 600;
}

.vcard span {
    display: block;
}

.vcard span.locality,
.vcard span.region {
    display: inline-block;
}

.vcard .tel {
    margin-top: 10px;
}

#popUpMenuLink {
    text-align: right;
    padding: 0 10px;
    margin-left: 10px;
}

#header.fix #popUpMenuLink {
    color: #0075b2;
}

#header.fix #popUpMenuLink:hover, 
#popUpMenuLink:hover {
    background:#58b0d6;
    transition: color ease 0.7s;
    color: #FFFFFF;
    cursor: pointer;
}

popUpMenuLink.active {
    background:transparent;
}

#popupNav {
    position: fixed;
    background: #58b0d6;
    opacity: 0.99;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    color: #FFFFFF;
    box-sizing: border-box;
    display: none;
    flex-wrap: wrap;
    align-items: center;
}

#popupNav ul {
    margin: 0;
    list-style-type: none;
    padding: 0;
    text-align: center;
    width: 100%;
}

#popupNav ul li {
    font-size: 30px;
    margin: 10px 0;
}

#popupNav ul li a {
    text-decoration: none;
    letter-spacing: 1px;
    color: #FFFFFF;
}

#popupNav ul li a:hover {
    text-decoration: none;
    color: #037b76;
    transition: all ease 0.7s;
}

.staff_detail {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    padding: 40px;
    z-index: 1004;
    overflow: auto;
    align-items:center;
    justify-content:center;
}

.staff_detail_inner {
    background: #FFFFFF;
    padding: 40px;
    width: 70%;
    box-shadow: 0 0 120px 10px rgba(0,0,0,0.2);
    position: relative;
}

.staff_list_item {
    width: 50%;
    padding: 20px 40px;
    text-align: center;
}

.staff_list_item img {
    display: block;
    width: 100%;
}

.staff_list_item h4 {
    color:#0075b2;
    margin:20px 0 0 0;

}

.staff_list_item h5 {
    margin:0 0 10px 0;
}

.staff_list_item .view_detail {
    display:block;
    font-size:13px;
    letter-spacing:1px;
    color:#CCCCCC;
    margin:10px 0;
}

.staff_list_item .view_detail:hover {
    cursor:pointer;
}

.staff_detail .staff_photo {
    width:33%;
}

.staff_detail .staff_info {
    width: 100%;
    margin-top: 40px;
}

.staff_detail .staff_photo img {
    display:block;
    width:100%;
}

.staff_info h2 {
    color:#0075b2;
    margin:0 0 5px 0;
}

.staff_info .staff_role {
    color: #CCCCCC;
    margin: 0 0 30px 0;
    display: block;
}

/* MEDIA QUERIES */
@media all and (max-width: 1360px) {

        .inner {
                padding: 0 40px;
        }

        footer .base {
            padding: 40px;
        }

        .hero_caption {
            width:70%;
        }
}

@media all and (max-width: 1280px) {

    .hero_caption h4 {
        font-size:28px;
        line-height:40px;
    }
}

@media all and (max-width: 960px) {
        .page_feature {
            width: 50%;
        }

        #popUpMenuLink {
            display: block;
        }

        #logo img {
            width: 200px;
        }

        .staff_list_item {
            width: 100%;
        }

        .page_intro {
            padding: 80px 0 40px;
        }
        
        .page_intro_content {
            padding: 0 20px;
        }

        .faq_section h3 {
            font-size: 19px;
        }

        .flex_row.two_col > div {
            width: 100%;
        }

        .hero_caption {
            width: 80%;
        }
        .hero_caption h4 {
            font-size: 24px;
            line-height: 38px;
        }


        .staff_detail {
            padding: 20px;
        }

        .staff_detail_inner {
            width: 100%;
        }

        .close_nav, .close_detail {
            top: 40px;
        }

    }

@media all and (max-width: 640px) {

    .header_contact {
        display:none;
    }
    
    .flex_row.two_col > div,
    .col_1_2,
    .col_1_3,
    .col_2_3,
    .col_1_4,
    .col_3_4 {
        width: 100%;
    }

    .service_info {
        padding: 20px;
    }

    footer .inner {
        padding:20px;
    }

    nav,
    #logo {
        width: 100%;
    }

    nav {
        justify-content:center;
    }

    .inner {
        padding: 0;
    }

    #popupNav h3,
    #popupNav ul li {
        font-size: 19px;
        text-align:center;
    }
    
    #logo img {
        width: 200px;
        margin: auto;
    }
    
    #hero {
        height: 60vh;
    }

    #hero h4 {
        padding: 20px;
        font-size: 20px;
    }

    .hero_caption {
        margin-bottom: 70px;
    }

    .flex_row.two_col > div,
    .col_1_2,
    .col_1_3,
    .col_2_3 {
        padding: 20px;
        word-break: break-word;
    }

    .home_page .col_1_2 {
        padding: 40px 0;
    }

    h1 {
        font-size: 36px;
    }

    .home_page h2, h2 {
        font-size: 32px;
    }

    .staff_detail .staff_photo,
    .staff_detail .staff_info {
        width: 100%;
        margin: 0;
    }

    .staff_detail .staff_info {
        margin-top:20px;
    }

    .staff_detail .inner {
        padding:0;
    }

    .form_row {
        flex-wrap: wrap;
    }

    .col_1_3 .vcard {
        margin-top:40px;
    }

    .base_left {
        box-sizing: border-box;
        width: 100%;
    }

    .slideshow-container {
        height:60vh;
        min-height:440px;
    }

    .sub_item {
        flex-wrap: wrap;
    }

    .sub_item_image,
    .sub_item_text {
        width:100%;
    }

    .sub_item_image img {
        width: 50%;
        margin: 0 auto;
    }

    footer a, footer a:link, footer a:visited {
        display: block;
        margin: 10px 0;
    }

    footer .tel a, footer .tel a:link, footer .tel a:visited,
    footer .email a, footer .email a:link, footer .email a:visited {
        display: inline;
        margin: 0;
    }

    footer .contact {
        text-align:left;
    }

    footer .vcard {
        line-height:22px;
    }

    .inner ul.footer_nav {
        font-size:17px;
    }

    .footer_nav li a, .footer_nav li a:visited, .footer_nav li a:link {
        padding:5px 0px;
    }

}

    @media all and (max-width: 440px) {

        body {
            font-size:17px;
        }

        .home_page h2, h2 {
            font-size: 26px;
        }
        
        .page_feature {
            width: 100%;
        }

        #hero h4 {
            line-height: 22px;
        }
        
        .hero_caption {
            width: 100%;
            padding: 20px;
        }

        .page_intro_text, .home_page .body_text p {
            font-size: 20px;
            line-height: 36px;
        }

        .features_row {
            display:none;
        }

        .features_page .row .flex_row {
            flex-direction:column-reverse;
        }

        .features_page .row:nth-of-type(2n) .flex_row {
            flex-direction: column-reverse;
        }

        .particle_background {
            background:unset;
        }

        .section_image_bg .col_1_2 img {
            display: block;
        }

        ul {
            padding: 0 0 0 20px;
        }

        .col_1_2 img {
            max-width:70%;
        }
    }