$50 = Free Delivery! No Code Needed
tomtoc Water-Resistant Protective Laptop Shoulder Bag for 13-inch MacBook Air/Pro & 14-inch MacBook Pro M2/M1 Pro/Max (2021-2023 Models A2779 A2442) - Durable Carrying Case Compatible with 12.9-inch iPad Pro with Keyboard - Perfect for Work, Travel & College Commute
tomtoc Water-Resistant Protective Laptop Shoulder Bag for 13-inch MacBook Air/Pro & 14-inch MacBook Pro M2/M1 Pro/Max (2021-2023 Models A2779 A2442) - Durable Carrying Case Compatible with 12.9-inch iPad Pro with Keyboard - Perfect for Work, Travel & College Commute

tomtoc Water-Resistant Protective Laptop Shoulder Bag for 13-inch MacBook Air/Pro & 14-inch MacBook Pro M2/M1 Pro/Max (2021-2023 Models A2779 A2442) - Durable Carrying Case Compatible with 12.9-inch iPad Pro with Keyboard - Perfect for Work, Travel & College Commute

$27.49 $49.99 -45% OFF

Free shipping on all orders over $50

7-15 days international

26 people viewing this product right now!

30-day free returns

Secure checkout

20549825

Guranteed safe checkout
amex
paypal
discover
mastercard
visa
apple pay

Description

Product Description .aplus-v2 .premium-aplus-module-3 .premium-module-3-heading { padding-bottom: 40px; } .aplus-v2 .premium-aplus-module-3 .premium-aplus-four-column { text-align: center; } .aplus-v2 .premium-aplus-module-3 .premium-aplus-four-column { text-align: inherit; } .aplus-v2 .premium-aplus-module-3 .premium-aplus-column { display: inline-block; vertical-align: top; width: 25%; } .aplus-v2 .premium-aplus-module-3 .premium-aplus-column { padding: 0 20px; } .aplus-v2 .premium-aplus-module-3 .column-heading { padding-top: 20px; } .aplus-v2 .premium-aplus-module-3 .column-description { padding-top: 10px; } .aplus-v2 .premium-aplus-module-1 .aplus-module-section { width: 50%; vertical-align: middle; } .aplus-v2 .premium-aplus-module-1 .aplus-module-1-topic { padding-bottom: 10px; } .aplus-v2 .premium-aplus-module-1 .aplus-module-1-heading { padding-bottom: 20px; } .aplus-v2 .premium-aplus-module-1 .aplus-module-1-description { line-height: 1.6em; } .aplus-v2 .premium-aplus-module-1 .aplus-module-section.aplus-image-section { vertical-align: middle; } .aplus-v2 .premium-aplus-module-1 .aplus-module-section.aplus-text-section-left, .aplus-v2 .premium-aplus-module-1 .aplus-module-section.aplus-text-section-right { padding: 0 40px; } .aplus-v2 .premium-aplus-module-2 .premium-background-wrapper { position: relative; } .aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper { position: absolute; width: 50%; height: 100%; top: 0; } .aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper.right { left: 50%; } html[dir="rtl"] .aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper.right { left: auto; right: 50%; } .aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper.secondary-color { color: #fff; } .aplus-v2 .premium-aplus-module-2 .premium-intro-background { padding: 20px; } .aplus-v2 .premium-aplus-module-2 .aplus-module-2-topic { padding-bottom: 10px; } .aplus-v2 .premium-aplus-module-2 .aplus-module-2-heading { padding-bottom: 20px; } .aplus-v2 .premium-aplus-module-2 .aplus-module-2-description { line-height: 1.5em; } .aplus-v2 .premium-aplus-module-2 .premium-intro-background.white-background { background: rgba(255,255,255,0.5); } .aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background { background: rgba(0,0,0,0.5); } .aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background, .aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background h1, .aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background h5, .aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background ol, .aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background ul, .aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background ol .a-list-item, .aplus-v2 .premium-aplus-module-2 .premium-intro-background.black-background ul .a-list-item { color: #fff; } .aplus-v2 .premium-aplus-module-2 .premium-intro-content-container { display: table; height: 100%; } .aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper.left .premium-intro-content-container { padding-left: 40px; } html[dir="rtl"] .aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper.left .premium-intro-content-container { padding-left: 0px; padding-right: 40px; } .aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper.right .premium-intro-content-container { padding-right: 40px; } html[dir="rtl"] .aplus-v2 .premium-aplus-module-2 .premium-intro-wrapper.right .premium-intro-content-container { padding-right: 0px; padding-left: 40px; } .aplus-v2 .premium-aplus-module-2 .premium-intro-content-column { display: table-cell; vertical-align: middle; } /** * Premium modules global styles */ .aplus-v2.desktop { max-width: 1464px; min-width: 800px; margin-left: auto; margin-right: auto; word-wrap: break-word; overflow-wrap: break-word; word-break: break-word; } /* Undo this for tech-specs because it breaks table layout */ .aplus-v2.desktop .premium-aplus .aplus-tech-spec-table { word-break: initial; } .aplus-v2 .premium-aplus, .aplus-v2 .premium-aplus .aplus-h1, .aplus-v2 .premium-aplus .aplus-h2, .aplus-v2 .premium-aplus .aplus-p1, .aplus-v2 .premium-aplus .aplus-p2, .aplus-v2 .premium-aplus .aplus-p3, .aplus-v2 .premium-aplus .aplus-accent1, .aplus-v2 .premium-aplus .aplus-accent2 { font-family: Arial, sans-serif; } .aplus-v2 .premium-aplus, .aplus-v2 .premium-aplus .aplus-h1, .aplus-v2 .premium-aplus .aplus-h2, .aplus-v2 .premium-aplus .aplus-p1, .aplus-v2 .premium-aplus .aplus-p2, .aplus-v2 .premium-aplus .aplus-p3, .aplus-v2 .premium-aplus .aplus-accent1, .aplus-v2 .premium-aplus .aplus-accent2 { font-family: inherit; } /* type */ .aplus-v2 .premium-aplus .aplus-h1 { font-size: 32px; line-height: 1.2em; font-weight: 500; } .aplus-v2 .premium-aplus .aplus-h2 { font-size: 26px; line-height: 1.25em; font-weight: 500; } .aplus-v2 .premium-aplus .aplus-h3 { font-size: 18px; line-height: 1.25em; font-weight: 500; } .aplus-v2 .premium-aplus .aplus-p1 { font-size: 20px; line-height: 1.3em; font-weight: 300; } .aplus-v2 .premium-aplus .aplus-p2 { font-size: 16px; line-height: 1.4em; font-weight: 300; } .aplus-v2 .premium-aplus .aplus-p3 { font-size: 14px; line-height: 1.4em; font-weight: 300; } .aplus-v2 .premium-aplus .aplus-accent1 { font-size: 16px; line-height: 1.4em; font-weight: 600; } .aplus-v2 .premium-aplus .aplus-accent2 { font-size: 14px; line-height: 1.4em; font-weight: 600; } /* spacing */ .aplus-v2 .aplus-container-1 { padding: 40px; } .aplus-v2 .aplus-container-1-2 { padding: 40px 80px; } .aplus-v2 .aplus-container-2 { padding: 80px; } .aplus-v2 .aplus-container-3 { padding: 40px 0; } /* Display */ .aplus-v2 .premium-aplus .aplus-display-table { display: table; } .aplus-v2 .premium-aplus .aplus-display-table-cell { display: table-cell; } .aplus-v2 .premium-aplus .aplus-display-inline-block { display: inline-block; } /* Aplus display table with min-width 1000px and fill remaining space inside parent */ .aplus-v2.desktop .premium-aplus .aplus-display-table-width { min-width: 1000px; width: 100% } /** * Padding and margin for element should be 10, 20, 40, or 80 px. Considering mini 10, small 20, medium 40, large 80. */ .premium-aplus-module-15 { padding: 40px 0; text-align: left; } .aplus-v2 .premium-aplus-module-15 { text-align: inherit; } .aplus-v2 .premium-aplus-module-15 .premium-aplus-15-heading-text { padding-bottom: 20px; } .aplus-v2 .premium-aplus-module-15 p { padding-bottom: 10px; } /** * Premium-module 12: Nav Carousel */ .aplus-v2 .premium-aplus-module-12 .aplus-carousel-card { position: relative; width: 100%; } .aplus-v2 .premium-aplus-module-12 .aplus-carousel-container { position: relative; } .aplus-v2 .premium-aplus-module-12 .aplus-card-details-wrapper { position: absolute; top: 0; width: 50%; height: 100%; } .aplus-v2 .premium-aplus-module-12 .aplus-card-detail { display: table; width: 100%; height: 100% } .aplus-v2 .premium-aplus-module-12 .card-description { text-align: left; } html[dir="rtl"] .aplus-v2 .premium-aplus-module-12 .card-description { text-align: right; } .aplus-v2 .premium-aplus-module-12 .aplus-table-cell { display: table-cell; vertical-align: middle; } .aplus-v2 .premium-aplus-module-12 .aplus-text-background { padding: 20px; } .aplus-v2 .premium-aplus-module-12 .aplus-text-background-color { background: rgba(0, 0, 0, 0.5); } .aplus-v2 .premium-aplus-module-12 .aplus-text-background-color, .aplus-v2 .premium-aplus-module-12 .aplus-text-background-color h1, .aplus-v2 .premium-aplus-module-12 .aplus-text-background-color h5, .aplus-v2 .premium-aplus-module-12 .aplus-text-background-color ol, .aplus-v2 .premium-aplus-module-12 .aplus-text-background-color ul, .aplus-v2 .premium-aplus-module-12 .aplus-text-background-color ol .a-list-item, .aplus-v2 .premium-aplus-module-12 .aplus-text-background-color ul .a-list-item { color: #fff; } .aplus-v2 .premium-aplus-module-12 .description { padding-top: 20px; } /* nav */ .aplus-v2 .premium-aplus-module-12 .aplus-carousel-actions { position: absolute; top: 20px; width: 100%; text-align: center; } .aplus-v2 .premium-aplus-module-12 .aplus-goto-btn { display: inline-block; margin: 7px 10px; cursor: pointer; border-radius: 30px; border: 2px solid #000; line-height: 2.5em; min-width: 200px; background-color: #fff; white-space: nowrap; color: #000; } .aplus-v2 .premium-aplus-module-12 .aplus-carousel-index { display: none; } .aplus-v2 .premium-aplus-module-12 .aplus-goto-btn.aplus-active { border-color: #fff; background-color: #000; color: #fff; } /* * Regimen template specific css */ .aplus-v2 .premium-aplus-module-12 .aplus-goto-btn.regimen { text-align: left; } html[dir="rtl"] .aplus-v2 .premium-aplus-module-12 .aplus-goto-btn.regimen { text-align: right; } .aplus-v2 .premium-aplus-module-12 .aplus-carousel-actions.regimen { text-align: right; top: 50%; width: 250px; right: 75px; -webkit-transform: translateY(-50%); -moz-transform: translateY(-50%); -o-transform: translateY(-50%); transform: translateY(-50%); } html[dir="rtl"] .aplus-v2 .premium-aplus-module-12 .aplus-carousel-actions.regimen { text-align: left; top: 50%; left: 75px; right: auto; } .aplus-v2 .premium-aplus-module-12 .aplus-goto-btn.regimen { display: inline-block; margin: 10px 10px; cursor: pointer; border-radius: 30px; border: 2px solid #000; line-height: 2.5em; width: 220px; background-color: #fff; white-space: nowrap; } .aplus-v2 .premium-aplus-module-12 .aplus-goto-btn.regimen.aplus-active { border-color: #fff; background-color: #000; color: #fff; } .aplus-v2 .premium-aplus-module-12 .aplus-carousel-actions .regimen .aplus-carousel-index { display: inline-block; margin-left: 6px; width: 16px; line-height: 26px; color: #000; text-align: center; } html[dir="rtl"] .aplus-v2 .premium-aplus-module-12 .aplus-carousel-actions .regimen .aplus-carousel-index { margin-left: 0px; margin-right: 6px; } .aplus-v2 .premium-aplus-module-12 .aplus-goto-btn.regimen.aplus-active .aplus-carousel-index { color: #fff; } .aplus-v2 .premium-aplus-module-12 .aplus-headline-top.regimen { position: absolute; top: 0; left: 0; width: 100%; background-color: #000; opacity: 0.5; text-align: center; } .aplus-v2 .premium-aplus-module-12 .aplus-headline-top.regimen .aplus-headline { color: #fff; line-height: 2em; } .aplus-v2 .premium-aplus-module-4 .premium-aplus-two-column { text-align: center; } .aplus-v2 .premium-aplus-module-4 .premium-aplus-two-column { text-align: inherit; } .aplus-v2 .premium-aplus-module-4 .premium-aplus-column { display: inline-block; vertical-align: top; width: 50%; } .aplus-v2 .premium-aplus-module-4 .premium-module-4-heading { padding-bottom: 40px; } .aplus-v2 .premium-aplus-module-4 div.premium-aplus-column:nth-child(2n) { padding-left: 40px; } html[dir="rtl"] .aplus-v2 .premium-aplus-module-4 div.premium-aplus-column:nth-child(2n) { padding-left: 0px; padding-right: 40px; } .aplus-v2 .premium-aplus-module-4 div.premium-aplus-column:nth-child(2n-1) { padding-right: 40px; } html[dir="rtl"] .aplus-v2 .premium-aplus-module-4 div.premium-aplus-column:nth-child(2n-1) { padding-right: 0px; padding-left: 40px; } .aplus-v2 .premium-aplus-module-4 .column-heading { padding-top: 20px; } .aplus-v2 .premium-aplus-module-4 .column-description { padding-top: 10px; } (function(f) {var _np=(window.P._namespace("PremiumAplusModule"));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) { P.now('premium-module-12-nav-carousel').execute(function(init) { if (init) { return; } P.register('premium-module-12-nav-carousel', function(){ return function() { P.when('A', 'jQuery', 'a-carousel-framework', 'ready').execute(function (A, $, framework) { function initiateCarousel(module) { var MODULE_ID = $(module).data('module-id'); /** * Carousel button element classname * @const */ var GOTO_BTN_CLASS_NAME = "aplus-goto-btn-" + MODULE_ID; /** * Carousel button element active classname * @const */ var GOTO_BTN_ACTIVE_CLASS_NAME = "aplus-active"; /** * AUI name for aui carousel * @const */ var CAROUSEL_NAME = "premium-aplus-12-carousel-" + MODULE_ID; /** * Module class name * @const */ var MODULE_CLASS_NAME = ".aplus-v2 .premium-aplus-module-12"; /** * Carousel text container class name * @const */ var TEXT_CONTAINER_CLASS_NAME = ".aplus-carousel-text-container-" + MODULE_ID; /** * Carousel text hidden class name * @const */ var TEXT_CONTAINER_HIDDEN = "aplus-hidden"; function showCarouselText(oldIndex, newIndex) { var oldClass = MODULE_CLASS_NAME + " " + TEXT_CONTAINER_CLASS_NAME + "-" + oldIndex; var newClass= MODULE_CLASS_NAME + " " + TEXT_CONTAINER_CLASS_NAME + "-" + newIndex; $(oldClass).addClass(TEXT_CONTAINER_HIDDEN); $(newClass).removeClass(TEXT_CONTAINER_HIDDEN); } /** * Creates a CarouselButton class for provided carousel instance * @param {object} carousel - AUI Carousel instance * @returns {Class} - CarouselButton Class */ function CarouselButtonTemplate(carousel) { /** * Button for controlling the active slide * @constructor * @param {number} index - slide index * @param {DOMElement} [elem] - optional DOM element to use as this objects DOM representation */ function CarouselButton(index, elem) { var self = this; this.index = index; this.carousel = carousel; /* create the button element */ this.elem = this.getElem(elem); this.$elem = $(this.elem); /* store jquery version */ this.elem.addEventListener('click', self.handleClick.bind(self)); /* add this object to the object manager */ CarouselButton.objects.byId[index] = this; CarouselButton.objects.all.push(this); } /** * Describe behavior for click events on this.elem * @memberOf CarouselButton */ CarouselButton.prototype.handleClick = function(e) { e.preventDefault(); this.carousel.gotoPage(this.index); }; /** * Enter active state * @memberOf CarouselButton */ CarouselButton.prototype.activate = function() { this.$elem.addClass(GOTO_BTN_ACTIVE_CLASS_NAME); }; /** * Enter inactive state * @memberOf CarouselButton */ CarouselButton.prototype.deactivate = function() { this.$elem.removeClass(GOTO_BTN_ACTIVE_CLASS_NAME); }; /** * Returns an existing or creates a new bound element for this object * @memberOf CarouselButton * @param {DOMElement} [elem] - optionally provide an existing element in the DOM to use * @returns {DOMElement} - this objects DOM representation */ CarouselButton.prototype.getElem = function(elem) { if (this.elem) return this.elem; if (elem) return elem; var createdElem = document.createElement('span'); createdElem.className = GOTO_BTN_CLASS_NAME; return createdElem; }; /** @const Object manager */ CarouselButton.objects = { byId: {}, all: [], }; return CarouselButton; } framework.onInit(CAROUSEL_NAME, function(carousel) { /** @const {Class} */ var CarouselButton = CarouselButtonTemplate(carousel); /* create carouel controls */ var $carouselBtns = $(safeClassSelector(GOTO_BTN_CLASS_NAME)); var btns = $carouselBtns.map(function(i, btnElem) { return new CarouselButton(i + 1, btnElem); }); /* activate first one */ CarouselButton.objects.byId[1].activate(); /* Listen to slide changes */ A.on("a:carousel:" + CAROUSEL_NAME + ":change:pageNumber", function (data) { CarouselButton.objects.byId[data.newValue].activate(); CarouselButton.objects.byId[data.oldValue].deactivate(); showCarouselText(data.oldValue, data.newValue); }); }); /** * @returns {string} - css classname prefixed with module selector */ function safeClassSelector(className) { return '.' + MODULE_CLASS_NAME + ' .' + className; } } $('.aplus-v2 .premium-aplus-module-12 .aplus-carousel-container').each(function (index, module) { initiateCarousel(module); }); framework.createAll(); framework.initializeAll(); }); } }) }); })); if(P) { P.when("a-expander", "ready").execute(function (expander) { expander.initializeExpanders(); }); } Previous page tomtoc 「TheHer」- H22 Laptop Shoulder Bag Original CornerArmor technology A super functional organization system Stylish all-season carryall bag The soft PU leather handles provide a comfortable carrying experience. Bringing a glimmer of pleasure to the busy and monotonous urban commuting life! Next page 1 Versatile Laptop Bag 2 Flexible Carrying Design 3 Practical & Chic (function(f) {var _np=(window.P._namespace("PremiumAplusModule"));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) { P.when('premium-module-12-nav-carousel').execute(function(init){ init(); }); })); Powerful & Wonderful Storage The laptop shoulder bag features 4 large compartments, a front compartment with small lined pockets for tech accessories, a hidden quick-access magnetic pocket in the middle; the main pocket accommodates up to a 14" laptop, and a back magnetic pocket for phones, documents, or more valuables. Well Organized Front Pocket With 3 small and large pockets in the compact front compartment, the case makes it easier to organize your digital accessories such as Kindle, charger, pen, and cable; It’s also a good choice for daily cosmetic storage. Convenient Back Pocket The bag features a quick-access back magnetic pocket for phones, documents, or more valuables. Unzip it, and it becomes a luggage strap for more convenience. Superior Protection The soft fleece lining with a thick cushion in the main compartment offers excellent protection for a laptop from daily scratches and bumps. This case provides robust protection for everyday essentials while keeping it in elegant minimalist lines. Smart Luggage Strap Unzip the zipper on the back pocket, it becomes a luggage strap for more convenience. Easy to Carry Being slim and compact, it can be comfortably carried with the soft PU Leather handle or slipped inside your backpack, messenger bag, or suitcase. YKK Zippers The laptop bag is specially made with YKK zippers, is of outstanding quality, and is durable enough for long-lasting. Durable & Water-resistant Made of durable and water-resistant fabric, no need to worry about light rain at all A Practical Laptop Bag for Daily Commute Considering the requirements on different occasions, we add a variety of clever designs to the bag, super-functional organization pockets, flexible carrying methods, and intellectual colors, trying to bring a glimmer of pleasure to the busy and monotonous urban commuting life. Well-constructed, Wide-compatibility Specification Internal Dimensions: 12.80" x 9.14" x 0.67", External Dimensions: 13.78" x 10.04" x 1.97" Front Pocket: 13" x 6", Middle Pocket: 13" x 5.5", Back Pocket: 13.5" x 6.8" Weight: 1.19Lb Widely Compatible with: 12.9-inch iPad Pro with Magic Keyboard/Smart Keyboard/tomtoc Vertical Case 13-inch MacBook Air/Pro M2/M1 14-inch MacBook Pro M2/M1 Pro/Max A2442 2023-2021 13.5-14.4 inch Microsoft Surface Laptop Studio/5/4/3/2/1, 13.5-inch Microsoft Surface Book 3/2/1 12.3-13 inch Surface Pro 9/8/X with Surface Pro X Keyboard or Signature Keyboard, Surface Pro 7+/7/6/5/4/3/2/1 with Type Cover

Features

    Versatile Laptop Shoulder Bag: This bag provides ample room for carrying all the daily essentials (laptop, tablet, accessories), a super functional organization system, comfortable carrying handles, detachable shoulder strap, resulting in a powerful, lightweight and stylish all-season carryall bag

    Powerful & Wonderful Storage: It features a front compartment with small lined pockets for tech accessories or personal items, a hidden quick-access magnetic pocket in the middle that provides more storage, the main pocket that accommodates up to a 14" laptop, a back magnetic pocket for phone, documents or more valuables

    Excellent Protection: This laptop bag features tomtoc original [CornerArmor] technology at the bottom corners, safeguarding your laptop from unexpected accidents. The soft fleece lining with a thick cushion offers excellent protection for a computer from daily scratches and bumps

    Durable & Comfortable: The soft PU leather handles and detachable shoulder strap provide a comfortable carrying experience. The intelligent back pocket lets you hang it on the luggage while storing daily accessories; the top-quality Japanese YKK zipper glides smoothly, providing a better use and long-lasting quality

    Well-constructed, Wide-compatibility: Dimensions: 13.78" x 10.04" x 1.97"; Compatible with: 11.6-14 inch Laptops, tablets like 13-inch MacBook Air, MacBook Pro, 14-inch MacBook Pro M1/M2 Pro/Max A2779 A2442 2023-2021, 13.5” Surface Laptop/ Book, Dell XPS 13, 12.3-inch Surface Pro, 12.4” Surface Laptop Go, 12.9” iPad Pro, etc.