/* RESELLER / CSS */

@import url('https://fonts.googleapis.com/css?family=Lato:400,700&display=swap');

body {
	font-family: 'Source Sans Pro', sans-serif;
    font-weight: 400;
	background: #f7f7f9;
}

h1, h2, h3, h4 {
	margin-bottom: -15px;
    font-weight: 400;
	line-height: 1.2em;
}
h1 {
	font-size: 2.2em;
}
h2 {
    font-size: 2.3em;
	margin-bottom: -15px;
}
h3 {
	font-size: 1.3em;
	margin-bottom: -5px
}
h4 {
    font-size: 38px;
}
p {
    font-size: .97em;
    line-height: 1.2em;
}


.row {
	box-sizing: border-box;
	display:block;
	width:100%;
	padding-left: 3%;
	padding-right: 3%;
}
.masthead {
    float: left;
	display:block;
	box-sizing: border-box;
	padding: 12px;
    background-color: #424242;
    border: none;
	margin-bottom: 0;
	width: 100%;
}
.logo {
	float: left;
	display: block;
    padding: .6% 1% .2%;
    width: 160px;
}
	.logo img {
		width: 100%;
		height: auto;
	}

.wrapNav {
	float: left;
}

.topbar{
	display:block;
	padding: 12px 2% 13px;
	background-color: #ec0085;
	color:#fff;
	font-weight: 600;
}

.topbar a,
.topbar a:link{
	color: #fff;
}

.layout{
	margin: 0 -4px;
	width: auto;
}

.lhscolumn,
.rhscolumn{
	box-sizing: border-box;
	padding: 1% 4px 5%;
	float:left;
	width:100%;
}
@media screen and (max-width: 1023px) {
}
@media screen and (min-width: 1024px) {

	
	.lhscolumn{
		float:left;
		width:60%;
		height:100%;
	}
	.rhscolumn{
		float:right;
		width:40%;
	}
}

.wrapTemplate {
	box-sizing: border-box;
	display: block;
	width: 100%;
	clear:both;
}

#templates > .wrapTemplate ,
#result > .wrapTemplate {
	padding: 6px 20px 8px;
	margin: 0 auto;
}

h2 a {
	color: #000000;
}
.wrapTemplateDescription {
	margin-bottom: 12px;
}
.wrapTemplateLink {
	text-align:right;
}

.wrapTemplateLink a {
	color: #000000;
}

.wrapDesignCanvas{
	display:block;
	position: relative;
	width: 90%;
	background: transparent !important;
	margin: 0 auto;
    padding-top: 130%;
}

.wrapDesignCanvas canvas{
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	right: 0;
}

/** Form */	

.form-input {
	display: block;
    clear: both;
    float: left;
    width: 100%;
}
.form-thankyou {
	display: none;
}
.form-group{
	box-sizing: border-box;
	float: left;
	position: relative;
	width: 100%;
	box-sizing: border-box;
	margin-top: 6%;
}

.form-group label {
	display: block;
	font-size: 120%;
	margin-bottom: 2%;
}
@media screen  and (min-width: 768px) {
	.form-group{
		padding-left: 260px;
		margin-top: 2%;
	}
	.form-group:after {
		content: "";
		display: table;
		clear: both;
	}

	.form-group label{
		position: absolute;
		top:13px;
		left:0;
		width: 240px;
		float: left;
	}
}
.form-group input,
.form-group select{
	border: 1px solid #c0c0c0;
	width: 100%;
	padding: 12px 3%;
}
.form-group input{
	width: 94%;
}
.form-group select{
	width: 100%;
}
.form-group .submit ,
input[type=submit] ,
.btn {
	float: right;
	width: auto;
	background-color: #ec0085;
	color: #fff;
	font-weight: 600;
	border: 0;
	padding-left: 14px;
	padding-right: 14px;
	text-transform: uppercase;
}

#formWarnings {
	
}
#formWarnings ul {
	background: #fffde8;
	border: 2px solid #ffe600;
	padding-top: 6px;
	padding-bottom: 6px;
}

/** pricebox */	
.priceblock table{
	width: 100%;
	border-top: 1px solid #000;
}

/** 3d rendering area */	
#DesignCanvas {
    	width   : 100%;
    	height  : 100%;
    	touch-action: none;
}

#templates ,
#result {
	box-sizing: border-box;
}
#templates img ,
#result img{
	margin: 12px;
    width: 100%;
	
}
.card-list {
	box-sizing: border-box;
	
    display: -webkit-flex;
    display: -ms-flexbox;
	display: flex;
	
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.card {
	box-sizing: border-box;
	width: 100%;
	padding-top: 12px;
}
.card > div {
	
    display: -webkit-flex;
    display: -ms-flexbox;
	display: flex;

	flex-direction: column;
	align-items: stretch;
	justify-content: space-between;
	flex-wrap: nowrap;
    height: 100%;
}
.card > div > div {
    width: 100%;
}
@media screen and (max-width: 767px) {
	.card {
		margin: 0 auto;
	}
}
@media screen and (min-width: 768px) {
	.card-list {
		margin: 0 -4px;
		width: auto;
	}
	.card {
		float: left;
		position: relative;
		display: block;
		width: auto;
		padding: 1% 4px 5%;
	}
}
@media screen and (min-width: 480px) and (max-width: 767px) {
	.card { width: 50%; padding: 0 4px; }
}
@media screen and (min-width: 768px) and (max-width: 793px) {
	.card { width: 33.333%; }
}
@media screen and (min-width: 794px) and (max-width: 1023px) {
	.card { width: 25%; }
}
@media screen and (min-width: 1024px) {
	.card { width: 20%; }
}

.card-img {
	text-align: center;
}
@media screen and (min-width: 768px) {
	.card-img {
	}
	.card-img > img {
		width: 100%;
		height: auto;
		margin: 0 !important;
		padding: 0;
	}

	.card-footer  {
		align-self: flex-end;
	}
	.card-footer > div {
		/* position: absolute;
		bottom: 0;
		left: 0;
		right: 0; */
	}
}

.btn {
	box-sizing: border-box;
	display: block;
	padding: 3% 10px;
	background: #424242; 
	color: #fff;
	font-size: 1.2em;
	text-decoration: none;
	text-transform: uppercase;
	text-align: center;
	width: 100%;
}
.btn:hover {
	background: #62656c;
}

.card-body {
	text-align: center;
}

.wrapGroup {
	box-sizing: border-box;
	width: 100%;
	padding: 1% 0;
	border-bottom: 1px solid #000;
}
.wrapGroup h2 {
	box-sizing: border-box;
	width: 100%;
    padding: 0;
	margin: 0;
}
.wrapGroup p {
    box-sizing: border-box;
    width: 100%;
    padding: 0;
    margin-top: 5px;
    margin-bottom: 6px;
}
@media screen and (max-width: 1024px) {
	#templates .wrapGroup {
		display: flex;
		align-items: flex-end;
	}
	#templates .wrapGroup h2 {
		width: 40%;
	}
	#templates .wrapGroup p {
		width: 60%;
	}
}