:root{color-scheme:light;--blue:#095197;--ink:#333;--line:#d9dfe3;--pale:#f5f6f7}
*{box-sizing:border-box}
html{scroll-padding-top:1rem}
body{margin:0;min-height:100vh;display:flex;flex-direction:column;color:#444;background:#fff;font:12.8px/24px Arial,Helvetica,sans-serif}
a{color:var(--blue)}
a:hover{color:#073e73}
:focus-visible{outline:3px solid #9b4a00;outline-offset:3px}
img{max-width:100%;height:auto}
iframe,video{max-width:100%}
button,input,select,textarea{font:inherit;max-width:100%}
button,.button{display:inline-block;padding:.5rem .85rem;min-height:44px;background:var(--blue);color:white;border:1px solid var(--blue);border-radius:3px;cursor:pointer;text-decoration:none;text-align:center}
button:hover,.button:hover{background:#073e73;color:#fff}
button.secondary{background:#fff;color:var(--blue)}
button.text-button{background:transparent;color:var(--blue);border:0;text-decoration:underline}
input,select,textarea{padding:.45rem;border:1px solid #7b858b;border-radius:2px;background:#fff;color:var(--ink)}
input[type=number]{width:6rem}
label{display:block}
[hidden]{display:none!important}
h1,h2,h3{font-weight:400;overflow-wrap:anywhere}
h1,h2{font-size:1.5em;line-height:1.2;margin:1em 0 .75em;padding:5px 0;border-bottom:1px solid #ddd}
h3{font-size:1.4em;line-height:1.3;margin:1em 0 .35em;padding-bottom:5px;color:#555}
p{margin:0 0 1.5em;line-height:1.5}
ul,ol{margin:0 0 1.5em;padding-left:24px;line-height:1.5}
.site{width:min(1200px,100%);margin:0 auto;flex:1 0 auto}
.skip-link{position:absolute;left:1rem;top:-100px;z-index:10;background:white;padding:.6rem}
.skip-link:focus{top:1rem}
.site-header{position:relative;background:#edf0f2}
.brand-row{height:149px;margin-bottom:-4px;background:#70a7cd url('/images/headerbg.jpg') no-repeat right bottom;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:25px 15px 0 245px}
.brand{font-family:Georgia,'Times New Roman',serif;line-height:1;text-decoration:none;color:#282734;text-shadow:0 1px 1px white}
.brand span{display:block;padding-left:2px;font-size:20px;line-height:22px}
.brand strong{display:block;font-weight:400;font-size:51.2px;line-height:1}
.site-header::before{content:'';position:absolute;z-index:1;left:20px;top:5px;width:205px;height:185px;background:url('/images/angel.png') no-repeat left top;pointer-events:none}
.header-phones{text-align:center;color:#0b141b;flex-shrink:0;margin-top:-6px}
.header-phones span{display:block;font-size:15px;line-height:24px;margin-bottom:9.6px}
.header-phones a{display:block;text-decoration:none;font:32px/1 'Times New Roman',Times,serif;color:inherit;text-shadow:0 1px 1px white;white-space:nowrap}
.mobile-call,.mobile-navigation{display:none}
.primary-nav{background:linear-gradient(#eee,#ddd);border:1px solid #d5d5d5}
.primary-nav ul{display:table;width:100%;list-style:none;padding:0;margin:0}
.primary-nav li{display:table-cell}
.primary-nav li:first-child{padding-left:244px}
.primary-nav a{display:block;padding:12px 15px;text-align:center;text-decoration:none;border-right:1px solid #ddd;box-shadow:1px 0 #f5f5f5;color:#333;font-size:12.8px;line-height:19.2px;font-weight:bold;min-height:43px;white-space:nowrap}
.primary-nav li:last-child a{border-right:0;box-shadow:none}
.primary-nav a:hover{background:#095197;color:#fff}
.site-grid{display:grid;grid-template-columns:262px minmax(0,1fr) 262px;gap:24px;padding:0;align-items:start}
.site-grid.catalog-layout{grid-template-columns:262px minmax(0,1fr)}
.site-main{min-width:0;overflow-wrap:break-word;padding:30px 4px 20px 0}
.side-nav,.site-aside{min-width:0;background:linear-gradient(#f5f5f5,#fafafa);border:1px solid #e5e5e5;box-shadow:0 1px 2px #0000000d;padding:10px 10px 0;margin-top:35px;margin-bottom:10px;align-self:start}
.side-nav h2,.side-nav h3{font-size:1.4em;line-height:1.3;margin:1em 0 .35em;border-bottom:1px solid #ddd;padding:0 0 5px;color:#555}
.side-nav h2 a{color:inherit;text-decoration:none}
.side-nav ul{list-style:none;margin:0 0 1.5em;padding:0;line-height:1.5}
.side-nav li a{display:block;padding:5px 0;border-bottom:1px solid #ddd;box-shadow:0 1px #fff;font-size:inherit;text-decoration:none}
.side-nav li:last-child>a{border:0;box-shadow:none}
.side-nav .moduletable-secondary{margin-top:3em}
.side-nav .moduletable:last-child>ul{margin-bottom:0}
.side-nav li a:hover{text-decoration:underline}
/* Joomla uses .current; the catalogue marks its current link with aria-current. */
:is(.side-nav,.mobile-menu-panel) li:is(.current,.active)>a,:is(.side-nav,.mobile-menu-panel) a[aria-current="page"]{font-weight:bold}
.side-nav .cart-summary{border-top:1px solid var(--line);padding-top:1rem}
.site-aside img{display:block;width:100%}
.site-aside .moduletable+.moduletable{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}
.breadcrumbs{font-size:inherit;margin:0;color:#555}
.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:.3rem .6rem;list-style:none;margin:0;padding:0}
.breadcrumbs li+li::before{content:'›';margin-right:.6rem}
.catalog-site>.breadcrumbs{padding:8px 7px 7px;line-height:17px}
.catalog-site .site-main{padding:0 2px 20px 0}
.catalog-site .side-nav{margin-top:4px}
.catalog-site h1{font-size:2.6em;line-height:1.2;margin:0 0 .5em;padding:0;border:0}
.catalog-site #prices-hero{margin-top:6px}
/* Right-align the full-height artwork; crop its right side when it outgrows the footer. */
.site-footer{width:min(1200px,100%);min-height:73px;margin:0 auto;flex:none;background:#a6c3d9 url('/images/footer.jpg') no-repeat right center/auto 100%;background-position:max(20px,100%) center;border-radius:2px 2px 0 0;box-shadow:0 0 5px #0000001a;font-size:13.6px;line-height:19px;color:#fff}
.footer-content{min-width:0;display:flex;flex-wrap:wrap;align-items:flex-end;gap:4px 16px;padding:10px 15px 6px}
.footer-details{flex:1 1 28rem;min-width:0;overflow-wrap:break-word}
.footer-reference{white-space:nowrap}
.site-footer p{margin:0;line-height:inherit}
.site-footer a{color:inherit}
.site-footer button.text-button{flex:0 0 auto;margin-left:auto;background:#dce8f0e8;color:#203341;padding:4px 8px;min-height:28px;font-size:12.8px;line-height:19px}
@media(max-width:640px){.footer-content{padding:10px 12px 6px}.site-footer button.text-button{min-height:44px}}
.button-row{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;margin:1rem 0}
.notice,.nb{padding:1rem;background:#edf5fa;border-left:4px solid #5794bd;margin:1rem 0}
.notice.error{background:#fff1eb;border-color:#a33813}
.price,.cart-total{font-variant-numeric:tabular-nums}
.price{font-size:1.1rem}
.num,num{word-spacing:-.1em;white-space:nowrap}
.product-grid{display:grid;grid-template-columns:repeat(auto-fill,200px);gap:30px 15px;list-style:none;padding:0;margin:34px 0 20px}
.product-grid li{border:1px solid #e5e5e5;background:linear-gradient(#f5f5f5,#fafafa);box-shadow:0 1px 2px #0000000d;padding:9px;min-height:210px;text-align:center}
.product-grid a{display:block;text-decoration:underline;line-height:1.4}
.product-grid a:hover{text-decoration:underline}
.product-grid img{display:block;width:180px;height:120px;object-fit:contain;margin:0 auto 4px}
.product-grid .price{display:block;font-size:inherit;line-height:1.4;color:var(--blue)}
.product-detail{display:block}
.product-photo{margin:5px;max-width:900px}
.product-photo>a>img{display:block;height:auto;max-width:100%}
.gallery{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0;list-style:none;padding:0}
.gallery a{display:block;border:1px solid var(--line);padding:4px}
.gallery img{display:block;width:90px;height:80px;object-fit:contain}
.image-viewer{width:min(1120px,calc(100vw - 32px));height:min(900px,calc(100vh - 32px));height:min(900px,calc(100dvh - 32px));max-width:none;max-height:none;margin:auto;padding:0;border:1px solid #52606b;border-radius:4px;background:#151a1f;color:#fff;font:14px/1.5 Arial,Helvetica,sans-serif;box-shadow:0 6px 30px #0008;overflow:hidden}
.image-viewer[open]{display:grid;grid-template-rows:auto minmax(0,1fr) auto}
.image-viewer::backdrop{background:#000b}
.image-viewer-toolbar{display:flex;align-items:center;gap:8px;padding:8px}
.image-viewer button{min-width:44px;min-height:44px;background:#29323b;border-color:#73828e;color:#fff;font:inherit;padding:6px 12px}
.image-viewer button:hover{background:#405366}
.image-viewer button:disabled{opacity:.45;cursor:default}
.image-viewer button:focus-visible,.image-viewer-stage:focus-visible{outline:3px solid #a6c3d9;outline-offset:-3px}
.image-viewer button.image-viewer-close{margin-left:auto;font-size:28px;line-height:1;padding:0 10px}
.image-viewer-stage{display:flex;align-items:center;justify-content:center;min-width:0;min-height:0;overflow:auto;overscroll-behavior:contain;padding:8px}
.image-viewer-image{display:block;flex:none;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
.image-viewer-status{max-width:32em;text-align:center;margin:0;padding:16px}
.image-viewer-status a{color:#c8e5ff}
.image-viewer-footer{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:8px;padding:8px}
.image-viewer-footer.single-image{grid-template-columns:minmax(0,1fr)}
.image-viewer-caption{margin:0;text-align:center;overflow-wrap:anywhere}
.image-viewer-footer button{font-size:28px;line-height:1;padding:0}
.product-summary{display:grid;grid-template-columns:minmax(0,1fr) 192px;gap:10px;margin:24px 5px 0}
.pricetag{grid-column:2;grid-row:1;border:1px solid var(--line);background:#fff;padding:8px;align-self:start}
.pricetag .price{text-align:center;font:18px/1.4 'Times New Roman',Times,serif}
.pricetag label{margin:.75rem 0}
.pricetag select{display:block;width:100%;margin-top:.3rem}
.pricetag .dependencies{font-size:inherit;margin-top:1rem}
.pricetag .dependencies ul{list-style:none;padding:0;margin:0}
.pricetag .dependencies li{margin:5px 0}
.product-description{grid-column:1;grid-row:1;min-width:0}
.service-list{list-style:none;padding:0}
.service-list li{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid var(--line);padding:12px 0}
.service-list .price{flex-shrink:0;text-align:right}
.cart-items{list-style:none;padding:0}
.cart-item{border-bottom:1px solid var(--line);padding:16px 0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px}
.cart-item label{font-size:.85rem}
.cart-item small{display:block}
.cart-item .line-price{grid-column:1/-1}
.cart-item button{font-size:.9rem}
.cart-total{font-size:1.3rem;text-align:right;border-top:2px solid #5794bd;padding-top:12px}
.cookie-notice{position:fixed;right:16px;bottom:16px;z-index:5;max-width:460px;background:#fff;box-shadow:0 2px 16px #0003;border:1px solid var(--line);padding:12px 16px;font-size:14px}
.cookie-notice p,.cookie-notice .button-row{margin:.3rem 0}
table{border-collapse:collapse;max-width:100%;font-size:inherit}
th,td{padding:.5rem;text-align:left;border:1px solid var(--line)}
.table-scroll{overflow-x:auto;max-width:100%;margin:1rem 0}
.table-scroll:focus{outline:3px solid #9b4a00}
.table-scroll table{margin:0}
.attn{padding:1em 0 1em 1em;background:#fafafa;border:0;border-left:2px solid #a6c3d9;border-right:2px solid #a6c3d9;margin-bottom:1.5em}
.attn :first-child{margin-top:0}.attn :last-child{margin-bottom:0}
.attn-main{display:block;font-size:2em;font-weight:bold;color:#35739d;overflow-wrap:anywhere}
.photopreview{display:flex;flex-wrap:wrap;align-items:start;justify-content:center;gap:12px}
.photopreview a{flex:0 1 47%;max-width:47%}
.photopreview a img{width:100%;height:auto;object-fit:contain;margin:0}
.content-video{width:100%;height:auto;aspect-ratio:16/9}
.side-nav ul ul{padding-left:12px;margin:0}
.print-heading{display:none}
.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0!important;border:0!important;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.error-page{padding:40px 20px;min-height:280px}
.site-aside ul{list-style:none;padding:0;margin:0}
.site-aside{padding:15px 10px 10px}
.site-aside li+li{border-top:1px solid #ddd;margin-top:10px;padding-top:10px}
.site-aside a{display:block}
.item-page img,.com-content-article img{height:auto!important;max-width:100%!important}
.readmore{margin:1em 0 2em}
.newsflash{display:flow-root;margin-bottom:20px}
.newsflash-title{margin:1.5em 0 0;padding:0 0 5px}
.newsflash a.readmore{display:inline-block;margin:0;line-height:24px}
.items-row,.blog-items{display:block}
.items-leading{display:flow-root;padding:0 5px 10px;margin-bottom:10px}
.blog-item{display:block}
.blog-item h2 a{text-decoration:none}
.blog-item p.readmore{margin:0 0 1.5em}
.blog-item p.readmore a{display:inline-block;padding:4px;line-height:1.6;margin-bottom:9px;background:linear-gradient(#fff,#ddd);border:1px solid #ddd;border-radius:3px;text-decoration:none}
.blog-item p.readmore a:hover{background:var(--blue);color:#fff}
@media(max-width:640px){.blog-item p.readmore a{min-height:44px}}
.pagination ul{display:flex;flex-wrap:wrap;list-style:none;gap:6px;padding:0}
.pagination a,.pagination span{display:block;padding:8px 12px;border:1px solid var(--line)}
.bottom-modules:empty{display:none}
#prices-hero{list-style:none;padding:0;margin:6px -2px 20px 0;line-height:1}
#prices-hero li{background:#70a7cd;border:1px solid #15668f;margin:0 0 20px}
#prices-hero li:last-child{margin-bottom:0}
#prices-hero a{display:flex;align-items:center;min-height:60px;padding:0;color:#fff;text-decoration:none;text-shadow:0 0 3px #15668f}
#prices-hero a:hover{background:#397ba6}
#prices-hero .hero-img{width:137px;height:69px;object-fit:contain;flex-shrink:0;align-self:flex-start;margin:-12px 0 0 5px}
#prices-hero .package-name{flex:1;font-size:24px;line-height:1;padding-left:15px}
#prices-hero .package-price{font-size:24px;line-height:1;white-space:nowrap;width:160px;text-align:center;flex-shrink:0}
@media(max-width:1199px){.site-grid{grid-template-columns:220px minmax(0,1fr) 220px;gap:16px;padding:0 16px}.site-grid.catalog-layout{grid-template-columns:220px minmax(0,1fr)}.brand-row{padding-left:225px}.primary-nav li:first-child{padding-left:220px}.primary-nav a{padding:12px 8px}.site-main{padding-right:0}.product-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}#prices-hero a{gap:8px;padding:8px}#prices-hero .hero-img{width:90px;height:auto;align-self:center;margin:0}#prices-hero .package-name{font-size:20px;font-weight:bold;padding:0}#prices-hero .package-price{font-size:20px;font-weight:bold;width:auto;padding:0}.catalog-site>.breadcrumbs{padding-left:16px}}
@media(max-width:1000px){.site-grid{grid-template-columns:200px minmax(0,1fr)}.site-grid.catalog-layout{grid-template-columns:200px minmax(0,1fr)}.site-aside{grid-column:2;margin-top:0}.site-aside ul{display:grid;grid-template-columns:1fr 1fr;gap:12px}.site-aside li+li{border:0;margin:0;padding:0}}
/* The indented desktop menu needs about 984px; adapt before it overflows. */
@media(max-width:1000px){
  .primary-nav ul{display:flex;flex-wrap:wrap}
  .primary-nav li{display:block;flex:1 1 auto}
  .primary-nav li:first-child{padding-left:0}
}
/* The tablet angel ends at the menu, which overlaps the brand row by 4px. */
@media(min-width:641px) and (max-width:1000px){
  .site-header::before{display:none}
  .brand-row{position:relative;padding-left:175px}
  .brand-row::before{content:'';position:absolute;left:8px;bottom:4px;height:calc(100% - 9px);aspect-ratio:200/185;background:url('/images/angel.png') no-repeat left bottom/contain;pointer-events:none}
  .primary-nav{position:relative}
}
@media(max-width:800px){body{font-size:14px;line-height:1.55}.brand-row{min-height:136px}.brand span{font-size:17px}.brand strong{font-size:42px}.header-phones a{font-size:25px}.header-phones span{font-size:12px}.primary-nav a{min-height:44px}.site-grid,.site-grid.catalog-layout{grid-template-columns:180px minmax(0,1fr)}.product-summary{display:flex;flex-direction:column;margin:20px 0 0}.pricetag{width:100%;padding:12px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){
  body{font-size:16px}
  .brand-row{display:block;height:130px;min-height:130px;margin:0;padding:9px 0 0 calc(95px + 2vw)}
  .brand{display:block;width:calc(96vw - 163px)}
  .brand span{font-size:calc(10px + 1vw);line-height:1.1}
  .brand strong{font-size:calc(10px + 3.5vw)}
  .site-header::before{left:10px;top:6px;width:90px;height:85px;background-size:85px}
  .header-phones{display:none}
  .mobile-call{display:block;position:absolute;right:10px;top:12px;width:62px;height:62px;border:1px solid #15668f;border-radius:3px;background:url('/images/phone_icon.png') center/42px 42px no-repeat,linear-gradient(#6387ac,#084a89)}
  .primary-nav{position:absolute;left:0;right:0;top:85px;padding-left:50px}
  .primary-nav ul{display:table}
  .primary-nav li{display:table-cell}
  .primary-nav a{font-size:12.8px;font-weight:400;line-height:19.2px;min-height:43px;padding:12px;border-bottom:0}
  .primary-nav .item-101,.primary-nav .item-162,.primary-nav .item-138,.primary-nav .item-133{display:none}
  .mobile-navigation{display:block;position:absolute;z-index:3;left:1px;top:86px}
  .mobile-navigation summary{display:flex;align-items:center;justify-content:center;width:50px;height:43.2px;list-style:none;cursor:pointer;background:linear-gradient(#eee,#ddd);border-right:1px solid #ddd;box-shadow:1px 0 #f5f5f5;color:#095197}
  .mobile-navigation summary::before{content:'\2261';font:32px/1 Arial,sans-serif}
  .mobile-navigation summary::-webkit-details-marker{display:none}
  .mobile-menu-panel{position:absolute;left:-1px;top:44.2px;width:min(262px,100vw);max-height:calc(100vh - 130px);max-height:calc(100dvh - 130px);overflow:auto;padding:6px 10px;border:1px solid #e5e5e5;background:linear-gradient(#f5f5f5,#fafafa);box-shadow:3px 3px 5px #0005;font-size:14px;line-height:1.5;color:#444;text-shadow:0 1px 0 #fff}
  .mobile-menu-panel a{color:inherit}
  .mobile-menu-panel h2{font-size:16px;line-height:1.25;margin:6px 0 2px;padding:0 0 2px;color:inherit}
  .mobile-menu-panel h2 a{color:inherit;text-decoration:none}
  .mobile-menu-panel ul{list-style:none;margin:0;padding:0}
  .mobile-menu-panel li a{display:block;min-height:26px;padding:5px 0;border-bottom:1px solid #ddd;text-decoration:none}
  .mobile-menu-panel li:last-child>a{border-bottom:0}
  .mobile-menu-panel li a:hover{text-decoration:underline}
  .mobile-menu-panel ul ul{padding-left:12px}
  .mobile-menu-panel .moduletable-secondary{margin-top:8px}
  .mobile-primary-menu{margin-bottom:6px}
  .mobile-primary-menu .item-115,.mobile-primary-menu .item-116,.mobile-primary-menu .item-154{display:none}
  .site-grid,.site-grid.catalog-layout{display:flex;flex-direction:column;padding:20px 12px;gap:24px}
  .site-main,.catalog-site .site-main{width:100%;order:0;padding:0}
  .site-grid>.side-nav{display:none}
  .site-aside{order:2;width:100%;margin-top:0}
  .breadcrumbs{font-size:.8rem}
  h1,.catalog-site h1{font-size:1.6rem}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .product-grid li{padding:8px;font-size:14px;min-height:0}
  .product-grid img{height:115px;max-width:100%}
  .product-grid .price{font-size:1rem}
  .service-list li{flex-wrap:wrap}
  .service-list .price{margin-left:auto}
  .cookie-notice{left:10px;right:10px;bottom:10px}
  .cart-item{grid-template-columns:minmax(0,1fr) 92px}
  .cart-item input{width:100%}
  .attn-main{font-size:1.5rem}
  #prices-hero{margin:6px 0 20px}
  #prices-hero a{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1fr);align-content:center;gap:0;padding:4px 8px}
  #prices-hero .hero-img{position:absolute;z-index:0;top:-12px;right:0;width:137px;height:69px;margin:0;pointer-events:none}
  #prices-hero .package-name,#prices-hero .package-price{position:relative;z-index:1;grid-column:1;font-size:clamp(20px,6vw,24px);line-height:1.1;font-weight:bold;text-align:left;text-shadow:-1px -1px 0 #15668f,0 -1px 0 #15668f,1px -1px 0 #15668f,1px 0 0 #15668f,1px 1px 0 #15668f,0 1px 0 #15668f,-1px 1px 0 #15668f,-1px 0 0 #15668f}
  #prices-hero .package-price{justify-self:end;text-align:right}
  .newsflash{padding-top:0}
}
@media(max-width:384px){.primary-nav .item-154{display:none}.mobile-primary-menu .item-154{display:list-item}}
@media print{body{display:block;min-height:0;font:11pt/1.4 Arial,sans-serif;color:#000}.site-header,.side-nav,.site-aside,.site-footer,.cookie-notice,.breadcrumbs,.skip-link,.no-print,.image-viewer,button{display:none!important}.site-grid,.site-grid.catalog-layout{display:block;padding:0}.site{width:100%}.print-heading{display:block}.cart-item{break-inside:avoid}.cart-item input{border:0;padding:0}.site-main a{color:inherit;text-decoration:none}.cart-total{color:#000}}
