img, iframe {max-width: 100%; height: auto} html,body{-webkit-text-size-adjust:100%;text-size-adjust:100%} :root { --main-bg: #fff; --light: #eee; --light-comp: #333; --dark: #341f7c; --dark-comp: #fff; --primary: #6601a0; --primary-comp: #fff; --secondary: #ccc; --secondary-comp: #fff; --accent: #1ba2b6; --dark-accent: #1ba2b6; } html, body { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; } body { font-family: 'Montserrat', Arial, Helvetica, sans-serif; font-size: 18px; line-height: 1.6; text-align: center; min-width: 320px !important; } body, header a, nav .submenu ul li:first-of-type a, .featured .grid a, .systems a { color: var(--light-comp); } body, header ul, .hero h1, .hero p, .about ul { padding: 0; margin: 0; } h1, h2, h3, h4, h5, h6, p, th, td, dd, dt, li, blockquote { text-align: left; } h1, h2, h3, h4, h5, h6, .bg-primary .btn, .post h2 a { color: var(--dark); } h1, h2, .hero p { line-height: 1.4; } img, iframe { max-width: 100%; height: auto; margin: auto 0; } iframe { display: block; aspect-ratio: auto 16 / 9; width: 100%; margin: 1em auto; } .fullwidth { width: 100%; } a img, iframe { border: none; } a, form input[type=submit], .btn { transition: ease-in-out .3s; } a, header a:hover, form input[type=submit]:hover, .btn:hover, .featured a:hover, .systems a:hover, .post h2 a:hover { text-decoration: none; } a, header a:hover, footer a:hover, .bg-dark .btn, .bg-dark form input[type=submit], .home a:hover h2, .home a:hover h3, .featured svg, .mission span, .post h2 a:hover { color: var(--primary); } a:hover { text-decoration: underline; } hr { border-width: 1px; border-color: #eee; border-style: none none solid; margin: 40px 0; } .imgLeft, .imgRight { max-width: 50%; } .imgLeft { float: left; margin: 10px 4% 2% 0; } .imgCenter { display: block; margin: 0 auto; } .imgRight { float: right; margin: 10px 0 2% 4%; } .clear { clear: both; } .nowrap, a[href^=tel] { white-space: nowrap; } svg { vertical-align: middle; } sup { line-height: 0; } .hide { display: none !important; } .center, .hero p, .featured h2, .featured p, .schedule h2, .schedule p, .mission h1, .mission p, .team h2, .team li, .fullwidth div > *, .contact .grid.third h3, .contact .grid.third p { text-align: center; } .wrap { display: block; max-width: 1180px; margin: 0 auto; position: relative; } .bg-dark, .bg-dark h1, .bg-dark h2, .bg-dark h3, .bg-dark a, .bg-dark .btn:hover, .bg-primary, .bg-primary h2, .bg-primary h3, .bg-primary a, .hero h1, .hero p { color: var(--dark-comp); } .bg-dark .btn, .bg-dark form input[type=submit], .bg-primary .btn, .systems .grid a { background-color: var(--main-bg); } .bg-dark, .systems a:hover .btn, .services a:hover .btn { background-color: var(--dark); } .bg-primary, .bg-dark .btn:hover, .bg-dark form input[type=submit]:hover { background-color: var(--primary); } .bg-light { background-color: var(--light); color: var(--light-comp); } .mid { align-items: center; align-self: center; } .grid, .recent .posts { display: grid; grid-gap: 10px 50px; } .grid.half, .recent .posts { grid-template-columns: repeat(2,1fr); } .grid.third { grid-template-columns: repeat(3,1fr); } .grid.fourth { grid-template-columns: repeat(4,1fr); } .flex { display: flex; flex-wrap: wrap; gap: 10px; } header { width: 100%; font-size: 15px; background-color: rgba(255,255,255,.96); position: fixed; z-index: 999; } header { box-shadow: 0 0 10px rgba(0,0,0,.1); } header .wrap { padding: 10px; } header .grid { grid-template-columns: 350px 1fr; } header .grid, footer .grid, form .grid { grid-gap: 10px; } header .grid > div:last-of-type, .subfoot .grid > div:last-of-type { text-align: right; } header img, nav .submenu li, nav .submenu a, .hero h1 span, .fullwidth h1 span, .fullwidth h2 span, .schedule h2 span { display: block; } nav li { display: inline-block; margin-left: 20px; position: relative; } nav a { padding: 40px 0; } nav, nav strong, .hero, form input[type=submit], .btn, .featured h2, .schedule h2 span, .mps h2, .fullwidth h1 span, .fullwidth h2 span { text-transform: uppercase; } nav .submenu { display: none; min-width: 500px; font-size: 0; background-color: rgba(245,245,245,.98); padding: 0 20px 20px; margin: 0; position: absolute; top: 60px; left: -20px; z-index: 888; } nav .submenu ul { display: inline-block; width: calc(100% / 2); vertical-align: top; } nav .submenu li { text-transform: capitalize; margin: 0; } nav .submenu ul li:first-of-type a { padding-top: 20px; } nav .submenu a { padding: 0; } nav .submenu ul li:first-of-type a { cursor: pointer; } nav .submenu ul li:first-of-type a:hover { color: var(--primary); } nav li:hover > ul { display: inline-block; } .hero { padding-top: 96px; z-index: 1; } .hero, .cover, .systems, .mps, .shape, .office, .work, .screen, .color { background-size: cover; background-position: center; position: relative; } .hero:before { content: ""; width: 100%; height: 100%; position: absolute; top: 0; left: 0; z-index: 0; } .hero { width: 100%; height: 200px; } .hero > .wrap { top: 50%; transform: translateY(-50%); padding: 10px; z-index: 1; } .hero p { font-size: 32px; } .hero p { font-weight: bold; } .hero h1 span { font-size: 60px; } .bgimg { position: relative; } .bgimg > img:last-of-type { position: absolute; width: 100%; height: 100%; inset: 0; object-fit: cover; z-index: 0 } .home > div > .wrap, .contact > .wrap { padding: 40px 10px 60px; } .home .schedule h2, .fullwidth h1, .fullwidth h2, .advantage .bg-primary h2 { font-size: 36px; } .home .btn { margin-top: 20px; } .featured .grid, .systems .grid, .models { grid-gap: 10px 20px; } .featured h2 { color: var(--dark); } .featured h2 span { text-transform: lowercase; } .schedule { font-weight: 400; position: relative; } .schedule p { max-width: 1000px; margin: auto; } .schedule img { width: 50%; position: absolute; top: 0; right: 10px; } .systems { padding: 10px 0 20px; } .systems .grid a, .mps .bg-primary { padding: 20px 40px; } .recent .blogsidebar, .recent .posttags, .recent .postcats { display: none; } .recent .blogs { display: block; } .recent .post { border: none; } .recent .postThumbnail { width: 100%; max-width: unset; float: none; margin: 0; } .mps .wrap { z-index: 1; } .mps .grid { grid-template-columns: 400px 1fr; } .mps .bg-primary { position: relative; right: 0; top: 10px; z-index: 1; } .survey-comments p::before { content: "&quot;"; } form, .video { margin: 40px 0; } form input, form textarea {text-align: left !important; padding-left: 10px;} form .grid { grid-gap: 0 10px; } form label { font-weight: bold; margin-top: 10px; } form label, .systems, .advantage .first h2, .products .grid h2, .products .grid p, .advantage .first p { display: block; text-align: left; } form label, form input[type=text], form input[type=email], form input[type=tel], form input[type=submit], form select, form textarea, .btn { font-family: 'Montserrat', sans-serif; font-size: 16px; } form input[type=text], form input[type=email], form input[type=tel], form select, form textarea { width: 100%; box-sizing: border-box; background-color: var(--main-bg); margin-bottom: 5px; border: none; border-bottom: 1px solid #ddd; } form input[type=text], form input[type=email], form input[type=tel], form select { height: 50px; } form textarea { height: 150px; padding: 15px 10px; } form input[type=submit], .btn { display: inline-block; text-align: center; line-height: 1.6; background-color: var(--primary); color: var(--primary-comp); padding: 10px 20px; margin: 10px 0; border: none; transition: ease-in-out .3s; } form input[type=submit] { margin: 0; } form input[type=submit]:hover, .btn:hover { cursor: pointer; background-color: var(--dark); color: var(--primary-comp); } form input, form textarea { outline: none; } #contact { margin: 20px 0; } #contact textarea { height: 100px; } footer, .featured p, nav .submenu a, .fullwidth h1 span, .fullwidth h2 span, .it .vertz { font-size: 16px; } footer .wrap { padding: 20px 10px; } footer .bbb img { margin: 25px auto 0; position: relative; } img[src="/images/torch-winner-logo-white.png"] { max-width: 110px; } .ccpaNotice { text-align: center !important; } main, .advantage > div .wrap, .fullwidth > div .wrap { padding: 30px 10px 50px; } main h1, .home h2, .team h2, .news h2 { font-size: 32px; } .hero h1, main h2, .products h2, .mono h3, .print .fleet h3 { font-size: 30px; } main h3, .mission p, .advantage h2, .contact .bg-dark, .recent .post h2 { font-size: 24px; } main h4, .news h3 { font-size: 20px; } main h5, .hero .btn, .featured h2, .schedule h2 span, .mps h2 { font-size: 18px; } main ul, main ol { padding-left: 25px; } main li { margin: 5px 0; } .nolist, footer ul, .about ul, .team ul, .models, .contact ul, .articles .blogsidebar ul { list-style: none; padding-left: 0; } .services .grid { grid-gap: 15px; padding-bottom: 30px; } .services .grid a { background-color: var(--main-bg); padding: 20px 40px; } .services a[href^=tel] { white-space: normal; } .about > img { display: inline-block; vertical-align: middle; max-width: 250px; margin: 20px; } .about .grid { grid-template-columns: 400px 1fr; } .about .grid img { object-fit: cover; width: 100%; height: auto; margin-top: 30px; } .team h2 { margin: 0; } .team li { font-weight: bold; } .office, .team, .screen { font-weight: 500; } .office .wrap, .team .wrap, .screen .wrap, .work .wrap, .color .wrap, .pad .wrap { padding: 70px 0 80px !important; } .fullwidth h1 span, .fullwidth h2 span, .schedule h2 span { letter-spacing: 1px; } .fullwidth h1 span, .fullwidth h2 span { padding: 10px 0; } .fullwidth .left, .left h1, .left h2, .left h3, .left p { text-align: left !important; } .office, .color, .uc { background-position-y: 30%; } .docs .bg-dark .wrap { padding: 40px 10px 50px; } .docs h1, .it h1, .print .charge h2, .custom h1 { max-width: 850px; margin: 25px auto; } .jobs li { margin: 10px 0; } .news h2, .docs .shape h3, .mono h3, .support .commit h2, .print .fleet h3, .contact .bg-dark h3 { margin-bottom: 0; } .news h3, .contact .bg-dark p, .it .left h3, .voice .shape h3 { margin-top: 0; } .articles .post { padding: 20px 0; border-color: #eee; } .articles .blogsidebar { padding-top: 25px; } .products .grid.half:nth-of-type(odd) div:first-of-type { order: 2; } .video { width: 100%; height: auto; margin: 40px 0; } .models .grid li, .models .btn { margin: 0; } .models .btn { width: 100%; box-sizing: border-box; } .support .bg-primary img { max-width: 400px; margin-top: 20px; } .print .left img { max-height: 350px; margin: 0 0 40px 20px; } .contact .wrap > .grid.half { grid-template-columns: 450px 1fr; } .contact ul { padding: 0; margin: 30px 0; } .contact iframe { width: 100%; height: 30vw; min-height: 650px; margin-top: 40px; } .contact .bg-dark { padding: 20px 0; } .contact .btn { width: 85%; } .register { width: 100%; border-collapse: collapse; margin: 40px 0; padding: 0; margin: 0; } .register th, .register td { padding: 20px; border: 1px solid #f0eceb; } .register th { background-color: rgba(240,236,235,.3); } .small { font-size: 10px; } .flex.fax { flex-wrap: wrap; flex-direction: row; } .flex.fax > div { flex: 1 0 300px; flex-wrap: wrap; margin: 0 15px; text-align: center; } .flex.fax > div ul { display: inline-block; text-align: left } .flex :is(p) { text-align: left; } .software .grid img {height: 200px; object-fit: cover; border-radius: 4px;} .awards-list { list-style: decimal; padding-left: 60px; } .awards-list li { margin-bottom: 30px; counter-increment: list-counter; } .awards-list li::marker { font-size: 32px; font-weight: bold; color: var(--primary); } @media(max-width: 1200px) { .grid.third.services { grid-template-columns: 1fr 1fr; } header .grid.mid, .contact .grid.third { grid-template-columns: 1fr; } header img { display: unset; } header ul, header li { text-align: center; } header { position: unset; } .hero { padding-top: 0; } .hero:has(a) { height: 470px; } .contact .bg-dark { padding: 0; } header img { max-width: 300px; margin: 0 auto; }} @media(max-width: 1000px) { nav ul ul { display: none !important; } .contact .grid.half.mid, .contact .wrap > .grid.half { grid-template-columns: 1fr; } .contact h1, contact h2, .contact p, .contact li { text-align: center !important; } form { padding: 0 25px; } } @media(max-width: 999px) { .grid.sixth { grid-template-columns: 1fr 1fr 1fr; } header img { max-width: 300px; margin: 0 auto; } .leadership.grid.fourth { grid-template-columns: 1fr 1fr; } } @media(max-width: 900px) { footer .grid.half.mid, .contact .grid.half { grid-template-columns: 1fr; width: auto; } footer img { margin: auto 0; display: unset; } footer ul, footer li, footer p { text-align: center; } .subfoot .grid > div:last-of-type { text-align: unset; } header img { max-width: 300px; margin: 0 auto; }} @media(max-width: 800px) { .hero h1, .hero h1 span, .hero p:has(a), .home h2 { text-align: center !important } .services .grid.half, .about .grid.half { grid-template-columns: 1fr; } nav a { padding: 8px; } nav li { padding: 8px; } header img { max-width: 200px; margin: 0 auto; }} @media(max-width: 767px) { .grid.fourth, .grid.third { grid-template-columns: 1fr 1fr; } .mps .grid.half, .left.grid.third, .fleet .grid.half { grid-template-columns: 1fr; } .superior p:has(a), .left.grid.third h3, .fleet .grid.half h3, .print p:has(a), .fullwidth .left { text-align: center !important; } header img { max-width: 200px; margin: 0 auto; }} @media(max-width:700px) { .imgRight, .imgLeft, imgCenter { float: none; } header img { max-width: 150px; margin: 0 auto; } .sharp { max-width: 300px !important } } @media(max-width:600px) { .grid.half, .grid.third, .grid.fourth, header .grid { grid-template-columns: 1fr; } .schedule img { display: block; width: 100%; position: relative; } .recent .posts { grid-template-columns: 1fr; } header img { max-width: 150px; margin: 0 auto; } } @media(max-width:500px) { .grid.sixth { grid-template-columns: 1fr } .support .bg-primary img { max-width: 300px; } header img { max-width: 150px; margin: 0 auto; } .leadership.grid.fourth { grid-template-columns: 1fr; } } @media(max-width: 400px) { nav li { margin-left: 0; padding: 5% 20%; } .contact a[href^=tel] { white-space: normal; } header img { max-width: 70%;}}