/*--------------------------------------------------------------------------------------------------/
	Theme Name:     RYNO Child Theme
	Theme URI:      http://rynoss.com/
	Description:    RYNO Child Theme
	Author:         Ryno SS - Jerad Shepherd
	Author URI:     http://www.rynoss.com
	Template:       theme-3
	Text Domain:    ryno-theme-three-child
/*-------------------------------------------------------------------------------------------*/



/*-------------------------------------------------------------------------------------------*/

	/*-------------------------------------------------------------------------------------------*/

		/*-------------------------------------------------------------------------------------------*/
			/*-------------------------------------------------------------------------------------------*/
			/* baseline theme styles */
			/*-------------------------------------------------------------------------------------------*/
				/*-------------------------------------------------------------------------------------------*/

					/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/
						/* thematic color scheme */
						/*-------------------------------------------------------------------------------------------*/
							/*-------------------------------------------------------------------------------------------*/
								:root{
									--colors-loyalty-black:         #000000;
									--colors-loyalty-dark:          #1D1D1D;
									--colors-loyalty-red:           #80080F;
									--colors-loyalty-gray:          #848484;
									--colors-loyalty-ash:           #BABABA;
									--colors-loyalty-mist:          #F3F3F3;
									--colors-loyalty-white:         #FFFFFF;
								}
							/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/

					/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/
						/* various resets */
						/*-------------------------------------------------------------------------------------------*/
							/*-------------------------------------------------------------------------------------------*/
								.page-template-page-conversion .conversion-section-one-wrapper {
									overflow-x: unset;
								}
								.viewport-overflow-wrapper{
									overflow: hidden;
								}
								body{
									overflow-x: hidden;
								}
							/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/

					/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/
						/* typography */
						/*-------------------------------------------------------------------------------------------*/
							/*-------------------------------------------------------------------------------------------*/
								:root{
									--basefont: 'open sans', helvetica, arial, sans-serif;
									--boldfont: 'arapey', serif;

									--rem-size-desktop-px: calc( 1px * var(--rem-size-desktop) );
									--rem-size-desktop: 18;

									--rem-size-mobile-px: calc( 1px * var(--rem-size-mobile) );
									--rem-size-mobile: 18;

									--rem-size-min-px: calc( 1px * var(--rem-size-min) );
									--rem-size-min: 16;
									
									--basefont-text-transform: none;
									--basefont-font-weight: normal;
									--basefont-line-height: calc( 34 / var(--rem-size-desktop) );

									--boldfont-text-transform: uppercase;
									--boldfont-letter-spacing: -0.000em;
									--boldfont-font-weight: normal;
									--boldfont-line-height: calc( 20 / var(--rem-size-desktop) );
									
									--margin-bottom-default: calc( 1rem * 30 / var(--rem-size-desktop) );
								}
							/*-------------------------------------------------------------------------------------------*/
								div, ul, ol, p{
									font-family: inherit;
									font-size:   inherit;
									font-weight: inherit;
									line-height: inherit;
								}
								body{
									font-family: var(--basefont);
									font-size:   inherit;
									font-weight: var(--basefont-font-weight);
									line-height: var(--basefont-line-height);
								}
								html{
									font-size: var(--rem-size-desktop-px);
								}
								@media (max-width: 767px){
									html{
										font-size: var(--rem-size-mobile-px);
									}
								}
								@media (max-width: 575px){
									html{
										font-size: calc( var(--rem-size-min-px) + (var(--rem-size-mobile) - var(--rem-size-min)) * ((100vw - 320px) / (576 - 320)) );
									}
								}
							/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/

					/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/
						/* headings */
						/*-------------------------------------------------------------------------------------------*/
							/*-------------------------------------------------------------------------------------------*/
								h1,.h1,h2,.h2,h3,.h3,h4,.h4,h5,.h5,h6,.h6{
									text-transform: var(--boldfont-text-transform);
									font-family: 	var(--boldfont);
									font-weight: 	var(--boldfont-font-weight);
									line-height: 	var(--boldfont-line-height);
									margin-bottom: 	var(--margin-bottom-default);
								}
								h1,.h1{
									font-size: calc( 1rem * 52 / var(--rem-size-desktop) );
									line-height: calc( 52 / 52 );
								}
								h2,.h2{
									font-size: calc( 1rem * 48 / var(--rem-size-desktop) );
									line-height: calc( 48 / 48 );
								}
								h3,.h3{
									font-size: calc( 1rem * 36 / var(--rem-size-desktop) );
									line-height: calc( 36 / 36 );
								}
								h4,.h4{
									font-size: calc( 1rem * 30 / var(--rem-size-desktop) );
									line-height: calc( 30 / 30 );
								}
								h5,.h5{
									font-size: calc( 1rem * 24 / var(--rem-size-desktop) );
									line-height: calc( 24 / 24 );
								}
								h6,.h6{
									font-size: calc( 1rem * 20 / var(--rem-size-desktop) );
									line-height: calc( 20 / 20 );
								}
								@media (max-width: 991px){
									h1,.h1{
										font-size: calc( 1rem * 36 / var(--rem-size-desktop) );
										line-height: calc( 36 / 36 );
									}
									h2,.h2{
										font-size: calc( 1rem * 30 / var(--rem-size-desktop) );
										line-height: calc( 30 / 30 );
									}
									h3,.h3{
										font-size: calc( 1rem * 27 / var(--rem-size-desktop) );
										line-height: calc( 27 / 27 );
									}
									h4,.h4{
										font-size: calc( 1rem * 24 / var(--rem-size-desktop) );
										line-height: calc( 24 / 24 );
									}
									h5,.h5{
										font-size: calc( 1rem * 22 / var(--rem-size-desktop) );
										line-height: calc( 22 / 22 );
									}
									h6,.h6{
										font-size: calc( 1rem * 20 / var(--rem-size-desktop) );
										line-height: calc( 20 / 20 );
									}
								}
							/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/

					/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/
						/* social icons */
						/*-------------------------------------------------------------------------------------------*/
							/*-------------------------------------------------------------------------------------------*/
								:root{
									--social-icon-margin-vertical: 3px;
									--social-icon-margin-horizontal: 3px;
								}
								@media (max-width: 991px){
									:root{
										--social-icon-margin-vertical: 6px;
										--social-icon-margin-horizontal: 9px;
									}
								}
							/*-------------------------------------------------------------------------------------------*/
								.social-icons .social-icons__icon a span::selection,
								.social-icons .social-icons__icon a span{
									background-color: transparent !important;
									color: transparent !important;
									width: 0 !important;
									height: 0 !important;
									display: none !important;
									overflow: hidden !important;
									visibility: hidden !important;
								}
								.social-icons .social-icons__icon a:hover{
									background-color: var(--colors-loyalty-black);
									color: var(--colors-loyalty-white);
									transition: color 0.09s ease-out, background-color 0.09s ease-out, transform 0.09s ease-out;
								}
								.social-icons .social-icons__icon a{
									border-radius: calc( 1em * 0 / var(--rem-size-desktop) );
									background-color: var(--colors-loyalty-red);
									color: var(--colors-loyalty-white);
									width: calc( 1em * 53 / 25 );
									height: calc( 1em * 64 / 25 );
									display: inline-flex;
									align-items: center;
									justify-content: center;
									transition: color 0.21s ease-out, background-color 0.21s ease-out, transform 0.21s ease-out;
								}
								.social-icons .social-icons__icon:first-of-type{
									/*padding-left: 0; */
								}
								.social-icons .social-icons__icon:last-of-type{
									/*padding-right: 0; */
								}
								.social-icons .social-icons__icon{
									padding: 0;
									padding-top: calc( 1 * var(--social-icon-margin-vertical) );
									padding-left: calc( 1 * var(--social-icon-margin-horizontal) );
									padding-right: calc( 1 * var(--social-icon-margin-horizontal) );
									padding-bottom: calc( 1 * var(--social-icon-margin-vertical) );
								}
								.social-icons *{
									font-size: inherit;
									line-height: inherit;
								}
								.social-icons{
									font-size: calc( 1rem * 25 / var(--rem-size-desktop) );
									line-height: 1;
									max-width: 100%;
									width: auto;
									margin: auto;
									display: inline-flex;
									flex-wrap: wrap;
									align-items: center;
									justify-content: center;
								}
							/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/

					/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/
						/* buttons */
						/*-------------------------------------------------------------------------------------------*/
							/*-------------------------------------------------------------------------------------------*/
								.postscript-contact [type="submit"],
								.sidebar-form [type="submit"],
								.btn-lg, .btn-sm,
								.btn{
									display: inline-block;
									max-width: 100%;
									font-family: var(--boldfont);
									font-size: calc( 1rem * 20 / var(--rem-size-desktop) );
									font-weight: var(--boldfont-font-weight);
									line-height: var(--boldfont-line-height);
									letter-spacing: var(--boldfont-letter-spacing);
									text-transform: var(--boldfont-text-transform);
									border-radius: 0;
									border-style: solid;
									border-color: transparent;
									border-width: calc( 1em * 0 / 20 );
									padding-top: calc( 1em * 21 / 20 );
									padding-left: calc( 1em * 27 / 20 );
									padding-right: calc( 1em * 27 / 20 );
									padding-bottom: calc( 1em * 21 / 20 );
									transition:
										all 0s,
										background-position 0.135s ease-out, 
										background-color 0.135s ease-out,
										border-color 0.135s ease-out,
										color 0.105s ease-out,
											top 0.135s ease-out,
											left 0.135s ease-out,
											right 0.135s ease-out,
											bottom 0.135s ease-out,
										box-shadow 0.135s ease-out,
										transform 0.135s ease-out
										!important
									;
								}
								.btn-secondary:hover,
								.btn-secondary,
								.btn-primary:hover,
								.btn-primary,
								.btn:hover,
								.btn{
									border-color: transparent;
								}
							/*-------------------------------------------------------------------------------------------*/
								.btn-alternate:hover{
									background-color: var(--colors-loyalty-red); 
									color: var(--colors-loyalty-white);
								}
								.btn-alternate{
									background-color: var(--colors-loyalty-white); 
									color: var(--colors-loyalty-black);
								}
								.btn-secondary:hover{
									background-color: var(--colors-loyalty-red); 
								}
								.btn-secondary{
									background-color: var(--colors-loyalty-black); 
									color: var(--colors-loyalty-white);
								}
								.btn-primary:hover{
									background-color: var(--colors-loyalty-black); 
								}
								.btn-primary{
									background-color: var(--colors-loyalty-red); 
									color: var(--colors-loyalty-white);
								}
							/*-------------------------------------------------------------------------------------------*/
								.postscript-contact .wpcf7-submit,
								.page-section .btn,
								.header .btn,
								.footer .btn,
								.home .btn{
									min-width: calc( 1em * 259 / 20 );
									max-width: 100%;
								}
							/*-------------------------------------------------------------------------------------------*/
								.sidebar-form [type="submit"]{
									padding: calc( 1em * 20 / 20 ) calc( 1em * 42 / 20 );
								}
							/*-------------------------------------------------------------------------------------------*/
								.content-area a.btn.view-article,
								a.btn.view-article{
									display: none !important;
								}
							/*-------------------------------------------------------------------------------------------*/
								.home .viewport-overflow-wrapper .btn-alternate::before,
								.postscript-contact .btn-alternate::before,
								.header .btn-alternate::before{
									background-image: url('/wp-content/uploads/Loyalty_Button_BG_White.png');
								}
								.home .viewport-overflow-wrapper .btn-alternate,
								.postscript-contact .btn-alternate,
								.header .btn-alternate{
									background-image: url('/wp-content/uploads/Loyalty_Button_BG_Red.png');
								}
								.home .viewport-overflow-wrapper .btn-secondary::before,
								.postscript-contact .btn-secondary::before,
								.header .btn-secondary::before{
									background-image: url('/wp-content/uploads/Loyalty_Button_BG_Black.png');
								}
								.home .viewport-overflow-wrapper .btn-secondary,
								.postscript-contact .btn-secondary,
								.header .btn-secondary{
									background-image: url('/wp-content/uploads/Loyalty_Button_BG_Red.png');
								}
								.home .viewport-overflow-wrapper .btn-primary::before,
								.postscript-contact .btn-primary::before,
								.header .btn-primary::before{
									background-image: url('/wp-content/uploads/Loyalty_Button_BG_Red.png');
								}
								.home .viewport-overflow-wrapper .btn-primary,
								.postscript-contact .btn-primary,
								.header .btn-primary{
									background-image: url('/wp-content/uploads/Loyalty_Button_BG_Black.png');
								}
								.home .viewport-overflow-wrapper .btn:hover::before,
								.postscript-contact .btn:hover::before,
								.header .btn:hover::before{
									opacity: 0 !important;
									transition: opacity 0.105s ease-out;
								}
								.home .viewport-overflow-wrapper .btn::before,
								.postscript-contact .btn::before,
								.header .btn::before{
									display: block;
									content: "";
									position: absolute;
									z-index: -1;
									top: 0;
									left: 0;
									right: 0;
									bottom: 0;
									width: 100%;
									height: calc( 100% + 1px );
									background-repeat: no-repeat;
									background-size: cover;
									background-position: center bottom;
									transition: opacity 0.135s ease-out;
								}
								.home .viewport-overflow-wrapper .btn,
								.postscript-contact .btn,
								.header .btn{
									position: relative;
									z-index: 12;
									padding-top: calc( 1em * 21 / 20 );
									padding-left: calc( 1em * 24 / 20 );
									padding-right: calc( 1em * 27 / 20 );
									padding-bottom: calc( 1em * 24 / 20 );
									background-color: transparent !important;
									background-repeat: no-repeat;
									background-size: cover;
									background-position: center bottom;
								}
							/*-------------------------------------------------------------------------------------------*/
								.page-section.page-section--hero-section .hero-button.button--contact .btn:hover span::before {
									background-image: url('/wp-content/uploads/Loyalty_Icon_PhoneRinging_Black.png') !important;
								}
								.page-section.page-section--hero-section .hero-button.button--contact .btn span::before {
									margin-right: 0.50em;
									background-image: url('/wp-content/uploads/Loyalty_Icon_PhoneRinging_Red.png') !important;
								}
								.header .header-button.button--specials .btn span::before{
									background-image: url('/wp-content/uploads/Loyalty_Icon_DollarSignCircle.png');
								}
								.header .header-button.button--schedule .btn span::before{
									background-image: url('/wp-content/uploads/Loyalty_Icon_Calendar.png');
								}
								.header .btn::selection span::before,
								.header .btn span::before{
									background-color: transparent !important;
								}
								.page-section .btn span::before,
								.header .btn span::before{
									color: transparent !important;
									font-family: 'ryno-theme-icons';
									content: '\e928';
									font-size: calc( 1em );
									vertical-align: text-top;
									position: relative;
									top: 0.50em;
									margin-right: 0.375em;
									transform: translate( 0, -50% );
									display: inline-block;
									margin-right: 0.25em;
									background-repeat: no-repeat;
									background-size: contain;
									background-position: center center;
								}
							/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/

					/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/
						/* various components */
						/*-------------------------------------------------------------------------------------------*/
							/*-------------------------------------------------------------------------------------------*/
								.info-tagline--service-areas > span::before{
									font-family: 'ryno-theme-icons';
									content: '\e92c';
									color: var(--colors-loyalty-red);
									font-size: 0.875em;
									margin-right: 0.25em;
									font-style: normal !important;
								}
							/*-------------------------------------------------------------------------------------------*/
								.company-phone a:hover{ 
									color: var(--colors-loyalty-red);
								}
								.company-phone a{ 
									color: var(--colors-loyalty-dark);
								}
								.company-phone{
									line-height: 1;
									font-family: var(--boldfont);
									font-size: calc( 1rem * 41 / var(--rem-size-desktop) );
									font-weight: var(--boldfont-font-weight);
								}
							/*-------------------------------------------------------------------------------------------*/
								ul, ol, p{
									margin-bottom: var(--margin-bottom-default);
								}
							/*-------------------------------------------------------------------------------------------*/
								.ornament::before, .ornament::after {
									border-top: 2px solid var(--colors-loyalty-black);
								}
							/*-------------------------------------------------------------------------------------------*/
								.callout-paragraph{
									font-size: calc( 1rem * 24 / 18 );
									font-family: var(--boldfont);
									line-height: calc( 32 / 24 );
									text-transform: var(--boldfont-text-transform);
								}
							/*-------------------------------------------------------------------------------------------*/
								.line-separator-white::after{
									background-color: var(--colors-loyalty-white);
								}
								.line-separator-black::after{
									background-color: var(--colors-loyalty-black);
								}
								.line-separator-red::after{
									background-color: var(--colors-loyalty-red);
								}
								.line-separator::after{
									display: block;
									content: "";
									width: calc( 1rem * 250 / 18 );
									height: calc( 1rem * 3 / 18 );
									margin: 0 auto;
									margin-top: calc( 1rem * 21 / 18 );
									margin-bottom: calc( 1rem * 42 / 18 );
								}
							/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/

					/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/
						/* global nav resets */
						/*-------------------------------------------------------------------------------------------*/
							/*-------------------------------------------------------------------------------------------*/
								.main-navigation > li.has-dropdown::after {
									font-size: inherit;
									top: 0;
									right: 0;
									padding-top: 10px;
								}
								.main-navigation a{
									font-size: inherit;
									font-family: var(--boldfont);
									font-weight: var(--boldfont-font-weight);
								}
							/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/

				/*-------------------------------------------------------------------------------------------*/
			/*-------------------------------------------------------------------------------------------*/

		/*-------------------------------------------------------------------------------------------*/
			/*-------------------------------------------------------------------------------------------*/
			/* desktop header */
			/*-------------------------------------------------------------------------------------------*/
				/*-------------------------------------------------------------------------------------------*/
				
					/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/
						/* desktop header wrapper */
						/*-------------------------------------------------------------------------------------------*/
							/*-------------------------------------------------------------------------------------------*/
								.header-wrapper.header--sticky{
									-webkit-position: sticky;
									position: sticky;
									top: 0;
									z-index: 360;
								}
							/*-------------------------------------------------------------------------------------------*/
								.header-wrapper.sticky-active{
									box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.50);
									transition: background-color 0.135s ease-out, box-shadow 0.135s ease-out;
								}
								.header-wrapper{
									box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.125);
									transition: background-color 0.225s ease-out, box-shadow 0.225s ease-out;
								}
							/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/
					
					/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/
						/* desktop header content */
						/*-------------------------------------------------------------------------------------------*/
							/*-------------------------------------------------------------------------------------------*/
								.desktop-header > .container > .row{
									display: flex;
									align-items: stretch;
									justify-content: space-between;
								}
								.header-col.header-side-col--right{
									text-align: right;
									align-items: flex-end;
								}
								.header-col.header-side-col--left{
									text-align: left;
									align-items: flex-start;
								}
								.header-col.header-main-col{
									text-align: center;
									align-items: center;
								}
								.header-col{
									display: flex;
									align-items: center;
									justify-content: center;
								}
							/*-------------------------------------------------------------------------------------------*/
								.header-col.header-side-col--right .header-box,
								.header-col.header-side-col--left .header-box{
									justify-content: flex-start;
								}
								.header-col.header-main-col .header-box{
									justify-content: center;
								}
								.header-box{
									flex: 0 0 100%;
									width: 100%;
									height: 100%;
									display: flex;
									flex-direction: column;
									align-items: stretch;
								}
							/*-------------------------------------------------------------------------------------------*/
								.header.smaller .desktop-header{
									padding-top: calc( 1rem * 0 / var(--rem-size-desktop) );
									padding-bottom: calc( 1rem * 6 / var(--rem-size-desktop) );
									transition:
										all 0s,
										padding 0.090s ease-out
									;
								}
								.desktop-header{
									padding-top: calc( 1rem * 0 / var(--rem-size-desktop) );
									padding-bottom: calc( 1rem * 0 / var(--rem-size-desktop) );
									transition:
										all 0s,
										padding 0.135s ease-out
									;
								}
							/*-------------------------------------------------------------------------------------------*/
								.header{
									padding-top: 0 !important;
									padding-bottom: 0 !important;
								}
							/*-------------------------------------------------------------------------------------------*/
								/* default padding & background color transition settings for sticky header on desktop */
									.header-wrapper .desktop-header{
										transition: all 0s ease-out, padding 0.135s ease-out, background-color 0.135s ease-out;
									}
									.header-wrapper .nav-bar{
										transition: all 0s ease-out, background-color 0.135s ease-out;
									}
							/*-------------------------------------------------------------------------------------------*/
								.header.smaller .company-logo{
									max-width: 135px;
									transition: max-width 0.105s ease-out;
								}
								.header .company-logo{
									max-width: 185px;
									margin: 6px auto 9px;
									transition: max-width 0.135s ease-out;
								}
								.header.smaller .button-wrapper{
									margin-bottom: 9px;
									transition: margin-bottom 0.105s ease-out;
								}
								.header .button-wrapper{
									margin-top: -1px;
									margin-bottom: 30px;
									transition: margin-bottom 0.135s ease-out;
								}
								.header .button-wrapper .btn:hover{
									transform: translate( 0, 0 );
								}
								.header .button-wrapper .btn{
									transform: translate( 0, -12px );
								}
								.header .info-tagline--service-areas > *{
									display: block;
									text-indent: calc( -0.875em );
								}
								.header .info-tagline--service-areas{
									font-style: italic;
									font-size: calc( 1rem * 16 / 18 );
									line-height: calc( 1em * 24 / 16 );
									padding-left: calc( 0.875em );
								}

							/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/

					/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/
						/* desktop nav */
						/*-------------------------------------------------------------------------------------------*/
							/*-------------------------------------------------------------------------------------------*/
								:root{
									--desktop-nav-font-weight: normal;
								}
							/*-------------------------------------------------------------------------------------------*/
								@media (min-width: 992px){
									/*-------------------------------------------------------------------------------------------*/
										/* ensure active child menus only display on hover (fixes spillover issue from opening menus on mobile nav) */
											.main-navigation > li.has-dropdown.active-child-menu:hover > ul{
												display: block;
											}
											.main-navigation > li.has-dropdown.active-child-menu > ul{
												display: none;
											}
									/*-------------------------------------------------------------------------------------------*/
										/* disable all positioning, padding, and transition behavior on nav (fixes spillover issue from mobile nav) */
											.nav-bar .nav.menu-active,
											.nav-bar .nav{
												position: relative;
												top: auto;
												left: auto;
												right: auto;
												bottom: auto;
												padding-top: 0;
												padding-left: 0;
												transition: none !important;
											}
									/*-------------------------------------------------------------------------------------------*/
										/* ensure secondary dropdown menu of rightmost nav link is right-aligned so it doesn't overflow viewport */
											.main-navigation > li:last-child.has-dropdown > ul > li.has-dropdown > ul{
												left: auto;
												right: 100%;
											}
										/* ensure rightmost nav link dropdown is right-aligned so it doesn't overflow viewport */
											.main-navigation > li:last-child.has-dropdown > ul{
												left: auto;
												right: 0;
											}
									/*-------------------------------------------------------------------------------------------*/
										/* ensure all dropdown hover menus & elements are min-width of parent li element */
											.main-navigation > li.has-dropdown > ul > li.has-dropdown > ul > li > a,
											.main-navigation > li.has-dropdown > ul > li.has-dropdown > ul > li,
											.main-navigation > li.has-dropdown > ul > li.has-dropdown > a,
											.main-navigation > li.has-dropdown > ul > li > a,
											.main-navigation > li.has-dropdown > ul > li,
											.main-navigation > li.has-dropdown > ul{
												min-width: 100%;
											}
										/* ensure all nav links are displayed as block elements */
											.main-navigation a{
												display: block;
											}
									/*-------------------------------------------------------------------------------------------*/
										/* apply micro adjustments to dropdown (flyout) indicator arrow for secondary dropdown menus */
											.main-navigation > li.has-dropdown > ul > li.has-dropdown::after{
												font-size: 0.90625em;
												vertical-align: middle;
												height: auto;
												line-height: 1;
											}
										/* add & normalize dropdown indicator arrow for all top-level nav links */
											.main-navigation > li.has-dropdown > a::after{
												font-family: 'ryno-theme-icons';
												content: "\e930";
												display: inline-block;
												font-weight: 500;
												font-size: 0.781225em;
												line-height: 1;
												margin-left: 0.28125em;
												margin-right: 0.125em;
												color: var(--colors-loyalty-red);
											}
										/* remove theme-default dropdown indicator arrow top-level nav links */
											.main-navigation > li.has-dropdown::after{
												display: none;
											}
									/*-------------------------------------------------------------------------------------------*/
										/* normalize font style inheritance and padding on nav links at all nav levels */
											.main-navigation > li.has-dropdown > ul > li.has-dropdown > ul > li > a,
											.main-navigation > li.has-dropdown > ul > li > a,
											.main-navigation > li.has-dropdown > a,
											.main-navigation > li > a{
												font-size: inherit;
												font-weight: inherit;
												line-height: inherit;
												letter-spacing: inherit;
												padding-top: 1em;
												padding-left: 1em;
												padding-right: 1em;
												padding-bottom: 0.875em;
											}
										/* adjust right padding on nested nav links for visual comfort */
											.main-navigation > li.has-dropdown > ul > li.has-dropdown > ul > li > a,
											.main-navigation > li.has-dropdown > ul > li > a{
												padding-right: 1.375em;
											}
										/* set all font styles on root nav element for inheritance */
											.main-navigation{
												font-family: var(--basefont);
												font-weight: var(--desktop-nav-font-weight);
												font-size: 21px;
												line-height: 1;
												letter-spacing: 0;
												width: 100%;
												display: flex;
												align-items: center;
												justify-content: space-between;
											}
									/*-------------------------------------------------------------------------------------------*/
								}
								@media (min-width: 1200px){
									.main-navigation{
										/*-------------------------------------------------------------------------------------------*/
											/* set fixed baseline nav font size on root nav element for xl screens */
												font-size: 20px;
										/*-------------------------------------------------------------------------------------------*/
									}
								}
								@media (min-width: 992px) and (max-width: 1199px){
									.main-navigation{
										/*-------------------------------------------------------------------------------------------*/
											/* set fluid nav font size on root nav element for lg screens only */
												font-size: calc( 17px + (20 - 17) * ((100vw - 992px) / (1200 - 992)) );
										/*-------------------------------------------------------------------------------------------*/
									}
									.nav-bar .container-lg,
									.nav-bar .container{
										/*-------------------------------------------------------------------------------------------*/
											/* set fluid nav container width for lg screens only */
												max-width: calc( 100% - (32px + (60 - 32) * ((100vw - 992px) / (1200 - 992))) );
										/*-------------------------------------------------------------------------------------------*/
									}
								}
							/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/

				/*-------------------------------------------------------------------------------------------*/
			/*-------------------------------------------------------------------------------------------*/

		/*-------------------------------------------------------------------------------------------*/
			/*-------------------------------------------------------------------------------------------*/
			/* mobile header */
			/*-------------------------------------------------------------------------------------------*/
				/*-------------------------------------------------------------------------------------------*/
				
					/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/
						/* mobile header content */
						/*-------------------------------------------------------------------------------------------*/
							/*-------------------------------------------------------------------------------------------*/
								.mobile-header__phone:hover,
								.mobile-header__phone{
									color: var(--colors-loyalty-red)
								}
							/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/

					/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/
						/* mobile nav */
						/*-------------------------------------------------------------------------------------------*/
							/*-------------------------------------------------------------------------------------------*/
								.mobile-nav-buttons.mobile-nav--two{
									margin-bottom: calc( 0.50 * var(--margin-bottom-default) );
								}
							/*-------------------------------------------------------------------------------------------*/
								.mobile-cta__button *,
								.mobile-cta__button{
									font-family: var(--boldfont);
									text-transform: var(--boldfont-text-transform);
								}
							/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/

				/*-------------------------------------------------------------------------------------------*/
			/*-------------------------------------------------------------------------------------------*/

		/*-------------------------------------------------------------------------------------------*/
			/*-------------------------------------------------------------------------------------------*/
			/* hero section */
			/*-------------------------------------------------------------------------------------------*/
				/*-------------------------------------------------------------------------------------------*/
					.hero-content .hero-headline .macro-headline::after{
						display: block;
						content: '';
						width: calc( 1em * 250 / 89 );
						height: calc( 1em * 3 / 89 );
						margin: 0 auto;
						margin-top: calc( 1em * 30 / 89 );
						margin-bottom: calc( 1em * 27 / 89 );
						background-color: var(--colors-loyalty-red);
					}
					.hero-content .hero-headline .macro-headline{
						font-size: calc( 1em * 89 / 21 );
						line-height: calc( 76 / 89 );
						width: calc( 1em * 720 / 89 );
						margin-bottom: calc( 1em * 0 / 89 );
					}
					.hero-content .hero-headline .micro-headline{
						display: none !important;
						font-size: calc( 1em * 18 / 21 );
						margin-bottom: calc( 1em * 30 / 18 );
					}
					.hero-content .hero-headline{
						color: var(--colors-loyalty-white);
						font-family: var(--boldfont);
						font-weight: var(--boldfont-font-weight);
						text-transform: var(--boldfont-text-transform);
					}
					.hero-content .btn{
						font-size: calc( 1em * 21 / 21 );
					}
					.hero-content *{
						font-size: inherit;
					}
					.hero-content{
						text-align: center;
						display: block;
						position: absolute;
						top: calc( 100vw * 102 / 1600 );
						left: 50%;
						transform: translate( -50%, 0 );
						line-height: 1;
						font-size: calc( 13px + (21 - 13) * ((100vw - 991px) / (1600 - 991)) );
					}
					.hero-bg-wrapper{
						position: absolute;
						top: 0;
						left: 0;
						right: 0;
						bottom: 0;
						width: 100%;
						height: 100%;
						background-repeat: no-repeat;
						background-size: cover;
						background-position: center top;
						background-image: url('/wp-content/uploads/Loyalty_Hero_Desktop.jpg');
					}
					.page-section--hero-section{
						position: relative;
						width: 100%;
						height: 0;
						padding-top: calc( 100% * 618 / 1600 );
					}
					@media (max-width: 991px){
						.hero-content .hero-headline .micro-headline .info-tagline span::before{
							color: var(--colors-loyalty-white);
							font-style: normal !important;
						}
						.hero-content .hero-headline .macro-headline {
							font-size: calc( 1em * 70 / 21 );
							width: calc( 1em * 480 / 70 );
							margin-bottom: calc( 1em * 30 / 70 );
						}
						.hero-content .hero-headline .micro-headline{
							display: block !important;
							font-family: var(--basefont);
							text-transform: none;
							font-style: italic;
							font-size: calc( 1em * 16 / 21 );
							margin-bottom: calc( 1em * 42 / 21 );
						}
						.hero-content .btn{
							font-size: calc( 1em * 21 / 21 );
						}
						.hero-content{
							top: calc( 100vw * 102 / 576 );
							transform: translate( -50%, 0 );
							font-size: calc( 11.67px + (21 - 11.67) * ((100vw - 320px) / (576 - 320)) );
						}
						.hero-bg-wrapper{
							background-repeat: no-repeat;
							background-size: cover;
							background-position: center top;
							background-image: url('/wp-content/uploads/Loyalty_Hero_Mobile.jpg');
						}
						.page-section--hero-section{
							padding-top: calc( 100% * 750 / 576 );
						}
					}
				/*-------------------------------------------------------------------------------------------*/
			/*-------------------------------------------------------------------------------------------*/

		/*-------------------------------------------------------------------------------------------*/
			/*-------------------------------------------------------------------------------------------*/
			/* content sections */
			/*-------------------------------------------------------------------------------------------*/
				/*-------------------------------------------------------------------------------------------*/
					
					/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/
						/* section defaults */
						/*-------------------------------------------------------------------------------------------*/
							/*-------------------------------------------------------------------------------------------*/
								.page-section{
									position: relative;
								}
								@media (max-width: 575px){
									.postscript-contact,
									.page-section{
										padding-left: calc( 100vw * 16 / 576 );
										padding-right: calc( 100vw * 16 / 576 );
									}
								}
							/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/

					/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/
						/* expert roofing section */
						/*-------------------------------------------------------------------------------------------*/
							/*-------------------------------------------------------------------------------------------*/
								.page-section--expert-roofing h1{
									max-width: calc( 1em * 1080 / 56 );
									margin-left: auto;
									margin-right: auto;
								}
								.page-section--expert-roofing *,
								.page-section--expert-roofing{
									color: var(--colors-loyalty-white);
								}
								.page-section--expert-roofing{
									text-align: center;
									padding-top: calc( 87px );
									padding-bottom: calc( 78px + 100vw * 105 / 1600 );
									background-color: var(--colors-loyalty-red);
									background-repeat:
										no-repeat,
										no-repeat
									;
									background-size:
										cover,
										cover
									;
									background-position:
										center top,
										center center
									;
									background-image:
										linear-gradient( to bottom, var(--colors-loyalty-red) 3px, transparent 62.5% ),
										url('/wp-content/uploads/Loyalty_BG_RedPattern_Section_Desktop_Compressed.jpeg')
									;
								}
								.page-section--expert-roofing::before{
									position: absolute;
									z-index: 0;
									left: 0;
									right: 0;
									bottom: calc( 100% - 2px ); 
									display: block;
									content: "";
									width: 100%;
									height: 0;
									padding-top: calc( 100vw * 96 / 1600 );
									background-repeat: no-repeat;
									background-size: cover;
									background-position: center bottom;
									background-image: url('/wp-content/uploads/Loyalty_BG_RedBlackAngle_Top_Desktop.png');
								}
								@media (max-width: 991px){
									.page-section--expert-roofing{
										text-align: center;
										padding-top: calc( 1em * 84 / 18 );
										padding-bottom: calc( 1em * 84 / 18 + 100% * 36 / 576 );
										background-color: var(--colors-loyalty-red);
										background-repeat:
											no-repeat,
											no-repeat
										;
										background-size:
											cover,
											cover
										;
										background-position:
											center top,
											center center
										;
										background-image:
											linear-gradient( to bottom, var(--colors-loyalty-red) 3px, transparent 67% ),
											url('/wp-content/uploads/Loyalty_BG_RedPattern_Section_Mobile_Compressed.jpeg')
										;
									}
								}
								@media (max-width: 767px){
									.page-section--expert-roofing::before{
										position: absolute;
										z-index: 0;
										bottom: calc( 100% - 2px ); 
										display: block;
										content: "";
										width: 100%;
										height: 0;
										padding-top: calc( 100vw * 36 / 576 );
										background-repeat: no-repeat;
										background-size: cover;
										background-position: center bottom;
										background-image: url('/wp-content/uploads/Loyalty_BG_RedBlackAngle_Top_Mobile.png');
									}
								}
							/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/

					/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/
						/* cta section section */
						/*-------------------------------------------------------------------------------------------*/
							/*-------------------------------------------------------------------------------------------*/
								.page-section--cta-section{
									text-align: center;
									padding-top: calc( 102px - 24px );
									padding-bottom: calc( 45px - 24px );
								}
								.page-section--cta-section::before{
									position: absolute;
									z-index: 0;
									left: 0;
									right: 0;
									bottom: calc( 100% - 2px ); 
									display: block;
									content: "";
									width: 100%;
									height: 0;
									padding-top: calc( 100vw * 96 / 1600 );
									background-repeat: no-repeat;
									background-size: cover;
									background-position: center bottom;
									background-image: url('/wp-content/uploads/Loyalty_BG_WhiteBlackAngle_Top_Desktop.png');
								}
								@media (max-width: 991px){
									.page-section--cta-section{
										text-align: center;
										padding-top: calc( 1em * 102 / 18 - 1em * 24 / 18 );
										padding-bottom: calc( 1em * 45 / 18 - 1em * 24 / 18 );
									}
								}
							/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/

					/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/
						/* homepage bg wrapper - upper */
						/*-------------------------------------------------------------------------------------------*/
							/*-------------------------------------------------------------------------------------------*/
								.homepage-bg-wrapper--upper{
									background-repeat: no-repeat;
									background-size: 100% auto;
									background-position: center top;
									background-image: url('/wp-content/uploads/Loyalty_BG_Homepage_Upper_Desktop.jpg');
								}
								@media (max-width: 991px){
									.homepage-bg-wrapper--upper{
										background: none !important;
									}
									.page-section--quality-roofing{
										background-repeat:
											no-repeat,
											no-repeat
										;
										background-size:
											cover,
											cover
										;
										background-position:
											center bottom,
											center top
										;
										background-image:
											linear-gradient( to top, #ffffffff, #ffffff99 calc( 100% * 2 / 14 ), #ffffff00 ),
											url('/wp-content/uploads/Loyalty_BG_Homepage_Upper_Mobile.jpg')
										;
									}
								}
							/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/

					/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/
						/* quality roofing section */
						/*-------------------------------------------------------------------------------------------*/
							/*-------------------------------------------------------------------------------------------*/
								.page-section--quality-roofing h2{
									max-width: calc( 1em * 600 / 48 );
									margin-left: auto;
									margin-right: auto;
								}
								.page-section--quality-roofing{
									text-align: center;
									padding-top: calc( 66px );
									padding-bottom: calc( 69px );
								}
								@media (max-width: 991px){
									.page-section--quality-roofing{
										text-align: center;
										padding-top: calc( 1em * 39 / 18 );
										padding-bottom: calc( 1em * 72 / 18 );
									}
								}
							/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/

					/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/
						/* customer reviews section */
						/*-------------------------------------------------------------------------------------------*/
							/*-------------------------------------------------------------------------------------------*/
								.page-section--customer-reviews{
									text-align: center;
									padding-top: calc( 0px );
									padding-bottom: calc( 0px );
									background-repeat: no-repeat;
									background-size: 100% calc( 100vw * 210 / 1600 );
									background-position: center bottom;
									background-image: linear-gradient( to top, #ffffffff, #ffffff99 calc( 100% * 9 / 14 ), #ffffff00 );
								}
								@media (max-width: 991px){
									.page-section--customer-reviews{
										text-align: center;
										padding-top: calc( 0px );
										padding-bottom: calc( 0px );
									}
								}
							/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/

					/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/
						/* homepage bg wrapper - lower */
						/*-------------------------------------------------------------------------------------------*/
							/*-------------------------------------------------------------------------------------------*/
								.homepage-bg-wrapper--lower{
									background-color: #FFFFFF;
									background-repeat: no-repeat;
									background-size: 100% auto;
									background-position: center bottom;
									background-image: linear-gradient( to bottom, #FFFFFF00 0%, #E6E6E6FF 100% );
								}
								@media (max-width: 991px){
									.homepage-bg-wrapper--lower{
										background: none;
									}
								}
							/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/

					/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/
						/* trusted roofing section */
						/*-------------------------------------------------------------------------------------------*/
							/*-------------------------------------------------------------------------------------------*/
								.page-section--trusted-roofing .text-shadow-box-pattern::before{
									display: block;
									content: '';
									position: absolute;
									z-index: -1;
									top: 0;
									left: 50%;
									max-width: calc( 100vw - 20px - 30px );
									width: calc( 100% + 106px + 122px );
									height: 100%;
									transform: translate( -50%, 0 );
									background-color: var(--colors-loyalty-red);
									background-repeat:
										no-repeat,
										no-repeat
									;
									background-size:
										cover,
										cover
									;
									background-position:
										center center,
										center center
									;
									background-image:
										linear-gradient(to bottom, #80080f66, #80080f66 ),
										url('/wp-content/uploads/Loyalty_BG_RedPattern_Section_Mobile_Compressed.jpeg')
									;
									box-shadow: calc( 1rem * -20 / 18 ) calc( 1rem * 20 / 18 ) 0 0 var(--colors-loyalty-black);
								}
								.page-section--trusted-roofing .text-shadow-box-pattern > *{
									max-width: calc( 100vw - 20px - 30px - 60px );
									margin-left: auto;
									margin-right: auto;
								}
								.page-section--trusted-roofing .text-shadow-box-pattern{
									position: relative;
									z-index: 1;
									margin-bottom: calc( 1rem * 20 / 18 );
									background: transparent;
									box-shadow: none;
									padding-top: calc( 96px );
									padding-bottom: calc( 78px );
								}
							/*-------------------------------------------------------------------------------------------*/
								.page-section--trusted-roofing *,
								.page-section--trusted-roofing{
									color: var(--colors-loyalty-white);
								}
								.page-section--trusted-roofing{
									text-align: center;
									padding-top: calc( 111px );
									padding-bottom: calc( 96px );
								}
								@media (max-width: 991px){
									.page-section--trusted-roofing .text-shadow-box-pattern::before{
										background-repeat: no-repeat;
										background-size: cover;
										background-position: center center;
										background-image: url('/wp-content/uploads/Loyalty_BG_RedPattern_Section_Mobile_Compressed.jpeg');
									}
									.page-section--trusted-roofing .text-shadow-box-pattern h2{
										width: calc( 1em * 360 / 30 );
										margin-left: auto;
										margin-right: auto;
									}
									.page-section--trusted-roofing{
										text-align: center;
										padding-top: calc( 1em * 99 / 18 );
										padding-bottom: calc( 1em * 90 / 18 );
									}
								}
							/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/

					/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/
						/* best in roofing section */
						/*-------------------------------------------------------------------------------------------*/
							/*-------------------------------------------------------------------------------------------*/
								.page-section--best-in-roofing{
									text-align: left;
									padding-top: calc( 0px );
									padding-bottom: calc( 162px );
								}
								@media (min-width: 992px){
									.page-section--best-in-roofing .line-separator::after{
										margin-left: 0;
									}
								}
								@media (max-width: 991px){
									.page-section--best-in-roofing{
										text-align: center;
										padding-top: calc( 0px );
										padding-bottom: calc( 1em * 105 / 18 );
										background-image: linear-gradient( to bottom, #FFFFFF00 0%, #E6E6E6FF 100% );
									}
								}
							/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/
								
				/*-------------------------------------------------------------------------------------------*/
			/*-------------------------------------------------------------------------------------------*/
			
		/*-------------------------------------------------------------------------------------------*/
			/*-------------------------------------------------------------------------------------------*/
			/* content widgets */
			/*-------------------------------------------------------------------------------------------*/
				/*-------------------------------------------------------------------------------------------*/
					
					/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/
						/* cta slider widget */
						/*-------------------------------------------------------------------------------------------*/
							/*-------------------------------------------------------------------------------------------*/
								.feature-cta span::after{
									display: inline-block;
									content: "";
									font-family: 'ryno-theme-icons';
									content: "\e92e";
									font-size: 0.75em;
									line-height: 1;
									margin-left: 0.25em;
								}
								.feature-cta:hover{
									transform: translate( 0, -18px );
									transition: transform 0.105s ease-out;
								}
								.feature-cta:hover,
								.feature-cta{
									color: var(--colors-loyalty-white);
								}
								.feature-cta{
									font-family: var(--boldfont);
									font-weight: var(--boldfont-font-weight);
									text-transform: var(--boldfont-text-transform);
									display: flex;
									align-items: center;
									justify-content: center;
									width: calc( 1em * 190 / 21 );
									height: calc( 1em * 233 / 21 );
									background-repeat: no-repeat;
									background-size: contain;
									background-position: center center;
									background-image: url('/wp-content/uploads/Loyalty_Shield_Large.png');
									transition: transform 0.135s ease-out;
								}
								.cta-slide{
									padding: 0 calc( 1em * 16 / 21 );
									margin-top: calc( 1em * 24 / 21 );
									margin-bottom: calc( 1em * 24 / 21 );
								}
								.cta-slider{
									font-size: calc( 1rem * 21 / 18 );
									display: flex;
									flex-wrap: wrap;
									align-items: center;
									justify-content: center;
								}
								@media (min-width: 992px) and (max-width: 1199px){
									.cta-slider{
										font-size: calc( 1rem * 21 / 18 * 933 / 1113 );
									}
								}
							@media (max-width: 479px){
								.cta-slider{
								    position: relative;
								    width: 100vw;
								    left: 50%;
								    transform: translate( -50%, 0 );
								}
								/*-------------------------------------------------------------------------------------------*/
									/*-------------------------------------------------------------------------------------------*/
									/* generic slider dots */
									/*-------------------------------------------------------------------------------------------*/
										/*-------------------------------------------------------------------------------------------*/
											.cta-slider .slick-dots li button::before,
											.cta-slider .slick-dots li button,
											.cta-slider .slick-dots li,
											.cta-slider .slick-dots {
												position: relative;
												top: auto;
												left: auto;
												right: auto;
												bottom: auto;
												font-size: inherit;
												display: block;
												width: auto;
												height: auto;
												margin: 0 auto;
												padding: 0;
												color: inherit;
												line-height: inherit;
												/*background: transparent; */
												opacity: unset !important;
												cursor: default;
											}
											.cta-slider .slick-dots{
												--dot-size: calc( 1rem * 21 / var(--rem-size-desktop) );
												--dot-border: 2px;

												--dot-border-color: var(--colors-loyalty-black);
												--dot-color: transparent;

												--dot-border-color-hover: #444;
												--dot-color-hover: var(--colors-loyalty-red);

												--dot-border-color-active: var(--colors-loyalty-red);
												--dot-color-active: var(--colors-loyalty-red);
											}
											.cta-slider .slick-dots li button::before,
											.cta-slider .slick-dots li button,
											.cta-slider .slick-dots li{
												font-size: var(--dot-size);
												width: var(--dot-size);
												height: var(--dot-size);
												line-height: var(--dot-size);
											}
											.cta-slider .slick-dots li:not(.slick-active) button:hover::before{
												background: var(--dot-color-hover);
												border-color: var(--dot-border-color-hover);
											}
											.cta-slider .slick-dots li.slick-active button::before{
												background: var(--dot-color-active);
												border-color: var(--dot-border-color-active);
											}
											.cta-slider .slick-dots li button::before{
												background: var(--dot-color);
												border-color: var(--dot-border-color);
											}
											.cta-slider .slick-dots li button::before{
												border-radius: calc( var(--dot-size) * 100 );
												border-width: var(--dot-border);
												border-style: solid;
												content: "";
												display: flex;
												align-items: center;
												justify-content: center;
												cursor: pointer !important;
												font-size: var(--dot-size);
											}
											.cta-slider .slick-dots li button{
												position: relative;
												font-size: 0;
											}
											.cta-slider .slick-dots li{
												margin: 0 calc( var(--dot-border) * 2.5 );
											}
											.cta-slider .slick-dots {
												text-align: center;
												margin-top: 1em;
												display: flex;
												align-items: center;
												justify-content: center;
											}
										/*-------------------------------------------------------------------------------------------*/
									/*-------------------------------------------------------------------------------------------*/
							}
							/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/

					/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/
						/* accent image widgets */
						/*-------------------------------------------------------------------------------------------*/
							/*-------------------------------------------------------------------------------------------*/
								@media (min-width: 992px){
									.accent-image--home-exterior .accent-image span{
										top: 0;
										left: auto;
										right: 0;
										bottom: auto;
									}
									.accent-image--home-exterior .accent-image{
										position: relative;
										float: right;
										left: auto;
										right: 12px;
										width: calc( 100% * 550 / 448 );
										padding-top: calc( 100% * 704 / 448 );
									}
								}
								@media (max-width: 991px){
									.accent-image--home-exterior .accent-image{
										width: calc( 100% );
										padding-top: calc( 100% * 704 / 550 );
									}
									.accent-image--home-exterior{
										margin-top: calc( 1rem * 39 / 18 );
									}
								}
							/*-------------------------------------------------------------------------------------------*/
								.accent-image span{
									position: absolute;
									top: 0;
									left: 0;
									right: 0;
									bottom: auto;
									width: 100%;
									height: 100%;
									background-color: var(--colors-loyalty-mist);
									background-repeat: no-repeat;
									background-size: contain;
									background-position: center center;
									background-image: url('/wp-content/uploads/Loyalty_Photo_HouseExterior.jpg');
								}
								.accent-image{
									width: 100%;
								}
								.accent-image-wrapper{
									position: relative;
									width: 100%;
								}
							/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/
					
					/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/
						/* review slider widget */
						/*-------------------------------------------------------------------------------------------*/
							/*-------------------------------------------------------------------------------------------*/
								.review-slider .slick-list{
									padding: 0 !important;
								}
								.review-slide{
									position: relative;
									z-index: 5;
								}
								.review-slider{
									position: relative;
									z-index: 12;
									color: #fff;
									margin: auto;
									width: 320px;
									width: calc( 1em * 320 / 18 );
								}
								.review-slider::after{
									display: block;
									content: '';
									position: absolute;
									z-index: -9;
									top: 50%;
									left: 50%;
									transform: translate( -50%, -50% );
									width: calc( 1em * 587 / 18 );
									height: 0;
									padding-top: calc( 1em * 719 / 18 );
									background-repeat: no-repeat;
									background-size: contain;
									background-position: center center;
									background-image: url('/wp-content/uploads/Loyalty_Shield_ExtraLarge.png');
								}
								.review-slider-wrapper{
									position: relative;
									height: calc( 1em * 720 / 18 );
									display: flex;
									align-items: center;
									justify-content: center;
								}
								@media (min-width: 960px){
									.review-slider::before{
										display: block;
										content: '';
										position: absolute;
										z-index: 0;
										left: 50%;
										bottom: 50%;
										transform: translate( -50%, calc(100% - (1em * 587 / 18 - 1em * 459 / 18 ) ) );
										width: calc( 1em * 1145 / 18 );
										height: 0;
										padding-top: calc( 1em * 459 / 18 );
										background-repeat: no-repeat;
										background-size: contain;
										background-position: center center;
										background-image: url('/wp-content/uploads/Loyalty_Lions_Pair_Black.png');
									}    
								}
							/*-------------------------------------------------------------------------------------------*/
								.review-slider .slick-prev:hover::before,
								.review-slider .slick-next:hover::before{
									color: #383838;
									transform: scale( 1.25 );
									transition: transform 0.090s ease-out, color 0.090s ease-out;
								}
								.review-slider .slick-prev::before,
								.review-slider .slick-next::before{
									font-size: calc(1rem * 48 / 18);
									opacity: 1;
									display: block;
									color: var(--colors-loyalty-black);
									transition: transform 0.135s ease-out, color 0.135s ease-out;
								}
								.review-slider .slick-next,
								.review-slider .slick-prev{
									position: absolute;
									top: unset;
									left: unset;
									right: unset;
									width: calc(1rem * 48 / 18);
									height: calc(1rem * 48 / 18);
								}
								@media (min-width: 1350px){
									.review-slider .slick-next,
									.review-slider .slick-prev{
										top: 50%;
										transform: translate( 0, -50% );
									}
									.review-slider .slick-next{
										left: calc( 100% + ((1rem * 1145 / 18) - (1rem * 320 / 18)) / 2 + (1rem * 30 / 18));
									}
									.review-slider .slick-prev{
										right: calc( 100% + ((1rem * 1145 / 18) - (1rem * 320 / 18)) / 2 + (1rem * 30 / 18));
									}
								}
								@media (max-width: 1349px){
									.review-slider .slick-next,
									.review-slider .slick-prev{
										top: 50%;
										transform: translate( 0, calc( ((1rem * 587 / 18)) / 2 + (1rem * 42 / 18) + (1rem * 48 / 18)) );
									}
									.review-slider .slick-next{
										left: 50%;
										margin-left: calc(1rem * 12 / 18);
									}
									.review-slider .slick-prev{
										right: 50%;
										margin-right: calc(1rem * 12 / 18);
									}
									.review-slider-wrapper{
										margin-bottom: calc( 1rem * 33 / 18 );
									}
								}
							/*-------------------------------------------------------------------------------------------*/
								.customer-review--google .customer-review--citation{
									padding-left: calc( (1em * 24 / 24) + 0.875em );
									height: 2em;
									line-height: 1;
									margin: auto;
									display: inline-flex;
									align-items: center;
									justify-content: center;
									background-repeat: no-repeat;
									background-size: calc( 1em * 25 / 24 )  calc( 1em * 24 / 24 );
									background-position: left center;
									background-image: linear-gradient( to right, #000000, #000000 100% );
									background-image: url('/wp-content/uploads/Loyalty_Icon_Google.png');
								}
								.customer-review--citation span::before{
									content: "-\20";
								}
								.customer-review--citation{
									margin-top: calc( 1em * 18 / 18 ) !important;
									font-family: var(--boldfont);
									font-size: calc( 1em * 24 / 18 );
									text-transform: var(--boldfont-text-transform);
								}
								.customer-review--quotation{
									font-style: italic;
									font-size: calc( 1em * 18 / 18 );
									line-height: calc( 28 / 18 );
								}
								.customer-review::before{
									display: block;
									content: '';
									width: calc( 1em * 210 / 18 );
									height: calc( 1em * 38 / 18 );
									margin: 0 auto;
									margin-bottom: calc( 1em  * 36 / 18 );
									background-repeat: no-repeat;
									background-size: contain;
									background-position: center center; 
									background-image: url('/wp-content/uploads/Loyalty_Icons_FiveStars_Black.png');
								}
							/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/
					
					/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/
						/* awards and certifications widget */
						/*-------------------------------------------------------------------------------------------*/
							/*-------------------------------------------------------------------------------------------*/
								.affiliation-badge--insurance-claim-specialist{
									width: calc( 1em * 126 / 18 );
									height: calc( 1em * 123 / 18 );
									background-image: url('/wp-content/uploads/Loyalty_Badges_InsuranceClaimSpecialist.png');
								}
								.affiliation-badge--five-star-rated-company{
									width: calc( 1em * 177 / 18 );
									height: calc( 1em * 126 / 18 );
									background-image: url('/wp-content/uploads/Loyalty_Badges_FiveStarRatedCompany.png');
								}
								.affiliation-badge--award-winning-customer-service{
									width: calc( 1em * 131 / 18 );
									height: calc( 1em * 154 / 18 );
									background-image: url('/wp-content/uploads/Loyalty_Badges_AwardWinningCustomerService.png');
								}
								.affiliation-badge--silver-pro-certified{
									width: calc( 1em * 127 / 18 );
									height: calc( 1em * 125 / 18 );
									background-image: url('/wp-content/uploads/Loyalty_Badges_SilverProCertified.png');
								}
								.affiliation-badge--nrca-trained-crews{
									width: calc( 1em * 119 / 18 );
									height: calc( 1em * 146 / 18 );
									background-image: url('/wp-content/uploads/Loyalty_Badges_NRCATrainedCrews.png');
								}
								.affiliation-badge--outstanding-workmanship-warranty{
									width: calc( 1em * 194 / 18 );
									height: calc( 1em * 126 / 18 );
									background-image: url('/wp-content/uploads/Loyalty_Badges_OutstandingWorkmanshipWarranty.png');
								}
								.affiliation-badge--a-plus-bbb-rating{
									width: calc( 1em * 171 / 18 );
									height: calc( 1em * 97 / 18 );
									background-image: url('/wp-content/uploads/Loyalty_Badges_APlusBBBRating.png');
								}
								.affiliation-badge--nrca-affiliated{
									width: calc( 1em * 121 / 18 );
									height: calc( 1em * 121 / 18 );
									background-image: url('/wp-content/uploads/Loyalty_Badges_NRCAAffiliated.png');
								}
								.affiliation-badge--licensed-and-insured{
									width: calc( 1em * 130 / 18 );
									height: calc( 1em * 130 / 18 );
									background-image: url('/wp-content/uploads/Loyalty_Badges_LicensedAndInsured.png');
								}
								.affiliation-badge--woman-owned-family-operated{
									width: calc( 1em * 135 / 18 );
									height: calc( 1em * 136 / 18 );
									background-image: url('/wp-content/uploads/Loyalty_Badges_WomanOwnedFamilyOperated.png');
								}
							/*-------------------------------------------------------------------------------------------*/
								.affiliation-badge-wrapper span::selection,
								.affiliation-badge-wrapper span{
									color: transparent !important;
									background-color: transparent !important;
								}
								.affiliation-badge-wrapper{
									overflow: hidden;
									margin: calc( 1em * 12 / 18 ) calc( 1em * 15 / 18 );
									display: block;
									background-repeat: no-repeat;
									background-size: contain;
									background-position: center center;
								}
							/*-------------------------------------------------------------------------------------------*/
								.awards-and-certifications a:hover{
									opacity: 0.3125;
									filter: grayscale( 1 );
									transition: all 0s, opacity 0.090s ease-out, filter 0.090s ease-out;
								}
								.awards-and-certifications a{
									transition: all 0s, opacity 0.135s ease-out, filter 0.135s ease-out;
								}
							/*-------------------------------------------------------------------------------------------*/
								.awards-and-certifications{
									max-width: calc( 1em * 1113 / 18 );
									width: 100%;
									font-size: calc( 1rem * 18 / 18 );
									display: flex;
									flex-wrap: wrap;
									align-items: center;
									justify-content: center;
									padding-top: calc( 1em * 78 / 18 );
									padding-bottom: calc( 1em * 81 / 18 );
									margin-top: calc( 1em * 96 / 18 );
									margin-bottom: calc( 1rem * 20 / 18 );
									color: var(--colors-loyalty-black);
									background: var(--colors-loyalty-white);
									box-shadow: calc( 1rem * -20 / 18 ) calc( 1rem * 20 / 18 ) 0 0 var(--colors-loyalty-black);
								}
							/*-------------------------------------------------------------------------------------------*/
								@media (min-width: 992px) and (max-width: 1199px){
									.awards-and-certifications{
										font-size: calc( 1rem * 18 / 18 * 933 / 1113 );
									}    
								}
								@media (max-width: 991px){
									.affiliation-badge-wrapper{
										margin: calc( 1em * 24 / 18 ) auto;
									}
									.awards-and-certifications-item{
										max-width: calc( 1em * 240 / 18 );
										width: 45%;
									}
									.awards-and-certifications{
										padding-top: calc( 1em * 72 / 18 );
										padding-bottom: calc( 1em * 69 / 18 );
									}
								}
								@media (max-width: 575px){
									.awards-and-certifications-item{
										max-width: calc( 1em * 240 / 18 );
										width: 45%;
										margin: 0 0.25em;
									}
									.awards-and-certifications{
										font-size: calc( 11px + (18 - 11) * (100vw - 320px) / (575 - 320) );
									}
								}
							/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/
						
				/*-------------------------------------------------------------------------------------------*/
			/*-------------------------------------------------------------------------------------------*/

		/*-------------------------------------------------------------------------------------------*/
			/*-------------------------------------------------------------------------------------------*/
			/* theme footer */
			/*-------------------------------------------------------------------------------------------*/
				/*-------------------------------------------------------------------------------------------*/
				
					/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/
						/* footer contact */
						/*-------------------------------------------------------------------------------------------*/
							/*-------------------------------------------------------------------------------------------*/
							
								/*-------------------------------------------------------------------------------------------*/
									/*-------------------------------------------------------------------------------------------*/
									/* postscript contact defaults & resets */
									/*-------------------------------------------------------------------------------------------*/
										/*-------------------------------------------------------------------------------------------*/
											/* normalize margin by removing all contingent top margins on field columns & field wrappers */
												.postscript-contact .input-fields-column + .input-fields-column,
												.postscript-contact .input-fields-column .col-12 + .col-12 {
													margin-top: 0;
												}
											/* add consistent bottom margins to all field wrappers using proportional sizing (ems)*/
												.postscript-contact .input-fields-column .col-12{
													margin-bottom: calc( 1em * 20 / 18 );
												}
										/*-------------------------------------------------------------------------------------------*/
											/* flexbox trickery to position button & spinner in vertical stack for layout, behavior, & design reasons (specifically, vertical button offset where needed) */
												.postscript-contact .wpcf7-form > .row > .col-12{
													display: flex;
													flex-direction: column-reverse;
													align-items: center;
													justify-content: space-between;
												}
											/* remove top margin on postscript contact form submit button (spacing provided by wpcf spinner) */
												.postscript-contact .wpcf7-submit{
													margin-top: 0;
												}
											/* adjust bottom margin on field wrappers on sizes lg and up (spacing provided by wpcf spinner) */
												@media (min-width: 992px){
													.postscript-contact .input-fields-column .col-12:last-of-type{
														margin-bottom: 0;
													}
												}
										/*-------------------------------------------------------------------------------------------*/
									/*-------------------------------------------------------------------------------------------*/

								/*-------------------------------------------------------------------------------------------*/
									/*-------------------------------------------------------------------------------------------*/
									/* postscript contact styles */
									/*-------------------------------------------------------------------------------------------*/
										/*-------------------------------------------------------------------------------------------*/
											.postscript-contact .contact-form-header > span:empty{
												display: none;
											}
										/*-------------------------------------------------------------------------------------------*/
											.postscript-contact .contact-form-bg-wrapper{
											}
										/*-------------------------------------------------------------------------------------------*/
											.postscript-contact form > .row > .col-12 .wpcf7-spinner{
												position: static;
												top: auto;
												margin-top: 0.375em;
												margin-bottom: 0.25em;
											}
											.postscript-contact form > .row > .col-12 .wpcf7-submit{
												margin-top: 0;
											}
											.postscript-contact form > .row > .col-12{
												display: flex;
												flex-direction: column-reverse;
												align-items: center;
												justify-content: center;
											}
										/*-------------------------------------------------------------------------------------------*/
											.postscript-contact{
												text-align: center;
												padding-top: 120px;
												padding-bottom: calc( 102px + 100% * 93 / 1600 );
												background-repeat:
													no-repeat,
													no-repeat
												;
												background-size:
													98% auto,
													cover
												;
												background-position:
													center calc( 36px ),
													center top
												;
												background-image:
													url('/wp-content/uploads/Loyalty_BG_PostscriptContact_Lions_Desktop.png'),
													linear-gradient(to top, #383838 0%, #222222 100%)
												;
											}
											@media (min-width: 1632px){
												.postscript-contact{
													background-size:
														1600px auto,
														cover
													;
												}
											}
											@media (max-width: 991px){
												.postscript-contact{
													padding-top: calc( 1em * 120 / 18 );
													padding-bottom: calc( 1em * 114 / 18 + 100% * 36 / 576 );
													background-repeat:
														no-repeat,
														no-repeat
													;
													background-size:
														96% auto,
														cover
													;
													background-position:
														center calc( 100vw * 5 / 100 ),
														center top
													;
													background-image:
														url('/wp-content/uploads/Loyalty_BG_PostscriptContact_Lion_Mobile.png'),
														linear-gradient(to top, #383838 0%, #222222 100%)
													;
												}
											}
										/*-------------------------------------------------------------------------------------------*/
											.postscript-contact .contact-form-header{
												font-size: calc( 1rem * 56 / 18 );
												max-width: calc( 1em * 870 / 56 );
												margin-left: auto;
												margin-right: auto;
												margin-bottom: calc( 1em * 45 / 56 );
											}
											@media (max-width: 991px){
												.postscript-contact .contact-form-header{
													font-size: calc( 1rem * 33 / 18 );
												}
											}
										/*-------------------------------------------------------------------------------------------*/
									/*-------------------------------------------------------------------------------------------*/

								/*-------------------------------------------------------------------------------------------*/
									/*-------------------------------------------------------------------------------------------*/
									/* postscript contact field customizations */
									/*-------------------------------------------------------------------------------------------*/
										/*-------------------------------------------------------------------------------------------*/
											.postscript-contact .select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b {
												border-color: transparent transparent var(--colors-loyalty-red) transparent;
												border-width: 0 calc(10px / 2) 6px calc(10px / 2);
											}
											.postscript-contact .select2-container--default .select2-selection--single .select2-selection__arrow b {
												border-color: var(--colors-loyalty-red) transparent transparent transparent;
												border-width: 6px calc(10px / 2) 0 calc(10px / 2);
											}
											.postscript-contact .select2-container--default .select2-selection--single .select2-selection__arrow {
												right: 5px;
											}
										/*-------------------------------------------------------------------------------------------*/
											.postscript-contact input.wpcf7-form-control.wpcf7-text.cf-text,
											.postscript-contact input.wpcf7-form-control.wpcf7-text.wpcf7-tel.wpcf7-validates-as-tel.cf-text,
											.postscript-contact input.wpcf7-form-control.wpcf7-text.wpcf7-email.wpcf7-validates-as-email.cf-text,
											.postscript-contact .select2-container--default .select2-selection--single,
											.postscript-contact .select2-container--default .select2-selection--single .select2-selection__rendered,
											.postscript-contact .select2-container--default .select2-selection--single .select2-selection__arrow{
												border-radius: 0 !important;
											}
											input.wpcf7-form-control.wpcf7-text.wpcf7-tel.wpcf7-validates-as-tel.cf-text::placeholder,
											input.wpcf7-form-control.wpcf7-text.cf-text::placeholder,
											.select2-container--default .select2-selection--single::placeholder{ 
												height: unset !important;
												line-height: unset !important;
											}
										/*-------------------------------------------------------------------------------------------*/
									/*-------------------------------------------------------------------------------------------*/
							
							/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/

					/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/
						/* footer content */
						/*-------------------------------------------------------------------------------------------*/
							/*-------------------------------------------------------------------------------------------*/
								.footer-box{
									max-width: 100%;
									width: calc( 1rem * 390 / 18 );
									margin-left: auto;
									margin-right: auto;
									display: flex;
									flex-direction: column;
									align-items: stretch;
									justify-content: center;
								}
								.footer-col{
									display: flex;
									align-items: stretch;
									justify-content: center;
								}
							/*-------------------------------------------------------------------------------------------*/
								.page-template-page-ryno-contact .footer{
									margin-top: calc( 100vw * 96 / 1600 );
								}
								.footer *{
									color: inherit;
								}
								.footer{
									position: relative;
									text-align: center;
									padding-top: 78px;
									padding-bottom: 60px;
									background-color: var(--colors-loyalty-white);
								}
								.footer::before{
									position: absolute;
									z-index: 0;
									left: 0;
									right: 0;
									bottom: calc( 100% - 2px ); 
									display: block;
									content: "";
									width: 100%;
									height: 0;
									padding-top: calc( 100vw * 96 / 1600 );
									background-repeat: no-repeat;
									background-size: cover;
									background-position: center bottom;
									background-image: url('/wp-content/uploads/Loyalty_BG_WhiteBlackAngle_Top_Desktop.png');
								}
								@media (max-width: 991px){
									.page-template-page-ryno-contact .footer{
										margin-top: calc( 100vw * 36 / 576 );
									}
									.footer{
										padding-top: calc( 1rem * 81 / 18 );
										padding-bottom: calc( 1rem * 104 / 18 );
									}
								}
								@media (max-width: 767px){
									.footer::before{
										position: absolute;
										z-index: 0;
										bottom: calc( 100% - 2px ); 
										display: block;
										content: "";
										width: 100%;
										height: 0;
										padding-top: calc( 100vw * 36 / 576 );
										background-repeat: no-repeat;
										background-size: cover;
										background-position: center bottom;
										background-image: url('/wp-content/uploads/Loyalty_BG_WhiteBlackAngle_Top_Mobile.png');
									}
								}
							/*-------------------------------------------------------------------------------------------*/
								.footer .company-location-wrapper .company-address a{
									font-weight: 400;
								}
								.footer .company-location-wrapper .company-address{
									margin-bottom: 6px;
								}
								.footer .company-location-wrapper .info-tagline{
									font-weight: 700;
									margin-bottom: 9px;
								}
								.footer .company-location-wrapper *{
									margin-bottom: 0;
								}
								.footer .company-location-wrapper{
									line-height: calc( 1em * 28 / 18 );
									margin-bottom: 1em;
								}
								.footer .company-phone a:hover{
									color: var(--colors-loyalty-black);
								}
								.footer .company-phone a{
									color: var(--colors-loyalty-red);
									font-weight: var(--boldfont-font-weight);
								}
								.footer .company-logo{
									width: 159px;
									margin: auto;
									margin-bottom: 27px;
								}
							/*-------------------------------------------------------------------------------------------*/
								.footer .company-social .social-icons__icon a:hover{
									transform: translate( 0, -9px );
									transition: transform 0.105s ease-out;
								}
								.footer .company-social .social-icons__icon a{
									background-color: transparent;
									background-repeat: no-repeat;
									background-size: contain;
									background-position: center;
									background-image: url('/wp-content/uploads/Loyalty_Shield.png');
									transition: transform 0.135s ease-out;
								}
								.footer .company-social .social-icons__icon{
									margin: calc( 1em * 12 / 25 ) calc( 1em * 15 / 25 );
								}
								.footer .company-social{
									max-width: 315px;
									width: 100%;
									margin: auto;
									padding-top: calc( 1rem * 21 / 18 );
									padding-bottom: calc( 1rem * 21 / 18 );
								}
								.footer .connect-with-us-wrapper .h5{
									margin-top: calc( 1rem * -8 / 18 );
									margin-left: calc( 1rem * -8 / 18 );
									margin-right: calc( 1rem * -8 / 18 );
									margin-bottom: 0;
									padding-top: calc( 1em * 54 / 30 );
									padding-bottom: calc( 1em * 48 / 30 );
									color: var(--colors-loyalty-white);
									background: var(--colors-loyalty-black);
								}
								.footer .connect-with-us-wrapper{
									position: relative;
									border: calc( 1rem * 8 / 18 ) solid #D1D1D1;
								}
							/*-------------------------------------------------------------------------------------------*/
								.footer .company-hours > div > span:first-child{
									font-weight: 700;
								}
								.footer .company-hours{
									line-height: calc( 1em * 28 / 18 );
								}
								.footer .company-hours-wrapper .h5{
									margin-bottom: calc( 1rem * 14 / 18 );
								}
								.footer .company-hours-wrapper{
									margin-bottom: calc( 1rem * 36 / 18 );
								}
							/*-------------------------------------------------------------------------------------------*/
								.footer .affiliation-badge-wrapper span::selection,
								.footer .affiliation-badge-wrapper span{
									color: transparent !important;
									background-color: transparent !important;
								}
								.footer .affiliation-badge-wrapper span{
									display: block;
									width: calc( 1rem * 149 / 18);
									height: calc( 1rem * 149 / 18);
									margin: auto;
									background-repeat: no-repeat;
									background-size: contain;
									background-position: center center;
									background-image: url('/wp-content/uploads/Loyalty_Badge_NRCAMember_Mono.png');
								}
							/*-------------------------------------------------------------------------------------------*/
								.footer .h5{
									font-size: calc( 1rem * 30 / 18 );
								}
							/*-------------------------------------------------------------------------------------------*/
								@media (max-width: 991px){
									.footer .footer-col.order-lg-first{
										margin: calc( 1rem * 51 / 18 ) auto calc( 1rem * 57 / 18 );
									}
									.footer .company-phone{
										font-size: calc( 1rem * 64 / 18 );
									}
								}
								@media (max-width: 389px){
									.footer .company-phone{
										font-size: calc( 1rem * 64 / 18 * 320 / 390 );
									}
								}
							/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/

					/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/
						/* footer copyright */
						/*-------------------------------------------------------------------------------------------*/
							/*-------------------------------------------------------------------------------------------*/
								.copyright .company-license,
								.copyright .ryno-byline{
									white-space: nowrap;
								}
								.copyright p a:hover{
									border-bottom-color: currentColor;
									border-bottom-style: solid;
									border-bottom-width: 2px;
									text-decoration: none;
								}
								.copyright p a *,
								.copyright p a,
								.copyright p *,
								.copyright p,
								.copyright a{
									color: inherit;
								}
								.copyright{
									line-height: calc( 21 / 15 );
									font-size: 15px;
									color: var(--colors-loyalty-white);
									padding-top: 18px;
									padding-bottom: 18px;
									background-color: var(--colors-loyalty-black);
								}
							/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/
					
				/*-------------------------------------------------------------------------------------------*/
			/*-------------------------------------------------------------------------------------------*/

		/*-------------------------------------------------------------------------------------------*/
			/*-------------------------------------------------------------------------------------------*/
			/* various form configs */
			/*-------------------------------------------------------------------------------------------*/
				/*-------------------------------------------------------------------------------------------*/
				
					/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/
						/* various form error message style resets */
						/*-------------------------------------------------------------------------------------------*/
							/*-------------------------------------------------------------------------------------------*/
								/* main contact form wpcf7-not-valid-tip font size & color scheme overrides */
									.postscript-contact form span.wpcf7-not-valid-tip,
									.postscript-contact form .wpcf7-not-valid-tip,
									.postscript-contact span.wpcf7-not-valid-tip,
									.postscript-contact .wpcf7-not-valid-tip,
									.sidebar-form form span.wpcf7-not-valid-tip,
									.sidebar-form form .wpcf7-not-valid-tip,
									.sidebar-form span.wpcf7-not-valid-tip,
									.sidebar-form .wpcf7-not-valid-tip,
									.main-contact-form form span.wpcf7-not-valid-tip,
									.main-contact-form form .wpcf7-not-valid-tip,
									.main-contact-form span.wpcf7-not-valid-tip,
									.main-contact-form .wpcf7-not-valid-tip{
										margin-top: 2px;
										font-size: 0.875rem;
										color: #FF4400 !important;
										padding: 0.125em 0.4375em;
										border: 1px solid #dc3232;
										background-color: #FFFFAA;
									}
							/*-------------------------------------------------------------------------------------------*/
								/* normalize wpcf7-not-valid-tip layout & styling */
									.use-floating-validation-tip span.wpcf7-not-valid-tip,
									.use-floating-validation-tip .wpcf7-not-valid-tip,
									form span.wpcf7-not-valid-tip,
									form .wpcf7-not-valid-tip,
									span.wpcf7-not-valid-tip,
									.wpcf7-not-valid-tip{
										position: static;
										display: block;
										width: 100%;
										padding: 0;
										font-size: 1em;
										text-align: left;
									}
							/*-------------------------------------------------------------------------------------------*/
								/* contact page wpcf7-response-output layout & position settings */
									.postscript-contact .wpcf7 form div.wpcf7-response-output{
										margin-top: 1.25em;
									}
								/* contact page wpcf7-response-output layout & position settings */
									form .sidebar-form + div.wpcf7-response-output{
										/*right: 0 !important;*/
										/*max-width: 314px !important;*/
										/*margin-top: 1.25em !important;*/
										/*margin-left: auto !important;*/
									}
								/* normalize wpcf7-response-output styling */
									.wpcf7 form div.wpcf7-response-output{
										position: relative;
										top: 100%;
										left: auto;
										right: auto;
										bottom: auto;
										width: 100%;
										margin: 0;
										padding: 0.25em;
										text-align: center;
										color: #DD4400;
										background-color: #FFFFAA;
									}
							/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/
					
					/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/
						/* sidebar form styling resets */
						/*-------------------------------------------------------------------------------------------*/
							/*-------------------------------------------------------------------------------------------*/
								/* remove all bottom padding on fields & force font-size inheritance */
									.sidebar-form .select2-container--default .select2-selection--single,
									.sidebar-form .wpcf7-select,
									.sidebar-form .wpcf7-textarea,
									.sidebar-form .wpcf7-text{
										font-size: inherit;
										margin-bottom: 0 !important;
										border-radius: 0 !important;
									}
									.sidebar-form > .row > .col-12:last-of-type{
										margin-bottom: 0;
									}
								/* set margin bottom on field wrappers and set font size for inheritance */
									.sidebar-form > .row > .col-12{
										font-size: 15px;
										margin-bottom: 18px;
									}
								/* force submit button positioning */
									.sidebar-form input[type="submit"]{
										border-radius: 0 !important;
										position: absolute;
										z-index: 12;
										top: 100%;
										left: 50%;
										right: auto;
										bottom: auto;
										min-width: 172px;
										max-width: 252px;
										transform: translate( -50%, -56.25% );
										box-shadow: 0 4px 4px rgba(0,0,0,.56);
									}
								/* adjust spinner positioning */
									.sidebar-form .wpcf7-spinner{
										position: relative;
										display: block;
										margin: 0.25em auto;
									}
								/* adjust sidebar positioning & margin */
									.sidebar-form{
										float: none;
										border-radius: 0;
										margin-bottom: 40px !important;
									}
							/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/
					
					/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/
						/* main contact form styling resets */
						/*-------------------------------------------------------------------------------------------*/
							/*-------------------------------------------------------------------------------------------*/
								/* match border settings of other field groups in main contact form */
									.main-contact-form .customer .select2-container--default .select2-selection--single{
										border-radius: 0;
										border: 1px solid #ccc;
									}
							/*-------------------------------------------------------------------------------------------*/
								/* adjust checkbox list item box & label positioning & styles */
									.main-contact-form .wpcf7-list-item input[type="checkbox"]{
										margin-left: -20px;
										margin-right: 6px;
									}
									.main-contact-form .wpcf7-list-item-label::before,
									.wpcf7-list-item-label::after{
										content: "";
									}
									.main-contact-form .wpcf7-list-item{
										line-height: 1.25;
										margin-left: 2rem;
										margin-top: 0.25em;
										margin-bottom: 0.28125em;
									}
							/*-------------------------------------------------------------------------------------------*/
								/* disable bottom margin on hidden honeypot field wrapper */
									.main-contact-form > .row > p:last-child{
										margin-bottom: 0 !important;
									}
								/* remove bottom margins on fields */
									.main-contact-form .cf-textarea,
									.main-contact-form .cf-text{
										margin-bottom: 0;
									}
								/* set bottom margins on field wrappers */
									.main-contact-form > .row > *{
										margin-bottom: 1rem;
									}
							/*-------------------------------------------------------------------------------------------*/
								/* adjust submit button on main contact form */
									.main-contact-form input[type="submit"] {
										min-width: calc( 225px );
										font-size: 16px;
										border: 0;
										width: auto;
									}
							/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/
					
					/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/
						/* wpcf7 form spinner positioning & display reseta */
						/*-------------------------------------------------------------------------------------------*/
							/*-------------------------------------------------------------------------------------------*/
								/* positioning trickery to place spinner appropriately on all wpcf7 forms */
									.postscript-contact .wpcf7 .wpcf7-spinner,
									.wpcf7 .wpcf7-spinner{
										display: block;
										position: relative;
										top: auto;
										left: auto;
										right: auto;
										bottom: auto;
										margin: 0.25em auto;
									}
							/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/
					
				/*-------------------------------------------------------------------------------------------*/
			/*-------------------------------------------------------------------------------------------*/



	/*-------------------------------------------------------------------------------------------*/

		/*-------------------------------------------------------------------------------------------*/
			/*-------------------------------------------------------------------------------------------*/
			/* conversion page style adjustments */
			/*-------------------------------------------------------------------------------------------*/
				/*-------------------------------------------------------------------------------------------*/
					.page-template-page-conversion .conversion-header .conversion-coupon {
						border-radius: 0;
					}
					.page-template-page-conversion .sidebar-form .h2 {
						font-weight: 500;
					}
				/*-------------------------------------------------------------------------------------------*/
			/*-------------------------------------------------------------------------------------------*/

		/*-------------------------------------------------------------------------------------------*/
			/*-------------------------------------------------------------------------------------------*/
			/* contact page style adjustments */
			/*-------------------------------------------------------------------------------------------*/
				/*-------------------------------------------------------------------------------------------*/
					.contact-sidebar__company-info .company-location-wrapper .company-address{
						margin-bottom: 6px;
					}
					.contact-sidebar__company-info .company-location-wrapper .info-tagline{
						font-weight: 700;
						margin-bottom: 6px;
					}
					.contact-sidebar__company-info .company-location-wrapper *{
						margin-bottom: 0;
					}
					.contact-sidebar__company-info .company-location-wrapper{
						line-height: calc( 1em * 28 / 18 );
						margin-bottom: 1.375em;
					}
					.contact-sidebar__company-info .h2 {
						color: #000000;
					}
				/*-------------------------------------------------------------------------------------------*/
					.contact-sidebar--phone .mobile-phone-link{
						line-height: 1;
						font-family: var(--boldfont);
						font-size: calc( 1rem * 41 / var(--rem-size-desktop) );
						font-weight: 400 !important;
					}
				/*-------------------------------------------------------------------------------------------*/
			/*-------------------------------------------------------------------------------------------*/

		/*-------------------------------------------------------------------------------------------*/
			/*-------------------------------------------------------------------------------------------*/
			/* specials page style adjustments */
			/*-------------------------------------------------------------------------------------------*/
				/*-------------------------------------------------------------------------------------------*/
					.ryno-coupon__phone{
						display: block;
						font-family: var(--boldfont);
						line-height: 1;
						font-size: calc( 1rem * 41 / var(--rem-size-desktop) ) !important;
						font-weight: 400 !important;
						margin-bottom: 1.5625rem;
					}
				/*-------------------------------------------------------------------------------------------*/
					@media (max-width: 991px){
						.content-wrapper .ryno-coupon__text .h3 {
							line-height: 1;
							font-size: calc( 1rem * 37 / var(--rem-size-desktop) );
							line-height: calc( 27 / 27 );
						}
						.content-wrapper .ryno-coupon__details {
							font-size: calc( 1rem * 21 / 18 );
						}
						.content-wrapper .ryno-coupon__text {
							padding-left: calc( 1rem * 21 / 18 );
							padding-right: calc( 1rem * 21 / 18 );
						}
					}
				/*-------------------------------------------------------------------------------------------*/
			/*-------------------------------------------------------------------------------------------*/

		/*-------------------------------------------------------------------------------------------*/
			/*-------------------------------------------------------------------------------------------*/
			/* various blog element style adjustments */
			/*-------------------------------------------------------------------------------------------*/
				/*-------------------------------------------------------------------------------------------*/
					.single .blog-author-box--1 .blog-author-box__right .h2 {
						font-size: calc( 1rem * 27 / 18 );
					}
					.blog-layout--2 .post-listing .blog-contents h2 *,
					.blog-layout--2 .post-listing .blog-contents h2{
						font-weight: 400;
					}
					.single .related-posts__title .h5 *,
					.single .related-posts__title .h5 {
						font-weight: 400 !important;
					}
				/*-------------------------------------------------------------------------------------------*/
					.single .blog-categories .category-pill {
						margin-bottom: 10px;
					}
					.single .blog-categories {
						flex-wrap: wrap;
					}
					.single .related-posts__title .h5 {
						display: inline;
					}
					.single .related-posts__title{
						margin-bottom: 0.25rem;
					}
				/*-------------------------------------------------------------------------------------------*/
			/*-------------------------------------------------------------------------------------------*/

		/*-------------------------------------------------------------------------------------------*/
			/*-------------------------------------------------------------------------------------------*/
			/* service areas page styling adjustments */
			/*-------------------------------------------------------------------------------------------*/
				/*-------------------------------------------------------------------------------------------*/
					.rsa-abc-template__region:not(:last-of-type)::after{
						display: block;
						content: "";
						max-width: 960px;
						width: 100%;
						height: 1px;
						background: #999;
						margin: 2.5rem auto 2.875rem;
					}
					.ryno-service-areas .rsa-pipe-template__icon,
					.ryno-service-areas .rsa-drop-template__icon,
					.ryno-service-areas .rsa-grid-template__icon,
					.ryno-service-areas .rsa-abc-template__icon{
						color: var(--colors-loyalty-red);
					}
				/*-------------------------------------------------------------------------------------------*/
			/*-------------------------------------------------------------------------------------------*/

		/*-------------------------------------------------------------------------------------------*/
			/*-------------------------------------------------------------------------------------------*/
			/* accordion style adjustments */
			/*-------------------------------------------------------------------------------------------*/
				/*-------------------------------------------------------------------------------------------*/
					.accordion-item .accordion-button::after {
						text-align: center;
						transform-origin: unset;
					}
					.accordion .accordion-item .accordion-button *{
						color: #ffffff !important;
						margin: 0;
					}
					.accordion .accordion-item .accordion-button:hover{
						background: #90181e !important;
					}
					.accordion .accordion-item .accordion-button {
						background: #70080e !important;
					}
				/*-------------------------------------------------------------------------------------------*/
			/*-------------------------------------------------------------------------------------------*/

		/*-------------------------------------------------------------------------------------------*/
			/*-------------------------------------------------------------------------------------------*/
			/* testimonials page style adjustments */
			/*-------------------------------------------------------------------------------------------*/
				/*-------------------------------------------------------------------------------------------*/
					.page-template-page-ryno-testimonials .testimonial-author-icon{
						margin-left: 0.5625em;
					}
					.page-template-page-ryno-testimonials .ryno-star-solid::before{
						color: #B00C10;
					}
					.page-template-page-ryno-testimonials .content-area a:hover{
						border-bottom: 0 !important;
					}
				/*-------------------------------------------------------------------------------------------*/
			/*-------------------------------------------------------------------------------------------*/

		/*-------------------------------------------------------------------------------------------*/
			/*-------------------------------------------------------------------------------------------*/
				/*-------------------------------------------------------------------------------------------*/
				/* default text link styling adjustments */
				/*-------------------------------------------------------------------------------------------*/
					/*-------------------------------------------------------------------------------------------*/
						.content-wrapper a:hover:not(.btn, .ryno-coupon__phone, .category-pill){
							border-bottom: 2px solid currentColor;
							transition: all 0s, color .3s ease, background-color .3s ease, border-color .3s ease;
						}
					/*-------------------------------------------------------------------------------------------*/
				/*-------------------------------------------------------------------------------------------*/
			/*-------------------------------------------------------------------------------------------*/
				/*-------------------------------------------------------------------------------------------*/
				/* custom link styling adjustments */
				/*-------------------------------------------------------------------------------------------*/
					/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/
							.conversion-content-three a:hover:visited,
							.conversion-content-three a:hover:link,
							.conversion-content-three a:hover:active,
							.conversion-content-three a:hover{
								color: #80080f;
								display: inline !important;
								border-top: 3px solid transparent !important; 
								border-bottom: 3px solid #ffffff !important; 
								background-repeat: no-repeat;
								background-size: 100% calc( 200% + 3px );
								background-position: center bottom;
								background-image: linear-gradient( to top, #ffffff, #ffffff 50%, transparent 50%, transparent );
								transition: all 0.135s ease-out;
							}
							.conversion-content-three a:visited,
							.conversion-content-three a:link,
							.conversion-content-three a:active,
							.conversion-content-three a{
								color: #fff;
								text-decoration: none !important;
								display: inline !important;
								border-top: 3px solid transparent !important; 
								border-bottom: 3px solid #ffffff !important; 
								background-repeat: no-repeat;
								background-size: 100% calc( 200% + 3px );
								background-position: center top;
								background-image: linear-gradient( to top, #ffffff, #ffffff 50%, transparent 50%, transparent );
								transition: all 0.135s ease-out;
							}
						/*-------------------------------------------------------------------------------------------*/
					/*-------------------------------------------------------------------------------------------*/
						/*-------------------------------------------------------------------------------------------*/
							.text-shadow-box-light a:hover:visited,
							.text-shadow-box-light a:hover:link,
							.text-shadow-box-light a:hover:active,
							.text-shadow-box-light a:hover{
								display: inline !important;
								color: #000;
								border-top: 3px solid transparent !important; 
								border-bottom: 3px solid #fff !important; 
								background-repeat: no-repeat;
								background-size: 100% calc( 200% + 3px );
								background-position: center bottom;
								background-image: linear-gradient( to top, #fff, #fff 50%, transparent 50%, transparent );
								transition: all 0.135s ease-out;
							}
							.text-shadow-box-light a:visited,
							.text-shadow-box-light a:link,
							.text-shadow-box-light a:active,
							.text-shadow-box-light a{
								display: inline !important;
								color: #FFF;
								border-top: 3px solid transparent !important; 
								border-bottom: 3px solid #fff !important; 
								background-repeat: no-repeat;
								background-size: 100% calc( 200% + 3px );
								background-position: center top;
								background-image: linear-gradient( to top, #fff, #fff 50%, transparent 50%, transparent );
								transition: all 0.135s ease-out;
							}
						/*-------------------------------------------------------------------------------------------*/
							.text-shadow-box a:hover:visited,
							.text-shadow-box a:hover:link,
							.text-shadow-box a:hover:active,
							.text-shadow-box a:hover{
								display: inline !important;
								border-top: 3px solid transparent !important; 
								border-bottom: 3px solid #ffffff !important; 
								background-repeat: no-repeat;
								background-size: 100% calc( 200% + 3px );
								background-position: center bottom;
								background-image: linear-gradient( to top, #ffffff, #ffffff 50%, transparent 50%, transparent );
								transition: all 0.135s ease-out;
							}
							.text-shadow-box a:visited,
							.text-shadow-box a:link,
							.text-shadow-box a:active,
							.text-shadow-box a{
								display: inline !important;
								border-top: 3px solid transparent !important; 
								border-bottom: 3px solid #ffffff !important; 
								background-repeat: no-repeat;
								background-size: 100% calc( 200% + 3px );
								background-position: center top;
								background-image: linear-gradient( to top, #ffffff, #ffffff 50%, transparent 50%, transparent );
								transition: all 0.135s ease-out;
							}
						/*-------------------------------------------------------------------------------------------*/
							.text-shadow-box-light a:hover:visited::before,
							.text-shadow-box-light a:hover:link::before,
							.text-shadow-box-light a:hover:active::before,
							.text-shadow-box-light a:hover::before,
							.text-shadow-box-light a:visited::before,
							.text-shadow-box-light a:link::before,
							.text-shadow-box-light a:active::before,
							.text-shadow-box-light a::before,
							.text-shadow-box a:hover:visited::before,
							.text-shadow-box a:hover:link::before,
							.text-shadow-box a:hover:active::before,
							.text-shadow-box a:hover::before,
							.text-shadow-box a:visited::before,
							.text-shadow-box a:link::before,
							.text-shadow-box a:active::before,
							.text-shadow-box a::before{
								height: 0px !important;
							}

.wpcf7 p {
    margin: 0 !important;
}						/*-------------------------------------------------------------------------------------------*/
					/*-------------------------------------------------------------------------------------------*/
				/*-------------------------------------------------------------------------------------------*/









/*-------------------------------------------------------------------------------------------*/
/* end of file */