/* new site wide css for spacing */


/* look in app/code/Magezon/PageBuilder/view/base/web/css/styles.css for more edits */

/* preferred colors 
2022-08-07
yellow #fe8700
*/
body {
    color: #070605;
}

code {
    background: #f6f6f6;
    color: #111;
    padding: 10px 10px;
    font-size: 1.5rem;
    white-space: nowrap;
}

@media all and (min-width:768px) {
	body {
		font-size: 1.5rem;
		line-height: 1.544;
	}
}
	
	
h1, h2, h3, h4, h5, h6, h7 {
    font-family: Arial, sans-serif;
}


h4 {
    font-weight: bold;
    font-size: 1.8rem;
    margin-top: 2rem;
    margin-bottom: 1.3rem;
    color: #f4902b;
}
h5 {
    font-size: 1.6rem;
}
/* prevent amasty shopby filter from appearing in the header on load */
#layered-filter-block .filter-title strong {
 display: block;
}

.centerblock {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.centertext {
	text-align: center;
}


.dimager{ float:right; margin:0px 0px 10px 10px;max-width: 72%; clear:both;}
.dimager.topfoldright{ margin:-7px 0px 10px 20px; text-align:right;}

.dboxtopfoldright{     position: relative;    display: inline-block; float: right; width:180px; }
.dimager-no-max-width{ float:right; margin:0px 0px 10px 10px;}
.dimager-no-max-width-clear{ float:right; margin:0px 0px 10px 10px;clear: both;}
.dimagel{ float:left; margin:0px 10px 10px 0px;}

.post-view .post-content .ytwrapper img {
	margin: 0;
}


.clearboth{ clear:both;}
.clearleft{ clear:left;}
.clearright{ clear:right;}
.mtop-10 { margin-top:-10px !important;}
.mtop0 { margin-top:0px !important;}
.mtop5 { margin-top:5px !important;}
.mtop10 { margin-top:10px !important;}
.mtop15 { margin-top:15px !important;}
.mtop20 { margin-top:20px !important;}
.mtop30 { margin-top:30px !important;}
.mtop40 { margin-top:40px !important;}
.mbottom1em { margin-bottom:1em !important;}
.mbottom0 { margin-bottom:0px !important;}
.mbottom5 { margin-bottom:5px !important;}
.mbottom10 { margin-bottom:10px !important;}
.mbottom15 { margin-bottom:15px !important;}
.mbottom20 { margin-bottom:20px !important;}
.mbottom30 { margin-bottom:30px !important;}
.mbottom40 { margin-bottom:40px !important;}
.mbottom60 { margin-bottom:60px !important;}
.mleft6 { margin-left:6px;}
.mleft10 { margin-left:6px;}
.margin-none{ margin:0px !important;}
.ptop15 { padding-top: 15px;}
.pbottom15 { padding-bottom:15px;}


/*** hide discount block***/
/*#block-discount{display:none;}*/

/******** plugin company form and extension ****/
.help-bold-cw .help-block  {
	font-size: 1.0em !important;
    font-weight: bold !important;
}
.pccf_slideoutlink {
	font-size: 1.1em !important;
	padding: 4px 8px 5px 8px !important;
}

/********************************** header  *****************************************/


/*override how tall the top header strip is above the logo */
@media (min-width: 768px), print {
	.page-header .panel.header {
		padding-bottom: 4px !important;
		padding-top: 10px !important;
	}
}	


.page-header .panel.wrapper {
    border-bottom: none !important;
    background-color: #fff !important; /*#1a3769  #0F2143 #2454a8*/
	color: #2454a8 !important;
}


@media all and (min-width: 1025px) {
	/*correct ammenu wrapper sagging down*/
	.ammenu-submenu-wrapper {padding: 7px 7px 0px 15px;}
	
}
	
	
@media all and (max-width: 767px) {
	/* not needed since I changed the header color to white */
    /*.page-header .panel.wrapper {
        border-bottom: 1px solid #e8e8e8 !important;
        background-color: #2454a8 !important; /*#0F2143*/
	/*
    }*/
	.header.content {
    	padding-top: 1px; /*removes empty which space after phone number */
	}
}

@media (min-width: 768px), print {
    .header.content {
        padding: 5px 20px 0 !important;
    }
}

/*get rid of the little circles generated by default by the amasty theme*/
.ammenu-nav-sections.-mobile:not(.-has-icons) .ammenu-items.-root>.ammenu-item>.ammenu-link:before { content: none;}

/* phone number on top left */
    .header-phone {
		background: url(https://api.iconify.design/fa-solid/phone-volume.svg) no-repeat left center / .7em;

        padding: 5px 0px 5px 1em;
    }
.header-phone .phone-number, .header-phone .phone-number a {
	font-size: 1.5rem;
    font-weight: bold;
    font-style: italic;
    color: #F68819;
	font-family: Arial,Helvetica,sans-serif;
    
}
.header-phone .phone-number span.time {
    font-size: 1.2rem;
    color: #444;
}

/* iPhone and Smartphones (portrait and landscape) */
@media screen and (min-device-width: 320px) and (max-device-width: 768px) {
    /* phone number on top left */

}
@media screen and  (max-device-width: 495px) {
	.header-phone {padding: 1px 0px 0px 1em;}
	.header-phone .phone-number span.phone-separator {
        display: none;
    }

	.header-phone .phone-number span.time {
		/*display: flex;*/
		color: #666;
		line-height: 1.2rem;
		display: none;
	}
}
@media screen and  (max-device-width: 426px) {

	.header-phone .phone-number, .header-phone .phone-number a {
		font-size: 1.25rem;
	}
	.header-phone .phone-number span.time {
		font-size: 1.1rem;
		display: none;
	}

}
@media screen and  (max-device-width: 400px) {
	.header-phone .phone-number, .header-phone .phone-number a {
		/*font-size: 1.35rem;*/
	}

}
@media screen and  (max-device-width: 350px) {
	.header-phone .phone-number, .header-phone .phone-number a {
		font-size: 1.2rem;
	}

}
@media screen and  (max-device-width: 304px) {
	.header-phone .phone-number, .header-phone .phone-number a {
		font-size: 1rem;
	}

}


.header.panel>.header.links>li>a:hover  {
	color: #F68819;
    border-bottom: 1px dotted #F68819;
	text-decoration: none;
	font-weight: bold;
}
.header.panel>.header.links>li>a, .header.panel > .header.links > li > a:visited {
	color: #2461E3;
    border-bottom: 1px dotted #2461E3;
	text-decoration: none;
	font-weight: 400;
}

@media (min-width: 768px), print {

	
	/*2022-08-07 make authoriztion links visible again so customers can see signin and sign out*/
	.header.panel > .header.links > .customer-welcome + .authorization-link	{
		display: inline-grid !important;
	}
	.customer-welcome .action.switch {    
		color: red !important;
    	font-weight: 800 !important;
	}
}


/* moved to critical */
/*.ammenu-logo img {width: 350px; height: auto;}*/
/*fix the width of the logo in mobile view to move it away from the search button*/
/* moved to critical */
/* @media only screen and (max-width: 540px) {
	.ammenu-logo img {width: 94%; height: auto;}
}
*/

/********************** 2021-12-25 Amasty MegaMenu 2.1.3 compatible **********/

/* top nav gradients, NOT BEIND SERVED FROM CSS BY AMSATY, see core table path ammegamenu/color/main_menu_background
linear-gradient(180deg, #232D6A 0%, #1e478f 92.19%)

linear-gradient(180deg, #005dd1 0%, #1e478f 92.19%)
*/

.ammenu-nav-sections.-topmenu .ammenu-items.-root>.ammenu-item:hover {
	/*background-color: #2454A8 !important;
	background-color: #2461E3 !important; 194FC1*/
	background-color: #2461E3 !important;
	
	
}

.ammenu-nav-sections .ammenu-link .ammenu-text-block .ammenu-text {
  font-size: 1.7rem !important;
    letter-spacing: -.5px;
}

/*.ammenu-item.category-item .ammenu-text-block .ammenu-text {
	color: #fff;
}*/

/*sub category color set to white*/
a.ammenu-link.-simple {
    color: #fff !important;
}

/*subcategory font size correction*/
.ammenu-category-tree.ammenu-column .ammenu-title {
  font-size: 1.5rem !important;
  font-weight: 400 !important;
}


/* contact box */
.contact-box.slim {
    position: relative;
    padding: 0;
    margin: 0 0 3px 0;
    display: block;
    height: 57px;
    max-width: 180px;
	font: 75%/150% Arial,Helvetica,sans-serif;
}

.contact-box.slim .title {
    height: 29px;
    line-height: 29px;
    width: 175px;
    padding: 0 0 0 5px;
	background-color: #666;
	    color: #FFF;
    float: left;
    text-align: left;
	font-size: 15px;
}

.contact-box.slim .titlebar .call {
    float: left;
    padding-left: 21px;
    margin-bottom: 9px;
    background: url(https://www.cctvcameraworld.com/media/oldskin/frontend/ultimo/cctvcw/images/contactbox/contact-box-phone-icon-w.png) 0px 8px no-repeat;
    font-size: 15px;
    color: #fff;
}

.contact-box.slim .contact-boxbody {
    width: 172px;
    height: 20px;
    padding: 5px 0 0 6px !important;
	float: left;
    background-color: #F2F2F2;
    border: 1px solid #B6BCBF;
    border-top: none;
}

.contact-box.slim .contact-boxbody .contact_img {
    background: url(https://www.cctvcameraworld.com/media/oldskin/frontend/ultimo/cctvcw/images/contactbox/repjoe1_50px.png) 0 0 no-repeat;
    height: 67px;
    top: -13px;
    width: 50px;
    right: 1px;
	position: absolute;
	    z-index: 99;
}

.contact-box .contact-boxbody a.email {
    float: left;
    padding-left: 30px;
    background: url(https://www.cctvcameraworld.com/media/oldskin/frontend/ultimo/cctvcw/images/contactbox/contact-box-email-icon.png) 0 0 no-repeat;
    font-size: 14px;
    line-height: 16px;
    cursor: pointer;
    clear: both;
    text-decoration: none;
    color: #666 !important;
}





/*vimeo css*/
.lazyload-container h3 {display: none;}
.category-cms h2.yellowheader {
	color: #F68819;
}
.category-cms h2.categorydesctitle {
	    /* background: #1C4790; */
	background: #F68819;
    color: #fff;
    padding: 8px 15px;
    max-width: fit-content;
    font-weight: 600;
    line-height: 1.1;
    font-size: 2.4rem;
    margin-top: 2.5rem;
	margin-bottom: 2.5rem !important;
}

.catpageleftmenu li {
    float: left;
    display: block;
    width: 100% !important;
    padding: 0 !important;
    margin: 0;
    list-style-type: none;
    cursor: pointer;
    position: relative;
}

.catpageleftmenu-style1 li li a {
    padding-left: 20px;
    font-size: 1.2em;
}











/* jet theme */
@media only screen and (max-width: 768px) {
    .am-layout-negative-offset {
        margin-right: -35px;
        margin-left: -35px;
        padding-right: 35px;
        padding-left: 35px;
    }
}
		.amtheme-section-block {
			margin-bottom: 0px; /*was 40*/
		}
		.amtheme-section-block .block-static-block {
			margin-bottom: 0px !important;
		}
		.amtheme-section-block .amtheme-section-title,
		.cms-home .widget.block .block-title {
			word-wrap: break-word;
			word-break: break-word;
			margin: 0 0 25px;
			color: #070605;
			text-align: center;
			letter-spacing: 0.035em;
			font-size: 2rem;
			line-height: 2.3rem;
		}
		.ie11 .amtheme-section-block .amtheme-section-title,
		.ie11 .cms-home .widget.block .block-title {
			word-break: break-all;
		}
		.amtheme-section-block .amtheme-section-title > strong,
		.cms-home .widget.block .block-title > strong {
			font-weight: inherit;
			font-size: inherit;
			line-height: inherit;
		}
.amtheme-main-banner {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    margin: 0 -35px;
    height: 140px;
    background: #f7f7f7 center / cover no-repeat;
}
.amtheme-main-banner .amtheme-content {
    word-wrap: break-word;
    word-break: break-word;
    display: flex;
    align-items: center;
    flex-direction: column;
    padding: 0 10px;
    text-align: center;
}
.ie11 .amtheme-main-banner .amtheme-content {
    word-break: break-all;
}
.amtheme-main-banner .amtheme-title {
    margin: 0 0 5px;
    color: #070605;
    letter-spacing: 0.03em;
    font-weight: 700;
    font-size: 2.8rem;
    line-height: 1;
}
.amtheme-main-banner .amtheme-description {
    color: #4a4948;
    letter-spacing: 0.03em;
    font-size: 1.6rem;
}
.amtheme-secondary-banner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.amtheme-secondary-banner .amtheme-banner {
    width: 100%;
}
.amtheme-secondary-banner .amtheme-banner:not(:last-of-type) {
    margin-bottom: 30px;
}
.amtheme-secondary-banner .-carousel {
    overflow: hidden;
}
.amtheme-secondary-banner .-carousel p {
    margin: 0;
}
.amtheme-banner-item:not(:last-of-type) {
    margin-bottom: 40px;
}
.amtheme-banner-item .amtheme-image {
    display: block;
    width: 100%;
    border-radius: 6px;
}
.amtheme-banner-item .amtheme-title {
    display: block;
    margin: 20px 0 5px;
    color: #070605;
    letter-spacing: 0.025em;
    font-weight: 700;
    font-size: 2.2rem;
    line-height: 1.5;
}
.amtheme-banner-item .amtheme-description {
    margin: 0;
    color: #4a4948;
    letter-spacing: 0.03em;
    font-size: 1.6rem;
}
.amtheme-banner-item .action {
    display: inline-flex;
    align-items: center;
    margin-top: 20px;
    padding: 9px 10px;
    border-radius: 4px;
    font-size: 1.8rem;
}
.amtheme-banner-item .action.-with-icon:after {
    margin-left: 10px;
    width: 20px;
    height: 20px;
    background: url("../../svg/min/arrow-right.svg") center / contain no-repeat;
    content: "";
}
.amtheme-banner-item .amtheme-wrapper-link {
    display: block;
}
.amtheme-banner-item .amtheme-content {
    word-wrap: break-word;
    word-break: break-word;
}
.ie11 .amtheme-banner-item .amtheme-content {
    word-break: break-all;
}
.amtheme-images-carousel {
    margin: 0 -10px;
    padding: 0;
}
.amtheme-images-carousel .amtheme-image {
    width: 100%;
    border-radius: 6px;
}
.amtheme-images-carousel .slick-slide {
    margin: 0 10px;
    cursor: grab;
}
.amtheme-images-carousel .slick-slide:active {
    cursor: grabbing;
}
.ie11 .amtheme-images-carousel .slick-slide,
.ie11 .amtheme-images-carousel .slick-slide:active {
    cursor: pointer;
}
.amtheme-images-carousel .slick-dots {
    left: 50%;
    margin: 0;
    transform: translateX(-50%);
}
		.amtheme-categories-choice {
			position: relative;
			background-color: #f9f9f9;
			display: flex;
			align-items: center;
			flex-direction: column;
			padding: 40px 0 10px;
		}


		.amtheme-categories-choice:before,
		.amtheme-categories-choice:after {
			position: absolute;
			top: 0;
			display: block;
			width: calc((100vw - 100%) / 2);
			height: 100%;
	        background-color: none;
			content: "";
		}
		.amtheme-categories-choice:before {
			right: 100%;
		}
		.amtheme-categories-choice:after {
			left: 100%;
		}
		.amtheme-categories-choice > .amtheme-content {
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
			margin: 0;
			padding: 0;
			list-style-type: none;
		}
		.amtheme-categories-choice .amtheme-description {
			word-wrap: break-word;
			word-break: break-word;
			margin: 15px 0 0 !important; 
			color: #00498d;
			text-align: center;
			letter-spacing: 0.03em;
			font-weight: 700;
			font-size: 1.6rem;
			transition: color 0.2s ease-in-out;
		}
		.ie11 .amtheme-categories-choice .amtheme-description {
			word-break: break-all;
		}
		.amtheme-categories-choice .amtheme-item {
			display: flex;
			align-items: center;
			flex-direction: column;
			margin: 0 0 25px;
			width: 49%;
		}
		.amtheme-categories-choice .amtheme-image-block {
			position: relative;
			display: flex;
			align-items: center;
			justify-content: center;
			overflow: hidden;
			width: 110px;
			height: 110px;
			border-radius: 100%;
			background-color: #f2f2f2;
			cursor: pointer;
			transition: transform 0.2s ease-in-out;
		}
		.amtheme-categories-choice .amtheme-image-block:hover {
			transform: scale(1.1);
			/*RA edit 20201107 - to keep the test inside the buttons for channel based systems without an underline but with a color change */
			text-decoration: none;
    		color: #FAA100;
		}
		.amtheme-categories-choice .amtheme-image-block:hover + .amtheme-description, .amtheme-categories-choice .amtheme-description:hover {
			color: #FAA100;
			text-decoration: none;
		}
		._keyfocus .amtheme-categories-choice .amtheme-image-block:focus {
			border-radius: 100%;
		}
		.amtheme-categories-choice .amtheme-image-block > img {
			position: absolute;
			top: 50%;
			left: 50%;
			z-index: 1;
			max-width: 110px;
			transform: translate(-50%, -50%);
		}

		.amtheme-categories-choice .amtheme-image-block img.large-cat-icon {
			width: 85px !important;
			height: 85px !important;
		}

		.amtheme-categories-choice .amtheme-image-block .cat-number {
			/*font-family: 'Days One', sans-serif;*/
			font-size: 6rem;
			text-decoration: none;
		}
		.amtheme-categories-choice .amtheme-image-block span.cat-number:hover, .amtheme-categories-choice .amtheme-image-block span.cat-number:hover + .amtheme-description {
			text-decoration: none;
			color: #FAA100;
		}

		/* RA edit - I enlarged the action.primary link as button for the categories page similar to jet theme */
		.amtheme-categories-choice .action.primary {
			background-image: none;
            background: #1979c3;
            border: 1px solid #1979c3;
            color: #fff;
            cursor: pointer;
            display: inline-block;
            /*font-family: 'Open Sans','Helvetica Neue',Helvetica,Arial,sans-serif;*/
            font-weight: 600;
            padding: 12px 25px;
            font-size: 2rem;
            box-sizing: border-box;
            vertical-align: middle;
            line-height: 2.5rem;
		}


/*2024-07-14 amasty improved layered navigation color improvements */
.filter-options input[type='checkbox'] + .amshopby-choice:before {
  border: 1px solid #ccc !important;
}

.cms-home .widget-product-grid {
    margin: 0;
    padding: 0;
    list-style-type: none;
}
.cms-home .widget.block .block-title {
    text-align: center;
}
.cms-home .products-grid {
    display: flex;
    align-items: center;
    flex-direction: column;
}
.cms-home .page-main {
    margin-bottom: 0;
}
@media all and (max-width: 768px), print {
			.amtheme-section-block.amtheme-products-grid .block-products-list .block-title {
				margin: 0 0 20px;
				text-align: left;
			}
			.amtheme-section-block.amtheme-products-grid .block-products-list .block-content {
				margin: 0 -35px;
			}
			.amtheme-section-block.amtheme-products-grid .block-products-list .pager {
				padding: 0 35px;
			}
			.amtheme-section-block.amtheme-products-grid .block-products-list .product-items:not(.slick-slider) {
				width: 100%;
			}
}
@media all and (max-width: 640px), print {
			.amtheme-section-block.amtheme-products-grid .block-products-list .block-content {
				margin: 0 -25px;
			}
			.amtheme-section-block.amtheme-products-grid .block-products-list .pager {
				padding: 0 25px;
			}
}
@media all and (min-width: 768px), print {
    .amtheme-main-banner {
        margin: 0;
        height: 250px;
    }
    .amtheme-main-banner .amtheme-title {
        font-size: 4rem;
    }
    .amtheme-main-banner .amtheme-description {
        font-size: 1.9rem;
    }
    .amtheme-secondary-banner .-carousel,
    .amtheme-secondary-banner .-static {
        max-width: calc(50% - 10px);
    }
    .amtheme-secondary-banner .amtheme-banner:nth-of-type(n) {
        margin: 0;
    }
    .amtheme-banner-item:not(:last-of-type) {
        margin-bottom: 20px;
    }
			.amtheme-section-block .amtheme-section-title,
			.cms-home .widget.block .block-title {
				font-weight: 400;
				font-size: 2.5rem;
				line-height: 3rem;
			}
			.amtheme-section-block.amtheme-products-grid {
				margin-bottom: calc(40px - 25px);
			}
			.amtheme-categories-choice {
				padding: 20px 0; /* was 50px 0 before */
			}
			.amtheme-categories-choice .amtheme-item {
				margin: 0 15px 25px;
				min-width: 140px;
				max-width: calc(100% / 4 - (15px * 2));
			}
			.amtheme-categories-choice .amtheme-image-block {
				width: 100px;
				height: 100px;
			}
			.amtheme-categories-choice .amtheme-image-block > img {
				max-width: 100px;
			}
    .cms-home .nav-sections {
        margin-bottom: 10px;
    }
}
@media all and (min-width: 1024px), print {
    .amtheme-secondary-banner .-static {
        max-width: calc(50% - (30px - 10px));
    }
    .amtheme-banner-item:not(:last-of-type) {
        margin-bottom: 30px;
    }
    .amtheme-banner-item .amtheme-title {
        letter-spacing: 0.035em;
        font-weight: 400;
        font-size: 3.2rem;
        line-height: 4rem;
    }
    .amtheme-banner-item .action {
        padding: 12px 10px;
    }
}
@media all and (min-width: 1440px), print {
    .amtheme-secondary-banner .-static {
        max-width: calc(50% - (40px - 10px));
    }
    .amtheme-banner-item:not(:last-of-type) {
        margin-bottom: 40px;
    }
}

/***** print only modifications ***/
@media print {
    .ammenu-logo img {width:300px !important;}
    .amtheme-products-secondary.-in-widget .action.tocart,
    .amtheme-products-grid .widget.block-static-block .block.block-products-list .product-items .action.tocart,
    .amtheme-banner-item .action,
    .amtheme-main-banner {
        display: none;
    }
    .amtheme-secondary-banner,
			.amtheme-categories-choice > .amtheme-content {
				display: block;
			}
    .amtheme-secondary-banner .amtheme-banner {
        display: inline-block;
    }
    .amtheme-secondary-banner .-static {
        float: right;
    }
			.amtheme-categories-choice .amtheme-item {
				float: left;
				min-width: auto;
			}
    .amtheme-section-block.amtheme-products-grid .block-products-list .pager,
    .amtheme-section-block.amtheme-products-grid .block-products-list > .block-content {
        margin: 0;
        padding: 0;
    }
    .cart-summary .checkout-methods-items,.pccf_slideoutlink.slideout_right,.cart-discount,.cart.main.actions { display:none;}
    .cart-summary._sticky,.fieldset {
       margin-bottom: 0px !important;
    }
 
	.block.crosssell { display:none;}
    /* Unhide and reset header elements */
    .page-header,
    .ammenu-header-container,
    .panel.wrapper,
    .panel.header,
    .header-phone,
    .phone-number {
        display: block !important;
        visibility: visible !important;
        overflow: visible !important;
        height: auto !important;
        max-height: none !important;
    }

    /* Remove float/positioning that might collapse */
    .header-phone,
    .phone-number {
        float: none !important;
        position: static !important;
        padding-bottom:0px  !important;
    }

    /* Optional: ensure phone text and links are black for print */
    .phone-number,
    .phone-number a {
        color: #000 !important;
        text-decoration: none !important;
    }
	
}



/******************** youtube videos - old not used since 2024-04-27 ***************/
/*
.ytwrapper {
    max-width: 900px;
    margin: 7px auto;
    padding: 0 20px;
}
@media all and (max-width: 600px) {
	.ytwrapper {
		max-width: none;
		margin: 7px auto;
		padding: 0;
	}
}
.youtube, .youtube2 {
    background-color: #000;
    margin-bottom: 30px;
    position: relative;
    padding-top: 56.25%;
    overflow: hidden;
    cursor: pointer;
}
.youtube img, .youtube2 img  {
    width: 100%;
    top: -14.82%;
    left: 0;
    opacity: 0.9;
}
.youtube .play-button, .youtube2 .play-button {
    width: 90px;
    height: 60px;
    background-color: red;
    box-shadow: 0 0 30px rgba(0, 0, 0, 0.6);
    z-index: 1;
    opacity: 0.8;
    border-radius: 6px;
}
.youtube .play-button:before, .youtube2 .play-button:before {
    content: "";
    border-style: solid;
    border-width: 15px 0 15px 26px;
    border-color: transparent transparent transparent #fff;
}
.youtube .play-button,
.youtube img, 
.youtube2 .play-button,
.youtube2 img {
    cursor: pointer;
}
.youtube .play-button,
.youtube .play-button:before,
.youtube iframe,
.youtube img,
.youtube2 .play-button,
.youtube2 .play-button:before,
.youtube2 iframe,
.youtube2 img
{
    position: absolute;
}
.youtube .play-button,
.youtube .play-button:before,
.youtube2 .play-button,
.youtube2 .play-button:before{
    top: 50%;
    left: 50%;
    transform: translate3d(-50%, -50%, 0);
}
.youtube iframe, .youtube2 iframe {
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
}

*/

/*************************** Product Page **************************/
/*Fix image width to allow production options to fit*/
/*.page-layout-1column .product-info-main{width:50%} *//*default was 40%*/
/*.page-layout-1column .product.media{width:47%}*/ /*default was 57%*/


/* 2022-07-28 mageworx advanced product options  */
.product-options-wrapper .fieldset>.field .field.choice, .fieldset>.fields>.field .field.choice { 
	font-family: 'helvetica',sans-serif;
    font-size: .9em;
    vertical-align: middle;
}

.product-options-wrapper .field .checkbox{
    margin: 0 5px 5px 0 !important;
	
}

.product-options-wrapper .field .label-qty {margin-left: 1em !important;}


/* 2023-10-02 */
/*li sup  {font-size: 9px; vertical-align: super; padding-left: 2px;}*/
p.proddesc-sups {color: #777; font-size: 10.5px; max-width: 71%; padding: 0 0 5px 10px; }
p.proddesc-sups sup {vertical-align: super !important;}

div.specifications p.proddesc-sups {color: #777; font-size: 10.5px; max-width: 65%; padding: 0 0 5px 10px; }
#specs table td sup {font-size: 0.7em; vertical-align: 5px; padding-left: 2px;}

/* swatches text for product options */
.qtip-content .title { font-size:13px !important;}

/*********************** Category Page  **************/

/* helps center tables on page */
.div_350px_center {
    max-width: 350px;
    text-align: center;
}


.div_350px_center h3 {font-size: 1.1em !important;}

.div_350px_center table.center_data tr td {text-align: center;}

/* 2022-07-28 from https://codepen.io/thomasquayle/pen/KwxwoO for making svg clickable. Not using it */
a.svg {
 position: relative;
 display: inline-block;
 width: 25%;
}
a.svg:after {
  content: ""; 
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left:0;
}
object {
  width: 100%;
}

img.icon-100 {
    max-width: 100px !important;
    width: 100%;
    display: block;
    margin: 0px auto;
}
img.icon-150 {
    max-width: 150px !important;
    width: 100%;
    display: block;
    margin: 10px auto;
}
img.icon-200 {
    max-width: 200px !important;
    width: 100%;
    display: block;
    margin: 10px auto;
}

.category-cms .mgz-element-inner h2 {
    margin-top: 0px !important;
}

/****** product page icons for features ********/
.product-features table td {
            padding: 10px;
            vertical-align: middle;
        }
.product-features text-left {
            text-align: left;
        }
.product-features text-center {
            text-align: center;
        }
.product-features table td.col1 {
	width: 33%;
}


/************** tech support form ************/
@media screen and (min-width: 768px) {
	.form-side-left {
		width: 50%;
		display: inline;
		float: left;
		margin-left: 1%;
		margin-right: 1%;
	}

	.text-side-right {
		width: 44%;
		display: inline;
		float: right;
		margin-left: 1%;
		margin-right: 1%;
	}
}

@media screen and (max-width: 767px) {
	.form-side-left {
		float: left;
		display: block;
		max-width: 95%;
	}
	.text-side-right {
		clear: both;
		float: left;
		display: block;
		max-width: 95%;
		margin-bottom: 15px;
	}
}


/******************** checkout page  *********/
/*make agree to terms fit in one line */
div.checkout-agreement button.action-show span {
	font-size: 1.2rem;
}

/* Checkout only */
.checkout-index-index .discount-code .payment-option-title {
  display: none !important;
}
.checkout-index-index .discount-code .payment-option-content {
  display: block !important;
  margin-top: 0;               /* tidy spacing */
}

/*disaply checkout error in new line
.checkout-agreement div.mage-error {
	
}
*/




/* amasty extensions */
/* product review */
.amreview-recommend-wrap>.amreview-checkboxlabel:before, .amreview-gdpr-wrap>.amreview-checkboxlabel:before {
	border: 1px solid #707070 !important;
}




/********* blog only *******/

#blog-search-form.fieldset {
    margin: 0 0 5px 0;
}

/* 2024-04-20 fix minor issues with wp  on posts containing product list pages */

.wordpress-post-view .products{ margin: 10px 0px !important;}
@media screen and (max-width: 768px) {
	/*removes top margin above post content when there is a product list added to a wp post*/
	.wordpress-post-view .page-products .columns {padding-top: 0px !important;}
	.wordpress-post-view .columns.mf-initial {padding-top: 0px !important;}
}

.wordpress-post-view .actions-toolbar.mf-initial {padding-top: 10px;}

/* 2024-04-21 new css to serve new youtube embed code that is responsive with minimal cls by using wp video embed code */
.wp-block-embed-youtube {
    max-width: 800px;
    margin: auto;
}

.wp-block-embed__wrapper {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 Aspect Ratio for video */
    height: 0;
    overflow: hidden;
}

.wp-block-embed__wrapper iframe,
.wp-block-embed__wrapper object,
.wp-block-embed__wrapper embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/**** system descriptions *****/
@media (max-width: 767px) {

	.system-desc .image-to-right {
		margin-bottom: 10px;

	}
	.system-desc .image-to-left {
		margin-top: 10px;

	}
}


@media (min-width: 768px) {
	.system-desc .image-to-right {
		padding-right: 10px;

	}

	.system-desc .image-to-left {
		padding-left: 10px;

	}

	.system-desc div.large_image  {
 		text-align:center;
	}

	.system-desc div.large_image img {
		width:70%;
	}
}



/* amasty checkout css */
.am-checkout.-classic .authentication-wrapper .action-auth-toggle {
    background: #1979c3;
    border-radius: 2px;
    color: #ffffff;
    height: auto;
    padding: 5px 20px;
    transition: all .3s ease;
}
.am-checkout.-classic .authentication-wrapper .action-auth-toggle:hover {
    background: #c37f19;   
    
}
.am-checkout.-classic div.checkout-agreement button.action-show span {
    font-size: 1.4rem;
    word-break: break-word;
}


.am-checkout.-classic .opc-wrapper.am-opc-wrapper .checkout-agreement button.action-show {
    display: contents;
}

.amcheckout-wrapper .product-image-container {
    width:75px !important;
    height:75px !important;
}

.am-checkout.-classic .checkout-agreement input[type="checkbox"].required-entry, .am-checkout.-classic  input[type="checkbox"].admin__control-checkbox {
    width:20px !important;
    height:20px !important;
}

@media (max-width: 767px) {
	.checkout-index-index .checkout-header .description {
    	font-size: 14px;
    	padding-bottom: 10px
	}
	.checkout-index-index .opc-wrapper.am-opc-wrapper.layout-3columns .shipping-address-item {
		width:100%;
	}

	.am-checkout.-classic .checkout-payment-method .amcheckout-payment-methods .step-title {
    	padding: 10px 15px;
	}	
	.am-checkout.-classic .authentication-wrapper .action-auth-toggle {
		padding: 5px 10px;
	}


}

@media (min-width: 769px), print {
    /* Only target the account edit form */
    form#form-validate.form-edit-account .fieldset {
        float: none !important;
    }

    /* Only target the address edit form */
    form#form-validate.form-address-edit .fieldset {
        float: none !important;
    }
}


/* 2025-05-25 wordpress css - faq container */

.faq-container {
	max-width: 90%;
}
.faq-item {
	border-bottom: 1px solid #ccc;
}
.faq-question {
	cursor: pointer;
	padding: 15px;
	background-color: #f9f9f9;
	font-weight: bold;
	border-radius: 6px;
	transition: background-color 0.3s ease;
}
.faq-question:hover {
	background-color: #eaeaea;
}
.faq-answer {
	display: none;
	padding: 15px;
	background-color: #fff;
	border-radius: 6px;
	border-left: 3px solid #0073e6;
}

/* 2025-05-25 wordpress css - phone container */

.phone-frame2 {
  width: 291px;
  height: 630px;
  border: 16px solid #0a5486;
  border-radius: 36px;
  overflow: hidden;
  background: #000;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
  margin: 0 auto;
}
	
.phone-frame {
  width: 100%;
  max-width: 291px; /* original image width */
  aspect-ratio: 291 / 630; /* maintains aspect ratio */
  border: 16px solid #0a5486;
  border-radius: 36px;
  overflow: hidden;
  background: #000;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}
.phone-frame img {
  width: 100%;
  height: auto;
  display: block;
  margin: unset !important;
}
.phone-frame figure {
  width: unset !important;
  margin: unset !important;
}
/* 2025-05-25 wordpress css - laptop container */
.custom-laptop-frame {
  padding: 2% 1%;
  margin: 0 auto;
  max-width: 1100px;
}

.custom-laptop-screen {
  background: #000;
  border-radius: 3% 3% 0.5% 0.5% / 5%;
  margin: 0 auto;
  position: relative;
  width: 93%;
}

.custom-laptop-screen:before {
  border: 2px solid #cacacc;
  border-radius: 3% 3% 0.5% 0.5% / 5%;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.8) inset, 0 0 1px 2px rgba(255, 255, 255, 0.3) inset;
  content: "";
  display: block;
  padding-top: 67%; /* Maintains screen ratio */
}

.custom-laptop-screen:after {
  content: "";
  border-top: 2px solid rgba(255, 255, 255, 0.15);
  position: absolute;
  bottom: 0.75%;
  left: 0.5%;
  padding-top: 1%;
  width: 99%;
}

.custom-laptop-viewport {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  top: 0;
  margin: 4.3% 3.2%;
  background: #333;
  overflow: hidden;
}


.custom-laptop-viewport:after {
  background: radial-gradient(circle at right bottom, transparent 75%, rgba(255, 255, 255, 0.05) 75%, transparent);
  bottom: 0;
  content: "";
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}

.custom-laptop-viewport img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  margin: unset !important;
}

.custom-laptop-base {
  position: relative;
  width: 100%;
}

.custom-laptop-base:before {
  content: "";
  display: block;
  padding-top: 3.3%;
  background: linear-gradient(#eaeced, #edeef0 55%, #fff 55%, #8a8b8f 56%, #999ba0 61%, #4B4B4F 84%, #262627 89%, rgba(0, 0, 0, .01) 98%);
  border-radius: 0 0 10% 10%/ 0 0 50% 50%;
}

.custom-laptop-base::after {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.5), rgba(255, 255, 255, 0.8) 0.5%, rgba(0, 0, 0, 0.4) 3.3%, transparent 15%, rgba(255, 255, 255, 0.8) 50%, transparent 85%, rgba(0, 0, 0, 0.4) 96.7%, rgba(255, 255, 255, 0.8) 99.5%, rgba(0, 0, 0, 0.5) 100%);
  content: "";
  height: 53%;
  position: absolute;
  top: 0;
  width: 100%;
}

.custom-laptop-notch {
  background: #ddd;
  border-radius: 0 0 7% 7% / 0 0 95% 95%;
  box-shadow: -5px -1px 3px rgba(0, 0, 0, 0.2) inset, 5px -1px 3px rgba(0, 0, 0, 0.2) inset;
  margin-left: auto;
  margin-right: auto;
  margin-top: -3.5%;
  z-index: 2;
  position: relative;
  width: 14%;
}

.custom-laptop-notch:before {
  content: "";
  display: block;
  padding-top: 10%; /* Notch height ratio */
}




#maincontent nav ul, #maincontent nav ul { list-style:unset; }


.cta-biz-gray.container {
  max-width: 950px;   /* adjust to match your content width */
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}
.cta-biz-gray {
  background-color: #f5f5f5;
  border-radius: 30px;
  padding: 40px;
}

.cta-biz-gray-grid {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 30px;
}

.cta-biz-gray .cta-biz-gray-grid {
  max-width: 900px;
  margin: 0 auto;
}

.cta-biz-gray-image img {
  width: 320px; /* recommended width */
  height: auto;
  display: block;
  border-radius: 12px;
}

.cta-biz-gray-content {
  flex: 1;
  min-width: 300px;
}

.cta-biz-gray-headline {
  font-size: 2rem;
  font-weight: bold;
  color: #000;
  margin-bottom: 20px;
}

.cta-biz-gray-list {
  list-style: disc inside;
  font-size: 1.5rem;
  color: #333;
  margin-bottom: 30px;
}

.cta-biz-gray-button, .cta-biz-gray-button:visited {
  display: inline-block;
  background-color: #000;
  color: #fff !important;
  padding: 12px 24px;
  font-size: 1.5rem;
  border-radius: 999px;
  text-decoration: none;
  font-weight: bold;
  transition: background 0.3s ease;
}

.cta-biz-gray-button:hover {
  background-color: #1a79c4;
}

.cta-biz-gray .pccf-popup-btn {
  display: inline-block;
  background-color: #000;
  color: #fff;
  padding: 12px 24px;
  font-size: 1.5rem;
  border-radius: 999px;
  font-weight: normal;
  text-decoration: none;
  border: none;
  cursor: pointer;
  transition: background 0.3s ease;
}



.cta-biz-gray .pccf-popup-btn:hover {
  background-color: #333;
  display: inline-block;
  color: #fff;
  padding: 12px 24px;
  font-size: 1.5rem;
  border-radius: 999px;
  font-weight: normal;
  text-decoration: underline;
  border: none;
  cursor: pointer;
  transition: background 0.3s ease;
}


.read-more {
	text-align:center;
}
.read-more a {
    color: #3B619F;
    margin-top: 5px;
    border-bottom: 1px dotted #3B619F;
    font-weight: bold;
}

.product-item .price-box {
    margin: 10px 0 15px; /* reduce bottom margin on price field */
}

.product-item-details .product-sku {
	font-weight:normal;
    font-size:13px;
}

.product-item-read-more {text-align:center; margin: 4px 0px 25px;}
.read-more-icon {
  display: inline-block;
  width: 100px; /* adjust width to match your SVG */
  height: 20px; /* adjust height to match your SVG */
  background-image: url('../images/read-more.svgz');
  background-repeat: no-repeat;
  background-size: contain;
  text-indent: -9999px;
  overflow: hidden;
}
.read-more-icon:hover, a:hover .read-more-icon {
  background-image: url('../images/read-more-hover.svgz');

}


/* ****** product item list - begin ********* */

/* ********** add to cart ********* */
	/*  got rid of blue color #1979c3  */

.products-grid .products.list .product-item button.tocart,
.product-shortcode .product-item button.tocart {
    background: #fff;
    border: 2px solid #F6820C;
    color: #F6820C;
	font-weight: 700;


}


.products-grid .products.list .product-item button.tocart:hover,
.product-shortcode .product-item button.tocart:hover {
    background: #F6820C !important;
    border: 2px solid #F6820C !important;
    color: #ffffff;
}

/* Override version 2: cleaner button hover */
.products-grid .products.list .product-item button.tocart:hover,
.product-shortcode .product-item button.tocart:hover {
    background: #F4902B;
    border: 1px solid #E27302;
    color: #fff;
}

@media (min-width: 640px) {
    .products-grid .products.list .product-item-actions .actions-primary,
    .product-shortcode .product-item-actions .actions-primary {
        display: unset;
        text-align: center;
    }
}

@media only screen and (max-width: 639px) {
    .products-grid .products.list .product-item-actions .actions-primary,
    .product-shortcode .product-item-actions .actions-primary {
        display: block;
        text-align: center;
    }

    .products-grid .products.list .product-items > li,
    .product-shortcode .product-items > li {
        margin: 0 0 25px 0;
    }
}

.products-grid .products.list .product-item-name .product-item-link,
.product-shortcode .product-item-name .product-item-link {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    min-height: 6.0em; /* Adjust based on expected title length (e.g., 2 lines) */
    overflow: hidden;
    text-overflow: ellipsis;
    font-family: Arial, sans-serif;
    font-size: 15px;
    color: #011e41;
    font-weight: 600 !important;
}

.products-grid .products.list .product-item,
.product-shortcode .product-item {
    text-align: left;
    max-width: 100%;
    min-width: 50px;
    font-family: Arial, sans-serif;
    font-size: 15px;
    line-height: 1.5;
    color: #011e41;
    font-weight: 600; 
    flex-direction: column;
    justify-content: space-between;
    min-height: 520px; /* Adjust as needed */
}

/* Ensure price text doesn't wrap */
.products-grid .products.list .product-item .price-box .price,
.product-shortcode .product-item .price-box .price {
    white-space: nowrap;
}

@media only screen and (max-width: 479px) {
    .products-grid .products.list .product-items .product-item .price-box .price,
    .product-shortcode .product-items .product-item .price-box .price {
        font-size: 19px;
    }
}

@media only screen and (min-width: 480px) {
    .products-grid .products.list .product-items .product-item .price-box .price,
    .product-shortcode .product-items .product-item .price-box .price {
        font-size: 21px;
    }
}

.products-grid .products.list .product-items .product-item .price-box .old-price .price,
.product-shortcode .product-items .product-item .price-box .old-price .price {
    color: #666666;
    font-size: 15px;
    letter-spacing: -1px;
    font-weight: 400;
    text-decoration: line-through;
}

/* ****** product item list - end ********* */



.badge.discount_percentage {
    display: inline-flex;
    align-items: center;
    background-color: #ffcc00;  /* not red #e53935 */
    color: #000; /* not #fff */
    font-size: 16px;
    font-weight: bold;
    padding: 2px 10px 2px 4px;
    border-radius: 3px 6px 6px 3px;
    position: relative;
    height: 22px;
    line-height: 1;
    margin-left: 6px;
}

.badge.discount_percentage::before {
    content: "";
    position: absolute;
    left: -8px;
    top: 2px;
    width: 0;
    height: 0;
    border-top: 11px solid transparent;
    border-bottom: 11px solid transparent;
    border-right: 8px solid #ffcc00; /* not red #e53935 */

}

.badge.discount_percentage .percentage {
    display: inline-block;
}
.badge.discount_percentage .off-label {
    font-size: 10px;
    margin-left: 2px;
}


/***   video play icon *****/
.product-video-button-wrap {
	text-align: center;
    padding: 0px;
    margin: 0px;
    line-height: 1;
}

.product-video-button {
    display: inline-block;
    width: 166px;
    aspect-ratio: 300 / 56; /* or just 75 / 14 */
    background-image: url('../images/video-overview.svg'); /* adjust path as needed */
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    cursor: pointer;
    margin-bottom:5px;
}

.product-video-button:hover {
    width: 166px;
    aspect-ratio: 300 / 56; /* or just 75 / 14 */
    background-image: url('../images/video-overview-hover.svg'); /* adjust path as needed */
}

