@charset "UTF-8";

/*!-------------------------------------------------------------
Generic
Reseter.css
	@dist/vendor/css/reseter.css
	ref. https://krishdevdb.github.io/reseter.css/
--------------------------------------------------------------*/
html {
    scroll-behavior: smooth;
}

body,
html {
    height: 100%;
}

body {
    word-wrap: break-word;
    background-color: var(--gd-white);
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.75;
    margin: 0;
}

/*!-------------------------------------------------------------
Layout
#page...............page container.
#main...............main container.
.row................row container.
--------------------------------------------------------------*/
#main {
    padding: 10px;
}

/*!-------------------------------------------------------------
ELEMENTS
Blockquote...........Default blockquote.
Forms................Element-level form styling.
Headings.............H1–H6
Links................Default links.
Lists................Default lists.
Media................Images, Figure, Figcaption, Embed, iFrame, Objects, Video.
Icons................Icons.
--------------------------------------------------------------*/

.address,
.autofill,
.introducer,
.phone-number,
.zipcode {
    width: 100%;
}

.form.pmpro_form .pmpro_change_password-fields #pass-strength-result {
    display: none;
}

.form.pmpro_form
.pmpro_change_password-fields
#pass-strength-result:not(.empty) {
    display: inline-block;
}

.list-inline {
    align-items: center;
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
}

.list-inline li {
    height: 30px;
    margin-right: 5px;
    width: 30px;
}

.list-inline a,
.list-inline li {
    align-items: center;
    color: #fff;
    display: flex;
    justify-content: center;
}

.list-inline a {
    background-color: var(--gd-light-blue);
    padding: 5px;
}

.list-inline a:hover {
    text-decoration: none;
}

.entry-content p > a {
    color: #3361eb;
    font-weight: 700;
    text-decoration: underline;
}

.grip-icon {
    stroke-width: 0;
    stroke: currentColor;
    fill: currentColor;
    display: inline-block;
    height: 1em;
    width: 1em;
}

.grip-icon-bubbles,
.grip-icon-bubbles2,
.grip-icon-bubbles3,
.grip-icon-bubbles4,
.grip-icon-images,
.grip-icon-users {
    width: 1.125em;
}

/*!-------------------------------------------------------------
* BLOCKS
* Audio................Specific styles for the audio block.
* Button...............Specific styles for the button block.
* Code.................Specific styles for the code block.
* Columns..............Specific styles for the columns block.
* Cover................Specific styles for the cover block.
* File.................Specific styles for the file block.
* Gallery..............Specific styles for the gallery block.
* Group................Specific styles for the group block.
* Heading..............Specific styles for the heading block.
* Image................Specific styles for the image block.
* Latest comments......Specific styles for the latest comments block.
* Latest posts.........Specific styles for the latest posts block.
* Legacy...............Specific styles for the legacy gallery.
* List.................Specific styles for the list block.
* Media text...........Specific styles for the media and text block.
* Navigation...........Specific styles for the navigation block.
* Paragraph............Specific styles for the paragraph block.
* Pullquote............Specific styles for the pullquote block.
* Quote................Specific styles for the quote block.
* Search...............Specific styles for the search block.
* Separator............Specific styles for the separator block.
* Spacer...............Specific styles for the spacer block.
* Table................Specific styles for the table block.
* Verse................Specific styles for the verse block.
* Video................Specific styles for the video block.
* Utilities............Block alignments.
--------------------------------------------------------------*/
.menu-toggler {
    -webkit-appearance: none;
    appearance: none;
    align-items: flex-end;
    background: none;
    border: none;
    color: #fff;
    display: flex;
    font-size: 0.875rem;
    height: 46px;
    justify-content: center;
    padding: 0;
    position: absolute;
    right: 10px;
    text-transform: uppercase;
    top: 13px;
    width: 46px;
}

.menu-toggler,
.menu-toggler:focus {
    outline: none;
}

.menu-toggler:after,
.menu-toggler:before {
    -webkit-transition: all 0.3s ease-out;
    -moz-transition: all 0.3s ease-out;
    -ms-transition: all 0.3s ease-out;
    -o-transition: all 0.3s ease-out;
    background: #fff;
    content: "";
    display: block;
    height: 4px;
    position: absolute;
    transition: all 0.3s ease-out;
    width: 40px;
}

.menu-toggler:before {
    top: 5px;
}

.menu-toggler:after {
    top: 15px;
}

.menu-toggler.close:after,
.menu-toggler.close:before {
    width: 25px;
}

.menu-toggler.close:before {
    top: 10px;
    transform: rotate(45deg);
}

.menu-toggler.close:after {
    top: 10px;
    transform: rotate(-45deg);
}

.acf-button,
.btn,
.grip-button {
    -webkit-user-select: none;
    -ms-user-select: none;
    background-color: transparent;
    border: 1px solid transparent;
    border-radius: 3px;
    border-radius: 0.25rem;
    color: #212529;
    display: inline-block;
    font-size: 0.875rem;
    font-weight: 400;
    padding: 0.375rem 0.75rem;
    text-align: center;
    transition:
        color 0.15s ease-in-out,
        background-color 0.15s ease-in-out,
        border-color 0.15s ease-in-out,
        box-shadow 0.15s ease-in-out;
    user-select: none;
    vertical-align: middle;
}

.acf-button-primary,
.acf-button-select,
.acf-button.button-primary,
.btn-primary,
.btn-select,
.btn.button-primary,
.grip-button-primary,
.grip-button-select,
.grip-button.button-primary {
    background-color: #0d6efd;
    border-color: #0d6efd;
    color: #fff !important;
    text-decoration: none !important;
}

.acf-button-primary:focus,
.acf-button-primary:hover,
.acf-button-select:focus,
.acf-button-select:hover,
.acf-button.button-primary:focus,
.acf-button.button-primary:hover,
.btn-primary:focus,
.btn-primary:hover,
.btn-select:focus,
.btn-select:hover,
.btn.button-primary:focus,
.btn.button-primary:hover,
.grip-button-primary:focus,
.grip-button-primary:hover,
.grip-button-select:focus,
.grip-button-select:hover,
.grip-button.button-primary:focus,
.grip-button.button-primary:hover {
    background-color: #0b5ed7;
    border-color: #0a58ca;
    color: #fff;
    outline: none;
    text-decoration: none;
}

.acf-button-secondary,
.btn-secondary,
.grip-button-secondary {
    background-color: #6c757d;
    border-color: #6c757d;
    color: #fff;
}

.acf-button-secondary:focus,
.acf-button-secondary:hover,
.btn-secondary:focus,
.btn-secondary:hover,
.grip-button-secondary:focus,
.grip-button-secondary:hover {
    background-color: #5c636a;
    border-color: #565e64;
    color: #fff;
    outline: none;
    text-decoration: none;
}

.acf-button-info,
.btn-info,
.grip-button-info {
    background-color: #6c757d;
    border-color: #6c757d;
    color: #fff;
}

.acf-button-info:hover,
.btn-info:hover,
.grip-button-info:hover {
    background-color: #5c636a;
    border-color: #565e64;
    color: #fff;
    text-decoration: none;
}

.acf-button-danger,
.btn-danger,
.grip-button-danger {
    background-color: #dc3545;
    border-color: #dc3545;
    color: #fff;
}

.acf-button-danger:hover,
.btn-danger:hover,
.grip-button-danger:hover {
    background-color: #bb2d3b;
    border-color: #b02a37;
    color: #fff;
    text-decoration: none;
}

.acf-form-submit .acf-button:not(:last-child),
.acf-form-submit .btn:not(:last-child),
.acf-form-submit .grip-button:not(:last-child),
table .acf-button:not(:last-child),
table .btn:not(:last-child),
table .grip-button:not(:last-child) {
    margin-right: 10px;
}

.grip-widget-footer .acf-button:not(:first-child),
.grip-widget-footer .btn:not(:first-child),
.grip-widget-footer .grip-button:not(:first-child) {
    margin-left: 10px;
}

.switcher.current {
    cursor: default;
}

.grip-table-responsive {
    -webkit-overflow-scrolling: touch;
    display: block;
    margin-bottom: 0.5rem;
    overflow-x: scroll;
    padding-bottom: 0.5rem;
    width: 100%;
}

.grip-table-responsive::-webkit-scrollbar {
    height: 4px;
    width: 4px;
}

.grip-table-responsive::-webkit-scrollbar-thumb {
    background-color: rgba(0, 102, 191, 0.8);
    border-radius: 4px;
}

.grip-table-responsive table {
    border-collapse: collaps;
    border-color: #dee2e6;
    caption-side: bottom;
    color: #212529;
    margin: 0;
    vertical-align: top;
    width: 100%;
}

.grip-table-responsive table td,
.grip-table-responsive table th {
    background-color: var(--gd-white);
    border-bottom-width: 1px;
    padding: 0.5rem;
    white-space: nowrap;
}

.grip-table-responsive table th {
    width: 100px;
}

.grip-table-responsive table tbody tr:nth-of-type(odd) td,
.grip-table-responsive table tbody tr:nth-of-type(odd) th {
    background-color: #e9ecef;
}

.grip-table-responsive tbody,
.grip-table-responsive td,
.grip-table-responsive tfoot,
.grip-table-responsive th,
.grip-table-responsive thead,
.grip-table-responsive tr {
    border: 0 solid;
    border-color: inherit;
}

/*!-------------------------------------------------------------
COMPONENTS
Header...............Header styles.
Footer...............Footer styles.
Comments.............Comment styles.
Archives.............Archive styles.
404..................404 styles.
Search...............Search styles.
Navigation...........Navigation styles.
Footer Navigation....Footer Navigation styles.
Pagination...........Pagination styles.
Single...............Single page and post styles.
Posts and pages......Misc, sticky post styles.
Entry................Entry, author biography.
Card.................Card styles.
Widget...............Widget styles.
Editor...............Editor styles.
--------------------------------------------------------------*/
#masthead {
    background-color: var(--gd-light-blue);
    height: 100%;
    left: 0;
    position: sticky;
    top: 0;
    z-index: 100;
}

body:not(.logged-in) #masthead {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

#colophon {
    background-color: var(--gd-light-blue);
    bottom: 0;
    position: sticky;
    width: 100%;
    z-index: 100;
}

.site-logo {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    margin: 0;
    padding: 10px;
}

.site-logo .site-title {
    color: var(--gd-white);
    font-size: 1.5625rem;
}

.navbar-brand {
    align-items: center;
    display: flex;
    text-decoration: none;
}

body:not(.logged-in) .navbar-brand {
    display: inline-flex;
}

.custom-logo-wrap {
    display: block;
    height: 46.06px;
    margin-right: 10px;
    width: 34px;
}

.custom-logo-wrap img {
    display: block;
    height: 100%;
    width: 100%;
}

.search-form {
    border: 1px solid #ced4da;
    border-radius: 0.25rem;
    margin: 0 0 1rem;
    padding: 0.5rem;
}

#global-menu-container {
    display: none;
}

.global-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

.global-menu li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.global-menu li:before {
    content: none;
}

.global-menu a {
    align-items: center;
    color: var(--gd-white);
    display: flex;
    font-size: 0.875rem;
    padding: 10px;
    text-decoration: none;
}

.global-menu a.active,
.global-menu a:hover {
    background-color: rgba(255, 255, 255, 0.2);
}

.global-menu a svg {
    margin-right: 10px;
}

.tertiary-nav-container {
    margin-right: 1rem;
}

.tertiary-nav-container ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.tertiary-nav-container a {
    border: 1px solid #fff;
    border-radius: 10px;
    color: #fff;
    font-size: 0.875rem;
    padding: 10px;
    text-decoration: none;
}

#footer-menu-container ul,
.tertiary-nav-container a {
    align-items: center;
    display: flex;
    justify-content: center;
}

#footer-menu-container ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

#footer-menu-container li:not(:first-child) {
    margin-left: 1rem;
}

#footer-menu-container a {
    align-items: center;
    color: var(--gd-white);
    display: flex;
    font-size: 0.875rem;
    padding: 10px;
    text-decoration: none;
}

#footer-menu-container a.active,
#footer-menu-container a:hover {
    text-decoration: underline;
}

.page-header-title {
    align-items: center;
    display: flex;
}

.page-header-title .btn-group {
    margin-left: 20px;
}

.grip-card,
.grip-title {
    width: 100%;
}

.grip-card {
    border: 1px solid #dee2e6;
    margin-bottom: 16px;
    padding: 10px 17px;
}

.grip-card-header,
.grip-card-sub-header {
    border-bottom: 2px solid #e6e9ed;
    margin-bottom: 10px;
    padding: 1px 5px 6px;
}

.grip-card-header h2,
.grip-card-sub-header h2 {
    font-size: 1.125rem;
    font-weight: 400;
    margin: 0;
}

.contractors > .grip-card-header > h2 {
    cursor: pointer;
    position: relative;
}

.contractors > .grip-card-header > h2:after,
.contractors > .grip-card-header > h2:before {
    background: #000;
    content: "";
    display: block;
    height: 2px;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 15px;
}

.contractors > .grip-card-header > h2:after {
    background: #000;
    transform: translateY(-50%) rotate(90deg);
    transition: 0.5s;
}

.contractors > .grip-card-header ~ .grip-card-body,
.contractors > .grip-card-header ~ .grip-card-meta,
.contractors > .grip-card-header ~ .grip-card-sub-header {
    height: 0;
    opacity: 0;
    transition: height 0.5s;
    visibility: hidden;
}

.contractors.active > .grip-card-header > h2:after {
    transform: rotate(0);
    transition: 0.5s;
}

.contractors.active > .grip-card-header ~ .grip-card-body,
.contractors.active > .grip-card-header ~ .grip-card-meta,
.contractors.active > .grip-card-header ~ .grip-card-sub-header {
    height: auto;
    opacity: 1;
    visibility: visible;
}

.grip-widget {
    border: 1px solid #dee2e6;
    margin-bottom: 16px;
    padding: 10px 17px;
    width: 100%;
}

.grip-widget-header {
    border-bottom: 2px solid #e6e9ed;
    margin-bottom: 10px;
    padding: 1px 5px 6px;
}

.grip-widget-header h2 {
    font-size: 1.125rem;
    font-weight: 400;
    margin: 0;
}

.grip-widget-footer {
    text-align: right;
}

.front-forms-box {
    align-items: center;
    display: flex;
    height: 100%;
    justify-content: center;
    margin: 0 auto;
    max-width: 1080px;
    position: relative;
    width: 100%;
}

.front-forms-box .front-forms-signin,
.front-forms-box .front-forms-signup {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    height: 100%;
    transform: rotateY(0deg);
    transition: all 0.5s linear 0s;
    width: 100%;
}

.front-forms-box .front-forms-signin {
    max-width: 400px;
    position: absolute;
    top: 0;
    transform: rotateY(180deg);
}

.front-forms-box .rotate-front-forms-signup {
    transform: rotateY(-180deg);
}

.front-forms-box .rotate-front-forms-signin {
    transform: rotateY(0deg);
}

/*!-------------------------------------------------------------
Utilities
A11y : Screen reader text, prefers reduced motion etc.
--------------------------------------------------------------*/
.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    -webkit-clip-path: inset(50%);
    word-wrap: normal !important;
    border: 0;
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute !important;
    width: 1px;
    word-break: normal;
}

.skip-link:focus {
    clip: auto !important;
    -webkit-clip-path: none;
    background-color: #f1f1f1;
    border-radius: 3px;
    box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
    clip-path: none;
    color: #21759b;
    display: block;
    font-size: 0.875rem;
    font-weight: 700;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
}

#content[tabindex="-1"]:focus {
    outline: 0;
}

/*!-------------------------------------------------------------
Plugins
Paid Memberships Pro
--------------------------------------------------------------*/
#loginform input[type="password"],
#loginform input[type="text"],
form.pmpro_form .input,
form.pmpro_form select,
form.pmpro_form textarea {
    max-width: 100%;
}

.pmpro_change_password-field-pass1 {
    display: flex;
    flex-wrap: wrap;
}

.pmpro_change_password-field-pass1 #loginform input[type="password"] {
    max-width: calc(100% - 150px);
}

.pmpro_change_password-field-pass1 #passwordHelpBlock {
    width: 100%;
}

.pmpro_advanced_levels-compare_table thead tr:last-of-type {
    display: none;
}

.pmpro_advanced_levels-compare_table thead tr:nth-last-of-type(2) th {
    border-bottom: 0.5rem solid;
}

#pmpro_account_loggedin,
#pmpro_payment_information_fields > h3,
#pmpro_pricing_fields > h3,
#pmpro_user_fields .pmpro_checkout-h3-msg,
.pmpro_billing_wrap > p,
.pmpro_billing_wrap > ul {
    display: none;
}

#pmpro_user_fields .pmpro_asterisk {
    color: var(--gd-red);
}

#pmpro_user_fields .pmpro_checkout-fields {
    --bs-gutter-x: 1.5rem;
    --bs-gutter-y: 0;
    display: flex;
    flex-wrap: wrap;
    margin-left: calc(var(--bs-gutter-x) / -2);
    margin-right: calc(var(--bs-gutter-x) / -2);
    margin-top: calc(var(--bs-gutter-y) * -1);
}

#pmpro_user_fields .pmpro_checkout-fields > * {
    flex-shrink: 0;
    margin-top: var(--bs-gutter-y);
    max-width: 100%;
    padding-left: calc(var(--bs-gutter-x) / 2);
    padding-right: calc(var(--bs-gutter-x) / 2);
    width: 100%;
}

#pmpro_user_fields .pmpro_checkout-fields .pmpro_checkout-field {
    align-items: center;
    display: flex;
    flex: 0 0 auto;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
}

#pmpro_user_fields .pmpro_checkout-fields .pmpro_checkout-field > label {
    width: 100%;
}

#pmpro_user_fields
.pmpro_checkout-fields
.pmpro_checkout-field > label[for="username"]::after {
    color: var(--gd-gray);
    content: "半角英数字";
    font-size: 0.8125rem;
}

#pmpro_user_fields
.pmpro_checkout-fields
.pmpro_checkout-field > input[type="email"],
#pmpro_user_fields
.pmpro_checkout-fields
.pmpro_checkout-field > input[type="password"],
#pmpro_user_fields
.pmpro_checkout-fields
.pmpro_checkout-field > input[type="text"] {
    -webkit-appearance: none;
    appearance: none;
    background-clip: padding-box;
    background-color: #fff;
    border: 1px solid #ced4da;
    border-radius: 0.25rem;
    color: #212529;
    display: block;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    max-width: calc(100% - 18px);
    padding: 0.375rem 0.75rem;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    width: 100%;
}

#pmpro_user_fields
.pmpro_checkout-fields
.pmpro_checkout-field > input[type="email"].pmpro_error,
#pmpro_user_fields
.pmpro_checkout-fields
.pmpro_checkout-field > input[type="password"].pmpro_error,
#pmpro_user_fields
.pmpro_checkout-fields
.pmpro_checkout-field > input[type="text"].pmpro_error {
    background-color: #f2dede;
    border-color: #ebccd1;
    color: #a94442;
}

.pmpro_btn {
    -webkit-user-select: none;
    -ms-user-select: none;
    background-color: transparent;
    border: 1px solid transparent;
    border-radius: 3px;
    border-radius: 0.25rem;
    color: #212529;
    display: inline-block;
    font-size: 0.875rem;
    font-weight: 400;
    padding: 0.375rem 0.75rem;
    text-align: center;
    transition:
        color 0.15s ease-in-out,
        background-color 0.15s ease-in-out,
        border-color 0.15s ease-in-out,
        box-shadow 0.15s ease-in-out;
    user-select: none;
    vertical-align: middle;
}

.pmpro_btn-select {
    background-color: #0d6efd;
    border-color: #0d6efd;
    color: #fff;
}

.pmpro_btn-select:hover {
    background-color: #0b5ed7;
    border-color: #0a58ca;
    color: #fff;
    text-decoration: none;
}

.pmpro_btn.pmpro_btn-submit,
.pmpro_btn.pmpro_btn-submit-checkout {
    background-color: #0d6efd;
    border-color: #0d6efd;
    color: #fff;
    text-decoration: none;
}

.pmpro_btn.pmpro_btn-submit-checkout:hover,
.pmpro_btn.pmpro_btn-submit:hover {
    background-color: #0b5ed7;
    border-color: #0a58ca;
    color: #fff;
    text-decoration: none;
}

.pmpro_btn.pmpro_btn-cancel {
    background-color: #dc3545;
    border-color: #dc3545;
    color: #fff;
    text-decoration: none;
}

.pmpro_btn.pmpro_btn-cancel:hover {
    background-color: #bb2d3b;
    border-color: #b02a37;
    color: #fff;
    text-decoration: none;
}

.pmpro_btn.pmpro_btn-cancel:focus,
.pmpro_btn.pmpro_btn-cancel:focus-visible {
    outline: none;
}

.pmpro_btn-secondary {
    background-color: #6c757d;
    border-color: #6c757d;
    color: #fff;
}

.pmpro_btn-secondary:hover {
    background-color: #5c636a;
    border-color: #565e64;
    color: #fff;
    text-decoration: none;
}

.pmpro_btn-danger {
    background-color: #dc3545;
    border-color: #dc3545;
    color: #fff;
}

.pmpro_btn-danger:hover {
    background-color: #bb2d3b;
    border-color: #b02a37;
    color: #fff;
    text-decoration: none;
}

.pmpro_login_wrap,
.pmpro_lost_password_wrap {
    margin: auto;
    padding: 8% 0 0;
    width: 320px;
}

.pmpro_login_wrap form,
.pmpro_lost_password_wrap form {
    background: #fff;
    border: 1px solid #c3c4c7;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
    font-weight: 400;
    margin-left: 0;
    margin-top: 20px;
    overflow: hidden;
    padding: 26px 24px 34px;
}

.pmpro_login_wrap form .input,
.pmpro_login_wrap form input[type="email"],
.pmpro_login_wrap form input[type="password"],
.pmpro_login_wrap form input[type="text"],
.pmpro_lost_password_wrap form .input,
.pmpro_lost_password_wrap form input[type="email"],
.pmpro_lost_password_wrap form input[type="password"],
.pmpro_lost_password_wrap form input[type="text"] {
    background-color: #fff;
    border: 1px solid #8c8f94;
    border-radius: 4px;
    box-shadow: 0 0 0 transparent;
    color: #2c3338;
    font-size: 1.5rem;
    line-height: 1.33333333;
    margin: 0 6px 16px 0;
    max-height: none;
    min-height: 40px;
    padding: 0.1875rem 0.3125rem;
    width: 100%;
}

.pmpro_login_wrap form input[type="submit"],
.pmpro_lost_password_wrap form input[type="submit"] {
    -webkit-user-select: none;
    -ms-user-select: none;
    background-color: #0d6efd;
    border: 1px solid #0d6efd;
    border-radius: 3px;
    border-radius: 0.25rem;
    color: #fff;
    display: block;
    font-size: 0.875rem;
    font-weight: 400;
    padding: 0.375rem 0.75rem;
    text-align: center;
    transition:
        color 0.15s ease-in-out,
        background-color 0.15s ease-in-out,
        border-color 0.15s ease-in-out,
        box-shadow 0.15s ease-in-out;
    user-select: none;
    vertical-align: middle;
    width: 100%;
}

.pmpro_login_wrap form input[type="submit"]:focus,
.pmpro_login_wrap form input[type="submit"]:hover,
.pmpro_lost_password_wrap form input[type="submit"]:focus,
.pmpro_lost_password_wrap form input[type="submit"]:hover {
    background-color: #0b5ed7;
    border-color: #0a58ca;
    color: #fff;
    outline: none;
    text-decoration: none;
}

.pmpro_login_wrap label,
.pmpro_lost_password_wrap label {
    display: inline-block;
    font-size: 0.875rem;
    line-height: 1.5;
    margin-bottom: 3px;
}

.pmpro_login_wrap hr,
.pmpro_lost_password_wrap hr {
    display: none;
}

.pmpro_login_wrap .pmpro_actions_nav,
.pmpro_lost_password_wrap .pmpro_actions_nav {
    font-size: 0.8125rem;
    margin: 24px 0 0;
    padding: 0 24px;
}

.pmpro_login_wrap .pmpro_actions_nav a,
.pmpro_lost_password_wrap .pmpro_actions_nav a {
    color: #50575e;
    text-decoration: none;
}

.pmpro_login_wrap #loginform p,
.pmpro_lost_password_wrap #loginform p {
    margin-bottom: 0;
}

.pmpro_login_wrap #loginform p.login-remember,
.pmpro_lost_password_wrap #loginform p.login-remember {
    margin-bottom: 1rem;
}

.pmpro_login_wrap .pmpro_lost_password-instructions,
.pmpro_lost_password_wrap .pmpro_lost_password-instructions {
    background-color: #fff;
    border-left: 4px solid #72aee6;
    box-shadow: 0 1px 1px 0 rgba(0, 0, 0, 0.1);
    font-size: 0.8125rem;
    margin-bottom: 20px;
    margin-left: 0;
    padding: 12px;
}

.invoice-receipt {
    margin: 0 auto;
    max-width: 1080px;
    overflow: hidden;
}

.invoice-receipt .invoice-date,
.invoice-receipt .invoice-number {
    text-align: right;
}

.invoice-receipt .invoice-text,
.invoice-receipt .invoice-title {
    text-align: center;
}

.invoice-receipt .invoice-address,
.invoice-receipt .invoice-however,
.invoice-receipt .invoice-total {
    border-bottom: 2px solid #000;
    padding-bottom: 0.5rem;
}

.invoice-receipt .grip-button {
    float: right;
}
@media (min-width: 768px) {

    #page {
        display: flex;
        flex-direction: column;
        flex-wrap: wrap;
        height: 100%;
        padding-left: 250px;
    }

    body:not(.logged-in) #page {
        flex-wrap: nowrap;
        padding-left: 0;
    }

    #main {
        flex: 1 1;
        padding: 0 20px 30px;
        width: 100%;
    }

    body:not(.logged-in) #main {
        margin: 0 auto;
        max-width: 1080px;
    }

    .grip-row {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
    }
    @supports (gap: normal) {

        .grip-row {
            grid-gap: 16px 8px;
            gap: 16px 8px;
            margin-bottom: 16px;
        }
    }

    .zipcode {
        flex: 1 1;
        width: calc(100% - 142px);
    }

    .autofill {
        margin-left: 10px;
        width: 132px;
    }

    #masthead {
        height: 100%;
        position: fixed;
        width: 250px;
    }

    body:not(.logged-in) #masthead {
        height: auto;
        position: sticky;
        width: 100%;
    }

    .search-form {
        padding: 1.5rem;
    }

    .navbar-toggler {
        display: none !important;
    }

    #global-menu-container {
        display: block;
    }

    #footer-menu-container ul {
        justify-content: flex-end;
    }

    .grip-title.grip-card-full {
        width: 100%;
    }

    .grip-card {
        margin-right: 8px;
        width: calc(33.33333% - 6px);
    }

    .grip-card:nth-of-type(3n) {
        margin-right: 0;
    }
    @supports (gap: normal) {

        .grip-card {
            margin: 0;
        }
    }

    .grip-card.grip-card-full {
        margin-right: 0;
        width: 100%;
    }

    .grip-widget {
        margin-right: 8px;
        width: calc(33.33333% - 6px);
    }

    .grip-widget:nth-of-type(3n) {
        margin-right: 0;
    }
    @supports (gap: normal) {

        .grip-widget {
            margin: 0;
        }
    }

    .grip-widget-full {
        margin-right: 0;
        width: 100%;
    }

    .grip-widget-2-3 {
        margin-right: 8px;
        width: calc(66.66667% - 2px);
    }

    .grip-widget-2-3:nth-of-type(3n) {
        margin-right: 0;
    }
    @supports (gap: normal) {

        .grip-widget-2-3 {
            margin: 0;
        }
    }

    #pmpro_user_fields .pmpro_checkout-fields .pmpro_checkout-field {
        width: 50%;
    }

    #pmpro_user_fields
    .pmpro_checkout-fields
    .pmpro_checkout-field.pmpro_checkout-field-username {
        width: 100%;
    }
}
@media (min-width: 992px) {

    .list-inline .grip-contractor-name,
    .menu-toggler {
        display: none !important;
    }
}
@media (prefers-reduced-motion) {

    * {
        transition-delay: 0s !important;
        transition-duration: 0s !important;
    }
}
@media print {

    .invoice-print #masthead,
    .invoice-print .grip-button,
    .invoice-print .page-header,
    .invoice-print .pmpro_actions_nav {
        display: none;
    }

    .invoice-print * {
        background: transparent !important;
        box-shadow: none !important;
        color: #000 !important;
        text-shadow: none !important;
    }
    @page {

        .invoice-print {
            margin: 2cm 0.5cm;
        }
    }

    .invoice-print p {
        orphans: 3;
        widows: 3;
    }
}
