#ewvwp-grid{
	display: flex;
	flex-wrap: wrap;
}

.ewvwp-product{
    position: relative;
    perspective: 800px;
    width:306px;
    height:471px;
    transform-style: preserve-3d;
    transition: transform 5s;
	float:left; 
	margin-right: 23px;
	-webkit-transition: width 500ms ease-in-out;
	   -moz-transition: width 500ms ease-in-out;
		-ms-transition: width 500ms ease-in-out;
		 -o-transition: width 500ms ease-in-out;
 		    transition: width 500ms ease-in-out;
}
.ewvwp-product-front img{width:100%;}
.ewvwp-product-front, .ewvwp-product-back{
	width:315px;
	height:480px;
	background:#fff;
	position:absolute;
	left:-5px;
	top:-5px;
	-webkit-transition: all 100ms ease-out; 
       -moz-transition: all 100ms ease-out; 
         -o-transition: all 100ms ease-out; 
            transition: all 100ms ease-out; 
}
.ewvwp-product-back{
	display:none;
	transform: rotateY( 180deg );
}
.ewvwp-make3D.animate .ewvwp-product-back,
.ewvwp-make3D.animate .ewvwp-product-front,
div.large .ewvwp-product-back{
	top:0px;
	left:0px;
	-webkit-transition: all 100ms ease-out; 
       -moz-transition: all 100ms ease-out; 
         -o-transition: all 100ms ease-out; 
            transition: all 100ms ease-out; 
}
.ewvwp-make3D{
	width:305px;
	height:470px;
	position:absolute;
	top:10px;
	left:10px;	
	overflow:hidden;
    transform-style: preserve-3d;
	-webkit-transition:  100ms ease-out; 
       -moz-transition:  100ms ease-out; 
         -o-transition:  100ms ease-out; 
            transition:  100ms ease-out;
}
div.ewvwp-make3D.flip-10{
	 -webkit-transform: rotateY( -10deg );
         -moz-transform: rotateY( -10deg );
           -o-transform: rotateY( -10deg );
              transform: rotateY( -10deg );
			   transition:  50ms ease-out; 			
}
div.ewvwp-make3D.flip90{
	 -webkit-transform: rotateY( 90deg );
         -moz-transform: rotateY( 90deg );
           -o-transform: rotateY( 90deg );
              transform: rotateY( 90deg );
			   transition:  100ms ease-in; 			
}
div.ewvwp-make3D.flip190{
	 -webkit-transform: rotateY( 190deg );
         -moz-transform: rotateY( 190deg );
           -o-transform: rotateY( 190deg );
              transform: rotateY( 190deg );
			   transition:  100ms ease-out; 			
}
div.ewvwp-make3D.flip180{
	 -webkit-transform: rotateY( 180deg );
         -moz-transform: rotateY( 180deg );
           -o-transform: rotateY( 180deg );
              transform: rotateY( 180deg );
			   transition:  150ms ease-out; 			
}
.ewvwp-make3D.animate{
	top:5px;
	left:5px;
	width:315px;
	height:480px;
	box-ewvwp-shadow:0px 5px 31px -1px rgba(0, 0, 0, 0.15);
	-webkit-transition:  100ms ease-out; 
       -moz-transition:  100ms ease-out; 
         -o-transition:  100ms ease-out; 
            transition:  100ms ease-out; 
}
div.large .ewvwp-make3D{
	top:0;
	left:0;
	width:315px;
	height:480px;
	-webkit-transition:  300ms ease-out; 
       -moz-transition:  300ms ease-out; 
         -o-transition:  300ms ease-out; 
            transition:  300ms ease-out; 
}
.large div.ewvwp-make3D{box-ewvwp-shadow:0px 5px 31px -1px rgba(0, 0, 0, 0);}
.large div.ewvwp-flip-back{display:none;}
.ewvwp-stats-container{
	background:#fff;	
	position:absolute;
	top:382px;
	left:0;
	width: 252px;
	height: 300px;
	padding: 24px 40px 35px 32px;
	-webkit-transition: all 200ms ease-out; 
       -moz-transition: all 200ms ease-out; 
         -o-transition: all 200ms ease-out; 
            transition: all 200ms ease-out;
}
.ewvwp-make3D.animate .ewvwp-stats-container{
	top:245px;
	-webkit-transition: all 200ms ease-out; 
       -moz-transition: all 200ms ease-out; 
         -o-transition: all 200ms ease-out; 
            transition: all 200ms ease-out; 
}
.ewvwp-stats-container .ewvwp_product_name{
	font-size: 15px;
    color: #393c45;
    font-weight: 700;
}
.ewvwp-stats-container p{
	font-size:15px;
	color:#b1b1b3;	
	padding:2px 0 20px 0;
}
.ewvwp-stats-container .ewvwp_product_price{
	float:right;
	color:#5ff7d2;
	font-size:22px;
	font-weight:600;
}
.ewvwp_image_overlay{
	position:absolute;
	top:0;
	left:0; 
	width:100%;
	height:100%;
	background:#5ff7d2;
	opacity:0;	
}
.ewvwp-make3D.animate .ewvwp_image_overlay{
	opacity:0.7;	
	-webkit-transition: all 200ms ease-out; 
       -moz-transition: all 200ms ease-out; 
         -o-transition: all 200ms ease-out; 
            transition: all 200ms ease-out; 
}
.product-options{
	padding:0;
}
.product-options strong{
	font-weight:700;
	color:#393c45;
	font-size:14px;
}
.product-options span{	
	color:#969699;
	font-size:14px;
	display:block;
	margin-bottom:8px;
}

.ewvwp_view_gallery{	
	position:absolute;
	top:144px;
	left:50%;
	width:152px;
	font-size:15px;
	margin-left:-78px;
	border:2px solid #fff;
	color:#fff;	
	text-align:center;
	text-transform:uppercase;
	font-weight:700;
	padding:10px 0;	
	opacity:0;
	-webkit-transition: all 200ms ease-out; 
       -moz-transition: all 200ms ease-out; 
         -o-transition: all 200ms ease-out; 
            transition: all 200ms ease-out; 
}
.ewvwp_view_gallery:hover{	
	background:#fff;
	color:#5ff7d2;
	cursor:pointer;

}
.ewvwp-make3D.animate .ewvwp_view_gallery{
	opacity:1;	
	-webkit-transition: all 200ms ease-out; 
       -moz-transition: all 200ms ease-out; 
         -o-transition: all 200ms ease-out; 
            transition: all 200ms ease-out; 		
}

div.ewvwp-shadow{
	width:335px;height:520px;
	opacity:0;
	position:absolute;
	top:0;
	left:0;
	z-index:3;
	display:none;
	background: -webkit-linear-gradient(left,rgba(0,0,0,0.1),rgba(0,0,0,0.2));
    background: -o-linear-gradient(right,rgba(0,0,0,0.1),rgba(0,0,0,0.2)); 
    background: -moz-linear-gradient(right,rgba(0,0,0,0.1),rgba(0,0,0,0.2)); 
    background: linear-gradient(to right, rgba(0,0,0,0.1), rgba(0,0,0,0.2)); 
}
.ewvwp-product-back div.ewvwp-shadow{
	z-index:10;
	opacity:1;
	background: -webkit-linear-gradient(left,rgba(0,0,0,0.2),rgba(0,0,0,0.1));
    background: -o-linear-gradient(right,rgba(0,0,0,0.2),rgba(0,0,0,0.1)); 
    background: -moz-linear-gradient(right,rgba(0,0,0,0.2),rgba(0,0,0,0.1)); 
    background: linear-gradient(to right, rgba(0,0,0,0.2), rgba(0,0,0,0.1)); 
}
.ewvwp-flip-back{
	position:absolute;
	top:20px;
	right:20px;
	width:30px;
	height:30px;
	cursor:pointer;
}
.ewvwp-cx, .ewvwp-cy{
	background:#d2d5dc;
	position:absolute;
	width:0px;
	top:15px;
	right:15px;
	height:3px;
	-webkit-transition: all 250ms ease-in-out;
	   -moz-transition: all 250ms ease-in-out;
		-ms-transition: all 250ms ease-in-out;
		 -o-transition: all 250ms ease-in-out;
			transition: all 250ms ease-in-out;
}
.ewvwp-flip-back:hover .ewvwp-cx, .ewvwp-flip-back:hover .ewvwp-cy{
	background:#979ca7;
	-webkit-transition: all 250ms ease-in-out;
	   -moz-transition: all 250ms ease-in-out;
		-ms-transition: all 250ms ease-in-out;
		 -o-transition: all 250ms ease-in-out;
			transition: all 250ms ease-in-out;
}
.ewvwp-cx.s1, .ewvwp-cy.s1{	
	right:0;	
	width:30px;	
	-webkit-transition: all 100ms ease-out;
	   -moz-transition: all 100ms ease-out;
		-ms-transition: all 100ms ease-out;
		 -o-transition: all 100ms ease-out;
			transition: all 100ms ease-out;
}
.ewvwp-cy.s2{	
	-ms-transform: rotate(50deg); 
	-webkit-transform: rotate(50deg); 
	transform: rotate(50deg);		 
	-webkit-transition: all 100ms ease-out;
	   -moz-transition: all 100ms ease-out;
		-ms-transition: all 100ms ease-out;
		 -o-transition: all 100ms ease-out;
			transition: all 100ms ease-out;
}
.ewvwp-cy.s3{	
	-ms-transform: rotate(45deg); 
	-webkit-transform: rotate(45deg); 
	transform: rotate(45deg);		 
	-webkit-transition: all 100ms ease-out;
	   -moz-transition: all 100ms ease-out;
		-ms-transition: all 100ms ease-out;
		 -o-transition: all 100ms ease-out;
			transition: all 100ms ease-out;
}
.ewvwp-cx.s1{	
	right:0;	
	width:30px;	
	-webkit-transition: all 100ms ease-out;
	   -moz-transition: all 100ms ease-out;
		-ms-transition: all 100ms ease-out;
		 -o-transition: all 100ms ease-out;
			transition: all 100ms ease-out;
}
.ewvwp-cx.s2{	
	-ms-transform: rotate(140deg); 
	-webkit-transform: rotate(140deg); 
	transform: rotate(140deg);		 
	-webkit-transition: all 100ms ease-out;
	   -moz-transition: all 100ms ease-out;
		-ms-transition: all 100ease-out;
		 -o-transition: all 100ms ease-out;
			transition: all 100ms ease-out;
}
.ewvwp-cx.s3{	
	-ms-transform: rotate(135deg); 
	-webkit-transform: rotate(135deg); 
	transform: rotate(135deg);		 
	-webkit-transition: all 100ease-out;
	   -moz-transition: all 100ms ease-out;
		-ms-transition: all 100ms ease-out;
		 -o-transition: all 100ms ease-out;
			transition: all 100ms ease-out;
}

div.floating-cart .ewvwp-stats-container{display:none;}
div.floating-cart .ewvwp-product-front{width:100%; top:0; left:0;}
.ewvwp-product.large{
	width:639px;
	margin-bottom:25px;
	overflow:hidden;
	-webkit-transition: all 500ms ease-in-out;
	   -moz-transition: all 500ms ease-in-out;
		-ms-transition: all 500ms ease-in-out;
		 -o-transition: all 500ms ease-in-out;
 		    transition: all 500ms ease-in-out;
}


.ewvwp-product.large:hover{
	box-ewvwp-shadow:0px 5px 31px -1px rgba(0, 0, 0, 0.15);	
}

.easy-wp-voting-form {
    max-width: 360px;
    margin: 0 auto 100px;
    padding: 45px;
    text-align: center;
  }
  .easy-wp-voting-form .easy-wp-voting-form-input {
    font-family: "Roboto", sans-serif;
    outline: 0;
    background: #f2f2f2;
    width: 100%;
    border: 0;
    margin: 0 0 15px;
    padding: 15px;
    box-sizing: border-box;
    font-size: 14px;
}
  .easy-wp-voting-form button {
    font-family: "Roboto", sans-serif;
    text-transform: uppercase;
    outline: 0;
    background: #4CAF50;
    width: 100%;
    border: 0;
    padding: 15px;
    color: #FFFFFF;
    font-size: 14px;
    -webkit-transition: all 0.3 ease;
    transition: all 0.3 ease;
    cursor: pointer;
  }
  .form button:hover,.form button:active,.form button:focus {
    background: #43A047;
  }
/* Modern/mobile usability: make the Vote Now control visible on touch devices. */
@media (hover: none), (max-width: 768px) {
    .ewvwp_view_gallery { opacity: 1 !important; }
}

/* Ensure the voting form is visible when the card is flipped. */
.ewvwp-product .ewvwp-product-back .easy-wp-voting-form { position: relative; z-index: 20; }
.ewvwp-product .ewvwp-product-back button,
.ewvwp-product .ewvwp-product-back input[type=submit] { position: relative; z-index: 21; display: block; visibility: visible; opacity: 1; }

/* 3.0.3 voting UX */
.ewvwp_view_gallery{z-index:30;cursor:pointer;background:transparent}
.ewvwp-product-front{cursor:pointer}
.ewvwp-make3D.animate .ewvwp_view_gallery{opacity:1}
.ewvwp-flip-back{z-index:50;background:rgba(255,255,255,.9);border-radius:50%}
.ewvwp-current-category{font-weight:700;margin-bottom:10px;text-align:center}
.ewvwp-category-label{font-weight:600;margin-bottom:5px}
.ewvwp-category-label + select{margin-bottom:10px}


/* 3.1.9: keep hovered cards above neighbouring cards and prevent the hover panel being clipped. */
#ewvwp-grid { align-items: flex-start; }
#ewvwp-grid .ewvwp-product { position: relative; z-index: 1; overflow: visible; }
#ewvwp-grid .ewvwp-product:hover,
#ewvwp-grid .ewvwp-product:focus-within { z-index: 1000; }
#ewvwp-grid .ewvwp-make3D { overflow: visible; }
#ewvwp-grid .ewvwp-make3D.animate { z-index: 1001; }
#ewvwp-grid .ewvwp-stats-container { z-index: 5; box-sizing: border-box; }
#ewvwp-grid .ewvwp_product_name { display: block; float: none; margin: 0 0 6px; }
#ewvwp-grid .ewvwp-vote-count { display: block; float: none; margin: 0 0 8px; padding: 0; color: #393c45; font-size: 14px; }
#ewvwp-grid .ewvwp_product_price { float: none; display: block; font-size: 16px; color: #393c45; margin-bottom: 5px; }
.ewvwp-pagination { clear: both; width: 100%; margin: 28px 0; text-align: center; }
.ewvwp-pagination .page-numbers { list-style: none; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 8px; margin: 0; padding: 0; }
.ewvwp-pagination .page-numbers li { margin: 0; padding: 0; }
.ewvwp-pagination a, .ewvwp-pagination span.page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 40px; min-height: 40px; padding: 6px 12px; box-sizing: border-box; border: 1px solid #ddd; border-radius: 4px; text-decoration: none; line-height: 1.2; }
.ewvwp-pagination .page-numbers.current { background: #f1f1f1; font-weight: 700; }
.ewvwp-pagination .page-numbers.prev, .ewvwp-pagination .page-numbers.next { font-size: 20px; font-weight: 700; }
.tp-vote-container .ewvwp-vote-count { order: 2; font-size: 15px; font-weight: 600; padding-bottom: 6px; }
.tp-vote-container .ewvwp-contestant-name { font-weight: 700; }
@media (max-width: 640px) { .ewvwp-pagination a, .ewvwp-pagination span.page-numbers { min-width: 36px; min-height: 36px; } }

/* Version 3.2.0: contestant detail order and stronger vote count */
#ewvwp-grid .ewvwp-contestant-age { display:block; float:none; margin:0 0 8px; padding:0; font-size:15px; line-height:1.3; }
#ewvwp-grid .ewvwp-vote-count-prominent { display:inline-block; margin:0 0 12px; padding:5px 10px; border-radius:5px; background:#eef5ff; color:#174ea6; font-size:15px; font-weight:800; letter-spacing:.2px; line-height:1.3; }
#ewvwp-grid .ewvwp-vote-count-prominent strong, #ewvwp-grid .ewvwp-vote-count-prominent span { font-weight:900; }
#ewvwp-grid .ewvwp-contestant-details p { margin:0 0 3px; padding:0; line-height:1.25; }
#ewvwp-grid .ewvwp-detail-nickname { margin-top:4px !important; }
#ewvwp-grid .ewvwp-detail-state { margin-top:0 !important; }


/* 3.3.1: compact the voting form so the Vote Now panel is shorter. */
.easy-wp-voting-form {
    padding: 18px 20px !important;
    margin: 0 auto 18px !important;
}
.easy-wp-voting-form .easy-wp-voting-form-input {
    margin: 0 0 7px !important;
    padding: 10px 11px !important;
    line-height: 1.25 !important;
    min-height: 38px;
}
.easy-wp-voting-form .ewvwp-category-label + select { margin-bottom: 7px !important; }
.easy-wp-voting-form button[type=submit],
.easy-wp-voting-form input[type=submit] { padding: 11px 12px !important; }
#ewvwp-vote-success-modal { isolation: isolate; }
#ewvwp-vote-success-modal .ewvwp-success-details p { overflow-wrap: anywhere; }
@media (max-width: 480px) {
    #ewvwp-vote-success-modal { padding: 10px !important; }
    #ewvwp-vote-success-modal .ewvwp-success-card { padding: 17px !important; max-height: calc(100vh - 20px) !important; }
}

/* Version 3.3.2: raise the sliding contestant details panel slightly on hover. */
#ewvwp-grid .ewvwp-make3D.animate .ewvwp-stats-container { top: 245px; }


/* Version 3.3.3: raise contestant details panel and tighten vertical spacing. */
#ewvwp-grid .ewvwp-make3D.animate .ewvwp-stats-container { top: 225px; }
#ewvwp-grid .ewvwp_product_name { margin-bottom: 2px; line-height: 1.2; }
#ewvwp-grid .ewvwp-contestant-age { margin: 0 0 3px !important; padding: 0 !important; line-height: 1.2; }
#ewvwp-grid .ewvwp-vote-count-prominent { margin: 0 0 4px !important; padding: 4px 8px !important; line-height: 1.2; }
#ewvwp-grid .ewvwp-contestant-details { margin: 2px 0 4px !important; gap: 1px !important; }
#ewvwp-grid .ewvwp-contestant-details p { margin: 0 !important; padding: 0 !important; line-height: 1.2 !important; }
#ewvwp-grid .ewvwp-detail-nickname { margin-top: 1px !important; }
#ewvwp-grid .ewvwp-detail-state { margin-top: 0 !important; }
#ewvwp-grid .ewvwp-stats-container p { padding-top: 0 !important; padding-bottom: 0 !important; }
.tp-vote-container .ewvwp-contestant-name { margin-bottom: 2px; padding-bottom: 0; line-height: 1.2; }
.tp-vote-container .ewvwp-contestant-age { margin: 0 0 3px !important; padding-bottom: 0 !important; line-height: 1.2; }
.tp-vote-container .ewvwp-vote-count-prominent { margin: 0 0 4px !important; padding: 4px 8px !important; line-height: 1.2; }
.tp-vote-container .ewvwp-contestant-details { margin: 2px 0 4px !important; gap: 1px !important; }
.tp-vote-container .ewvwp-contestant-details span { margin: 0 !important; padding: 0 !important; line-height: 1.2 !important; }


/* Version 3.3.4: shrink the hover details panel to its content and remove excess blank space. */
#ewvwp-grid .ewvwp-make3D.animate .ewvwp-stats-container {
    height: auto !important;
    min-height: 0 !important;
    max-height: calc(100% - 225px) !important;
    box-sizing: border-box !important;
    padding: 12px 20px !important;
    overflow-y: auto !important;
}
#ewvwp-grid .ewvwp-make3D.animate .ewvwp-stats-container > *:last-child {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}
@media (max-width: 640px) {
    #ewvwp-grid .ewvwp-make3D.animate .ewvwp-stats-container {
        padding: 10px 16px !important;
        max-height: calc(100% - 225px) !important;
    }
}


/* Version 3.3.5: clearly distinguish fields in the Vote Now form. */
.easy-wp-voting-form .easy-wp-voting-form-input,
.easy-wp-voting-form input[type="text"],
.easy-wp-voting-form input[type="email"],
.easy-wp-voting-form input[type="number"],
.easy-wp-voting-form input[type="tel"],
.easy-wp-voting-form input[type="url"],
.easy-wp-voting-form select,
#ewvwp-vote-modal .easy-wp-voting-form-input,
#ewvwp-vote-modal input[type="text"],
#ewvwp-vote-modal input[type="email"],
#ewvwp-vote-modal input[type="number"],
#ewvwp-vote-modal select {
    border: 1px solid #b8c2cc !important;
    border-radius: 8px !important;
    background-color: #fff !important;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.04) !important;
    padding: 10px 12px !important;
    box-sizing: border-box !important;
}
.easy-wp-voting-form .easy-wp-voting-form-input:focus,
.easy-wp-voting-form input:focus,
.easy-wp-voting-form select:focus,
#ewvwp-vote-modal .easy-wp-voting-form-input:focus,
#ewvwp-vote-modal input:focus,
#ewvwp-vote-modal select:focus {
    border-color: #2563eb !important;
    outline: 2px solid rgba(37, 99, 235, 0.14) !important;
    outline-offset: 1px !important;
}
.easy-wp-voting-form input[readonly],
#ewvwp-vote-modal input[readonly] {
    background-color: #f3f4f6 !important;
    color: #374151 !important;
}
