html.guestLogin .disableOnGuest {
	display:none;
}

html .enableOnGuest {
	display:none;
}

html.guestLogin .enableOnGuest {
	display:block;
}

header .logoLine .sidelogo img {
    height: 40px;
	margin-top: 35px;
	margin-right: 30px;
	float: right;
}

#inShopLoginContainer {
	display: none;
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: 999999999;
	text-align: center;
	background-color: rgba(0,0,0,0.2);
}

#inShopLoginContainer .innerWrap {
    max-width: 420px;
	width: 100vw;
    background-color: #fff;
    padding: 40px;
    position: absolute;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    top: 50%;
}

#mainHeadBG {
    background-image: url(wp-content/themes/conextrabootstrap/img/fanshop_test.jpg);
    padding-top: 38%;
    background-size: cover;
    background-position: center;
}

#checkout,
#welcome {
    width: calc(100% - 40px);
    background-color: #FFFFFF;
	border-radius: 0px;
    padding: 20px;
    position: relative;
}

#checkout .container > .left {
    float: left;
    width: calc(100% - 400px);
    margin-right: 50px;
}

#checkout .container > .right {
    float: left;
    width: 350px;
}

#checkout .container > .left > h1 {
    border-bottom: 1px solid #2f9f48;
    line-height: 40px;
    margin-bottom: 30px;
    margin-top: 25px;
}

#checkout .container > .right > .rightSideStickyScroll > h2 {
    border-bottom: 1px solid #2f9f48;
    line-height: 30px;
    margin-top: 25px;
    margin-bottom: 30px;
    font-weight: normal;
    padding-top: 10px;
}

#checkout .container > .right > .rightSideStickyScroll.sticky {
    position: fixed;
    top:0;
}

#checkout .container > .right > .rightSideStickyScroll.sticky > h2 {
    margin-top:0;
}

#checkoutFormsWrap .formWrap {
	display: none;
	margin-top: 30px;
}

#checkoutFormsWrap .formTrigger {
    padding: 7px;
    background-color: #272727;
    color: #fff;
    cursor: not-allowed;
	display: none;
}

#checkoutFormsWrap .active .formTrigger,
#checkoutFormsWrap .finished .formTrigger,
#checkoutFormsWrap .accessable .formTrigger {
    cursor:pointer;
}

#checkoutFormsWrap > div {
	margin-bottom: 10px;
}

#checkoutFormsWrap .formTrigger span.cnt {
	display:inline-block;
	width: 25px;
	line-height: 25px;
	color: #272727;
	background-color: #ffffff;
	margin-right: 15px;
	border-radius: 50%;
	text-align: center;
	font-size: 16px;
}

#progressDisplay {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
	gap: 32px;
	margin-bottom: 30px;
	margin-top: 30px;
	padding-right: 26px;
}

#progressDisplay .progressViewer {
	color: #fff;
	font-size: 16px;
	padding: 15px;
	line-height: 25px;
	position: relative;
	text-align: left;
	border: none;
}

#progressDisplay .progressViewer:focus-visible::before {
	background-color: black !important;
}

#progressDisplay .progressViewer::before {
	content: '';
	position: absolute;
	left: -28px;
	top: -2px;
	background-color: #c8c8c8;
	width: calc(100% + 54px);
	height: calc(100% + 4px);
	display: block;
	clip-path: polygon(0% 0%, calc(100% - 26px) 0%, 100% 50%, calc(100% - 26px) 100%, 0% 100%, 26px 50%, 0% 0%);
}

#progressDisplay .progressViewer::after {
	content: '';
	display: block;
	position: absolute;
	background-color: #c8c8c8;
	left: -24px;
	top: 0;
	width: calc(100% + 48px);
	height: 100%;
	clip-path: polygon(0% 0%, calc(100% - 24px) 0%, 100% 50%, calc(100% - 24px) 100%, 0% 100%, 24px 50%, 0% 0%);
}

#progressDisplay .progressViewer:first-child::before {
	left: -2px;
	width: calc(100% + 26px);
	clip-path: polygon(0% 0%, calc(100% - 26px) 0%, 100% 50%, calc(100% - 26px) 100%, 0% 100%, 0% 0%);
}

#progressDisplay .progressViewer span {
	position: relative;
	z-index: 1;
}

#progressDisplay .progressViewer:first-child::after {
	left: 0;
	width: calc(100% + 21px);
	clip-path: polygon(0% 0%, calc(100% - 24px) 0%, 100% 50%, calc(100% - 24px) 100%, 0% 100%, 0% 0%);
}

#progressDisplay .progressViewer.active {
	color: #2f9f48;
	cursor: pointer;
}

#progressDisplay .progressViewer.done {
	cursor: pointer;
}

#progressDisplay .progressViewer.active::before {
	background-color: #2f9f48;
}

#progressDisplay .progressViewer.active::after {
	background-color: #fff;
}

#progressDisplay .progressViewer.done::before,
#progressDisplay .progressViewer.done::after {
	background-color: #2f9f48;
}

#progressDisplay .progressViewer .checkmark {
	float: right;
	display:none;
}

#progressDisplay .progressViewer.done .checkmark {
	display:block;
}

#checkoutFormsWrap .active .formTrigger {
    background-color: #2f9f48;
	display: none;
}

#checkoutFormsWrap .active .formWrap {
    display: block;
}

#checkoutFormsWrap .formWrap h2 {
	font-size: 16px;
	color: #2f9f48;
	margin-top:0;
	font-weight: 400;
}

#checkout .container > .left .left {
    float: left;
    width: calc(50% - 20px);
    margin-right: 40px;
}

#checkout .container > .left .right {
    float: left;
    width: calc(50% - 20px);
}

#checkout .checkoutAction.red,
#welcome .welcomeAction.red {
    /*background-color: #2f9f48;*/
}

#checkout input,
#checkout select,
#welcome input,
#welcome select,
#inShopLoginContainer input {
    width: 100%;
    padding: 10px;
    border: 1px solid #ced4da;
    margin-bottom: 10px;
    color: #212529;
    border-radius: 3px;
    line-height: 20px;
	padding-right: 35px;
}

#checkout select {
	height: 42px;
}

#checkout input:-webkit-autofill,
#welcome input:-webkit-autofill,
#inShopLoginContainer input:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 30px white inset;
}

#checkout #doLoginButton,
#inShopLoginContainer #doLoginButton2,
#forgotPwdDiv2 #getNewPwdButton2,
#loginViaSSO,
#inShopLoginContainer #doRegButton {
	color: #fff;
	border: 2px solid #2f9f48;
	padding: 7px 15px;
	font-size: 14px;
	border-radius: 3px;
	cursor: pointer;
	margin-top: 20px;
	background-color: #2f9f48;
	display: block;
	transition: all 0.3s;
	width: 100%;
}

#checkout button#doLoginButton,
#inShopLoginContainer button#doLoginButton2,
#forgotPwdDiv2 button#getNewPwdButton2,
button#loginViaSSO,
#inShopLoginContainer button#doRegButton {
	padding: 10px 0;
}



#inShopLoginContainer #doLoginButton2:hover ,
#loginViaSSO:hover,
#forgotPwdDiv2 #getNewPwdButton2:hover,
#inShopLoginContainer #doRegButton:hover {
	background-color: #2f9f48;
	color: #fff;
	box-shadow: 0 5px 8px rgba(0, 0, 0, 0.2);
	opacity: .95;
	transform: translateY(-3px);
}

#inShopLoginContainer #doRegButton {
	margin-top: 10px;
}

#loginViaSSO {
	color: #2f9f48;
	background-color: #fff;
}

#inShopLoginContainer #doRegButton {
	color: #404040;
	border: 2px solid #404040;
	background-color: #fff;
}

#inShopLoginContainer #doRegButton:hover {
	background-color: #404040;
	color: #fff;
}

#inShopLoginContainer .orSplitter {
	margin-top: 20px;
	position: relative;
}

#inShopLoginContainer .orSplitter:before {
	width: 100%;
	content: '';
	display: block;
	top: 12px;
	height: 1px;
	background-color: #404040;
	left: 0;
	position: absolute;
	z-index: 1;
}

#inShopLoginContainer .orSplitter span {
	content: '';
	top: 0px;
	background-color: #fff;
	left: 0;
	position: relative;
	z-index: 1;
	padding: 10px;
}

#checkout #loginForm .inputOverlay,
#inShopLoginContainer .inputOverlay {
	color: #2f9f48;
	border-right: 1px solid rgb(255,255,255);
	background-color: rgb(255,255,255);
	width: 35px;
	position: absolute;
	font-size: 20px;
	text-align: center;
	height: 40px;
	margin-top: 1px;
	margin-left: 1px;
	line-height: 40px;
	border-radius: 0px 0px 0px 0px;
	z-index: 1;
}

#loginForm2 {
	display: flex;
    flex-direction: column;
}

.password_input_wrapper {
	position: relative;
	margin-bottom: 10px;
}

.password_input_wrapper input {
	margin-bottom: 0 !important;
}

.password_input_wrapper>button{
	position: absolute;
	right: 0;
	top: 0;
	border: none;
	height: 100%;
	background-color: transparent;
}


#checkout #loginForm #triggerGetNewPwd,
#inShopLoginContainer #triggerGetNewPwd2 {
	margin-top: 10px;
}

#inShopLoginContainer #triggerGetNewPwd2 {
    text-align: left;
    border: none;
    background-color: transparent;
    padding: 0;
    color: unset;
    margin: 5px 0;
    margin-top: 10px;
}

#checkout .formfield,
#welcome .formfield {
	width: calc(100% - 30px);
	clear: both;
	position: relative;
}

#nlAccForm {
	clear: both;
	position: relative;
}

#nlAccForm .formfield {
	clear: both;
	position: relative;
}

#checkout .formfield.half,
#welcome .formfield.half {
	float: left;
	margin-right: 30px;
	width: calc(50% - 30px);
	clear: none;
}

#checkout label.error,
#welcome label.error {
    position: absolute;
	width: auto;
	left: 0;
	bottom: 4px;
	margin: 0;
	font-weight: normal;
	font-size: 12px;
	color: #2f9f48;
	background-color: #fff;
	max-width: 100%;
}

#checkout .checkboxWrap label.error,
#welcome .checkboxWrap label.error {
    display:none!important;
}

#checkout .checkboxWrap input.error,
#welcome .checkboxWrap input.error {
    outline: 1px solid #2f9f48;
}

#checkout .formInnerWrap,
#welcome .formInnerWrap {
	margin-bottom: 20px;
}

#checkout input[type="checkbox"],
#checkout input[type="radio"],
#welcome input[type="checkbox"],
#welcome input[type="radio"],
#nlAccForm input[type="checkbox"] {
	margin-right: 20px;
	float: left;
	width: unset;
}

#checkout .checkboxtext,
#checkout .radiotxt,
#welcome .checkboxtext,
#welcome .radiotxt,
#nlAccForm .checkboxtext,
#nlAccForm .radiotxt {
	float: left;
	width: calc(100% - 50px);
	padding-top: 2px;
}

#checkout #doubleOptInConfirmWrap,
#welcome #doubleOptInConfirmWrap,
#registration #doubleOptInConfirmWrap {
	display:none;
	padding-top: 30px;
}

#checkout #userRegForm.done #doubleOptInConfirmWrap,
#welcome #userCompForm.done #doubleOptInConfirmWrap,
#registration #userRegForm.done #doubleOptInConfirmWrap {
	display: block;
}

#checkout #userRegForm.done .formOuterWrap,
#welcome #userCompForm.done .formOuterWrap,
#registration #userRegForm.done .formOuterWrap {
	opacity: 0.2;
	position: relative;
}

#checkout #userRegForm.done .formOuterWrap::after,
#welcome #userCompForm.done .formOuterWrap::after,
#registration #userRegForm.done .formOuterWrap::after {
	content: "";
	display:block;
	width: 100%;
	height: 100%;
	left:0;
	top:0;
	position: absolute;
}

#checkout span.req,
#welcome span.req {
	display: inline-block;
	color: #2f9f48;
	font-weight: bold;
	margin-left: 2px;
}

#checkout input[type="radio"],
#welcome input[type="radio"] {
	position: static;
	margin-left: 0px;
	margin-right: 10px;
	margin-bottom: 0px;
}

#checkout #userBillAddrForm .radios {
	margin-top: 20px;
	margin-bottom: 30px;
	font-weight: bold;
}


#checkout #userBillAddrForm .radios legend {
	font-size: 1.2rem;
    font-weight: 400;
    margin: 0;
}

#checkout #userBillAddrForm .radios input {
	margin: 0;
	margin-right: 1rem;
}


#checkout #userBillAddrForm .radios label {
	padding: 0;
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
}


#checkout .container > .left .shipperWrap {
    margin-bottom: 30px;
}

#checkout.shipperWrap .left {
    width: 200px;
}

#checkout.shipperWrap .right img {
    width: 70px;
    height: auto;
}

#checkout #shippingTable th,
#checkout #shippingTable td {
    padding: 2px 15px 2px 0px;
    vertical-align: top;
}

#checkout #shippingTable {
    width: 100%;
    margin-bottom: 30px;
}

#checkout #shippingTableMobile {
	display:none;
}

#checkout #orderTable {
	width: 100%;
	margin-bottom: 30px;
	border: 0;
	border-collapse: collapse;
	border-spacing: 0;
}

#checkout #orderTable th {
	text-align: center;
}

#checkout #orderTable thead > tr:first-child th:first-child {
	text-align: left;
}

#checkout #orderTable thead > tr:last-child th {
	font-weight: normal;
}

#checkout #orderTable th,
#checkout #orderTable td {
	vertical-align: top;
	border: 1px solid #f0f0f0;
	padding: 5px;
}

#checkout #orderTable tbody {
	border-top: 2px solid #ccc;
}

#checkout #orderTable tbody .overalls td:first-child {
	text-align: right;
}

#checkout #orderTable tbody .overalls:last-child td {
	font-weight: bold;
}

#checkout #userRegForm .checkboxtext a {
	color: #2f9f48;
}

#thepayiframe {
	border: none;
	margin:0;
	padding:0;
	width: 100%;
	height: auto;
	min-height: 400px;
	overflow: hidden;
}

#basketPayButton.disabled,
#checkout .checkoutAction.disabled {
	background-color: #A6A6A6;
	cursor: not-allowed;
}

#voucherNumbers .voucherInputs input,
#discountOuterWrap .discountInput input {
	width: calc(100% - 110px);
}

#voucherNumbers .voucherInputs .checkVoucher,
#discountOuterWrap .discountInput .checkVoucher {
	display: inline-block;
    background-color: #272727;
    color: #fff;
    cursor: pointer;
    width: 100px;
    text-align: center;
    line-height: 23px;
    margin-left: 10px;
    outline: none;
    border: none;
    border-radius: 0;
}

#voucherNumbers .voucherInputs .checkVoucher:focus-visible,
#discountOuterWrap .discountInput .checkVoucher:focus-visible {
	outline: 2px solid #2f9f48;
}



#voucherNumbers .voucherInputs .checkVoucher.done,
#discountOuterWrap .discountInput .checkVoucher.done {
	background-color: #A6A6A6;
}

#voucherNumbers .voucherWrap,
#discountOuterWrap .discountInnerWrap {
	position:relative
}

#voucherNumbers .voucherWrap .voucherInfos span,
#discountOuterWrap .discountInnerWrap .voucherInfos span {
    color: green;
    font-weight: bold;
    position: absolute;
    background-color: #fff;
    bottom: 1px;
    border: 1px solid;
    padding: 2px;
}

#forgotPwdDiv2 .wrapper {
    position: absolute;
    width: 400px;
    left: 50%;
    margin-left: -200px;
    background-color: #FFFFFF;
    border: 1px solid #666666;
    padding: 30px;
    top: 50%;
    margin-top: -125px;
}

#welcome > .outerFormWrap {
	width: 70%;
}

.loggedOn header .welcome .first .headButtons.enableOnGuest  {
	display:none;
}

.loggedOn.guestLogin header .welcome .first .headButtons.enableOnGuest  {
	display:inline-block;
}

#prodConfigurator {
    background-color: #E1E1E1;
    color: inherit;
}

#prodConfigurator select {
    color: #fff;
}

.formfield .specialphone .areacode,
.field .specialphone .areacode {
	width: 110px;
	float: left;
	margin-right: 10px;
}

.formfield .specialphone .phonenum,
.field .specialphone .phonenum {
  	float: left;
  	width: calc(100% - 120px);
}

button.regAction {
	margin-top: 30px;
	transition: all 0.3s;
}

button.regAction:hover {
	background-color: #2f9f48;
	color: #fff;
	box-shadow: 0 5px 8px rgba(0, 0, 0, 0.2);
	opacity: .95;
	transform: translateY(-3px);
}

@media (max-width: 992px) {
	header .logoLine .sidelogo img {
	    position: absolute;
	    width: 65px;
	    height: auto;
	    left: 10px;
	    top: 20px;
	    z-index: 99;
	}
	
	#checkout, 
	#welcome {
	    width: 100%;
	}
	
	#checkout .container > .right {
		display:none;	
	}
	
	#checkout .container > .left {
	    width: 100%;
	}
}

@media (max-width: 600px) {
	#checkout .formfield,
	#welcome .formfield {
	    width: 100%;
	}

	#checkout .formfield.half, 
	#welcome .formfield.half {
	    width: 100%;
	}
	
	#checkout #shippingTable {
		display:none;
	}

	#checkout #shippingTableMobile {
		display:block;
	}
	
	#orderInformationWrap {
	    overflow: auto;
	    margin-bottom: 20px;
	}
	
	#checkout#checkoutFormUser .left {
	    width: 100%;
	    margin-right: 0px;
	    margin-bottom: 30px;
	}
	
	#checkout#checkoutFormUser .right {
	    width: 100%;
	    margin-right: 0px;
	}
}

@media (max-width: 380px) {
	.loggedOn header .welcome .first .headButtons {
	    margin-left: 5px;
	    margin-right: 5px;
	}
}