:root
{
    --gold: #886f46;
    --palegold: #dbd4c8;
    --black: #000000;
    --white: #ffffff;
    --bluegrey: #476f8c;
    --palebluegrey: #b5c5d1;
}

* { background-repeat: no-repeat; background-position: center center; box-sizing: border-box; }
body {margin: 0px;padding: 0px;width: 100%;height: auto;background-color: var(--white); color: var(--black);font-family: objektiv-mk1, sans-serif;font-weight: 400;font-style: normal;font-size: 100%;line-height: 2;text-rendering: optimizeLegibility;-webkit-font-smoothing: antialiased;}
a { color: var(--black); text-decoration: none; font-weight: normal; }
a.button:hover, button:hover, input[type=submit]:hover, input[type=button]:hover {background-color: var(--black); color: var(--white)!important;}
ul, ol { padding: 0px; margin: 0px; }
li {list-style-type: none;vertical-align: top;}
h1, h2, h3, h4, h5, h6 {margin-top: 20px;font-size: 100%;font-weight: normal; color: var(--black);}
fieldset { padding: 0px; margin: 0px; border: none; }
img {max-width: 100%;height: auto;}
input, textarea, select { font-size: 90%; background: transparent; border: solid var(--black) 1px; padding: 5px; color: var(--black); box-sizing: border-box; font-family: objectiv-mk1, sans-serif; font-weight: 400; font-style: normal;}
textarea {width: 100%; font-family: objektiv-mk1, sans-serif; font-weight: 400; font-style: normal;}
input[type=text], input[type=password]  { height: 30px; width: 100%; font-family: objektiv-mk1, sans-serif; font-weight: 400; font-style: normal;}
select { height: 30px; padding-right: 30px; background-image: none; background-repeat: no-repeat; background-position: right 10px center; }
p {padding: 0px 0px 20px 0px;margin: 0px;}
strong { font-weight: normal; font-family: objektiv-mk1, sans-serif; font-weight: 700; font-style: normal; }
td, th { padding: 0px; text-align: left; vertical-align: top; }
figcaption {background-color: var(--palebluegrey); padding: 20px; max-width: 300px; margin: auto; font-style: italic; font-size: 80%;}
.hidden {display: none;}
.spacer { clear: both; height: 0px; }
.titletxt {font-family: objektiv-mk1, sans-serif;font-style: normal;font-weight: 700;}
table { border-spacing: 0px; }
td, th { padding: 0px; }

.layoutoverlay { background: #000000dd; position: absolute; z-index: 10; }

.layoutmiddle {max-width: 1250px; margin: auto;}
.page_standarda, .shop_category, .std_newsarticlea, .shop_product, .shop_basketpage {padding: 0px 0px 50px 0px;}
.pagetitle.title, .shop_category h1, .std_newsarticlea .headline, .shop_product .name, .shop_basketpage .titletxt { color: var(--gold); font-weight: 700; font-size: 200%; border-bottom: 2px solid var(--palebluegrey); margin-bottom: 20px;}
.pagecontent.content li {list-style-type: disc; list-style-position: inside; padding-bottom: 10px;}
.pagecontent.content a, .std_newsarticlea a {text-decoration: underline;}
.pagecontent.content a:hover, .std_newsarticlea a:hover {color: var(--gold);}
.pagecontent h2 {font-size: 120%;}

@media (max-width: 1299px) {
    .page_standarda, .shop_category, .shop_product, .shop_basketpage {padding: 0px 15px;}
}

@media (max-width: 599px) {

    .homemaintext {text-align: center;}
    p {margin-bottom: 20px; text-align:center}
    h1, h2 {text-align: center;}
}




/*buttons*/
a.button, button, input[type=submit], input[type=button] {max-width: 500px; margin: 10px 0px 20px 0px; background-color: var(--palebluegrey);padding: 10px 20px;border-radius: 30px;cursor: pointer;border: 0;font-family: objektiv-mk1, sans-serif;font-weight: 400;font-style: normal;font-size: 100%;text-decoration: none!important;}
.addtobasket input[type="submit"], .outofstock a , .pagecontent .button, .shop_basket .checkout, .shop_basket .updatebasket, .shop_basket .discount button[type="submit"],  .shop_basket .continueshopping, .commissions .button {/* background-color: var(--bluegrey); *//* color: white; *//* box-shadow: 5px 3px 5px 3px grey; */margin: 0px auto;}
input[type="submit"]:hover, .outofstock a:hover, .discount button[type="submit"]:hover, .commissions .button:hover  {background-color: var(--gold);}

/* Header */
.layoutheader {max-width: 1240px; margin: auto; position: relative;}
.layoutheader .headertitle h2 {font-size: 175%; margin-bottom: 0px;}
.layoutheader .headertitle .content {font-size: 110%; margin-bottom: 20px;}
.layouttopmenu {background-color: var(--bluegrey); text-align: center; height: 100px;}
.layouttopmenu .nav_multilevel li {text-transform: uppercase; font-size: 120%;}
.layouttopmenu .nav_multilevel li a:hover {color: var(--palebluegrey);}
.layouttopmenu .nav_multilevel .level2 li {display: none;}
.layouttopmenu .nav_multilevel li a {color: var(--white);}
.layoutheader .headercontact .basketicon .fas { font-size: 190%; color: var(--bluegrey);}
.layoutheader .headercontact p { padding: 0px !important; }
.layoutheader .headercontact p:first-child { text-align: right; margin-top: 20px;}

@media (min-width: 1300px) {
    .layoutheader .headerlogo {position: absolute; left: 0px; top: 25px;}
    .layoutheader .headertitle {  position: absolute; left: 120px; top: 50%; -ms-transform: translateY(-50%); transform: translateY(-50%);}
    .layoutheader .headercontact {position: absolute; right: 0px; top: 0px;}
}

@media (min-width: 1031px) and (max-width: 1299px) {
    .layoutheader .headerlogo {position: absolute; left: 20px; top: 25px;}
    .layoutheader .headertitle {  position: absolute; left: 140px; top: 50%; -ms-transform: translateY(-50%); transform: translateY(-50%);}
    .layoutheader .headercontact {position: absolute; right: 20px; top: 0px;}
}

@media (min-width: 1031px) {
    .layoutheader {height: 150px;}
    .layoutheader .headertitle p {padding-bottom: 0px;}
    .layoutheader .headercontact {/* line-height: 150px; */font-size: 120%;}
    .layouttopmenu .toggle, .layouttopmenu .titletxt {display: none;}  
    .layouttopmenu .nav_multilevel li {display: inline-block; margin-right: 30px; line-height: 100px;}
}

@media (max-width: 1030px) {
    .layoutheader {padding: 15px 0px;}
    .layoutheader .headerlogo, .layoutheader .headertitle, .layoutheader .headercontact {text-align: center;}
    .layouttopmenu .toggle {cursor: pointer; position: relative; top: 20px;}
    .layouttopmenu .toggle svg path {fill: var(--white);}
    .layouttopmenu .toggleoff ul {display: none;}
    .layouttopmenu .nav_multilevel .titletxt {color: var(--white); text-transform: uppercase; position: relative; top: 5px;}
    .layouttopmenu .toggleon ul{display:block; position: absolute; top: 366px; left: 0px; width: 100%; background-color: var(--bluegrey); z-index: 50;}
    .layouttopmenu .nav_multilevel li a:hover {color: var(--palebluegrey);}
    .layoutheader .headercontact p:first-child {text-align: center;}
}

/* Home */

.home h2 {font-weight: 700; font-size: 200%;color:var(--gold)}
.home h3 {font-weight: 700; font-size: 150%;color:var(--gold)}

.home .homecarousel {clear: both; padding-bottom: 40px;}
.home .homecarousel ul {width: 20000em; position: relative;}
.home .homecarousel {overflow: hidden; position: relative;}
.home .homenewslist {background-color: var(--palebluegrey); padding: 20px; box-sizing: border-box; border-radius: 16px;}
.home .homenewslist .article {border:solid 2px var(--gold); margin-bottom: 20px; padding: 15px; border-radius: 16px;}
.home .homenewslist .titletxt {color: #000000; text-align: center; font-size: 140%; border-bottom: 2px solid var(--bluegrey); margin-bottom: 20px;}
.home .homenewslist .image {text-align: center;}
.home .homenewslist .created {font-weight: 700;}
.home .homenewslist .link {padding-bottom: 20px;}
.home .homenewslist .link a {text-decoration: underline;}
.home .homenewslist .link a:hover {color: var(--gold);}
.home .homecarousel ul li {float: left; width: 310px!important; height: 300px; margin:5px; background-size: cover; background-position: center center;}

@media (max-width: 1299px) {
    .home .homenewslist {margin-bottom: 40px;}

}

@media (min-width: 1030px) {
    .home .homemaintext {width: 70%; float: left; padding-right: 50px; box-sizing: border-box;}
    .home .homenewslist {width: 30%;float: left;}
}

@media (max-width: 599px) {

    .home .homecarousel ul li {float: left; width:200px; height: 260px;background-size: cover; background-position: center center;}


}

/* About page */
.aboutpage img {margin-right: 30px; margin-bottom: 30px;}
.aboutpage .content {margin: 30px}

/* News page */

.newspage .newspagelist .list {  flex-wrap: wrap; justify-content: center; gap: 25px; margin-bottom: 40px; }
.newspage .newspagelist .article { background-color: #e6e6e6;  padding: 20px;  box-sizing: border-box; text-align: center; }
.newspage .newspagelist .article .headline a{font-family: objektiv-mk1, sans-serif; font-weight: 700; }
.newspage .newspagelist .article .headline a:hover {text-decoration: underline;}
.newspage .newspagelist .article .link a:hover {text-decoration: underline;}
.newspage .newspagelist .article img {min-width: 100px; }

.std_newsarticlea .created.datetime {font-family: objektiv-mk1, sans-serif; font-style: normal; font-weight: 700; padding-bottom: 15px;}
.std_newsarticlea .image {float: left; margin-right: 15px; margin-bottom: 15px;}
.std_newsarticlea .abstract {display:none;}


@media (max-width:599px) {

    .std_newsarticlea .created.datetime {text-align:center; font-family: objektiv-mk1, sans-serif; font-style: normal; font-weight: 700; padding-bottom: 15px;}
    .std_newsarticlea .image {margin: 10px; float: none; text-align: center; }
    .std_newsarticlea p {margin: 10px}

}
/* Gallery page */

.shop_category .description { font-size:110%; text-align: center; padding: 50px; max-width: 900px; margin: 0px auto}
.shop_category ul.subcategories {display: flex; flex-wrap: wrap; flex-direction: row; justify-content: space-around;}
.shop_category .subcategories li {width: 300px; text-align: center; margin: 20px;}
.shop_category .subcategories li img {border: 2px solid var(--bluegrey); border-radius: 16px;}
.shop_category .subcategories li .name a {font-family: objektiv-mk1, sans-serif; font-weight: 700; font-style: normal;}

@media (max-width:599px) {

    .shop_category .description {padding:10px}

}


.shop_productlist ul { display: flex; flex-wrap: wrap; flex-direction: row; justify-content: space-around; margin-top: 40px; }
.shop_productlist li { width: 300px; background-color: var(--palebluegrey); margin-bottom: 40px; padding: 15px; border-radius: 16px; }
.shop_productlist li .image {text-align: center;}
.shop_productlist li img {height: 200px; width: auto; border-radius: 16px;}
.shop_productlist li .name a {font-family: objektiv-mk1, sans-serif; font-weight: 700; font-style: normal;}


/* Personalisation page - monograms */

.monogram1 { display:inline-block; width: 49%; vertical-align: top; text-align: right; }
.monogram2 { display:inline-block; width: 49%; vertical-align: top; text-align: left; }

@media( max-width: 599px )
{
    .monogram1, .monogram2 { display:block; width: 100%; }
}

/* Commissions Page*/

.commissions {margin-bottom: 70px;}
.commissions ul {padding-bottom:40px;}
.commissions p {padding: 0px}
.commissions .button {display:block; margin-bottom: 20px;}

@media (max-width:599px) {

    .commissions .pagecontent_inner li {margin-bottom: 20px;}

}


/* Ring boxes flip gallery */
.ringgallery {width: 100%;padding: 0px 20px 0px 20px;}
.ringgallery ul {display: flex;flex-wrap: wrap;flex-direction: row;justify-content: space-evenly;}

.util_imgslide li {margin: 10px 5px 10px 5px;list-style-type: none;}
.util_imgslide li a {left: 0px;}
.util_imgslide li .caption { text-align: center; height: 300px; line-height: 300px; padding: 0px 20px; }
.util_imgslide li .caption span {display: inline-block;vertical-align: middle;line-height: normal;text-align: center;  transition: opacity .6s; opacity:0;}
 
.util_imgslide .flip { cursor: pointer; width:300px;height:300px; -webkit-perspective: 900px; perspective: 900px;  }

.util_imgslide .flip .front, .util_imgslide .flip .back {-webkit-backface-visibility: hidden;-moz-backface-visibility: hidden;-o-backface-visibility: hidden;-ms-backface-visibility: hidden;backface-visibility: hidden !important;width:300px;height:300px;transition:all .6s;position:absolute;z-index: -0;}
.util_imgslide .flip .backnoflip .caption { display: none; }
.util_imgslide .flip .front {background-size: cover;}
.util_imgslide .frontflip {  background-size: cover; }
.util_imgslide .backflip { font-size: 150%; background-color: white; -webkit-transform: rotateY(180deg); -moz-transform: rotateY(180deg); -o-transform: rotateY(180deg); -ms-transform: rotateY(180deg); transform: rotateY(180deg); }
.util_imgslide .flip.hover .frontflip { -webkit-transform: rotateY(-180deg); -moz-transform: rotateY(-180deg); -o-transform: rotateY(-180deg); -ms-transform: rotateY(-180deg); transform: rotateY(-180deg); z-index:-999; cursor:pointer; }
.util_imgslide .flip.hover .backflip { -webkit-transform: rotateY(0deg); -moz-transform: rotateY(0deg); -o-transform: rotateY(0deg); -ms-transform: rotateY(0deg); transform: rotateY(0deg); z-index:999; cursor:pointer; }
.util_imgslide .flip.hover .caption span { opacity : 1; }


/* Product page */

.shop_product .name {color: var(--gold);}
.shop_product .label {font-size: 120%; font-weight:bold; color: var(--gold);}
.shop_product .value {font-weight: bold; padding-bottom: 20px;} 

.shop_product .images, .shop_product .thumbnails { float: right; }
.shop_product .images { width: 400px; height: auto; margin: 0px 0px 30px 15px; text-align: center; }
.shop_product .images .description {display: none;}
.shop_product .images img { cursor: pointer; }

.shop_product .thumbnails li { text-align: center; }
.shop_product .thumbnails img { cursor: pointer; }
.shop_product .thumbnails li:hover { opacity: 1; }

.shop_product .description { max-width: 500px; }
.shop_product .description strong {color: var(--bluegrey); font-size: 150%;}
.shop_product .description b {color:white; background-color: var(--bluegrey); padding:10px 20px; border-radius: 50px; font-weight: normal; box-shadow: 3px 3px 5px grey; }
.shop_product .description b:hover {background-color: var(--gold)} 

.shop_product .price { font-size:185%; color: var(--gold)}
.shop_product .outofstock {margin-bottom:40px}
.shop_product .outofstock p {font-size: 110%; color:red; padding: 0px}

.shop_product .addtobasket {margin-bottom: 30px;}

#imagedialog { position: fixed; top: 0px; left: 0px; z-index: 20; }
#imagedialog a.close { color: var(--white); position: fixed; top: 10px; right: 10px; z-index: 20; font-size: 200%; line-height: 1; }
#imagedialog .carousel li { padding: 20px; box-sizing: border-box; }

/*
.ui-dialog { padding: 0px; }
.ui-dialog .ui-dialog-title { display: none; }
.ui-dialog .ui-dialog-titlebar { position: absolute; background: none; border: none; z-index: 10; }
.ui-dialog .ui-dialog-titlebar-close { position: absolute; }
*/

.feat_carousel a { color: var(--white); }
.feat_carousel .carousel { overflow: hidden; }
.feat_carousel .carousel ul { width: 20000em; position: relative; height: 350px; }
.feat_carousel .carousel ul li { float: left; list-style-type: none; }
.feat_carousel .carousel ul li div { background-size: contain; }
.feat_carousel .carousel-prev { position: fixed; left: 10px; top: 50%; z-index: 20; font-size: 200%; margin-top: -50px; }
.feat_carousel .carousel-next { position: fixed; right: 10px; top: 50%; z-index: 20; font-size: 200%; margin-top: -50px; }

@media (max-width:599px) {

    .shop_product .info { width:100%; display:flex; flex-direction: column; align-items: center; }
    .shop_product .details { text-align: center;}
    .shop_product .images img {width:300px ; height:auto;}
    .shop_product .images  {width: 90% ; cursor: pointer; margin: 15px 30px 30px 30px;}

    .shop_product .thumbnails ul { display: flex; flex-direction: row; justify-content: center; margin-bottom: 10px;}
    .shop_product .thumbnails img {width :90%;}

    .shop_product .outofstock .button {display: block; text-align: center;}
    .shop_product .outofstock p {margin:0px}
    .shop_product .available {text-align: center;}
}

/* Basket page */

.shop_basketpage .basket, .shop_basketpage .include {max-width: 1240px; margin: auto;}
.shop_basketpage table {width: 100%;}
.shop_basketpage .details {margin: 30px 0px;}
.shop_basketpage .details .contact, .shop_basketpage .details .billing, .shop_basketpage .details .shipping { width: 30%; margin: 0px auto; text-align: center;} 
.shop_basket h2 {font-weight: 700;}
.shop_basketpage .discount {margin-top: 40px;}
.shop_basket td, .shop_basket th { padding: 5px; text-align: left; border-bottom: solid var(--palebluegrey) 1px; }
.shop_basket .price, .shop_basket .quantity, .shop_basket .total, .shop_basket .remove { text-align: right; }
.shop_basket .discount h2 {font-weight: 700;}
.shop_basket .discount input {margin-bottom: 15px;}
.shop_basket .discount input[type="text"] {width: 40%} 
.shop_basket .buttons {margin-top: 20px;}
.shop_basket .buttons input.updatebasket {margin: 0px 0px 20px 0px}
.shop_basketpage .errors { color: #ff0000; padding-bottom: 20px; }
.shop_basket .complete {padding-bottom: 95px;text-align: c;}
.shop_basketpage #fb-Notes-div, .shop_basketpage .field_section { display: none; }

.shop_basket .checkout .field_group>.label, .shop_basket .checkout .field_section>.label { padding-top: 20px; padding-bottom: 10px; font-size: 120%; }

.paymentform #card-element {border: 1px solid #002f78; border-radius: 16px; padding: 10px; margin-bottom: 20px;}

.checkout {max-width: 600px;margin: auto;}
.checkout #ddfb-BillCountry { width:600px;}


@media ( min-width:1240px)
{
    .shop_basketpage .details { display: flex; justify-content: space-evenly; }
}

@media (max-width: 599px) {

.shop_basket .remove { display: none; }
.shop_basket .discount { width: 100%; text-align: center; }
.shop_basket { font-size: 85%; }
.shop_basket .buttons { text-align: center; }
.shop_basket .updatebasket, .shop_basket .buttons .checkout { margin: 5px auto; }

.checkout .formbuilder { width: 100%; text-align: center; }
.checkout #ddfb-BillCountry { width: 100%; }

.shop_basket .confirm .contact { margin-bottom: 0px; }
.shop_basket .confirm .contact, .shop_basket .confirm .billing, .shop_basket .confirm .shipping { width: 100%; text-align: center; }

}

/* Contact page */

@media (min-width: 1000px) {
    .contactpage .surv_standard { width: 60%; float: left; padding-right: 50px; }
    .contactpage .contactbox { width: 40%; float: left; }
}

@media (max-width: 999px) {
    .contactpage .contactbox { padding-top: 40px; }
}


/* Footer */
.layoutfooter { clear: both; }
.layoutfooter .footerinfo { padding: 40px; background-color: var(--bluegrey); color: var(--white); }
.layoutfooter .footerinfo .footersmall { font-size: 90%; }
.layoutfooter .footerinfo .footersmall a { color: var(--white); }
.layoutfooter .footerinfo .footersmall a:hover { color: var(--black); }
.beachshore { display: none; }

.footerinfo p .basketicon { text-align: center; background-color:var(--bluegrey); } 
.footerinfo .fas { font-size: 190%; color: var(--palebluegrey); }
.footerinfo p .basketicon .fas:hover { color: var(--black); }
