@charset "UTF-8";
@font-face {
  font-display: swap;
  font-family: "Anton";
  font-style: normal;
  font-weight: 100 900;
  src: url("../fonts/Anton-Regular.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Roboto";
  font-style: normal;
  font-weight: 100 900;
  src: url("../fonts/Roboto-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Caveat";
  font-style: normal;
  font-weight: 100 900;
  src: url("../fonts/Caveat-VariableFont_wght.ttf") format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Nunito";
  font-style: normal;
  font-weight: 100 900;
  src: url("../fonts/Nunito-VariableFont_wght.ttf") format("truetype");
}
/************************************************************************************
GENERAL STYLING
*************************************************************************************/
html {
  -webkit-font-smoothing: antialiased;
  scroll-behavior: smooth;
}

body {
  background-color: #fff;
  color: #666;
  font: 0.9em/1.5em Arial, Helvetica, sans-serif;
  margin: 0;
  overflow-wrap: break-word;
}

a {
  color: #1f7bb6;
  outline: none;
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
}

p {
  margin: 0 0 1.2em;
  padding: 0;
}

small {
  font-size: 87%;
}

blockquote {
  font: italic 110%/130% "Times New Roman", Times, serif;
  padding: 8px 30px 15px;
}

/* LIST
================================================ */
ul,
ol {
  line-height: 140%;
  margin: 1em 0 1.4em 24px;
  padding: 0;
}

li {
  margin: 0 0 0.5em 0;
  padding: 0;
}

/* HEADINGS
================================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.3em;
  margin: 0 0 0.4em;
  overflow-wrap: normal;
}

h1 {
  font-size: 2em;
}

h2 {
  font-size: 1.8em;
}

h3 {
  font-size: 1.6em;
}

h4 {
  font-size: 1.4em;
}

h5 {
  font-size: 1.2em;
}

h6 {
  font-size: 1em;
}

/* FORM
================================================ */
/* form input */
input,
textarea,
select,
input[type=search],
button {
  font-family: inherit;
  font-size: 100%;
  line-height: inherit;
  max-width: 100%;
}

textarea,
input[type=text],
input[type=password],
input[type=search],
input[type=email],
input[type=url],
input[type=number],
input[type=tel],
input[type=date],
input[type=datetime],
input[type=datetime-local],
input[type=month],
input[type=time],
input[type=week] {
  -webkit-appearance: none;
  background-color: #f3f3f3;
  border: solid 1px rgba(0, 0, 0, 0.1);
  border-radius: 5px;
  box-sizing: border-box;
  padding: 7px 10px;
}

textarea,
input[type=text],
input[type=password],
input[type=search],
input[type=email],
input[type=url],
input[type=number],
input[type=tel],
input[type=date],
input[type=datetime],
input[type=datetime-local],
input[type=month],
input[type=time],
input[type=week] {
  max-width: 100%;
  width: 240px;
}

/* text area */
textarea {
  width: 100%;
}

/* form input:focus */
textarea:focus,
input[type=text]:focus,
input[type=password]:focus,
input[type=search]:focus,
input[type=email]:focus,
input[type=url]:focus,
input[type=number]:focus,
input[type=tel]:focus,
input[type=date]:focus,
input[type=datetime]:focus,
input[type=datetime-local]:focus,
input[type=month]:focus,
input[type=time]:focus,
input[type=week]:focus {
  background-color: #f9f9f9;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
  outline: none;
}

/* form button */
input[type=reset],
input[type=submit],
button {
  -webkit-appearance: none;
  background-color: #333;
  border: 0;
  border-radius: 5px;
  color: #fff;
  cursor: pointer;
  padding: 7px 20px;
}

/* form button:hover */
input[type=reset]:hover,
input[type=submit]:hover,
button:hover {
  background-color: #000;
  color: #fff;
}

/************************************************************************************
STRUCTURE
*************************************************************************************/
#pagewrap,
.pagewidth,
#headerwrap,
#header,
#main-nav,
#body,
#layout,
#content,
.post,
.author-box,
.post-nav,
#sidebar,
.widget,
#footerwrap,
#footer {
  box-sizing: border-box;
}

/* main page width */
.pagewidth,
.row_inner {
  margin: 0 auto;
  width: 978px;
}

/* body (middle container) */
#body {
  margin: 0 auto;
  max-width: 100%;
}

/* content */
#content {
  float: left;
  padding: 5% 0 3%;
  width: 68%;
}

/* sidebar */
#sidebar {
  float: right;
  padding: 5% 0 3%;
  width: 26.5%;
}

/* sidebar left */
.sidebar-left #content {
  float: right;
}

.sidebar-left #sidebar {
  float: left;
}

/* sidebar none */
.sidebar-none #content {
  float: none;
  width: 100%;
}

/* fullwidth content */
.full_width #layout {
  width: 100%;
}

.full_width #content {
  float: none;
  padding: 0;
  width: auto;
}

.full_width #sidebar {
  float: none;
  width: auto;
}

/************************************************************************************
GRID
*************************************************************************************/
.col4-1,
.col4-2,
.col4-3,
.col3-1,
.col3-2,
.col2-1 {
  float: left;
  margin-left: 3.2%;
}

.col4-1 {
  width: 22.6%;
}

.col4-2,
.col2-1 {
  width: 48.4%;
}

.col4-3 {
  width: 74.2%;
}

.col3-1 {
  width: 31.2%;
}

.col3-2 {
  width: 65.6%;
}

.col.first,
.col4-1.first,
.col4-2.first,
.col4-3.first,
.col3-1.first,
.col3-2.first,
.col2-1.first {
  clear: left;
  margin-left: 0;
}

/************************************************************************************
HEADER
*************************************************************************************/
#header {
  border-bottom: solid 1px rgba(0, 0, 0, 0.1);
  padding: 1em 0 0;
  position: relative;
}

/* 
SOCIAL WIDGET
================================================ */
.social-widget {
  bottom: 10px;
  float: right;
  position: absolute;
  right: 0;
}

.social-widget a,
.social-widget a:hover {
  text-decoration: none;
}

.social-widget .widget {
  display: inline-block;
  margin: 0 2px 0 0;
}

.social-widget .widget div {
  display: inline;
}

.social-widget .widgettitle {
  background: 0;
  border: 0;
  box-shadow: none;
  display: inline-block;
  font-size: 100%;
  font-weight: 700;
  letter-spacing: 0;
  margin: 5px 8px 2px 0;
  padding: 0;
  position: static;
  text-transform: none;
  width: auto;
}

.social-widget ul {
  display: inline;
  margin: 6px 0 0 !important;
  padding: 0;
}

.social-links.horizontal li {
  border: 0 !important;
  clear: none;
  display: inline-block;
  line-height: 100%;
  margin: 0;
  padding: 0 2px 5px 0;
}

.social-widget li img {
  margin-top: -5px;
  vertical-align: middle;
}

/* 
RSS
================================================ */
.social-widget div.rss {
  display: inline-block;
  vertical-align: middle;
}

.social-widget div.rss a {
  display: inline-block;
  margin-bottom: 5px;
}

.social-widget div.rss .tf_fa {
  color: #f9a447;
  display: inline-block;
  font-size: 1.75em;
  padding-right: 5px;
  vertical-align: middle;
}

/* 
SEARCH FORM
================================================ */
#header #searchform {
  position: absolute;
  right: 0;
  top: 20px;
}

#header #searchform #s {
  border-radius: 5px;
  box-sizing: border-box;
  float: right;
  padding: 5px 7px 5px 28px;
  position: relative;
  transition: width 0.7s;
  width: 100px;
}

#searchform .tf_fa {
  left: 10px;
  pointer-events: none;
  position: absolute;
  top: 10px;
  transform: rotatez(90deg);
  z-index: 1;
}

#header #searchform #s:focus {
  color: #333;
  width: 140px;
}

/* 
MAIN NAVIGATION
================================================ */
#main-nav {
  margin: 1.5em 0 0.5em;
  padding: 0;
}

#main-nav li {
  float: left;
  list-style: none;
  margin: 0;
  padding: 0;
  position: relative;
}

/* main level link */
#main-nav a {
  display: block;
  margin: 0 5px 0 0;
  padding: 5px 15px;
  text-decoration: none;
}

/* current link */
#main-nav .current_page_item a,
#main-nav .current-menu-item a {
  background-color: #333;
  border-radius: 5px;
  color: #fff;
}

/* current link :hover */
#main-nav .current_page_item a:hover,
#main-nav .current-menu-item a:hover {
  color: #fff;
}

/* sub-levels link */
#main-nav ul a,
#main-nav .current_page_item ul a,
#main-nav ul .current_page_item a,
#main-nav .current-menu-item ul a,
#main-nav ul .current-menu-item a {
  background: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  box-sizing: border-box;
  color: #666;
  display: block;
  font-size: 100%;
  line-height: 140%;
  margin: 0;
  padding: 6px 10px 6px 15px;
  text-shadow: none;
  text-transform: none;
  width: 200px;
}

/* sub-levels link :hover */
#main-nav ul a:hover,
#main-nav .current_page_item ul a:hover,
#main-nav ul .current_page_item a:hover,
#main-nav .current-menu-item ul a:hover,
#main-nav ul .current-menu-item a:hover {
  background-color: rgba(0, 0, 0, 0.07);
  color: #000;
}

/* dropdown ul */
#main-nav ul {
  background-color: #fff;
  border-radius: 5px;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2), 0 2px 12px rgba(0, 0, 0, 0.15);
  left: -999em;
  list-style: none;
  margin: 0;
  padding: 5px 0;
  position: absolute;
  z-index: 100;
}

#main-nav ul li {
  background: 0;
  float: none;
  margin: 0;
  padding: 0;
}

/* show dropdown ul */
#main-nav li.dropdown-open > ul {
  left: 0;
}

#main-nav li li.dropdown-open > ul.children,
#main-nav li li.dropdown-open > ul.sub-menu {
  left: 190px;
  top: -2px;
}
#main-nav a:focus {
  outline: 1px dotted #999;
}
/************************************************************************************
PAGE
*************************************************************************************/
/*
AUTHOR PAGE
================================================ */
.author-bio {
  margin: 0 0 30px;
}

.author-bio .author-avatar {
  float: left;
  margin: 0 15px 0 0;
}

.author-bio .author-avatar img {
  background-color: #fff;
  border: solid 1px #ccc;
  padding: 4px;
}

.author-bio .author-name {
  font-size: 160%;
  margin: 0 0 5px;
  padding: 0;
}

.author-posts-by {
  border-color: rgba(118, 118, 118, 0.3);
  border-top: double 4px #ccc;
  font-size: 140%;
  margin: 0 0 20px;
  padding: 10px 0 0;
  text-transform: uppercase;
}

/*
CATEGORY SECTIONS
================================================ */
.category-section {
  clear: both;
  margin-bottom: 30px;
}

.category-section-title {
  border-top: double 4px #ccc;
  font-size: 120%;
  margin: 0 0 20px;
  padding: 10px 0 0;
  text-transform: uppercase;
}

/************************************************************************************
POST
*************************************************************************************/
.post {
  box-sizing: border-box;
  margin-bottom: 50px;
}

/* post content */
.post-content {
  min-width: 120px;
}

/* post title */
.post-title {
  font-size: 26px;
  margin: 0 0 5px;
  padding: 0;
}

/* post image */
.post-image {
  margin: 0 0 5px;
  max-width: 100%;
}

.post-image.left {
  float: left;
  margin-right: 15px;
}

.post-image.right {
  float: right;
  margin-left: 15px;
}

/* post meta */
.post-meta {
  font-size: 0.9em;
  margin: 0 0 7px;
}

.post-meta a {
  color: inherit;
}

.post-meta span .tf_fa {
  display: inline-block;
  margin-right: 6px;
  opacity: 0.6;
  vertical-align: middle;
}

.post-meta .post-author {
  padding: 2px 0;
}

.post-meta .post-category {
  padding: 2px 0;
}

.post-meta .post-tag {
  padding: 2px 0;
}

.post-meta .post-author:after,
.post-meta .post-category:after,
.post-meta .post-tag:after {
  border-left: 1px solid;
  content: "";
  display: inline-block;
  height: 1.3em;
  margin: 0 0.45em 0 0.6em;
  opacity: 0.1;
  transform: skewX(-15deg);
  vertical-align: middle;
  white-space: nowrap;
  width: 1px;
}

.loops-wrapper.grid4 .post-title {
  font-size: 120%;
  margin: 0 0 3px;
  padding: 0;
}

.loops-wrapper.grid3 .post-title {
  font-size: 140%;
  margin: 0 0 3px;
  padding: 0;
}

.loops-wrapper.grid2 .post-title {
  font-size: 150%;
  margin: 0 0 3px;
  padding: 0;
}

.loops-wrapper.grid2-thumb .post-title {
  font-size: 150%;
  margin: 0 0 5px;
}

.loops-wrapper.grid2-thumb .post-image {
  float: left;
  margin: 5px 14px 10px 0;
}

.loops-wrapper.grid2-thumb .post-content {
  overflow: hidden;
}

/* list thumb post */
.loops-wrapper.list-thumb-image .post-image {
  float: left;
  margin: 7px 16px 10px 0;
}

.loops-wrapper.list-thumb-image .post-content {
  overflow: hidden;
}

/* list large image */
.loops-wrapper.list-large-image .post-image {
  float: left;
  margin: 7px 22px 10px 0;
}

.loops-wrapper.list-large-image .post-title {
  font-size: 200%;
  margin: 0 0 5px;
  padding: 0;
}

.loops-wrapper.list-large-image .post-content {
  overflow: hidden;
}

/************************************************************************************
POST VIDEO (css for fluid video)
*************************************************************************************/
.post-video,
.embed-youtube {
  font-size: 0.9em;
  height: 0;
  margin-bottom: 15px;
  overflow: hidden;
  padding-bottom: 56.25%;
  position: relative;
}

.post-video iframe,
.post-video object,
.post-video embed,
.embed-youtube iframe,
.embed-youtube object,
.embed-youtube embed {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

/************************************************************************************
POST EMBEDS (css for various fluid elements)
*************************************************************************************/
.twitter-tweet-rendered {
  max-width: 100% !important;
}

/************************************************************************************
AUTHOR BOX
*************************************************************************************/
.author-box {
  margin: 15px 0;
}

.author-box .author-avatar {
  float: left;
  margin: 0 15px 5px 0;
}

.author-box .author-name {
  margin: 0 0 5px;
}

/************************************************************************************
POST NAVIGATION (the <nextpage> tag)
*************************************************************************************/
.post-pagination {
  margin: 0.5em 0 2em;
  text-align: right;
}

.post-pagination strong {
  margin-right: 3px;
}

.post-pagination a {
  margin-left: 3px;
  margin-right: 3px;
}

/************************************************************************************

POST NAVIGATION
*************************************************************************************/
.post-nav {
  clear: both;
  margin: 0 0 30px;
  padding: 15px 0;
}

.post-nav .prev,
.post-nav .next {
  position: relative;
  width: 47%;
}

.post-nav a {
  display: block;
  text-decoration: none;
}

.post-nav a:hover {
  text-decoration: none;
}

.post-nav .prev {
  float: left;
}

.post-nav .next {
  float: right;
  text-align: right;
}

/* post nav arrow */
.post-nav .arrow {
  background-color: #333;
  border-radius: 10em;
  color: #fff;
  display: block;
  float: left;
  font: normal 20px/100% "Times New Roman", Times, serif;
  height: 28px;
  margin: -8px 10px 17px 0;
  padding: 4px 0 0;
  text-align: center;
  width: 32px;
}

.post-nav .next .arrow {
  float: right;
  margin-left: 10px;
  margin-right: 0;
}

.post-nav a:hover span {
  background-color: #000;
}

/************************************************************************************
COMMENTS
*************************************************************************************/
.commentwrap {
  clear: both;
  margin: 10px 0 20px;
  position: relative;
}

/* comment title */
.comment-title,
#reply-title {
  font-size: 140%;
  margin: 0 0 10px;
  padding: 0;
}

/* comment pagenav */
.commentwrap .pagenav {
  border: 0;
  box-shadow: none;
  margin: 10px 0;
}

.commentwrap .pagenav.top {
  margin: 0;
  position: absolute;
  right: 0;
  top: 10px;
}

/* commentlist */
.commentlist {
  border-top: solid 1px rgba(0, 0, 0, 0.1);
  margin: 0 0 30px;
  padding: 5px 0 0;
}

.commentlist li {
  list-style: none;
  margin: 0;
  padding: 15px 0 0;
  position: relative;
}

.commentlist .comment-author {
  margin: 2px 0 5px;
  padding: 0;
}

.commentlist .avatar {
  float: left;
  margin: 0 15px 0 0;
}

.commentlist cite {
  font-size: 130%;
  font-style: normal;
}

.commentlist cite a {
  text-decoration: none;
}

.commentlist cite .tf_fa {
  margin-right: 10px;
}

.commentlist .bypostauthor > .comment-author cite .tf_fa {
  color: #ca0012;
  margin-right: 18px;
}

.commentlist .comment-time {
  font-size: 75%;
  text-transform: uppercase;
}

.commentlist .commententry {
  border-bottom: solid 1px rgba(0, 0, 0, 0.1);
  min-height: 40px;
  overflow: hidden;
  overflow-wrap: break-word;
  padding-bottom: 5px;
  position: relative;
}

.commentlist ul,
.commentlist ol {
  margin: 0 0 0 7%;
  padding: 0;
}

/* reply link */
.commentlist .reply {
  position: absolute;
  right: 0;
  top: 8px;
}

.commentlist .comment-reply-link {
  font-size: 11px;
  text-decoration: none;
  text-transform: uppercase;
}

.commentlist .comment-reply-link:hover {
  text-decoration: none;
}

/* 
COMMENT FORM
================================================ */
#respond {
  clear: both;
  margin: 0;
  padding: 10px 0 0;
  position: relative;
}

#respond #cancel-comment-reply-link {
  background-color: #f30;
  color: #fff;
  display: block;
  font-size: 85%;
  line-height: 100%;
  padding: 5px 10px;
  position: absolute;
  right: 0;
  text-decoration: none;
  top: 20px;
}

#respond #cancel-comment-reply-link:hover {
  background-color: #333;
}

#commentform {
  margin: 15px 0 0;
}

#commentform label {
  font-weight: 700;
}

#commentform label small {
  font-weight: 400;
}

#commentform textarea {
  box-sizing: border-box;
  height: 140px;
  width: 100%;
}

#commentform .comment-form-author,
#commentform .comment-form-email {
  box-sizing: border-box;
  clear: none;
  float: left;
  width: 50%;
}

#commentform p.comment-form-author {
  padding-right: 2%;
}

#commentform .comment-form-email {
  padding-left: 2%;
}

#commentform input[type=text],
#commentform input[type=email],
#commentform input[type=url] {
  box-sizing: border-box;
  max-width: none;
  width: 100%;
}

#commentform input#submit {
  padding: 7px 20px;
}

/************************************************************************************
SIDEBAR
*************************************************************************************/
.widget {
  margin: 0 0 30px;
  overflow-wrap: break-word;
}

.widgettitle {
  font-size: 120%;
  margin: 0 0 10px;
  padding: 0;
}

.widget ul {
  margin: 0;
  padding: 0;
}

.widget li {
  clear: both;
  list-style: none;
  margin: 0;
  padding: 6px 0;
}

.widget ul ul {
  border-top: none;
  margin: 6px 0 -6px 0;
  padding: 0;
}

.widget ul ul li {
  margin: 0;
  padding-left: 10px;
}

/************************************************************************************
WIDGET STYLES
*************************************************************************************/
/* calendar widget */
.widget #wp-calendar caption {
  font-weight: 700;
  padding-bottom: 10px;
}

.widget #wp-calendar td {
  padding: 4px 2px;
  text-align: center;
  width: 31px;
}

/* feature posts widget */
.widget .feature-posts-list br {
  display: none;
}

.widget .feature-posts-list .post-img {
  float: left;
  margin: 4px 12px 10px 0;
}

.widget .feature-posts-list small {
  display: block;
  font-size: 90%;
  font-style: italic;
  margin: 0 0 3px;
}

.widget .feature-posts-list .feature-posts-title {
  margin: 4px 0 3px;
}

.widget .feature-posts-list .post-excerpt {
  display: block;
}

/* twitter widget */
.widget .twitter-list .twitter-timestamp {
  font-size: 90%;
  font-style: italic;
}

.widget .follow-user {
  margin: 0;
  padding: 5px 0;
}

/* links widget */
.widget .links-list img,
.widget_links img {
  vertical-align: middle;
}

/* recent comments widget */
.recent-comments-list .avatar {
  float: left;
  margin-right: 12px;
}

/* flickr widget */
.widget .flickr_badge_image {
  margin-top: 10px;
}

.widget .flickr_badge_image img {
  float: left;
  height: 50px;
  margin-bottom: 12px;
  margin-right: 12px;
  width: 50px;
}

/* flickr shortcode */
.shortcode .flickr_badge_image {
  float: left;
  margin: 0 1.5% 1.5% 0;
  width: 23.8%;
}

.shortcode .flickr_badge_image:nth-of-type(4n) {
  margin-right: 0;
}

.shortcode .flickr_badge_image img {
  margin: 0;
}

/* search widget */
#sidebar #searchform {
  position: static;
}

#sidebar #searchform #s {
  width: 93%;
}

/* reset twitter embed max-width to 100% */
#content .twitter-tweet-rendered {
  max-width: 100% !important;
}

#content .twt-border {
  max-width: 100% !important;
  min-width: 180px !important;
}

/* Social Links Widget */
.widget .social-links {
  line-height: 100%;
  margin: 0 0 20px;
  padding: 0;
}

.widget .social-links li {
  border: 0;
  display: inline-block;
  list-style: none;
  margin: 0 5px 5px 0;
  padding: 0;
}

.widget .social-links img {
  vertical-align: middle;
}

/* Text widget */
.widget .textwidget ul {
  margin: 0 0 1.4em 1.6em;
}

.widget .textwidget li {
  display: list-item;
}

.widget .textwidget ul li {
  list-style: disc;
}

.widget .textwidget ol li {
  list-style: decimal;
}

/************************************************************************************
FOOTER
*************************************************************************************/
#footer {
  border-top: solid 1px rgba(0, 0, 0, 0.1);
  clear: both;
  padding: 30px 0;
}

/* back to top */
.back-top {
  clear: both;
  float: left;
  margin-top: -3px;
}

.back-top a {
  background-color: #000;
  border-radius: 10em;
  color: #fff;
  display: block;
  height: 30px;
  margin: 0 10px 10px 0;
  text-indent: -900em;
  width: 30px;
}

.back-top a .tf_fa {
  float: left;
  font-size: 1.4em;
  margin-top: 5px;
  text-align: center;
  text-indent: 0;
  width: 100%;
}

.back-top a:hover {
  background-color: #333;
}

/* footer nav */
.footer-nav {
  margin: 7px 0 10px;
  padding: 0;
  text-align: left;
}

.footer-nav li {
  display: inline-block;
  list-style: none;
  margin: 0 8px 5px 0;
  padding: 0;
}

/* footer text */
.footer-text {
  clear: both;
  font-size: 90%;
}

/************************************************************************************
WORDPRESS POST FORMATTING
*************************************************************************************/
img.alignleft,
img.aligncenter,
img.alignright,
img.alignnone {
  margin-bottom: 15px;
}

.alignleft {
  float: left;
  margin-right: 30px;
}

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

.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.wp-caption {
  margin-bottom: 15px;
  max-width: 100%;
  text-align: center;
}

.wp-caption-text {
  font-size: 95%;
  line-height: 120%;
  margin: 6px 0;
}

/************************************************************************************
ATTACHMENT SINGLE VIEW
*************************************************************************************/
.attachment.single-attachment,
.single-attachment .attachment {
  float: none;
  margin: 0;
  text-align: left;
}

/************************************************************************************
CLEAR & ALIGNMENT
*************************************************************************************/
.clear {
  clear: both;
}

.left {
  float: left;
}

.right {
  float: right;
}

.textleft {
  text-align: left;
}

.textright {
  text-align: right;
}

.textcenter {
  text-align: center;
}

/* clearfix */
.widget li:after,
#body:after,
#footer:after,
footer:after,
#main-nav:after,
.menu:after,
#content:after {
  clear: both;
  content: " ";
  display: block;
  font-size: 0;
  height: 0;
  visibility: hidden;
}

.widget li,
footer,
#main-nav,
.menu {
  display: block;
}

/*BASE MEDIA QUERIES*/
.l-inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1000px;
  width: 100%;
}

.l-sec {
  padding: 3.75rem 0 5rem;
}
.l-sec01 {
  padding: 3.5rem 0 6.875rem;
}

/*******************************
Common Setting
*******************************/
body {
  font-family: "YuGothic", "Yu Gothic", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", "Meiryo", "ＭＳ ゴシック", sans-serif;
  font-size: 16px;
  line-height: 2;
}

#content {
  padding: 0;
}

/* Those Classes change row_inner width,
   when you set the Themify Builder > Row Options > Row Width to Default and Boxed. */
/*.module_row > .row_inner,
.module-layout-part .module_row.fullwidth_row_container > .row_inner {
	width: 100%;
}*/
body table {
  border-collapse: collapse;
  box-sizing: border-box;
  width: 100%;
}

/*******************************
Footer Fix
*******************************/
#footer {
  border-top: none;
  clear: none;
  padding: 0;
}

#pc-backtop {
  bottom: 50px;
  display: block;
  height: 32px;
  opacity: 0;
  position: fixed;
  right: 50px;
  transition: opacity 0.3s;
  width: 32px;
  z-index: 500;
}

#pc-backtop svg {
  fill: skyblue;
}

#pc-backtop.is-visible {
  opacity: 1;
}

#pc-backtop.is-visible:hover {
  opacity: 0.7;
}

#pc-backtop a,
#pc-backtop a img {
  display: block;
}

.sp-footer-icons-container {
  align-items: center;
  background: #4f4f4f;
  bottom: 0;
  display: none;
  justify-content: space-around;
  left: 0;
  padding-bottom: calc(env(safe-area-inset-bottom) / 2);
  position: fixed;
  right: 0;
  width: 100%;
  z-index: 600;
}

#footer .sp-footer-icons-container svg {
  fill: #1f7bb6;
  display: block;
  height: 16px;
  margin-bottom: 8px;
  text-align: center;
  width: 100%;
}

#footer .sp-footer-icons-container a {
  background-color: #fafafa;
  border-left: 1px solid #1f7bb6;
  display: block;
  font-size: 10px;
  line-height: 1;
  padding: 10px 0 6px;
  text-align: center;
  text-decoration: none;
  width: 100%;
}

#footer .sp-footer-icons-container a:first-child {
  border-left: 0;
}

/*******************************
Header Fix
*******************************/
#header.header {
  border-bottom: none;
  height: auto;
}

/* Header Site Branding */
#site-logo,
#site-description {
  position: static;
}

#site-logo {
  line-height: 1;
}

#site-logo a,
#site-logo a img {
  display: block;
}

/* Search Form in Header */
#headerwrap #header #searchform {
  position: static;
}

#headerwrap #header #searchform #s {
  float: none;
}

/*******************************
Contact form
*******************************/
.wpcf7 table tr th {
  text-align: left;
  width: 30%;
}

.wpcf7 table tr th,
.wpcf7 table tr td {
  padding: 10px 15px;
}

.wpcf7 table tr td input,
.wpcf7 table tr td select,
.wpcf7 table tr td textarea {
  background-color: #f3f3f3;
  border: solid 1px #ddd;
  border-radius: 5px;
  box-sizing: border-box;
  max-width: 100%;
  padding: 6px 10px;
  width: 100%;
}

.wpcf7 table tr td span input {
  margin-top: 10px;
}

.wpcf7 table tr td span:first-child input {
  margin-top: 0px;
}

.wpcf7 table tr td input[type=radio],
.wpcf7 table tr td input[type=checkbox] {
  width: auto;
}

.wpcf7 .submit_btn {
  display: block;
}

.wpcf7 .submit_btn input[type=submit] {
  display: block;
  margin: 0 auto;
  width: 250px;
}

.u-flex {
  display: flex;
}

.u-flex--d-column {
  display: flex;
  flex-direction: column;
}

@media screen and (max-width: 1440px) {
  .l-inner {
    width: 90vw;
  }
}

@media (max-width: 1260px) {
  .default_width #layout .row_inner {
    max-width: 100%;
  }
}

@media screen and (max-width: 1024px) {
  .l-inner {
    padding-left: 25px;
    padding-right: 25px;
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .l-inner {
    padding-left: 20px;
    padding-right: 20px;
    width: 100%;
  }
  .l-sec {
    padding: 5rem 0 6.25rem;
  }
  .l-sec01 {
    padding: 4.5rem 0 5.75rem;
  }
  .u-flex__d-column--sp {
    flex-direction: column;
  }
}

@media (hover: hover) {
  /* show dropdown ul */
  #main-nav li:hover > ul {
    left: 0;
  }
  #main-nav li li:hover > ul.sub-menu,
  #main-nav li li:hover > ul {
    left: 190px;
    top: -2px;
  }
}

@media (hover: none) {
  #main-nav .child-arrow {
    border-radius: 100%;
    margin-left: 7px;
    padding: 0 7px;
  }
  #main-nav ul .child-arrow {
    float: right;
    margin-right: 10px;
  }
}
/*# sourceMappingURL=sourcemaps/style.css.map */